DoS-атака (Denial of Service)

DoS-атака (Denial of Service), или отказ в обслуживании — совокупность действий злоумышленников, направленных на блокировку или замедление работы отдельных сервисов или целой информационной системы. В некоторых случаях такая атака приводит к перерасходу ресурсов. Например, если в облачной системе настроено автоматическое добавление виртуальных машин в случае замедления сервиса, то, обнаружив снижение времени отклика, облако автоматически добавит новые виртуальные машины, и для посетителей ресурса атака не будет заметна, однако оплата услуг оператора, которая обычно привязана к затрачиваемым ресурсам, может увеличиться.

Альтернативным определением DoS является атака на исчерпание дефицитных ресурсов. Однако эта ситуация может возникнуть и в случае легитимной активности пользователей, если информационная система построена неправильно и в ней действительно был искусственно создан дефицит какого-либо ресурса — пропускной способности, памяти, вычислительных возможностей. Такое происшествие нельзя назвать атакой, поскольку нет целенаправленного воздействия злоумышленника. В то же время DoS-атака, которая эксплуатирует уязвимость переполнения буфера и приводит к отказу всей информационной системы, не исчерпывает никакого дефицитного ресурса, но использует ошибку в программном обеспечении.

Классификация и способы DoS-атак

Выделяют следующие типы DoS-атак:

  • Эксплуатация уязвимости. Для атаки этого типа необходима аппаратная или программная ошибка, использование которой приводит к выводу целевой системы из строя или к сильному замедлению ее работы. Иногда в таких сценариях достаточно отправить по назначению один сетевой пакет, поэтому подобную атаку иногда называют низкоскоростной. Для защиты от нее необходимо устанавливать исправления уязвимостей системы или WAF с фильтрацией пакетов, эксплуатирующих уязвимость. Также помогает проведение аудита информационной системы или проверки ее на устойчивость к нагрузкам (стресс-теста).
  • Сложные запросы. Этот тип атаки направлен против веб-систем, построенных на интерпретируемых языках типа PHP или Python. Дело в том, что современные сервера приложений хорошо оптимизированы для массового исполнения простых запросов, часть которых кешируется и не требует исполнения кода. Однако сильно персонифицированные запросы, ответы на которые не попадают в кеш, могут создавать большую нагрузку на систему. В штатном режиме таких запросов не очень много, и поэтому система справляется с ними, однако злоумышленники могут спровоцировать большое их число, что и приведет к исчерпанию процессорного времени. Подобная атака также не нуждается в большом количестве запросов, однако она требует особой предварительной подготовки и квалификации нападающих, поэтому встречается весьма редко. Для предотвращения атак с использованием сложных запросов стоит проводить аудит кода приложений и его архитектуры, а также стресс-тесты. В некоторых CMS есть встроенные механизмы профилирования приложений, которые позволяют выявить подобные узкие места; их также стоит задействовать как минимум во время тестовой эксплуатации.
  • Захват ресурсов. Вполне возможны атаки, когда злоумышленник тем или иным способом получает контроль над ресурсами компании, например ее облачными сервисами, а потом шантажирует уничтожением накопленной в них информации. Такие атаки также можно отнести к DoS, поскольку результатом реализованной угрозы является вывод системы из эксплуатации. Как правило, возможность захвата ресурсов появляется при слабой системе аутентификации, поэтому для административных учетных записей (особенно в публичных сервисах) стоит использовать строгие методы аутентификации и запись административных команд с блокировкой наиболее опасных из них.

Цель DoS-атак

Объектами воздействия злоумышленников являются ресурсы компаний, чей бизнес сильно связан с интернетом: электронные магазины, порталы банков. Обычно злоумышленники вымогают деньги за прекращение DoS-атаки — иногда этот выкуп оказывается меньшим, чем потери от приостановки бизнеса и ущерб для репутации. В некоторых случаях DoS-атака является прикрытием для другого нападения. Например, украв у клиентов банка большую сумму денег, злоумышленник может организовать DoS-атаку на систему дистанционного банковского обслуживания, чтобы жертвы не могли проверить состояние своих счетов, пока деньги не будут выведены и спрятаны.

DoS-атака (Denial of Service)

Впрочем, в последнее время учащаются случаи кибертерроризма, целью которых является вывод из строя государственных информационных ресурсов. В этом случае окупаемость атаки сложно оценить, поскольку деньги поступают от террористических структур. Как правило, террористы нападают на менее защищенные ресурсы, поэтому достаточно иметь минимальную защиту от DoS-атаки — тогда преступники, скорее всего, найдут себе другую жертву.

Источник DoS-атак

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

Анализ риска

Для защиты от DoS-атак пользователь может применять следующие механизмы защиты:

  • Анализ кода. Если веб-приложение разрабатывается самостоятельно или под заказ, то в нем возможно появление ошибок. Для их поиска предлагаются сервисы и программы по анализу кода приложений. Рекомендуется перед отправкой написанной системы в публичный доступ проверять ее на таком анализаторе и исправлять наиболее опасные ошибки.
  • Обновление приложений. Если приложение является сторонним, то стоит использовать систему установки обновлений. Для операционной системы, СУБД и сервера приложений обновления нужно устанавливать всегда, хотя и после проверки в небольшой пилотной конфигурации.
  • WAF (Web Application Firewall). Иногда с DoS-атакой может справиться экран уровня приложений (WAF), который будет блокировать попытки эксплуатации уязвимостей и посторонние протоколы. Он также может блокировать попытки привилегированных пользователей уничтожить ценные данные.

Следует отметить, что DoS-атаки со временем становятся всё более мощными и изощренными, поэтому вероятность попасть под них увеличивается. При этом DoS-атака, как правило, начинается в самый ответственный момент, когда компания рассчитывает получить максимум прибыли. Именно поэтому злоумышленники рассчитывают на успешность своего шантажа. Соответственно, если ваш бизнес связан с интернет-продажами, то остаться в стороне от подобных рисков, скорее всего, не удастся.