Новый метод атаки на TLS, затрагивающий 27 из 100 крупнейших сайтов.
Ракрыты детали новой атаки на TLS, которая получила кодовое имя ROBOT (Return Of Bleichenbacher's Oracle Threat). Проблема позволяет выполнить операции расшифровки трафика и формирования цифровых подписей с закрытым RSA-ключом уязвимого TLS-сервера. Атаке подвержены только режимы TLS-шифров, использующие RSA. В качестве демонстрации успешного проведения атаки было представлено произвольно составленное сообщение, подписанное закрытым ключом Facebook.
Проблема выявлена на 27 из 100 крупнейших сайтов по рейтингу Alexa, включая Facebook и PayPal. При этом из миллиона крупнейших сайтов уязвимость наблюдается всего на 2.8% ресурсах. Подобное расхождение объясняется тем, что атаке подвержены в основном коммерческие реализации TLS (Cisco ACE, F5 BIG-IP SSL, Citrix NetScaler, Radware), применяемые в крупных проектах. Из открытых проектов уязвимость присутствует Erlang, Java/JSSE WolfSSL, MatrixSSL и Bouncy Castle. OpenSSL, LibreSSL и GnuLTS проблеме не подвержены, но не исключается возникновения уязвимости из-за применения неофициальных модификаций. Например, в Facebook используется OpenSSL, который оказался уязвим из-за применения собственных дополнительных патчей.
Примечательно, что метод является незначительной модификацией первой практической атаки на RSA, предложенной Даниэлем Блейхенбахером (Daniel Bleichenbacher) в 1998 году. Было выявлено, что многие HTTPS-хосты до сих пор подвержены вариациям данной атаки. Суть метода в том, что атакующий на основании разных ответов от сервера может отделить корректные и некорректные блоки добавочного заполнения (padding oracle) в режиме PKCS #1 v1.5. Атака не восстанавливает непосредственно закрытый ключ, а только позволяет расшифровать шифротекст или сформировать поддельное подписанное сообщение. Проблеме подвержен не только TLS, но и другие протоколы в которых применяется RSA PKCS #1 v1.5, включая XML Encryption, интерфейсы PKCS#11, JOSE (Javasсript Object Signing and Encryption) и S/MIME.
Для сайтов, применяющих только шифрование на основе ключей RSA, атакущий может пассивно сохранить перехваченный трафик и позднее расшифровать его. Для HTTPS-хостов поддерживающих PFS (Perfect forward secrecy) успех атаки не так однозначен и зависит от того, как быстро будет проведена атака. Проверить свой сайт на наличие уязвимость можно через web-форму или при помощи специального подготовленного скрипта на языке Python. В качестве обходного пути защиты рекомендуется отключить поддержку шифров на базе RSA (TLS_RSA*), за исключением шифров в которых RSA используется для создания цифровой подписи (шифры на основе эллиптических кривых с DHE и ECDHE в имени также не подвержены рассматриваемой атаке).
Новый метод атаки на TLS, затрагивающий 27 из 100 крупнейших сайтов