Рейтинг:2

Уязвим ли TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 к атакам Zombie POODLE/GOLDENDOODLE?

флаг cn

Я получаю смешанные сообщения об этом. У меня есть веб-хост и несколько инструментов сканирования SSL (в том числе тот, который запускается Лаборатория Qualsys SSL), говоря, что набор шифров TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 НЕ уязвим для Zombie POODLE/GOLDENDOODLE, и в то же время у меня есть фирма по соблюдению требований PCI, указывающая, что это является уязвимый. К сожалению, ни один из них не желает сдвинуться с места по этому вопросу или предоставить гораздо больше деталей, чем то, что я уже упоминал здесь.

Я не очень много знаю о криптографии, но я достаточно знаю, что наличие «CBC» в названии набора шифров само по себе предполагает, что он реализует цепочку блоков шифра, и, в более широком смысле, он может непреднамеренно раскрыть оракула заполнения. , и, таким образом, уязвим для атак Zombie POODLE. Если это так, то почему все инструменты сканирования SSL, которые я использовал, говорят об обратном?

Кроме того, я понимаю, что есть веские аргументы против использования TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 в целом, но это выходит за рамки этого вопроса, так как меня действительно интересует только то, уязвим ли он конкретно для атак Zombie POODLE/GOLDENDOODLE.

Swashbuckler avatar
флаг mc
Обе проблемы с реализацией, так всегда ли она уязвима? Нет. Но может ли он быть уязвимым? Да. Отключение комплекта шифров исключает возможность возникновения проблемы.
soupmagnet avatar
флаг cn
Как я могу доказать, что он не выполняется? Это то, что хост может предоставить, кроме того, что просто так сказал? Есть ли способ проверить это на моей стороне? Как SSLLabs проверяет, что он не реализован?
Рейтинг:4
флаг in

Набор шифров указывает, что CBC с дополнением PKCS#7 используется с проверкой MAC, выполняемой только после расшифровки. Это означает, что он уязвим для оракулов с открытым текстом до проверки MAC.

Распаковка в основном подвергается риску не потому, что оракулы заполнения более склонны к утечке информации по сравнению с другими оракулами открытого текста, а просто потому, что распаковка обычно происходит до восстановления MAC.

Хитрость реализации заключается в том, чтобы не распаковывать явно, поскольку длина открытого текста известна заранее, и выполнять сравнение (предпочтительно с постоянной времени) тега аутентификации, созданного HMAC, до того, как будет использован любой из байтов открытого текста.

Если реализация неизвестна, то фирма, отвечающая за соответствие PCI, права, она представляет риск. Этого можно относительно легко избежать, используя TLS 1.3 или TLS 1.2, используя режим работы GCM или CCM для AES.

dave_thompson_085 avatar
флаг cn
Не обязательно: сервер может реализовать rfc7366 и отказать любому клиенту, который не разрешает/не поддерживает его; это устранило бы оракула.Но для (традиционного) открытого текста-HMAC я не думаю, что время сравнения имеет значение, только вычисление тега, для которого вам придется изменить внутреннее вычисление хеш-функции в HMAC, чтобы не останавливаться на незаполненной длине. (Кроме того, data-HMAC не использует PRF, хотя 1.2 PRF и 1.3 HKDF используют HMAC).
SAI Peregrinus avatar
флаг si
Кроме того, PCI - это чистая проверка коробки. Скорее всего, у них есть поле с надписью «нет CBC», и не имеет значения, является ли реализация безопасной. Это соблюдение закона, а не безопасность.
Maarten Bodewes avatar
флаг in
@ dave_thompson_085 Я исключил ChaCha, поскольку он не одобрен NIST как таковой, и поэтому он, вероятно, столкнется с другой проблемой с флажком :) Что касается RFC 7366, я не уверен, сколько реализаций являются замешанными, так что это зависит от этого если это осуществимо. Спасибо за добавление всей глубины, хотя :)
Gilles 'SO- stop being evil' avatar
флаг cn
Суть этого ответа верна, но есть несколько неточностей. TLS не использует заполнение PKCS#7, он немного отличается, но имеет те же проблемы. Длина открытого текста заранее неизвестна, что затрудняет безопасную реализацию распаковки: [контрмера](https://www.imperialviolet.org/2013/02/04/luckythirteen.html) (единственная безопасная, насколько мне известно ) состоит в том, чтобы сравнить MAC во всех возможных положениях и очень тщательно объединить результаты. PCI не имеет ничего общего с NIST, так что Chachapoly не должно быть проблемой (конечно, здесь проблема в аудиторе, так что кто знает).
Рейтинг:3
флаг cn

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 — это протокол (подмножество семейства протоколов TLS). Zombie POODLE и GOLDENDOODLE являются уязвимостями в некоторых реализациях этого протокола. Так что, если фирма по обеспечению соответствия утверждает, зная только, что ваш сервер принимает этот набор шифров, что ваш сервер может быть уязвим для этих атак, они правы. Если фирма по обеспечению соответствия утверждает, что как только ваш сервер примет этот набор шифров, он станет уязвимым для этих атак, то они ошибаются.

Эти атаки основаны на анализе ответов об ошибках, отправляемых сервером TLS, когда он получает неверные данные (которые могут исходить от вредоносного клиента или посредника). (Этот анализ также включает потенциальное отсутствие ответа, а также как время ответа.) Оба заполнение атак оракула. Все наборы шифров TLS, использующие CBC, уязвимы для атак оракула заполнения, если реализованы наивно. Почти каждая реализация TLS была уязвима для Счастливая Тринадцать когда он был раскрыт в 2013 году, и некоторые из них все еще могут быть уязвимы для его вариантов, но OpenSSL и несколько других основных стеков TLS теперь реализуют контрмеры, которые полностью защищают от атак оракула заполнения, если они реализованы правильно.Эти контрмеры по своей природе медленные и незаметные, поэтому вы можете не захотеть полагаться на них, но для уровня безопасности, ожидаемого для соответствия PCI, их достаточно.

Если ваш сервер использует OpenSSL или стек Windows TLS или большинство основных реализаций TLS, это безопасно. (Однако OpenSSL был уязвим для другой похожей атаки, обнаруженной в то же время, получившей название «OpenSSL нулевой длины», поскольку она была очень специфичной для поведения OpenSSL.) В основном вам нужно беспокоиться о некоторых промежуточных блоках, которые расшифровывают трафик TLS ( брандмауэры, балансировщики нагрузки, …). Тем не менее, пока вы применяете все исправления безопасности, у вас все должно быть в порядке (и если последняя прошивка все еще уязвима, немедленно откажитесь от поставщика).

В любом случае вы можете использовать сканер, предоставленный исследователями, обнаружившими атаки для проверки ваших систем. Это тот же самый сканер, который использует Qualys (и, несомненно, другие), поэтому, если Qualys говорит, что ваша система неуязвима, у вас нет проблемы с безопасностью: ваша единственная проблема — убедить своего аудитора.

Если ваш аудитор хоть немного компетентен, он должен либо запустить этот сканер, либо использовать службу, которая запускает этот сканер, и сделать вывод, что ваша система не уязвима. Но, судя по их ответу, они могут быть менее чем компетентны. Хороший одитор знал бы и смог бы объяснить все, что я здесь написал. Также странно, что аудитор упоминает только эти две атаки на наборы шифров на основе CBC, а не более старые, такие как BEAST, Lucky Thirteen и т. д.

Насколько вы заботитесь о поддержке наборов шифров CBC? Хотя они могут быть реализованы безопасно, для этого требуется, чтобы все ваши серверы и промежуточные устройства, перехватывающие TLS, были высокого качества, и это приводит к снижению производительности. если вы не необходимость их, я рекомендую отключить их. Как правило, для TLS хорошим балансом между безопасностью и совместимостью является использование только наборов шифров на основе подписи (т.с ECDHE или, возможно, DHE в их названии, в дополнение к RSA или ECDSA), с AEAD (CCM, GCM или CHACHA20_POLY1305). Некоторые другие наборы шифров могут быть безопасными, но имеют повышенный риск уязвимостей реализации.

Итак, моя стратегия с этим одитором была бы следующей:

  1. Проверьте, действительно ли вам нужны наборы шифров CBC. Если нет, отключите их и скажите своему одитору, что это спорный вопрос.
  2. Если вам нужны наборы шифров CBC, напомните аудитору, что это уязвимости реализации, и аргументируйте тем, что Qualys говорит, что реализация уязвима. Если они все еще не убеждены, запустите сканер оракулов заполнения самостоятельно и предложите вашему одитору сделать то же самое.
  3. Если одитор действительно ничего не услышит, у вас может не остаться иного выбора, кроме как сменить одитора. На данный момент мы далеко ушли от криптографии в сферу бизнеса.
dave_thompson_085 avatar
флаг cn
BEAST не заполняет и полностью блокируется путем принудительного применения TLS>=1.1, который уже требуется PCI и, следовательно, предположительно был проверен сканированием. (Он также может быть заблокирован фрагментацией, и в то время практически все использовали 1/n-1, в то время как OpenSSL уже делал 0/n, но для PCI это спорно. Также в то время многие продвигали RC4, чтобы избежать CBC, но это оказалось плохо.)
soupmagnet avatar
флаг cn
Очень подробное объяснение. Спасибо. Настоящая проблема для меня заключалась в том, что если ни одна из сторон не хотела уступать, то от кого избавиться? С моей точки зрения, решение должно основываться на общей компетентности в таких вопросах, чтобы не попасть в ту же самую ситуацию со следующим провайдером.
Gilles 'SO- stop being evil' avatar
флаг cn
@soupmagnet В конечном счете, ваш аудитор решает, сертифицированы ли вы. Дело не в том, чтобы быть правым, а в том, чтобы заставить их пройти мимо вас.

Ответить или комментировать

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