Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

Глобальный отказ

Shturmovik

Хакер, номер #090, стр. 090-064-1


(Shturmovik@real.xakep.ru)

Рассказ о написании собственного DDoS-убийцы

Что такое DDoS-атаки сейчас, пожалуй, знает даже ребенок. Мы не раз писали в журнале о том, каким именно образом можно завалить неугодный сервак. Однако, несмотря на это, нам приходят письма от читателей, которые обвиняют нас в том, что мы рассказываем обо всем поверхостно. Сегодня пришло время исправить эту ситуацию.

Вспомнить все

Давай четко объединим все наши знания по теме для закрепления материала. Как ты уже, наверное, знаешь DoS - это атака на отказ в обслуживании (DoS -- Denial of Service). Непосредственно к dDoS мы вернемся немного позже. Как известно, такого рода атаки осуществляются путем засорения канала жертвы пакетами определенного типа, что отправляет жертву в глубокую кому. Думаю, объяснять, для чего используют подобного рода атаки бессмысленно, поэтому едем дальше.

Дос досу рознь

Такие атаки можно проводить двумя известными способами. Первый заключается в использовании уязвимостей жертвы. При помощи специально сформированного пакета реализуется нехитрое переполнение буфера, и жертва улетает в астрал.

Второй и более распространенный - это отправка большого количества определенным образом построенных сетевых пакетов. То есть, грубо говоря, флуд. При этом надо уяснить для себя, что совсем не обязательно придумывать самому какую-то особую реализацию сетевого пакета. С такой же степенью поражения достаточно просто «забомбить» сервер стандартными запросами. Кстати, о подобном уже писали в апрельском номере. Посмотри статью "Вся правда о слэдшот", как раз там рассматривался эффект, когда огромное количество людей в малом интервале времени заходили на страницу. В этом случае ресурс, где была расположена эта страничка, падал, не выдержав такого числа клиентов.

Тут самое время вспомнить сетевую утилиту Sprut, которая была разработана для системных администраторов, желающих проверить свой сервер к устойчивости на банальный HTTP GET DoS. За каждую секунду, по нарастающей, программа подключается к указанному серверу до тех пор, пока сервер не начнет посылать ее куда подальше. Это означает достижение комового состояния, либо то, что сервер использует грамотную реализацию защиты от подобных атак.

Вся хитрость такого флуда заключается в следующем. Допустим, мы посылаем несколько пакетов серверу с бесконечно малым интервалом времени между ними, то есть друг за другом. Пока сервак шаманит над первым пакетом, остальные помещаются им в буфер. Соответственно, чем больше таких пакетов, тем больше памяти занимает буфер для их хранения. Исхода тут два. Первый и самый распространенный заключается в том, что наступит момент, когда буфер сожрет все доступные системные ресурсы, тем самым замедлит работу сервера, а то и вовсе остановит его. Результат налицо: сервак в дауне и не отвечает на запросы. Есть, конечно, и второй вариант, при котором произойдет переполнение, вызывающее критический сбой системы. И тут уже потребуется перезагружать сервер вручную. Второй вариант, разумеется, более продуктивен для нас :).

Содержание  Вперед на стр. 090-064-2
Hosted by uCoz