Есть ли риск использования статических активов через сжатый протокол SSL от стороннего домена?


2

, например.

curl -v -H 'Accept-Encoding: gzip' 'https://cdnjs.cloudflare.com/ajax/libs/Colors.js/1.2.2/colors.min.js' 

Как вы можете видеть, результат gzipped.

Мое предположение заключается в том, что они обслуживают от стороннего домена, это безопасно для меня. Мне нужно только отключить, когда он будет отправлен из моего собственного домена, не так ли?

+2

Должно быть безопасным, поскольку содержимое файла не является секретным. CRIME нарушает конфиденциальность, а не аутентичность. 13 авг. 132013-08-13 18:17:02

12

Прежде всего обратите внимание, что вы не, используя сжатие на уровне SSL, но сжатие на уровне HTTP: есть HTTP-заголовок, который описывает режим сжатия. Сжатие применяется к HTTP-ответу только телу, то есть файлу colors.min.js, за исключением чего-либо еще, в частности HTTP-файлов cookie или других таких значений.

Сжатие небезопасно при нанесении на секретных значений и злоумышленник имеет возможность получить много примеров сжатых данных с тем же секрет повторяется во всех из них, но и с вариантами. В частности, когда злоумышленник получает вставляемые данные в сжатую последовательность данных.

В случае, когда вы показываете, нет никаких секретных данных; сжатая последовательность данных является полностью публичной частью Javascript. Сжатие подвергается злоупотреблениям в результате атак его способностью утечки информации о данных содержание по данным длинадлина не защищена каким-либо последующим шифрованием). Если исходные данные полностью открыты, то нет утечки информации и, следовательно, нет атаки.

(Хотя colors.min.js является общедоступным, вы все еще хотите, чтобы получить над HTTPS, а не для конфиденциальности но целостности:. Вы хотите, чтобы предотвратить активные атакующим изменения кода Javascript на лету)

Даже если сжатые данные не были общедоступными, статический файл все равно можно было бы обслуживать с сжатием, поскольку сжатие является детерминированным и каждый раз дает ту же самую последовательность байтов, поэтому, в частности, всегда одинаковой длины - ничего не нужно изучать для взломщик.

  0

Спасибо, я немного смущен сжатием SSL и сжатием HTTP, 1. Есть ли какой-нибудь пример публичного сайта с использованием SSL-сжатия? Можно ли проверить через завиток? 2. Я предполагаю, что сжатие HTTP также вредит безопасности, если данные являются секретными, не так ли? 14 авг. 132013-08-14 03:54:42

  0

Сжатие SSL в основном отключилось повсюду после атаки CRIME. Я не думаю, что «завиток» покажет это; он очень внутренне связан с библиотекой SSL. 'openssl s_client' расскажет вам, разрешает ли сервер сжатие, но поскольку современные веб-браузеры больше не поддерживают его, он не будет использоваться на практике. 14 авг. 132013-08-14 10:44:40

  0

HTTP-уровень сжатия _can_ hurt, когда сжатый содержит как секретные данные, так и данные, выбранные злоумышленником, в том же самом корпусе ответа. По-видимому, это может произойти на каком-то веб-сайте; так называемая «атака BREACH», похоже, демонстрирует такую ​​вещь. Это зависит от веб-сайта и его структуры. Как правило, «статические страницы» можно безопасно сжимать, потому что, статически, они не будут включать данные, выбранные для злоумышленников. 14 авг. 132013-08-14 10:47:27

  0

, поэтому я считаю, что большинство SSL-сжатия отключено по умолчанию на большинстве серверов, но HTTP-сжатие (через SSL) по-прежнему очень популярно, поэтому мы также должны его отключить? 15 авг. 132013-08-15 09:11:23

+1

Вы можете сохранить сжатие для всего, что не в SSL. Для вещей, которые защищены SSL, вы можете безопасно сохранять сжатие для статических страниц; для всего, что генерируется динамически, ну ... это зависит. Таким образом, надежная вещь - отключить сжатие HTTP-уровня для всех динамических страниц, обслуживаемых через SSL. 15 авг. 132013-08-15 11:05:22

  0

Спасибо, так я могу сказать, что у Yahoo, похоже, проблема, поскольку они возвращают содержимое gzip через SSL для своей страницы входа? curl -I -H 'Accept-Encoding: gzip' 'https://login.yahoo.com/config/login' 16 авг. 132013-08-16 16:16:37

+1

У них есть проблема _potential_. Дьявол кроется в деталях. См. [Этот сайт] (http://breachattack.com/): чтобы злоупотреблять HTTP-сжатием в атаку, сайт должен предоставить страницу, содержащую секрет, который атакует после, _and_ отражает некоторые данные, которые может выбрать злоумышленник. Это может или не может относиться к странице входа в Yahoo. 16 авг. 132013-08-16 17:32:23