DDoS protection — методы вредоносного воздействия

DDoS protection — методы вредоносного воздействия

Классификация DoS/DDoS-атак

В предыдущей статье мы выяснили, что DoS/ DDoS-атаки представляют одну из наиболее серьезных угроз информационной безопасности для современного предприятия. Какие же бывают атаки? Познакомимся с арсеналом средств злоумышленников, чтобы научиться им противостоять!
ddos protection

1. Network floods – самый простой для злоумышленника вариант. Не требуется установки TCP-сессии с компьютером жертвы. Приводят к исчерпанию ресурсов атакуемой системы или полосы пропускания канала. Примерами таких атак являются ICMP и UDP flood.

2. Атаки, направленные на серверные ресурсы. Обычно этот вариант используется для воздействия на серверы приложений. Примерами являются TCP-SYN, TCP-RST, TCPACK.

3. Атаки на ресурсы приложений. Надо отметить, что это не только воз-действие на HTTP, но и HTTPS, DNS, VOIP, SMTP, FTP и другие прикладные протоколы. Среди этих атак HTTP flood, DNS flood и прочее.

4. Сканирование. В сущности, само по себе сканирование на первый взгляд представляется безвредным, поскольку само по себе не создает проблем, но на самом деле это «разведка перед боем», позволяющая выяснить информацию, которая поможет в дальнейшем атаковать систему

Узнать, как защитить свой бизнес от DDoS атак

Примеры сетевых атак (network floods)

Пусть некто решил продать свой автомобиль и дал объявление. Недоброжелатель дает другое объявление с тем же телефоном и информацией о той же машине, но более низкой ценой. Что произойдет? Будет шквал звонков от желающих купить автомобиль дешево, но ведь это не те покупатели, которые нам нужны. А вот как раз реальные покупатели нам могут и не дозвониться. При этом наш продавец будет вынужден реагировать на все звонки. Цель атакующего достигнута. Настоящие клиенты не могут дозвониться. А теперь посмотрим, как это происходит в сети.
Как работает ICMP flood
Принцип работы ICMP flood выглядит не слишком сложно. На узел жертвы отправляется эхо-запрос, который требуется обработать и отправить эхо-ответ, при этом необходимо будет задействовать большие ресурсы по сравнению с обычным пакетом, хотя сам запрос по объему небольшой. В результате при относительно небольшом трафике можно добиться перегрузки по количеству пакетов. Атакуемый узел начинает работать нестабильно, терять пакеты. Усиление атаки достигается использованием бот-сети, когда запросы приходят с тысяч узлов. Кроме этого, можно отправить запрос по широковещательному адресу с поддельным адресом источника пакета, так называемые Smurf-атаки. Отправка эхо-запроса ICMP на широковещательный адрес заставляет все узлы в этой сети отправить эхо-ответы на подмененный адрес, который и является адресом жертвы, то есть происходит усиление атаки.
ddos protection
Как работает UDP flood
Принципы атаки довольно схожи с предыдущим вариантом и заключаются в отправке множества UDPпакетов на определенные номера портов атакуемого узла, который для каждого полученного пакета должен идентифицировать соответствующее приложение, отправить ответное ICMP-сообщение «адресат недоступен». В итоге атакуемая система окажется перегруженной, поэтому после начала атаки зловредный трафик может быстро захватить всю доступную полосу пропускания, не оставив ничего легитимному трафику, что и является целью злоумышленника – не дать работать «правильным пользователям». Подменив IP-адреса источников в UDP-пакетах, злоумышленник может перенаправить поток ICMP-ответов и тем самым сохранить работоспособность атакующих узлов, а также обеспечить их маскировку. Как можно было заметить, ни ICMP, ни UDP flood не используют уязвимости системы, то есть мы имеем дело со стандартными принципами работы стека TCP/IP. Значит, подобным атакам может быть подвергнута абсолютно любая среда. Кроме того, существуют методы, позволяющие значительно усилить атаку, например, подмена адреса источника пакета на адрес атакуемой системы – ICMP-усиление (Smurf) и UDP-усиление (Fraggle), которые были описаны выше.

Примеры атак на серверы

Как работает TCP-SYN flood
Рассмотрим другой пример: пусть надо записаться на прием к врачу, и пациенты должны прийти и взять талон на определенное время. Как будет выглядеть атака в этом случае? Большое количество людей берут талоны, выбирая таким способом все временные ресурсы, при этом они потом никуда не приходят. Настоящих пациентов не приняли, поскольку они просто не смогли записаться. Теперь посмотрим, как это будет происходить в сети. Этот пример иллюстрирует принцип работы атаки SYN flood. В этих атаках используется другая особенность стека протоколов TCP/IP – потребность установки TCP-сессии. В отличие от UDP, где это не требуется, при TCP взаимодействии необходимо, чтобы отправитель «договорился» с получателем перед тем, как что-то будет отправлено. Для этого используется механизм three-way handshake – трехэтапного подтверждения [4, 5]. Принцип его работы выглядит следующим образом: клиент посылает пакет SYN (Synchronize), сервер отвечает пакетом SYN-ACK (SynchronizeAcknowledge), клиент подтверждает прием пакета SYN-ACK пакетом ACK (Acknowledge). На этом процедура установления соединения завершается (см. рис. 2). Это и использует злоумышленник. Установим фальшивый IP-адрес отправителя и пошлем серверу большое количество SYN-пакетов. Получая пакет SYN, сервер должен выделить часть своих ресурсов для установления нового соединения. А раз так, то в конце концов все ресурсы сервера будут исчерпаны, что приведет к невозможности обслуживания новых запросов. Цель атакующего достигнута.
Как работает TCP-RESET
Допустим, нам надо отправить обычное письмо. Что мы делаем? Пишем текст, вкладываем в конверт, указываем адрес получателя и адрес отправителя, дальше опускаем его в почтовый ящик. В нашем почтовом отделении есть недоброжелатель, который отслеживает все, что приходит к нам и от нас, и, увидев сообщение, отбрасывает его и пишет ответ отправителю: «адресат выбыл». Таким образом, переписка с нашим корреспондентом нарушена. В TCP/IP эта атака называется TCPRESET [6, 7]. Ее задача – нарушить взаимодействие между участниками. Любой TCP-пакет содержит заголовок. В числе прочего он содержит бит флага сброса (RST). Обычно этот бит имеет нулевое значение, но в случае установки его в 1 получатель должен немедленно прекратить использовать данное соединение. Этот механизм используется, когда на одном компьютере в процессе передачи данных происходит сбой. Второй компьютер, не зная об этом, продолжает отправлять информацию. После восстановления исходного компьютера после сбоя он может продолжать получать пакеты от старого соединения, но поскольку о нем не осталось никакой информации, непонятно, что с ними делать. Именно в этой ситуации будет отправлено требование сброса (RESET) второму компьютеру. Дальше можно устанавливать новое соединение. Получается, что этот механизм нужен, но эту функциональность может использовать атакующий. Каким образом? Перехватить пакеты, подделать пакет и установить в нем флаг RESET, флаг сброса. Дальше отправить эти поддельные пакеты участникам взаимодействия, что в конечном счете приводит к нарушению TCP сессии между ними.

Примеры атак на приложения

Как работает HTTP flood
Наиболее распространенной DDoS атакой, нацеленной на приложения, является HTTP flood. Обычно для ее осуществления используется бот-сеть, впрочем, в состав атакующих вполне могут входить и добровольцы, например, когда речь идет о целенаправленной хактивистской деятельности. Существуют варианты GET и POST. В сущности, обе эти альтернативы направлены на исчерпание ресурсов веб-приложения. Как же осуществляется эта атака? Злоумышленник отправляет небольшой по объему HTTP-пакет, в ответ на который сервер должен прислать куда больше информации, например, GET. Конечно, канал сервера во много раз шире канала, который использует атакующий, но ведь и отдавать информации приходится намного больше, кроме того, не составит труда подменить адрес источника на другой. Следовательно, ответные пакеты не вызовут отказа в обслуживании атакующего узла. И, разумеется, таких узлов может быть огромное количество. И опять легитимный пользователь не может обратиться к требуемому ресурсу.
ddos protection
Как работает DNS flood
Характерным примером атаки на приложения является DNS flood. Серверы DNS служат для разрешения имен в IP-адреса. Нам привычнее и удобнее обращаться к ресурсам, используя интуитивно понятные схемы именования. Основная задача DNS сервера – найти нам требуемый адрес, чтобы наш компьютер смог обратиться на искомый сайт. Атака построена на принципах взаимодействия клиента и сервера DNS. Злоумышленник, используя бот-сеть, посылает множество запросов на сервер жертвы. Сервер перегружен и не сможет разрешать имена по запросам легитимных пользователей, и, следовательно, они не смогут обратиться на требуемый им ресурс, поскольку не смогли разрешить его имя в адрес.

За последнее время (2014-2015 годы) появилась информация об успешных DDoS-атаках против российских ресурсов. По данным PC Week, Россия заняла четвертую позицию в рейтинге стран, чьи веб-ресурсы наиболее часто оказывались под прицелом организаторов DDoS-атак.

Далеко не всегда деструктивные действия атакующего направлены на какие-то уязвимости систем. Речь вполне может идти об использовании их стандартного поведения, того, что называется функциональностью «by design». Фактически DDoS-атакам может быть подвержено любое устройство, имеющее IP-адрес. Следовательно, никто не может считать себя в безопасности, не предприняв определенных мер по защите своей инфраструктуры. Разумеется, злоумышленник не станет применять только одну атаку (вектор), напротив, постарается использовать сразу несколько, чтобы усложнить защиту системы.

Наконец, еще один и, пожалуй, наиболее важный аспект – изменение атаки может происходить за минуты или даже секунды, поскольку злоумышленники используют весьма совершенные средства. А раз так, то никакие «ручные» методы защиты, подразумевающие выполнение администратором безопасности первоначальной идентификации атаки и последующей реализации контрмер для ее отражения, не будут в должной мере эффективны. Атакующий сможет изменить способ воздействия на ресурсы жертвы быстрее, чем администратор безопасности идентифицировать и отразить атаку. Следовательно, необходимо обеспечить отражение в автоматическом режиме. В следующей статье мы продолжим рассмотрение вариантов DDoS атак.
Узнать, как защитить свой бизнес от DDoS атак

Читайте также:

 

Автор статьи: Леонид Шапиро, архитектор ИТ-систем, MVP, MCT, MCSE, MCITP:EA, MCSE:S, MCSE:M.

Источники:
1. Шапиро Л. Атаки DDoS. Часть 1. Война объявлена… // «БИТ», №5, 2015 г. – С. 28-31 (http://bit.samag.ru/archive/ article/1504).
2. Radware DDoS Handbook – http:// www.radware.com.
3. RFC: 793 – http://www.ietf.org/rfc/ rfc0793.txt.
4. Explanation of the Three-Way Handshake via TCP/IP – https:// support.microsoft.com/en-us/ kb/172983.
5. TCP Connection Establishment Process: The «Three-Way Handshake» – http://www.tcpipguide. com/free/t_TCPConnectionEstablish mentProcessTheThreeWayHandsh-3. htm.
6. Атаки TCP-RESET – http://linuxpoison. blogspot.ru/2008/05/what-is-tcpreset-attacks.html.
7. Атаки TCP-RESET – https:// en.wikipedia.org/wiki/TCP_reset_ attack.
8. Что такое HTTP flood – http://www. youtube.com/watch?v=BzgsT-_GC4Q.