Недоступность службы в информатике называется отказом в обслуживании (DoS). Такие блокировки сервисов обычно являются побочными эффектами перегрузки отдельных компонентов ИТ-инфраструктуры. Если это состояние намеренно вызвано внешними субъектами, говорят о DoS-атаке. Злоумышленник специально направляет целевой системе больше запросов, чем она может обработать. Сетевые устройства, операционные системы или отдельные серверные службы могут использоваться таким образом, что они не могут вообще или только с задержкой реагировать на регулярные запросы. Такая процедура особенно эффективна, когда система сталкивается с запросами с разных компьютеров. В отличие от DoS-атак, такие DDoS-атаки основываются на обширных ботнетах.
DDoS / DoS-атаки в большом масштабе
Распространенная форма DoS называется «распределенный отказ в обслуживании» (DDoS). В этом варианте киберпреступники действуют не с одного атакующего компьютера, а загружают целевые системы запросами с нескольких компьютеров, которые можно объединить в гигантские ботнеты.
Такая сеть компьютеров может генерировать значительно больше трафика данных, чем при простых DoS-атаках, которые выполняются только из одной системы. Таким образом, DDoS-атаки оказывают серьезное воздействие на пострадавших, у которых, как правило, мало шансов обнаружить фактический источник атаки. Потому что злоумышленники, которые настраивают ботнеты этого типа, используют специальные программные агенты, которые размещены на недостаточно защищенных компьютерах в интернете и централизованно контролируются без ведома оператора. Такое «заражение» часто происходит за несколько месяцев до фактической DDoS-атаки.
Как выглядит DDoS-атака?
Каждая DDoS-атака основана на более крупной компьютерной сети. Теоретически эта сеть может фактически принадлежать злоумышленнику – однако на практике это почти все без исключения сети ботов, которые часто состоят из сотен тысяч компьютеров. Соответствующие компьютеры заражены вредоносным ПО, которое позволяет киберпреступникам получать к ним удаленный доступ, не будучи замеченными. Здесь задействованы устройства, такие как маршрутизаторы, камеры видеонаблюдения и т.д.
Имея за спиной правильную компьютерную сеть, злоумышленнику часто легко реализовать запланированный DDoS. Потому что для выполнения своей цели – остановки целевой службы – ему теперь нужна только соответствующая точка атаки в системе или сети жертвы. Как только он обнаружит такой бэкдор, он может отправить необходимые команды своей армии ботов, чтобы начать волну DDoS-атак в желаемое время.
Какие типы DoS- и DDoS-атак существуют?
В отличие от других атак киберпреступников, DoS- и DDoS-атаки не направлены на проникновение в систему. Однако они могут быть частью такой хакерской атаки. Например, когда система парализована, чтобы отвлечь внимание от атаки на другую систему. Если реакция сервера задерживается из-за DDoS- или DDoS-атак, у хакеров также есть возможность манипулировать запросами к перегруженной системе с помощью фальсифицированных ответов. В стратегии, лежащие в основе таких атак можно разделить на три категории:
- перегрузка полосы пропускания
- перегрузка системных ресурсов
- использование программных ошибок и лазеек в безопасности.
Перегрузка полосы пропускания
Цель перегрузки полосы пропускания – сделать компьютер недоступным. В этом случае DoS- и DDoS-атаки нацелены непосредственно на сеть и соответствующие подключаемые устройства.
Например, маршрутизатор может одновременно обрабатывать только определенный объем данных. Если эта емкость полностью использована атакой, соответствующие службы больше не будут доступны другим пользователям. Классическая DDoS-атака с целью перегрузки широкополосного доступа – это атака Smurf.
Smurf-атака – эта DDoS-атака использует протокол управляющих сообщений интернета (ICMP), который используется для обмена информацией и сообщениями об ошибках в компьютерных сетях. Злоумышленник отправляет поддельные ICMP-пакеты типа «эхо-запрос» (ping) на широковещательный адрес компьютерной сети и использует IP-адрес цели атаки в качестве адреса отправителя.
Сетевой маршрутизатор пересылает широковещательный запрос всем подключенным устройствам, заставляя каждое из них отправлять ответ на адрес отправителя (pong). Большая сеть с большим количеством подключенных устройств может значительно снизить пропускную способность объекта атаки.
Перегрузка системных ресурсов
Если DoS- или DDoS-атака нацелена на ресурсы системы, злоумышленники используют тот факт, что веб-серверы могут устанавливать только ограниченное количество подключений.
Если они заполнены бессмысленными или недействительными запросами, серверные службы для обычных пользователей могут быть эффективно заблокированы. Классическими шаблонами DDoS-атак на системные ресурсы являются HTTP-флуд, ping-флуд, SYN-флуд и UDP-флуд.
HTTP-флуд. В этом простейшем варианте DDoS-атаки для перегрузки ресурсов злоумышленник наводняет целевой веб-сервер большим количеством HTTP-запросов. Для этого ему достаточно вызвать любые страницы целевого проекта, пока сервер не рухнет под нагрузкой запросов.
Ping flood. Киберпреступники также используют ICMP-пакеты типа «Echo Request» для этого шаблона атаки. Обычно они массово рассылаются ботнетами для атаки целей. Поскольку на каждый из этих запросов (ping) целевая система должна отвечать пакетом данных (pong), медленные системы могут сильно замедляться из-за ping-флуда.
SYN-флуд. Этот шаблон атаки представляет собой злоупотребление трехсторонним квитированием TCP. TCP (Протокол управления передачей) – это сетевой протокол, который вместе с IP обеспечивает передачу данных через интернет без потерь. Установление TCP-соединения всегда происходит при трехэтапной аутентификации. Для этого клиент отправляет на сервер пакет синхронизации (SYN). Он принимается сервером и также отвечает пакетом синхронизации (SYN) и подтверждением (ACK). Установление соединения завершается подтверждением на стороне клиента (ACK). Если этого не происходит, системы могут быть эффективно парализованы, поскольку сервер не хранит в памяти окончательно подтвержденные соединения. Если большое количество этих так называемых полуоткрытых соединений объединяется в результате лавинной рассылки SYN, доступные ресурсы сервера при определенных обстоятельствах могут быть полностью заняты.
UDP-флуд. В этой атаке киберпреступники полагаются на протокол пользовательских дейтаграмм (UDP) без установления соединения. В отличие от передачи через TCP, данные также могут передаваться через UDP без установления соединения. Поэтому в контексте DoS- и DDoS-атак пакеты UDP в большом количестве отправляются на случайно выбранные порты целевой системы. Система безуспешно пытается определить, какое приложение ожидает переданных данных, а затем отправляет пакет ICMP обратно отправителю с сообщением «адрес назначения недоступен». Если система загружена многочисленными запросами этого типа, использование ресурсов может привести к серьезному ограничению доступности для обычных пользователей.
Использование программных ошибок и лазеек в безопасности
Если злоумышленник знает об определенных пробелах в безопасности в операционной системе или программе, DoS- и DDoS-атаки могут быть спроектированы таким образом, чтобы запросы вызывали программные ошибки или даже сбои системы. Примерами паттернов атак этого типа являются «пинг смерти» и атакой Лэнда.
Ping of Death. Цель этой атаки – вызвать сбой пораженной системы. Для этого злоумышленники используют ошибки реализации в интернет-протоколе (IP). IP-пакеты обычно отправляются в виде фрагментов. Если вместе со сборкой пакетов отправляется неверная информация, некоторые операционные системы могут быть обмануты в создании IP-пакетов, размер которых превышает максимально разрешенные 64 КБ. Это может привести к «переполнению буфера», при котором чрезмерно большие объемы данных вызывают перезапись соседних ячеек памяти в целевой области памяти.
Land-Attack. В этом случае злоумышленник отправляет SYN-пакет как часть трехстороннего рукопожатия TCP, адреса назначения и отправителя которые соответствуют атакуемому серверу. Это приводит к тому, что сервер отправляет ответ на запрос в форме пакета SYN / ACK самому себе. Это можно интерпретировать как новый запрос на соединение, на который, в свою очередь, должен быть дан ответ пакетом SYN / ACK. Это создает ситуацию, в которой система постоянно отвечает на собственные запросы, что может привести к сбою.
Как предотвратить и уменьшить количество атак?
Разработаны различные меры безопасности для противодействия перегрузке ИТ-систем посредством DoS- и DDoS-атак. Отправные точки предлагают идентификацию критических IP-адресов и устранение известных брешей в безопасности. Также важно предоставить аппаратные и программные ресурсы, которые можно использовать для компенсации незначительных атак.
Черные списки IP
Черные списки позволяют идентифицировать критические IP-адреса и напрямую отбрасывать пакеты данных. Эта мера безопасности может быть реализована вручную или автоматически с помощью динамически создаваемых черных списков через межсетевой экран.
Фильтрация
Чтобы отфильтровать заметные пакеты данных, можно определить предельные значения для объемов данных в определенный период времени. Однако следует отметить, что прокси-серверы иногда приводят к тому, что многие клиенты с одним и тем же IP-адресом регистрируются на сервере и, возможно, блокируются без уважительной причины.
Файлы cookie SYN
Файлы cookie SYN предназначены для устранения пробелов в безопасности при установлении TCP-соединения. Если эта мера безопасности используется, информация о SYN-пакетах больше не сохраняется на сервере, а отправляется клиенту в виде криптографических файлов cookie. Атаки SYN flood используют вычислительные мощности, но не нагружают память целевой системы.
Балансировка нагрузки
Эффективное средство противодействия перегрузке – это распределение нагрузки между различными системами, что стало возможным благодаря балансировке нагрузки. Аппаратная нагрузка предоставляемых услуг распределяется по нескольким физическим машинам. Таким образом можно в определенной степени перехватить DoS- и DDoS-атаки.