DoS vs DDoS vs DRDDoS vs PoD атака
Для новичков различение таких терминов, как DoS, DDoS или DRDoS, может быть проблематичным. Вопреки видимости, это не однозначные темы, и номенклатура, используемая в Интернете, может вводить в заблуждение. Поэтому была написана эта статья, в которой мы попытаемся объяснить эти термины на знакомых примерах.
DoS
DoS, или отказ в обслуживании, - это атака, которая приводит к нарушению работы определенной системы или сервера. Существуют различные типы DoS-атак. Когда мы читаем об этом, автор чаще всего имеет в виду атаку, которая заключается в непрерывной отправке определенных типов пакетов на IP-адрес жертвы. Это простой и безыскусный способ, поскольку легко блокировать трафик, заблокировав IP-адрес атакующего. Еще одной проблемой этой атаки является ее экономичность - чтобы атака сработала, необходимо иметь большую пропускную способность Интернета, чем жертва.
DDoS
Поскольку традиционные DoS-атаки со временем стали более сложными, злоумышленники придумали DDoS-атаку, или распределенный отказ в обслуживании. Она предполагает атаку на сервер с нескольких компьютеров одновременно. Часто оказывалось, что атакующие компьютеры делали это неосознанно, и это было связано с предыдущим заражением системы.

Резюме: DDoS подразумевает предотвращение доступа к серверу или отказ в обслуживании пользователей в течение определенного периода времени, причем запросы поступают из нескольких источников, в отличие от DoS, который обычно подразумевает атаку из одного источника.

Со временем DDoS-атаки подверглись тщательной фильтрации, и доступ к нескольким компьютерам одновременно стал затруднен. Поэтому для решения этих проблем были придуманы различные методы атак.
Методы DDoS-атак
Разновидностей DDoS-атак сотни, если не тысячи. Вы можете ознакомиться с некоторыми из доступных методов DDoS-атак в репозитории [MHDDoS](https://github.com/MatrixTM/MHDDoS). Чтобы проиллюстрировать каждую из разновидностей атак по отдельности, пришлось бы написать несколько книг. Поэтому в нашей статье мы рассмотрим лишь некоторые из них.
DRDoS
DRDOS заключается в отправке поддельных запросов, имитирующих цель (жертву), на тысячи компьютеров, и в том, чтобы ответы попадали на машину жертвы. Для этого используется подмена IP-адреса (выдача себя за другого). Исходный адрес устанавливается на адрес жертвы. Мы упоминали о подобном методе в [статье](https://bugspace.pl/jak-wykonac-atak-syn-flood/), посвященной атаке SYN flood.
Hit-and-run DoS
Еще одним интересным случаем является DoS-атака hit-and-run. Она заключается в циклической атаке на жертву с большим количеством атак. Атаки такого типа могут продолжаться до нескольких дней.
Slowloris
В качестве еще одного примера можно привести атаку Slowloris. Она заключается в поддержании как можно большего количества открытых соединений с атакуемым сервером в течение как можно более длительного времени. Более конкретно, атака slowloris включает в себя отправку HTTP-запроса, а затем (время от времени) отправку заголовков для поддержания открытых соединений. Соединения никогда не закрываются, что в конечном итоге приводит к исчерпанию пула потоков сервера и отклонению запросов от реальных клиентов.
Ping of Death (PoD)
Последний рассмотренный пример - это атака Ping of Death. Наиболее часто передаваемые пакеты ping имеют размер 56 или 64 байта. Каждый пакет IPv4 может иметь размер до 65 535 байт. Некоторые системы были спроектированы неправильно и не предусматривали обработку пакетов ping, размер которых превышает 65 535 байт. Когда мы передаем пакеты, канальный уровень чаще всего накладывает ограничения в виде максимального размера принимаемых пакетов. Таким образом, если получаемый пакет больше максимального размера, он разбивается на более мелкие части, а принимающий узел, получив все части, собирает их в полный пакет.

В атаке Ping of Death мы неоднократно отправляем на сервер пакеты размером более 65 535 байт, которые затем собираются в полный пакет на хосте, что может привести к переполнению буфера. Хорошо выполненная атака может привести к RCE (удаленному выполнению кода).