Неужели ты думаешь, что знаешь все о DoS? Тогда читай!
Denial-of-service (DoS), атаки отказа от обслуживания, стали опаснее и легче. DoS это разновидность
сетевых атак (от червей до SYN flooding), цель которых сделать сервер недоступным для пользователей. ‘Distributed Reflection’ это новый вид DoS атак с использованием SYN flood'а. Его особенность в том, что на атакуемый сервер не посылаются миллионы SYN пакетов, они посылаются на router'ы или сервера и ответ приходит целевому серверу. А
роутеров существует миллионы!
Чтобы понять как все это работает и почему это так важно
давайте кое-что вспомним... Подтверждение TCP соединения происходит посредствам обмена тремя пакетами между двумя
компьютерами, так называемое рукопожатие. Вот примерная схема:
- SYN клиент (web браузер, ftp клиент, etc.) входит в связь с сервером, посылая ему SYN пакет.
- SYN/ACK: Когда запрос о соединении(SYN пакет) получен на открытом порту сервера, тот подтверждает соединение посылая клиенту SYN/ACK пакет.
- ACK: Когда клиент получает подтверждение сервера SYN/ACK пакет для ожидаемой связи, то отвечает ACK пакетом.
Что происходит?
Традиционные "SYN flooding DoS" атаки работают по двум принципам:
- "one-on-one" одна машина отсылает достаточное количество SYN пакетов чтобы заблокировать доступ к серверу.
- "many-on-one" множество программ зомби,
установленых на разных серверах, атакуют целевую машину SYN пакетами.
С использованием "reflection SYN flooding" посылаются пакеты,
но с исходным IP адресом, указывающим на целевую машину. TCP соединение с использованием этих трех пакетов требует, чтобы любая TCP служба, которая получает SYN пакет, ответила SYN/ACK пакетом. Сервер или router, которые получают эти поддельные SYN пакеты, посылают SYN/ACK ответы на машину, указанную SYN пакетами с исходным адресом
IP. Основной протокол Интернета и инфраструктура
сети используются сами против себя!
В деталях
Любая TCP связь с сервером общего назначения может использоваться, чтобы "отразить" SYN пакеты. Вот
короткий список наиболее популярных TCP портов:
22 (Secure Shell), 23 (Telnet), 53 (DNS) и 80 (HTTP/web). И фактически router'ы всего Интернета подтвердят TCP связь на
179 порту. Давайте оценим потенциал этой атаки:
- Она использует фундаментальный Интернет протокол коммуникаций;
- Машин, которые используют этот протокол, существует миллионы;
- чрезвычайно просто организовать атаку ‘SYN packet
reflectors’.
Довольно легко может быть построен список,
в котором будут перечислены router’ы и
сервера, отвечающие на SYN пакеты. Имея
большой список SYN "отражателей", каждый
хакер может распределить поддельные SYN
пакеты равномерно через весь набор
роутеров/серверов в списке. Ни один из невинных "отражателей" не испытает
существенной сетевой нагрузки. Роутеры вообще не сохраняют отчеты про пакеты с запросами на
предварительное соединение, это делает
отслеживание нападения чрезвычайно трудным.
"Отражатели"(роутеры и сервера) отправят в три или четыре раза большее количество SYN/ACK пакетов, чем число SYN пакетов которые они
получат. TCP соединение, которое получает команду
SYN, ожидает ACK ответ от машины на которую послало
SYN/ACK пакет, поэтому компьютер посылается еще несколько SYN/ACK ответов через несколько минут. Эта особенность TCP протокола по существу умножает число злонамеренных SYN/ACK пакетов, посылаемых целевой машине на три или четыре. Это также означает, что flood SYN/ACK
пакеты продолжат атаковать целевой сервер в течение минуты или
двух даже после того, как нападавший отозвал нападение.
P.S.: Вот несколько инструментов для
организации distributed reflection denial of service attack.