Насколько реально налету перехватывать и дешифровывать SSL? При этом соответственно нужно перехватывать и ключи и сертификаты. Решается ли эта задача в общем случае?
А каким образом перехват может осуществляться на низком уровне? Если ключ для дешифровки по сети не передается. Перехватывать разве что только на высоком уровне там, где данные идут еще не зашифрованными
Great Подмена ключа производится ещё до усстановки канала, т.е. в как раз в момент пересылки ключей между корреспондентами. А после того, как соединение уже установлено - всё, нечего ловить)
W4FhLF Не всё так просто, ключ должен быть валидным, иначе облом. В частности, браузер сообщит, что сертификат не принадлежит запрашиваемому домену.
Great прав. Перехватить трафик можно везде, но расшифровать только 1) если есть сертификат и 2) перехватывать в usermode, пока данные не зашифрованы. Перехват на уровне TDI/NDIS зашифрованного трафика показывает только каракули, знаю по себе
Без сертификата - вряд ли возможна... По крайней мере мне способы не известны... Перехват трафика возле сетевой карты показывает только шифрованное тело пакета плюс tcp\ip заголовки... Посуди сам - шифрование пакета происходит в r3, после чего пакет отправляется в мир через Winsock -> AFD -> TDI -> NDIS уже зашифрованым. И приходит на машину зашифрованым, т.е. его расшифровка происходит тоже в r3. Поэтому перехват незашифрованного трафика возможен только или до его зашифровки, либо после. В любом случае это будет в юзермоде.
Хм.. Я имею ввиду не перехват WinInet и прочих функций user mode библиотек. Тут и козе понятно - перехватывай InternetReadFile|HttpSendRequest(Ex A W). Я говорю про универсальный вариант перехвата SSL траффика. Тот-же putty никаких wininet'ов не юзает, шифрует траффик самостоятельно, но вот проблемма - перехватывать функции шифровки данных внутри putty (привязываться к конкретным адресам-версиям программы) или же реально перехватывать винсок и дешифровывать траффик налету. Причём последний вариант будет универсален для многих SSL клинентов.
http://en.wikipedia.org/wiki/MITM http://www.delegate.org/delegate/mitm/ http://www.mavensecurity.com/achilles