Успешный способ атаки на SSL/TLS
Тай Данг и Джулиано Риццо, известные исследователи компьютерной безопасности, обладатели премии Pwnie Awards 2011 за разработку метода компрометации приложений ASP.NET, намерены на конференции Ekoparty 7 раскрыть завесу над новым способом атаки на SSL/TLS
🕛 20.09.2011, 17:27
Для атаки подготовлен инструментарий, развиваемый под именем BEAST и позволяющий организовать перехват информации, передаваемой в рамках зашифрованного соединения. В частности, исследователи продемонстрировали успешный перехват защищенной сессии для сервиса PayPal и утверждают, что метод применим и для любых других сайтов.Судя по всему представленная работа является первый удачным методом атаки против TLS 1.0 и SSL 3.0, позволяющим расшифровать на лету запросы, отправляемые через HTTPS. Например, метод позволяет перехватить важную конфиденциальную информацию, фигурирующую при работе с такими сервисами, как online-банкинг, службы электронной коммерции и платежные системы. Проблему усугубляет то, что она основывается на принципиальных недостатках протоколов TLS 1.0 и SSL 3.0, устранить которые можно только значительно их переработав. Закрытые обсуждения возможных путей решения проблемы с разработчиками браузеров и поставщиками SSL-продуктов проводятся начиная с мая, но они пока привели только к неутешительному выводу - все предложенные методы решения проблемы приводили к нарушению совместимости протокола с некоторыми SSL-приложениями.
Атака проводится многоэтапно. Для успешного осуществления атаки требуется запуск JavaScript-кода в браузере клиента, который должен быть запущен после установки SSL-соединения браузера с сайтом, данные которого требуется перехватить (SSL-соединение остается открытым длительное время, поэтому у атакующего есть запас времени). JavaScript-код не требуется запускать в контексте атакуемого сайта, его достаточно открыть в новой вкладке, например, путем встраивания через iframe в какой-нибудь сторонний сайт, открытие которого можно стимулировать методами социальной инженерии. JavaScript-код используется для отправки на атакуемый сайт фиктивных запросов с изначально известными контрольными метками, которые используются атакующим для идентификации отдельных блоков для шифра TLS/SSL, работающего на базе алгоритма AES.
После того как вспомогательный JavaScript-код запущен, осуществляется выполнение сниффера на одном из промежуточных шлюзов, например, если атакуемый использует подконтрольную WiFi-сеть. Задача сниффера сводится к выявлению связанных с определенным сайтом TLS-соединений, их перехват и расшифровка начальной части HTTPS-запроса, в которой содержится HTTPS Cookie (не путать с HTTP Cookie). После того, как удалось получить HTTPS Cookie осуществляется классическая атака "man-in-the-middle", позволяющая вклиниться в SSL-трафик жертвы.
Расшифровка основана на методе угадывания содержимого отдельных блоков, часть которых содержит данные отправляемые подставным JavaScript-кодом. Если в процессе подбора предположение оказывается верным, блочный шифр получит такие же входные данные для нового блока, как и для старого блока, производя идентичный зашифрованный текст. На расшифровку байт за байтом всего содержимого аутентификационной Cookie, которая имеет размер 1000-2000 байт, для таких сайтов как PayPal тратится 5-10 минут. Для сайтов использующие вместо TLS 1.x устаревший SSL 2.0 скорость подбора может быть кардинально увеличена.
Атака с использованием браузера является одним из возможных вариантов и может быть переработана для нападения на другие продукты, использующие TLS и SSL, такие как VPN или клиенты для мгновенного обмена сообщениями. По мнению исследователей, производители web-браузеров в скором времени добавят в свои продукты обходной путь блокирования подобных атак, но так как суть проблемы кроется в недоработка архитектуры TLS и SSL, полноценным решением проблемы может быть только переход на новый протокол.