Представлен первый успешный способ атаки на SSL/TLS
Тхай Дыонг (Thai Duong) и Джулиано Риццо (Juliano Rizzo), известные исследователи компьютерной безопасности, обладатели премии
Судя по всему представленная работа является первым удачным методом атаки против 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-сети или подключив свой сервер, разрезав кабель локальной или домашней сети. На этом же шлюзе может быть организована подстановка JavaScript-кода в запрашиваемые пользователем по незашифрованному каналу связи страницы). Задача сниффера сводится к выявлению связанных с определенным сайтом TLS-соединений, их перехват и расшифровка начальной части HTTPS-запроса, в которой содержится HTTPS Cookie (запросы вспомогательного скрипта отправляются через ранее установленный SSL-канал, при этом браузер добавит к этим запросам все ранее установленные Cookie). После того, как удалось воссоздать идентифицирующую HTTPS Cookie, осуществляется классическая атака, позволяющая вклиниться в активную сессию жертвы.
Расшифровка
Атака с использованием браузера является одним из возможных вариантов и может быть переработана для нападения на другие продукты, использующие TLS и SSL, такие как VPN или клиенты для мгновенного обмена сообщениями. По мнению исследователей, производители web-браузеров в скором времени добавят в свои продукты обходной путь блокирования подобных атак, но так как суть проблемы кроется в недоработке архитектуры TLS и SSL, полноценным решением проблемы может быть только переход на новый протокол. Например, проблеме не подвержены уже доступные протоколы TLS 1.1 или TLS 1.2, степень внедрения которых в браузерах и на серверах находится почти на нулевом уровне: из полутора миллионов проверенных серверов 600 тыс. поддерживают TLS 1.0, 600 тыс. SSL 3.0, 300 тыс. устаревший SSL 2.0, 838 – TLS 1.1 и только 11 TLS 1.2.