LINUX.ORG.RU
ФорумTalks

[решето][баян, но играет громко] TLS 1.0 расшировывают


0

1

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

Расшифровка основана на методе угадывания содержимого отдельных блоков, часть которых содержит данные отправляемые подставным JavaScript-кодом. Если в процессе подбора предположение о содержимом блока оказывается верным, блочный шифр получит такие же входные данные для нового блока, как и для старого блока, произведя идентичный зашифрованный текст. На расшифровку байт за байтом всего содержимого идентификационной HTTPS Cookie, которая имеет размер 1000-2000 байт, для таких сайтов как PayPal тратится 5-10 минут. Для сайтов использующих вместо TLS 1.x и SSL 3.0 устаревший SSL 2.0 скорость подбора может быть кардинально увеличена.


Opennet (источник)
Хабра

А между тем OpenSSL не поддерживает TLS выше 1.0. Вот так вот.

Ответ на: комментарий от tailgunner

Текст конечно мутный, но у меня сложилось впечатление, что все браузеры используют одно TCP соединение на сайт и из другой вкладки можно отправить HTTP-запрос в это же SSL соединение.

Странно или я ничего не понял.

sergej ★★★★★ ()
Ответ на: комментарий от sergej

> у меня сложилось впечатление, что все браузеры используют одно TCP соединение на сайт и из другой вкладки можно отправить HTTP-запрос в это же SSL соединение

У меня тоже такое впечатление, но тогда это misfeature браузера.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

>У меня тоже такое впечатление, но тогда это misfeature браузера.
Подождем, не сегодня-завтра ожидается сама демонстрация. У меня тое сложилось впечатление, что можно было бы отказаться от продолжения сессий, и все бы работало нормально, но я не могу понять, почему 1.1 и 1.2 не подвержены.

proud_anon ★★★★★ ()

я так понял, java-script пихает через соединение заранее известный большой кусок plain-text-а?

Причем тут тогда TLS?

Harald ★★★★★ ()

OpenSSL не поддерживает TLS выше 1.0

Ну, tls1.2, например, особых изменений не приносит. А вот 1.1 могли бы и запилить, да.

Впрочем, есть gnutls, если что.

true_admin ★★★★★ ()
Ответ на: комментарий от RedPossum

Это похоже на новые противоугонные сигналки на немецких авто - неееееерееееально хакнуть, сразу лезет вопрос - а зачем? банки к глушаку привязал, когда водила в панике выбежит посмотреть что случилось садись и едь - вот и вся сигналка)

mrcim ()
Ответ на: комментарий от Harald

однако OpenSSL более популярна )

и я её люто ненавижу за дурацкий api, отсутствие документации и коментариев в исходниках а так же размазанный и сложный код.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Прибавь еще невменяемую убогую систему сборки!

Gorthauer ★★★★★ ()
Ответ на: комментарий от mrcim

>когда водила в панике выбежит посмотреть, что случилось...

То в связи с удалением ключа или мобильного телефона от автомобиля он заблокируется и не заведётся.

anonymfus ★★★★ ()
Ответ на: комментарий от anonymfus

Замечу, что мобильный тут не причем, системы зажигания с кнопки исключение(я имею ввиду магнитный или какой он там радио ключ, кнопка действует только при наличии такового в салоне), а нормальный человек даже глушить тачку не станет когда выскочит.

mrcim ()

В тексте какая-то муть, по обеим ссылкам изнасилование журналистов. Мне что-то конкретное скажут? Тип атаки на шифр? Какие поля модифицирует жабаскрипт? Или скидывать это в ту же кучу, что и «шокирующие» новости про взломы ГОСТ-28147, AES и ГОСТ Р3411?

segfault ★★★★★ ()
Ответ на: комментарий от tailgunner

Спасибо, покопался. Для тех, кому тоже интересно: это атака по выбранному шифротексту. Троянский джаваскрипт обеспечивает нам определенный текст в начале пакета.

Есть хорошие новости: OpenSSL начиная с версии 0.9.6d не подвержен этой атаке. В этой версии был встроен механизм защиты именно от таких атак, как эта, что вызвала обсуждение.

segfault ★★★★★ ()
Ответ на: комментарий от router

> Сильно сомневаюсь. Пруф можно?

Нарыл где-то там: http://comments.gmane.org/gmane.ietf.tls/8814 говорилось про случайное смещение начала потока данных. Оно и мешает атаке.

ЗЫ. В openssl 1.0.1-stable появился tls v1.1 и v.1.2

Ну и хорошо, что запилили. Но кто сказал, что это сделали от безысходности?

segfault ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.