PDA

Просмотр полной версии : Новый метод атаки на TLS, затрагивающий 27 из 100 крупнейших сайтов


Suicide
14.12.2017, 19:42
Раcкрыты (http://openwall.com/lists/oss-security/2017/12/12/6) детали новой атаки на TLS, которая получила кодовое имя ROBOT (https://robotattack.org/) (Return Of Bleichenbacher's Oracle Threat). Проблема позволяет выполнить операции расшифровки трафика и формирования цифровых подписей без знания закрытого RSA-ключа уязвимого TLS-сервера. Атаке подвержены только режимы TLS-шифров, использующие RSA. В качестве демонстрации успешного проведения атаки было представлено произвольно составленное сообщение, подписанное закрытым ключом Facebook.

Проблема выявлена на 27 из 100 крупнейших сайтов по рейтингу Alexa, включая Facebook и PayPal. При этом при рассмотрении миллиона крупнейших сайтов уязвимость наблюдается всего на 2.8% ресурсах. Подобное расхождение объясняется тем, что атаке подвержены в основном коммерческие реализации TLS (Cisco ACE (https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20171212-bleichenbacher), F5 BIG-IP SSL (https://support.f5.com/csp/article/K21905460), Citrix NetScaler (https://support.citrix.com/article/CTX230238), Radware (https://portals.radware.com/getattachment/21be0b7b-fa1c-4cbc-8bd2-c19946aee270/Security-Advisory-Adaptive-chosen-ciphertext-atta/)), применяемые в крупных проектах. Из открытых проектов уязвимость затрагивает Erlang (http://erlang.org/), Java/JSSE (https://www.oracle.com/technetwork/topics/security/cpuoct2012-1515893.html), WolfSSL (https://github.com/wolfSSL/wolfssl/), MatrixSSL (https://github.com/matrixssl/matrixssl/) и Bouncy Castle (https://github.com/bcgit/bc-java/).

Причиной возникновения уязвимости называется неполная реализация мер защиты, описанных в секции 7.4.7.1 спецификации TLS. OpenSSL, LibreSSL и GnuTLS проблеме не подвержены, но не исключается возникновение уязвимости из-за применения неофициальных модификаций. Например, в Facebook используется OpenSSL, который оказался уязвим (https://eprint.iacr.org/2017/1189.pdf) из-за применения собственных дополнительных патчей.

Примечательно, что метод является незначительной модификацией первой практической атаки на RSA, предложенной Даниэлем Блейхенбахером (Daniel Bleichenbacher (https://en.wikipedia.org/wiki/Daniel_Bleichenbacher)) в 1998 году. Было выявлено, что спустя 19 лет многие HTTPS-хосты до сих пор подвержены вариациям данной атаки. Суть метода в том, что атакующий на основании разных ответов от сервера может отделить корректные и некорректные блоки добавочного заполнения (padding oracle) в режиме PKCS #1 v1.5. Отличие нового метода от оригинальной атаки Блейхенбахера (http://archiv.infsec.ethz.ch/education/fs08/secsem/bleichenbacher98.pdf) заключается в использовании дополнительных сигналов для разделения типов ошибок, таких как таймауты, сбросы соединения и дубликаты TLS-оповещений. Манипулируя информацией о корректности блоков добавочного заполнения атакующий может путём перебора определить подходящий шифротекст.

Для сайтов, применяющих только шифрование на основе ключей RSA, атакующий может пассивно сохранить перехваченный трафик и позднее расшифровать его. Для HTTPS-хостов поддерживающих PFS (Perfect forward secrecy) успех атаки не так однозначен и зависит от того, как быстро будет проведена атака. Атака не восстанавливает непосредственно закрытый ключ, а только позволяет расшифровать шифротекст или сформировать поддельное подписанное сообщение. Проблеме подвержен не только TLS, но и другие протоколы в которых применяется RSA и PKCS #1 v1.5, включая XML Encryption, интерфейсы PKCS#11, JOSE (Javascript Object Signing and Encryption) и S/MIME.

Проверить свой сайт на наличие уязвимость можно через web-форму (https://robotattack.org/) или при помощи специального подготовленного скрипта (https://github.com/robotattackorg/robot-detect) на языке Python. В качестве обходного пути защиты рекомендуется отключить поддержку шифров на базе RSA (TLS_RSA*), за исключением шифров в которых RSA используется для создания цифровой подписи (шифры на основе эллиптических кривых с DHE и ECDHE в имени также не подвержены рассматриваемой атаке).

13.12.2017

https://www.opennet.ru/opennews/art.shtml?num=47730​