id: Гость   вход   регистрация
текущее время 00:25 29/04/2024
Владелец: Гость (создано 06/11/2009 10:01), редакция от 06/11/2009 13:16 (автор: Гость) Печать
Категории: криптография, софт, приватность, протоколы, прослушивание коммуникаций, ошибки и баги, уязвимости, стандарты, ssl
http://www.pgpru.com/Новости/2009/ВПротоколахSSLTLSНайденаКритическаяУязвимость
создать
просмотр
редакции
ссылки

06.11 // В протоколах SSL/TLS найдена критическая уязвимость


Марш Рэй (Marsh Ray) и Стив Диспенса (Steve Dispensa) из компании PhoneFactor обнаружили критическую уязвимость в протоколах SSL/TLS, позволяющую злоумышленнику организовать подстановку своих данных в устанавливаемое между двумя точками защищенное соединение. Для успешного проведения атаки злоумышленник должен иметь возможность вклинится в проходящий защищенный трафик, например, получить контроль над промежуточным шлюзом, прокси сервером или установить свое оборудование в разрыв сетевого кабеля (man-in-the-middle атака).


Удачно проведенная атака позволяет незаметно добавить свой текст в начало SSL/TLS сессии. Так как часто сеанс работы с сайтом состоит из множества разных SSL/TLS сессий, теоретически злоумышленник может под прикрытием обычной активности пользователя совершить угодные атакующему действия на сервере, при этом пользователь будет уверен, что совершает легитимные операции в рамках защищенного соединения. Успешно проведенные примеры атак были продемонстрированы при работе различных типов клиентского ПО с web-серверами Apache и Microsoft IIS, также подобная атака возможна и при использовании TLS в IMAP.


Основная проблема обнаруженной уязвимости состоит в том, что уязвимость связана с недоработками дизайна протокола TLS, а именно методом организации согласования параметров в установленных соединениях, и не зависит от конкретных реализаций протокола. Для OpenSSL уже выпущен временный патч, суть которого сводится к полному отключению операции согласования (negotiation). Так как без изменения протокола решить проблему невозможно, в экстренном порядке ведущими производителями и стандартизирующими организациями отрасли был сформирован проект Project Mogul, задачей которого является разработка и принятие необходимых расширений стандарта TLS.


Сценарий атаки выглядит примерно так: Атакующий вклинивается между клиентом и сервером, устанавливает HTTPS соединение с сервером. Соединение со стороны клиента временно замораживается на незавершенной стадии. Далее серверу отправляется запрос в защищенную область, сервер инициирует полностью новое соединение и запрашивает клиентский сертификат. Атакующий перенаправляет не данной стадии все пакеты между клиентом и сервером в неизменном виде. После завершения фазы проверки сертификата злоумышленник формирует свой HTTP запрос к защищенной области и выполняет его от имени клиента.


Источник: http://www.opennet.ru/opennews/art.shtml?num=24132


 
— unknown (06/11/2009 14:13, исправлен 06/11/2009 14:21)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
А уже вчера начали писать черновик нового стандарта. Ну был SSL 3.0, будет следующая версия.
Вот ссылка (внимание https) tls-renegotiate.

Да, если кто интересуется — Tor неуязвим к данной атаке, т.к. использует согласования другим образом.
The flaw has existed in TLS since the specification was published in the mid 1990s.

Дырке больше десяти лет! Замечательно.
— SATtva (06/11/2009 14:18)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Открытый стандарт, используемый повсеместно. Красота.
— Гость (06/11/2009 15:29)   <#>
Проблема в том, что стандарт SSL/TLS слишком сложен. Неужели нельзя придумать простой как топор и не допускающий неоднозначной реализации стандарт, чтобы любой дурак мог держать в голове абсолютно все детали его реализации. Тогда можно было бы гарантировать отсутствие уязвимостей, или даже строго доказать безопасность протокола.

З. Ы. стандарт OpenPGP по моему мнению тоже излишне сложен.
— SATtva (06/11/2009 15:38)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
стандарт OpenPGP по моему мнению тоже излишне сложен

Если убрать из спецификации всё лишнее, оставив только MUST'ы и SHOULD'ы, она становится достаточно компактной и лёгкой. В рабочей группе даже высказывалось предложение выпустить облегчённую спецификацию, этакий OpenPGP Light, но до сих пор никто не смог найти на это время.
— Гость (06/11/2009 16:18)   <#>
После завершения фазы проверки сертификата злоумышленник формирует свой HTTP запрос к защищенной области и выполняет его от имени клиента.

Просто так послать нужный запрос не получится, ибо для этого нужно знать клиентский ключ. Совсем тупо выдать себя за клиента нельзя, но, видимо, на стадии согласования можно притвориться клиентом так, чтобы сервер не смог отличить.
— Мухтар (06/11/2009 17:29)   профиль/связь   <#>
комментариев: 155   документов: 20   редакций: 5
Хорошо, а нельзя ли со стороны уязвимого сервера инициировать многократные повторы транзакции обмена ключами (грубо говоря, прорефрешить несколько раз страничку) и посмотреть лог negotiation, с правилом блокировки транзакции на Web файрволе (mod_securty, etc.)? Хотя патч уже есть.

А вообще, можно же реализовать SSL4.0 по принципу JS дополнений для Firefox, c загрузкой апдейтов с сервера обновлений или даже с банковского сайта :-)
— Мухтар (06/11/2009 17:31)   профиль/связь   <#>
комментариев: 155   документов: 20   редакций: 5
Или пусть сервер сам инициирует negotiation и вслучае успеха, блокирует клиента с предупреждением.
— Гость (06/11/2009 18:15)   <#>
Просто так послать нужный запрос не получится, ибо для этого нужно знать клиентский ключ. Совсем тупо выдать себя за клиента нельзя, но, видимо, на стадии согласования можно притвориться клиентом так, чтобы сервер не смог отличить.

Противнику достаточно первым пообщаться с сервером и послать специально не законченный ивел-запрос, вследствии чего только ретранслированный легитимный get запрос был бы проигнорирован веб сервером, но успешно распознаны легитимные печенюшки.

Проблема, в первую очередь, касается HTTPS, как протокола-связки SSL и HTTP (которому простота исполнения и однозначности топора недостижима, у ссл одназначности всё-таки больше), плюс дизайн веб серверов. Это особенно видно на примере сценария с клиентскими сертификатами (пересогласования по инициативе сервера).

Отдельно стоит проблема SSL/TLS при пересогласовании по инициативе клиента. В этом случае достаточно выделить пересогласование (по инициативе клиента) в отдельный тип рукопожатия, тогда человек-по-середине не смог бы вещать незамеченно от имени легитимно-cookie'ующего человека по сценарию с незаконченными запросом.

Кстати, единственный вариант лечение при существующих возможностях эффективен на 100 процентов, также как исцеление от головной боли через гильотину.
— Гость (06/11/2009 20:03)   <#>
Спасибо за новость. Дыра в HTTPS... просто нету слов, одни эмоции :(
— Гость (06/11/2009 20:59)   <#>

*) Disable renegotiation completely – this fixes a severe security problem at the cost of breaking all renegotiation. Renegotiation can be re-enabled by setting OPENSSL_ENABLE_UNSAFE_LEGACY_SESSION_RENEGOTATION at compile-time. This is really not recommended. [Ben Laurie]


Красота, а главное как отрезал.

if (s->new_session) {
al=SSL_AD_HANDSHAKE_FAILURE;


P. S. Тор может и не уязвим к такой аттаке на протокол, но точно уязвим к такой "атаке" на либу. Ожидаем обновлений торы, пока вся сеть не выключилась.
— Гость (09/11/2009 21:00)   <#>
Дыра в HTTPS... просто нету слов, одни эмоции :(

Насколько я знаю, это касается лишь экзотических случаев, когда идёт работа с клиентским сертификатом в браузере. Вы много таких сайтов видели вживую? Я видел (пользовался) только двумя: вебмани и андедли.
— Гость (09/11/2009 22:14)   <#>
Да уже одного вебмани достаточно :)
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3