DoS-атака

Материал из Russian Underground
(перенаправлено с «DDoS-атака»)
Перейти к: навигация, поиск

DoS-атака (от англ. отказ в обслуживании) — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к овладению системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т. д.).

Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (Distributed Denial of Service), распределённая атака типа «отказ в обслуживании»). В некоторых случаях к DDoS-атаке приводит легитимное действие, например, размещение на популярном интернет-ресурсе ссылки на сайт, размещённый на не очень производительном сервере (слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер и отказу в обслуживании части из них.

Содержание

Виды DoS-атак

Существуют различные причины, по которым может возникнуть DoS-условие:

  • Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение серверного приложения. Классическим примером является обращение по нулевому указателю.
  • Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (исчерпанию процессорных ресурсов) либо выделению большого объёма оперативной памяти (исчерпанию памяти).
  • Флуд — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания ресурсов системы — процессора, памяти либо каналов связи.
  • Атака второго рода — атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.

Если атака (обычно флуд) производится одновременно с большого количества IP-адресов, то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).

Эксплуатация ошибок

Эксплойт

Эксплойтом называют программу, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Из эксплойтов, ведущих к DoS-атаке, но непригодных, например, для овладения «вражеской» системой, наиболее известны WinNuke и Ping of death.

Флуд

Флудом называют огромный поток бессмысленных запросов с разных компьютеров с целью занять «вражескую» систему (процессор, ОЗУ или канал связи) работой и этим временно вывести её из строя. Понятие «DDoS-атака» практически равносильно понятию «флуд», и в обиходе то и другое часто взаимозаменяемо («зафлудить сервер» — «заDDoS’ить сервер»).

Для создания флуда могут применяться как обычные сетевые утилиты наподобие ping (этим известно, например, интернет-сообщество «Упячка»), так и особые программы. Возможность DDoS’а часто «зашивают» в ботнеты. Если на сайте с высокой посещаемостью будет обнаружена уязвимость типа «межсайтовый скриптинг» или возможность включения картинок с других ресурсов, этот сайт также можно применить для DDoS-атаки.

Самая крупная DDoS-атака была зарегистрирована в октябре 2010 года, её мощность составила 120 гигабит. 120-гигабитную атаку можно сравнить с миллионом пользователей, которые осуществляют флуд различными пакетами.

Флуд канала связи и TCP-подсистемы

Любой компьютер, имеющий связь с внешним миром по протоколу TCP/IP, подвержен таким типам флуда:

  • SYN-флуд — при данном виде атаки на атакуемый узел направляется большое количество SYN-пакетов по протоколу TCP (запросов на открытие соединения). При этом на атакуемом сервере через короткое время исчерпывается количество открытых сокетов и сервер перестаёт отвечать.
  • UDP-флуд — этот тип флуда атакует не компьютер-цель, а его канал связи. Провайдеры резонно предполагают, что UDP более приоритетен, чем TCP. Большим количеством UDP-пакетов разного размера вызывается перегрузка канала связи, и сервер, работающий по протоколу TCP, перестаёт отвечать.
  • ICMP-флуд — то же, но с помощью ICMP-пакетов.

Флуд прикладного уровня

Многие службы устроены так, что небольшим запросом можно вызвать большой расход вычислительных мощностей на сервере. В таком случае атакуется не канал связи или TCP-подсистема, а непосредственно служба — флудом подобных «больных» запросов. Например, веб-серверы подвержены HTTP-флуду: для выведения сервера из строя может применяться как простейшее GET /, так и сложный запрос в базу данных наподобие GET /index.php?search=<случайная строка>.

Обнаружение DoS-атак

Существует мнение, что специальные средства для обнаружения DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто отмечались успешные атаки, которые были замечены жертвами лишь через 2-3 суток. Бывало, что негативные последствия атаки (типа флуд) заключались в излишних расходах по оплате трафика, что выяснялось лишь при получении счёта. Кроме того, многие методы обнаружения атак неэффективны вблизи цели атаки, но эффективны на магистральной сети. В таком случае целесообразно ставить системы обнаружения именно там, а не дожидаться, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же, для эффективного противодействия необходимо знать тип, характер и другие показатели DoS-атаки, а оперативно получить эти сведения как раз и позволяют системы обнаружения.

Методы обнаружения можно разделить на несколько больших групп:

  • сигнатурные — основанные на качественном анализе трафика;
  • статистические — основанные на количественном анализе трафика;
  • гибридные — сочетающие в себе достоинства двух предыдущих методов.

Защита от DoS-атак

Меры противодействия DoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.

Ниже приведён краткий перечень основных методов.

  • Предотвращение. Профилактика причин, побуждающих тех или иных лиц организовывать DoS-атаки. Очень часто атаки являются следствиями личной обиды, политических, религиозных разногласий, провоцирующего поведения жертвы и т. п.
  • Фильтрация и блэкхолинг. Блокирование трафика исходящего от атакующих машин. Эффективность этих методов снижается по мере приближения к цели атаки и повышается по мере приближения к её источнику.
  • Устранение уязвимостей. Не работает против атак типа флуд, для которых «Уязвимостью» является конечность тех или иных ресурсов.
  • Наращивание ресурсов.
  • Рассредоточение. Построение распределённых и продублированных систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за атаки.
  • Уклонение. Увод непосредственной цели атаки (Доменного имени или IP-адреса) подальше от других ресурсов, которые часто также подвергаются воздействию вместе с непосредственной целью.
  • Активные ответные меры. Воздействие на источники, организатора или центр управления атакой, как технического, так и организационно-правового характера.
  • Внедрение оборудования по отражению DoS-атак. Например DefensePro® (Radware), Периметр (МФИ Софт), Arbor Peakflow® и других производителей.
  • Приобретение сервиса по защите от DoS-атак. Актуально в случае превышения флудом пропускной способности канала.
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Сцена
Материалы
Разное
Donate
Инструменты