Для блокировки SSL-сервера разработан новый эксплойт

Немецкая хакерская группа THC недавно разработала эксплойт, который реализует DoS-атаку на любой SSL-сервер и задействует только одну или несколько атакующую машину. Все известные реализации SSL имеют эту уязвимость, которые не могут быть закрыты без полной переработки принципов работы сервера. Для этого потребуются достаточно большие временные и финансовые затраты.

Идея этого эксплойта очень проста и основана на следующем факте. Чтобы установить SSL-соединение сервер должен потратить в 15 раз больше ресурсов, чем клиентская сторона. Фактически эксплойт создает большое количество подключений к серверу, которых на самом деле нет, и в итоге ресурсы сервера исчерпываются, и он зависает или вообще полностью выходит из строя.

Хакеры THC уверяют, что для того чтобы среднестатистический сервер дал сбой достаточно создать поток из 300 подключений в секунду, а иногда даже меньше. Для этого можно использовать стандартный ноутбук, который подключен к сети при помощи DSL-канала. Достаточно большая ферма серверов, которая оборудована балансировщиком нагрузки выдержит атаку не более чем с 20 ноутбуков, пропускная способность каждого из них не будет превышать 120 Кбит/с.

Сегодня еще не предоставлено надежного метода защиты от данной атаки и в ближайшем будущем вряд ли появится. Единственный способ, который могут использовать системные администраторы для предотвращения – это отключить механизм SSL-Renegotiation или использовать коммерческую версию SSL Accelerator. Благодаря их использованию производительность SSL-сервера значительно увеличится и выдержит атаки, производимые с одного компьютера. Производители были предупреждены о разработке этого эксплойта еще в 2003 году, однако не один из вендоров ничего не сделал для исправления этой ситуации в будущем. А сейчас это является серьезной проблемой, которая угрожает сбоями для многих организаций.

Сегодня можно получить урезанный код эксплойта, который не будет работать на машинах с отключенным SSL-Renegotiation, его можно скачать с домашней страницы THC и попробовать применить для того, чтобы понять принцип его работы. Чтобы можно было совершить атаку при отключенном SSL-Renegotiation нужно создавать новое TCP-подключение для каждого ресурсоемкого SSL-handshake. Функциональность упрощенного эксплойта можно повторить при помощи стандартного opensll-клиента. Основное отличие эксплойта THC – это возможность инициации серии SSL-handshake в рамках одного TCP-соединения, к чему многие серверы не подготовлены.

thc-ssl-dosit() {
while :; do
(while :; do echo R; done) |\
openssl s_client -connect 127.0.0.1:443 2>/dev/null;
done
}