Стать жертвой DDoS-атаки — страшный сон владельцев интернет-ресурсов, веб-мастеров и системных администраторов по всему миру. Такие атаки приобретают все большую распространенность: хакеры совершенствуют методы нападения, делают армии ботов мощнее и учат их обходить существующие меры защиты. DDoS — бич современного интернета и бизнеса, способный привести к миллиардным убыткам крупнейшие компании. В статье мы подробно поговорим об этом виде киберпреступности, разберем причины и цели нападений и расскажем, как можно обезопасить себя самостоятельно.
Что такое DDoS
DDoS (сокр. от англ. Distributed Denial of Service — распределенный отказ в обслуживании) — это способ воздействия на информационную систему (компьютеры, серверы, сетевые ресурсы, каналы связи) посредством отправки большого количества запросов с разных устройств, в результате чего атакуемый ресурс становится недоступен для обычных пользователей. Другими словами, атака заключается в генерации зловредного трафика, который забивает пропускную способность канала связи или загружает вычислительную систему настолько, что она в разы снижает свою производительность или вовсе отказывается работать.
Например, таким образом часто блокируют доступ к сайтам. Когда вы открываете какой-либо веб-ресурс, браузер посылает запрос на сервер, а тот присылает вам в ответ пакет с данными, т. е. сам сайт: тексты, изображения, видео, ссылки и другой контент, который и открывается на экране. Но если сервер получит множество одновременных запросов с сотен, тысяч и даже миллионов устройств, распределенных по миру, то он не успеет справиться с их обработкой и, как следствие, перестанет отвечать на легитимные запросы от настоящих посетителей. Человек, который захочет зайти на сайт, увидит сообщение об ошибке или будет бесконечно долго ждать загрузки.
Опасность DDoS-атаки заключается именно в сложности ее определения. В отличие от обычной DoS-атаки, которая исходит из одного источника, DDoS — это многопоточное нападение, осуществляемое с двух и более хостов. Такой трафик трудно отличить от «живого» и потому он плохо поддается методам фильтрации, используемым при DoS.
Как это происходит?
Большинство атак проводится по следующей схеме: сбор информации о жертве — создание и/или запуск ботнета — анализ эффективности. Разберем каждый шаг подробнее.
Перед тем, как нападать на сервер / канал связи / приложение и т. д., злоумышленник собирает о нем необходимые данные: его структуру, используемые технологии. Эти сведения анализируются на предмет явных или потенциальных уязвимостей, затем выбирается метод атаки. О них мы поговорим чуть позже.
Осуществить нападение в одиночку почти нереально, поэтому хакеру нужно организовать собственную сеть компьютеров, которые будут участвовать в «мероприятии»: ботнет. Для его формирования не требуется покупать устройства — достаточно распространить вредоносный код по интернету: через электронные письма, скачиваемые файлы нелицензионных программ, зараженные сайты. Трояны селятся в машинах других пользователей (ПК, смартфонах, умных телевизорах, колонках, браслетах и любых вещах, подключенных к интернету) незаметно для хозяев и активизируются только по команде злоумышленника. Для командования такой армией хакер (или тот, кто ее купил) использует координирующий сервер (Центр управления ботнетом). Когда отдается «приказ» об атаке, входящие в него устройства начинают посылать запросы на заданный ресурс.
Нападение может длиться несколько минут, а может растянуться на недели — зависит от целей нападающего и степени защиты жертвы. В течение всего этого времени злоумышленнику нужно проверять, насколько результативны его действия. Суть DDoS-атаки заключается в том, чтобы вызвать отказ в работе атакуемого ресурса, но иногда она используется как прикрытие для другой преступной деятельности: например, взлома сервера и кражи персональных данных. Если цель достигнута, атака прекращается. Если нет, преступник может начать заново.
Кого и зачем атакуют?
Схема, описанная выше, относится к профессиональным и заказным атакам, а также к нападениям в целях выражения политического или социального протеста. Так, к примеру, атакуют сайты государственных организаций, политических партий, игровые серверы, ИТ-инфраструктуру крупных брендов (банков, медиа-холдингов, социальных сетей, интернет-магазинов, авиакомпаний, производителей программного обеспечения и др.). Кроме того, DDoS-атаки — довольно популярный метод «подгадить» конкурентам. Недобросовестная конкуренция является одной из самых частых причин осуществления многопоточных атак класса «отказ в обслуживании». Их заказывают хакерам, которые затем проводят «рейды» на указанный ресурс, как правило, в определенный момент и с определенной интенсивностью. Торговые сети, продающие одинаковую сезонную продукцию, могут купить DDoS-атаку в преддверии повышения спроса на какой-либо товар, чтобы сайт конкурента перестал открываться и пользователи делали заказ у них.
Иногда злоумышленники проводят атаки самостоятельно, преследуя мошеннические цели. Они могут вымогать деньги у компаний, чья деятельность зависит от доступности ее ресурсов в сети интернет. Нередко распределенные нападения проводят из личной неприязни, мести.
Еще один распространенный мотив — развлечение. Начинающие хакеры проверяют собственные силы, устраивая DDoS-атаки, и получают удовольствие, видя, как их действия влияют на работу чужих проектов. Но такие атаки обычно легко отразить, поскольку они проходят по самым простым схемам.
Классификация DDoS-атак
Сам принцип DDoS-атак подразумевает большую свободу в действиях злоумышленников, поскольку добиться отказа в обслуживании можно множеством разных способов. Иногда это даже не требует вмешательства недоброжелателей: если популярность какого-то неподготовленного для больших нагрузок интернет-проекта резко возрастает, пользователи начинают буквально ломиться туда, устраивая тем самым непреднамеренный DDoS.
Существует несколько классификаций DDoS-атак, самые распространенные среди них — по способу воздействия и по уровню OSI (Open Systems Interconnection), на котором те проводятся. Рассмотрим каждую отдельно.
По способу воздействия
Согласно этой классификации, ДДоС-атаки делятся на следующие группы:
1. Атаки на переполнение канала. Суть в том, чтобы исчерпать емкость полосы пропускания интернет-канала с помощью многочисленных эхо-запросов, т. е. проведения через сеть ложного трафика в как можно больших объемах. В результате ботнет будет потреблять все ресурсы сети, не оставляя обычным пользователям возможности «достучаться» до жертвы. В эту группу входят такие виды -флуда, как:
● DNS-, когда блокируется пропускная способность DNS-сервера, используемого веб-ресурсом-жертвой, в результате чего последний отрезается от интернета, хотя и продолжает работать внутри собственной сети;
● UDP-, когда большие пакеты отправляются на случайные порты хоста жертвы через протокол UDP, благодаря чему можно захватить весь полезный интернет-трафик сервера;
● Ping-, направленный на сетевое оборудование уровня III и выше, когда целевой сервер перегружен быстрыми запросами от злоумышленника и теряет легитимные пакеты по всем протоколам.
2. Атаки с использованием протокольных уязвимостей. В этом случае хакер добивается отказа в обслуживании путем пересылки некорректных запросов, которые ресурс-жертва просто не сможет обработать из-за ошибки в протоколе. Сюда же относятся нападения на межсетевые экраны и файерволы, целью которых является ограничение доступных соединений по TCP-протоколу.
3. Атаки, направленные на приложения. Здесь злоумышленниками используются слабые места в логике и архитектуре программного обеспечения. Хакер нагружает приложения и службы на внешнем уровне, запускает большое число транзакций и процессов, которые приводят к перегрузке сервера. В этой группе находятся метод атаки медленными сессиями Slowloris, HTTP-флуд, переполнение буфера и т. д.
По уровню OSI
Такое разделение предполагает наличие трех групп DDoS-атак в соответствии с уровнями, на которых они осуществляются:
1. Сетевой уровень (L3). Устройствами-жертвами таких нападений становятся, главным образом, коммутаторы, маршрутизаторы и другое оборудование сети. На этом уровне атаки производятся по сетевым протоколам IP, ICMP, IPSec, RIP, DDP и пр.
2. Транспортный уровень (L4). Эта группа атак направлена на вызов отказа в обслуживании серверов и определенных интернет-сервисов, в том числе игровых. Здесь «работа» проводится по TCP- и UDP-протоколам, UDP Lite, DCCP, RUDP, SCTP.
3. Уровень приложений (L7). Целями нападений на этом уровне становятся популярные сетевые ресурсы, веб-приложения и сайты. Соответственно, здесь используются протоколы приложений: HTTP, HTTPS, DNS.
Способы защиты от DDoS-атак
Сразу оговоримся, что универсального и стопроцентно работающего способа защиты от DDoS-атак не существует ни для сайта, ни для сервера, ни для других уровней инфраструктуры. Поэтому они и популярны: это удобный и простой инструмент, который легко трансформировать под индивидуальные задачи злоумышленника. Ниже мы поделимся рекомендациями о том, как защититься от DDoS-атаки своими силами в дополнение (!) к сервисам и компаниям, осуществляющим защиту на профессиональном уровне.
Во-первых, крайне важно продумывать защиту на этапе построения программного обеспечения и самой структуры будущего проекта. Лучше всего создать распределенную систему, размещать ресурсы на нескольких независимых серверах, чтобы в случае сбоя одного из них можно было использовать другие. Также стоит располагать разные части интернет-проекта на разных IP (например, сайт игры, игровой сервер и базу данных) — так их будет легче обезопасить. Включите в свою инфраструктуры сервисы с функционалом CDN, чтобы поступающие запросы сортировались по распределенной сети и главному серверу не пришлось отрабатывать ложный трафик. Воспользуйтесь услугами хостинг-провайдера: большинство тарифов включают в себя базовые средства защиты от DDoS-атак. Провайдер поможет настроить фильтрацию на уровне хостинга, предоставит вам более широкую полосу пропускания.
Во-вторых, нужно обеспечить защиту информации внутри сети. Ограничьте доступ к администраторским аккаунтам, защитите их сложными логинами и паролями, введите списки контроля доступа (ACL), установите антивирусы. Не забывайте вовремя удалять аккаунты бывших сотрудников, обновлять программное обеспечение, предусмотрите возможность вернуться к старым версиям в случае проблем.
В-третьих, следует изучить слабые стороны проекта. Для этого можно провести тестовое нападение (пентестинг) с помощью специальных сервисов. Это будет контролируемая атака, в результате которой вы, возможно, найдете уязвимости в своей защите и сможете их устранить до того, как хакер о них узнает. Сканирования системы на наличие проблем рекомендуется проводить регулярно.
Кроме того, чтобы был шанс обнаружить атаку на ее начальной стадии, когда злоумышленник отправляет «проверочные» пакеты, постоянно мониторьте сетевую активность. Вероятно, получится засечь подозрительный трафик заранее и принять меры. Для профилактики спуфинга периодически очищайте кэш DNS.
Мы также рекомендуем составить план действий на время атаки. Это позволит сохранить работоспособность сервиса. В условиях борьбы с DDoS паника — худший союзник, поэтому лучше продумать роли для каждого члена команды до того, как на вас нападут. Что можно сделать, когда вас атакуют:
1. Включить заранее установленную на сайт заглушку — страницу, которая будет фильтровать входящий трафик и заодно сообщать пользователям об атаке.
2. Забанить IP-адреса, откуда идет нападение. Это не помогает в случае с динамическими адресами, но при коротких ДДоС-атаках может сработать.
3. Заблокировать трафик с атакующих устройств с помощью межсетевых экранов или списков ACL. Оба метода не без минусов, но в определенных условиях вполне рабочие.
4. Заблокировать запросы по геолокации. Например, если ваши целевые пользователи живут в Европе, а трафик идет из Китая.
5. Используйте защиту от спам-ботов — капчу, временные рамки на заполнение форм, рекапчу и т. д.
Заключение
От DDoS-атак нельзя полностью обезопасить ни один интернет-ресурс. Будь это сайт-визитка или социальная сеть, вызвать отказ в обслуживании можно всегда — было бы желание, время и средства. Такие распределенные нападения носят индивидуальный характер и могут быть непредсказуемы, поэтому зачастую все меры защиты сводятся к тому, чтобы «усложнить» хакеру жизнь настолько, что он сочтет атаку нерентабельной. Надеемся, наша статья оказалась для вас полезной.