PDA

Просмотр полной версии : Как ломают https: представлен первый успешный способ атаки на SSL/TLS



stayer
26.09.2011, 10:21
http://www.pgpru.com/novosti/2011/predstavlenpervyjjuspeshnyjjsposobatakinassltls

Представлен первый успешный способ атаки на SSL/TLS

Тхай Дыонг (Thai Duong) и Джулиано Риццо (Juliano Rizzo), известные исследователи компьютерной безопасности, обладатели премии http://www.pgpru.com/themes/plastiq/icons/web.gifPwnie Awards 2011 (http://www.opennet.ru/opennews/art.shtml?num=31407) за разработку метода компрометации приложений ASP.NET, http://www.pgpru.com/themes/plastiq/icons/web.gifнамерены (http://threatpost.com/en_us/blogs/new-attack-breaks-confidentiality-model-ssl-allows-theft-encrypted-cookies-091911) на конференции http://www.pgpru.com/themes/plastiq/icons/web.gifEkoparty 7 (http://www.ekoparty.org/2011/juliano-rizzo.php) раскрыть завесу над новым способом атаки на SSL/TLS. Для осуществления атаки подготовлен инструментарий, развиваемый под именем BEAST (Browser Exploit Against SSL/TLS) и позволяющий организовать перехват передаваемого в рамках зашифрованного соединения Cookie с параметрами аутентификации пользовательской сессии. В частности, исследователи продемонстрировали успешный перехват защищенной сессии для сервиса 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 (запросы вспомогательного скрипта отправляются через ранее установленный SSL-канал, при этом браузер добавит к этим запросам все ранее установленные Cookie). После того, как удалось воссоздать идентифицирующую HTTPS Cookie, осуществляется классическая атака, позволяющая вклиниться в активную сессию жертвы.

Расшифровка http://www.pgpru.com/themes/plastiq/icons/web.gifоснована (http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/) на методе угадывания содержимого отдельных блоков, часть которых содержит данные отправляемые подставным JavaScript-кодом. Если в процессе подбора предположение о содержимом блока оказывается верным, блочный шифр получит такие же входные данные для нового блока, как и для старого блока, произведя идентичный зашифрованный текст. На расшифровку байт за байтом всего содержимого идентификационной HTTPS Cookie, которая имеет размер 1000-2000 байт, для таких сайтов как PayPal тратится 5-10 минут. Для сайтов использующих вместо TLS 1.x и SSL 3.0 устаревший SSL 2.0 скорость подбора может быть кардинально увеличена.

Атака с использованием браузера является одним из возможных вариантов и может быть переработана для нападения на другие продукты, использующие 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.

Источник: http://www.pgpru.com/themes/plastiq/icons/web.gifhttp://www.opennet.ru/opennews/art.shtml?num=31797 (http://www.opennet.ru/opennews/art.shtml?num=31797)

stayer
26.09.2011, 16:03
Атакующий внедряет генератор специальных сообщений. Делается это при помощи обычного java-script, встроить такой скрипт можно при посещении любой незащищенной страницы. Далее этот скрипт, выполняясь в браузере жертвы, начинает слать спец. сообщения по защищенном https-соединению целевого сайта, они перехватываются и анализируются. По известному входному сигналу и шифрованному выходному устанавливается секретный ключ, который может расшифровывать уже всю информацию данного https-соединения.

На примере СОРМ-2 (http://forum.dpni.org/showthread.php?t=10326)

Шаг 1: автоматический поиск https-сессий с заданными сайтами (например поиск всех соединений с https://mail.google.coml)
Шаг 2: перехват и анализ трафика пользователей по интересующим https-сессиям
Шаг 3: автоматическое встраивание генераторов спецсигналов в браузеры отобранных на шаге 1 пользователей (модифицируя общение с любым незащищенным сайтом подсовыванием определенного java-script'а)
Шаг 4: синтез секретных ключей https-сессий
Шаг 5: расшифровка всего трафика https-сессий

Посему еще раз намекаю, что необходимо пользоваться:
1) анонимизаторами (http://forum.dpni.org/showthread.php?t=33274 ) (исключит шаг 1)
2) по-возможности автономными средствами шифрования (http://forum.dpni.org/showthread.php?t=15771) (исключит шаг 5)

Людота Коваль
26.09.2011, 16:07
Отключайте Java - script в браузере. Или пользуйтесь дополнением Firefox NoScript (http://noscript.net/)

stayer
26.09.2011, 16:11
Отключение приведет к глюку на ряде сайтов, в т.ч. на этом форуме работать станет нельзя. Лучше пользоваться готовыми настроенными сборками типа Tor Browser (см. выше тему по анонимизации).

Людота Коваль
26.09.2011, 16:13
Отключение приведет к глюку на ряде сайтов, в т.ч. на этом форуме работать станет нельзя.

NoScript имеет гибкие настройки. Можно включить на тех сайтах на которых Java Script действительно необходим. Например на этом форуме никто не вставит вам в комп левый скрипт(пока я на нем админю :) )

Кстати, NoScript идет в новой сборке Tor в комплекте.

stayer
26.09.2011, 16:23
NoScript имеет гибкие настройки. Можно включить на тех сайтах на которых Java Script действительно необходим. Например на этом форуме никто не вставит вам в комп левый скрипт(пока я на нем админю :) )

Кстати, NoScript идет в новой сборке Tor в комплекте.
На этом форуме никто скрипты вставлять и не будет, это сделают на уровне рассеянских провайдеров, где стоят сервера СОРМ. NoScript действительно идет теперь в комплекте с Tor Browser (выкинули старые фильтры типа polipo и privoxy), при этом, например, перестал работать ЖЖ.

Людота Коваль
26.09.2011, 16:27
это сделают на уровне рассеянских провайдеров, где стоят сервера СОРМ.

Сам себе противоречишь.


Шаг 3: автоматическое встраивание генераторов спецсигналов в браузеры отобранных на шаге 1 пользователей (модифицируя общение с любым незащищенным сайтом подсовыванием определенного java-script'а)

Как они тебе подсунут в браузер Ява скрипт, если он у тебя отключен ?

stayer
26.09.2011, 17:00
Сам себе противоречишь.

Алиса --- [провайдер] --- [forum.dpni.org]
|_[СОРМ2]_____|

Java-скрипт используется на любом мало-мальски серьезном ресурсе. Отрубить его полностью не получится, увы.


Как они тебе подсунут в браузер Ява скрипт, если он у тебя отключен ?

Людота Коваль
26.09.2011, 18:58
Java-скрипт используется на любом мало-мальски серьезном ресурсе.

Если выбираешь безопасность, то надо пользоваться ресурсами, где есть возможность работать без Явы.


Отрубить его полностью не получится, увы.

Если в настройках Файрфокса нажать отключить Ява скрипты (или в NoScriht "блокировать все"), то они отключаться полностью.

Deemon
26.09.2011, 21:26
Java-скрипт используется на любом мало-мальски серьезном ресурсе. Отрубить его полностью не получится, увы.
Я пользуюсь noscript, и по умолчанию JS отключён на всех сайтах, со временем, при эксплуатации, формируется свой белый список проверенных сайтов. Многие серьёзные сайты не теряют своей функциональности, при выключенном JS у пользователя. Если же заходя на сайт, становится очевидно, что JS необходим, а в надёжности ресурса есть сомнения, варианта три: анализировать содержимое JS файлов, покинуть сайт, либо же подвергнуть риску безопасность.

stayer
27.09.2011, 10:27
Вот и попробуйте на этом форуме отключть js ;)