Что такое DoS-атака
Когда в сети появляется новость о нападении на веб-ресурсы, практически не встречаются упоминания DoS-атак. Все потому, что DoS-атаки стали довольно редки из-за своей низкой эффективности. Однако именно они и являются прародителями всех современных атак типа «отказ в обслуживании», с которыми сегодня приходится сталкиваться миллионам пользователей по всему миру.
DoS (англ. Denial of Service «отказ в обслуживании») — кибератака на систему с целью вывести ее из строя. Искусственно создаются условия, при которых пользователи не могут зайти на ресурс, либо получить доступ к нему.
История DoS-атак
В 1974 году была зафиксирована первая в мире DoS-атака. Ее инициатором стал 13-летний школьник Дэвид Деннис. Он вызвал перебои в функционировании терминалов Лаборатории компьютерных вычислений Университета Иллинойса. Дэвид нашел особенность, при которой команда EXT на сервере приводила к «зависанию» терминала, если у него не было периферийных устройств (мыши, клавиатуры, монитора и т.д.). Юный хакер решил написать небольшую программу, чтобы та посылала на все доступные машины команду EXT. У Дэвида все получилось, и он одновременно вывел из строя 31 компьютерный терминал. Можно сказать, что шутки про «DDoS и школьников», имеют историческое обоснование.
Как работает DoS-атака
На сервер отправляется большой поток информации, он забивает каналы связи и загружает вычислительные ресурсы. Жертва не справляется с обработкой поступающих данных и перестает откликаться на запросы. То же происходит и с промежуточными сетевыми устройствами: роутерами и коммутаторами.
Бывает, что DoS-атака становится прикрытием, пока злоумышленник пытается получить полный доступ к компьютеру. Сегодня DoS редко используется, на смену им пришли более опасные и при этом, сложные в обнаружении, виды атак. О них мы поговорим чуть позже.
Особенности DoS-атак
DoS-атака напрямую не опасна для сервера. Но важно помнить о потере потенциальной прибыли из-за простоев во время нападения. Далее рассмотрим три отличительных особенности DoS-атак:
- Требуется один компьютер
Атака ведется с одного хоста и направлена на отдельные сети или системы.
- Простое обнаружение
Легко зафиксировать, посмотрев системные журналы сервера. Они покажут все записи, связанные с подозрительным IP-адресом.
- Легкое предотвращение
Достаточно заблокировать источник кибератаки. С этим может справиться системный администратор или сетевые фильтры.
Значение DoS-атак не стоит недооценивать. Из-за того, что они крайне редко расследуются, случаи нападения остаются безнаказанными. Начинающие злоумышленники знают это и тренируются на DoS перед более масштабными нападениями.
Что такое DDoS-атака
Стремительное развитие интернета и набор мощностей сетевого оборудования привели к тому, что объем DoS-атак стал слишком мал. Вместе с эволюцией технологий, менялись и хакеры. Они нашли самый простой способ усиления DoS — нападать с нескольких устройств одновременно. К термину добавили дополнительную букву «D» (Distributed т.е. распределенная) и появился новый вид атак — DDoS. Суть осталась прежней, но теперь атаки реализуются с нескольких компьютеров на один целевой хост. От количества атакующих устройств и объема отправляемого трафика, зависит мощность нападения.
Читайте в нашей статье подробнее о том, что такое DDoS-атака и как от неё можно защититься.
История DDoS-атак
22 июля 1999 года был атакован компьютер Миннесотского университета сетью из 114 хостов с вредоносным скриптом Trin00. Это была первая зафиксированная DDoS-атака в мире. После нее появились тысячи других, каждая из которых била рекорд предыдущей. Так продолжалось до 2022 года. Тогда была зарегистрирована самая крупная атака на уровне приложений в мире. Цифры ее ошеломляют – частота запросов в секунду составила почти 46 миллионов. Жертвой стал клиент одного из дочерних сервисов Google. В общей сложности DDoS-атака длилась 69 минут. Аналитики предполагают, что за этим инцидентом стоял хорошо известный ботнет Mēris. В 2021 году он атаковал сервисы «Яндекс», установив на тот момент рекорд по мощности: 21,8 млн RPS.
Как происходит DDoS-атака
Ответ на этот вопрос заключен в самом понятии. DDoS — это Distributed Denial of Service или распределённый отказ в обслуживании. Цель такой атаки — перегрузить систему, чтобы пользователи не смогли пользоваться веб-ресурсом. DDoS может быть направлена как на конкретный сервис или его канал, так и на всю инфраструктуру. Представьте, что вам очень нужно попасть в магазин, а там всего три двери, в каждую из них стоит длинная очередь, и пройти невозможно. Этот же механизм работает и при кибератаках на веб-ресурсы. Атака строится по следующим параметрам:
- Заполнение канала связи вредоносным трафиком.
- Отвлечение веб-сервера на обработку ненужных запросов для того, чтобы он перестал выдавать реальным пользователям нужную информацию.
Если DoS выполняется с одного хоста, то DDoS распределяет атаку между большим количеством устройств, входящих в ботнет.
Ботнет — компьютерная сеть состоящая из зараженных устройств: компьютеры, роутеры, камеры, умные часы и т.д. На них запускаются скрипты, которые выполняют нужные злоумышленнику действия, в данном случае — DDoS-атаки. Владельцы зараженных устройств чаще всего даже не подозревают о «болезни» своих гаджетов. Сами боты не являются вирусами, это автоматизированные скрипты, генерирующие вредоносный трафик и управляемые через специализированное программное обеспечение. Также существуют программы для добровольного участия в ботнете.
Особенности DDoS-атак
- Многоканальность
Возможность атаки на жертву с тысячи устройств. Миллионы ботов способны нарушить работоспособность даже самым защищенным инфраструктурам.
- Сложность обнаружения
Администраторы и защитные фильтры не всегда могут вовремя обнаружить вредоносный трафик, так как он выглядит легитимным из-за отправки с нескольких хостов.
- Трудности подавления
Если пользователь столкнулся с мощной DDoS-атакой, справиться с ней вряд ли получится своими силами. Помимо сложности обнаружения, системному администратору или пользователю, придется столкнуться еще и с подавлением нападения с тысяч IP-адресов. Если при отражении DoS можно заблокировать один IP и тем самым спасти ситуацию, то в случае с DDoS так не получится. Лучший выход в такой ситуации — «спрятаться» за надежного провайдера защиты, который возьмет на себя функции распознавания, анализа и очистки вредоносного трафика.
Почему происходят DoS- и DDoS-атаки
Главная цель любой кибератаки — нанести репутационный или финансовый вред. Мы выяснили, что нападение может идти как на личный компьютер, так и на корпоративную инфраструктуру большого предприятия. Есть отдельные случаи, когда цель хакера — кража конкретной информации, а DDoS является лишь прикрытием.
Рассмотрим несколько самых распространенных причин из-за которых страдают жертвы злоумышленников:
- Шантаж
Злоумышленник вымогает деньги за прекращение DDoS-атаки или восстановление данных после взлома сайта.
- Личная неприязнь
Здесь может быть множество вариантов. От обычной ссоры в интернете из-за поражения в игре, до недовольного бизнесмена, который решил отомстить сопернику.
- Ради шутки
Хакеры, молодые программисты или обычные пользователи пробуют свои силы ради хвастовства перед друзьями и коллегами. Профессиональные хакеры порой совершают крупные DDoS-атаки ради громкого инфоповода и самопиара.
- Хактивизм
Идеологически мотивированные кибератаки в последнее время обрели вторую жизнь и стали невероятно популярными. Это форма протеста, которую используют в сети как средство политической борьбы, продвижения политических идей, свободы слова и защиты прав человека.
- Конкуренция
Недобросовестные конкуренты заказывают атаку, чтобы перехватить клиентов и навредить более успешным коллегам. Например, в период активного сезона цветочные магазины заказывают атаки на конкурентов, чтобы через их сайт было невозможно сделать заказ. Большой поток покупателей направляется к другим продавцам. Вполне возможно, они больше никогда не вернутся к тем, кто «подвел» их в самых неподходящий момент.
Последствия DDoS-атак достаточно серьезны. Недоступность веб-ресурса напрямую ведет к финансовым и репутационным потерям. Если сайт больше двух суток окажется недоступен, его ранжирование в поисковых системах может быть снижено, и прежние позиции в выдаче придется восстанавливать. Кроме того возможны проблемы с инфраструктурой сервиса после прекращения атаки, и на восстановление также потребуется дополнительное время и затраты.
Основные типы DoS и DDoS-атак
Рассмотрим распределение атак по уровням модели OSI:
Уровень L3 (сетевой). Вектор атаки — переутилизация сетевой емкости интерфейсов. Как на маршрутизаторах, так и на атакуемом сервере.
Уровень L4 (транспортный). Атакуют протоколы TCP и UDP, основная цель — заставить сервер открыть большое количество сессий и исчерпать их.
Уровень L7 (прикладной). Атакуют сервисы, работающие на сервере жертвы. Нападению подвергаются как протоколы http/https, так и FTP/SMTP/SSH.
Самые распространённые виды атак
Рассмотрим три вида DDoS-атаки, которые часто встречаются. У каждой из них свои особенности и способы защиты.
UDP Flood
UDP — один из основных протоколов. Он получает отрезок данных, вносит в них служебный заголовок и передает их протоколу IP. UDP быстро передает данные, но у него есть минус — получение и, целостность данных никак не отслеживаются. Хакеры используют это в своих целях: они подменяют IP-адреса источника и рассылают трафик уже со своего устройства. При этом создается видимость, что пакеты данных идут с других направлений, из-за чего злоумышленника крайне трудно обнаружить. Атакующий генерирует множество пакетов максимального размера и посылает их «жертве». Легитимному трафику фактически не остается места из-за забитой полосы пропускания.
Помимо этого злоумышленники любят использовать «средства усиления» DDoS. Например, серверам по всему миру приходит DNS-запрос от хакера. После этого он подменяет его адресом жертвы, и все ответы начинают приходить ей. DNS отправляет огромное количество ответов на полученный запрос, и сервер-жертва не выдерживает такого объема данных.
Еще одно хакерское «улучшение» заключается во фрагментации пакета. Злоумышленник посылает на сервер не весь пакет данных, а только часть. Сервер-жертва активирует ресурс, чтобы собрать пакет, но новые фрагменты не приходят, и происходит «зависание» соединения.
Способ защиты: анализировать состояние трафика и выполнять точечную настройку фаервола так, чтобы он мог определять легитимность по нужным размерам пакетов данных и их содержимого.
SYN Flood
Атака направлена на генерацию большого количества запросов на подключение по протоколу TCP в короткий срок. Процесс такого подключения называется «трёхкратным рукопожатием».
Обмен данными выполняется следующим образом:
- Пользователь отправляет запрос с установленным флагом SYN (Синхронизация номеров последовательности) на сервер. Сегменту присваивается случайный номер в интервале от 1 до 232.
- Сервер получает запрос и отвечает на него флагом SYN, а также добавляет ACK (Номер подтверждения). Полученный номер последовательности умножается на 1 и таким образом подтверждается. После этого устанавливается новый порядковый номер, который, как и в первом шаге, выбирается случайным образом.
- Пользователь получает ответ в виде сегмента с флагами SYN+ACK. Соединение установлено. Пользователь снова отправляет сегмент с флагом ACK и обновленными номерами последовательности. Весь процесс занимает несколько секунд.
Принцип атаки заключается в том, что злоумышленник отправляет множество запросов, переполняя на сервере очередь на подключение. Из-за этого в очереди возникает полуоткрытое соединение (half-open connection), ожидающее ответа пользователя. По прошествии нескольких минут связь сбрасывается. Злоумышленник поддерживает очередь заполнений таким образом, чтобы препятствовать подключению. В итоге пользователь не может установить связь с сервером или начинает испытывать значительные задержки.
Способ защиты: с помощью фаервола повысить лимиты по количеству SYN-пакетов в секунду, которые вы ожидаете для вашего веб-ресурса.
HTTP Flood
Атака этого типа чаще всего воздействует на прикладной уровень модели OSI. Злоумышленник не подменяет IP-адреса, но генерирует запросы с разных хостов и вызывает недоступность веб-ресурса. Атаку можно сравнить с «Черной пятницей» на сайте, куда одновременно зашли миллионы искусственных покупателей, а настоящие не могут совершить покупку, так как сайт не открывается.
Способ защиты: подключить защиту провайдера, который беспрерывно следит за трафиком и способен оперативно справиться с мощными атаками любой длительности.
Полный список всех возможных типов атак вы найдете в нашей статье про классификацию DDoS.
Чем отличается DoS-атака от DDoS
Параметры | DoS | DDoS |
Способ | один хост нацелен на систему жертв | множественная система атакует систему жертвы |
Мощность | небольшой объем трафика по сравнению с DDoS | трафик может достигать более чем 20 млн RPS |
Обнаружение | легкое обнаружение | сложное обнаружение |
Предотвращение | достаточно знаний системного администратора, чтобы заблокировать вредоносную систему | практически невозможно справиться без провайдера защиты, поскольку используется несколько устройств, которые отправляют пакеты данных их разных мест |
Скорость | медленно | быстро |
Ключевые различия DoS от DDoS заключаются в способе технической реализации. DoS-атаки идут от одного источника, а DDoS проводится с двух и более устройств. Распределенные атаки сложнее обнаружить и остановить. Злоумышленник может использовать ботнет, чтобы многократно усилить атаку и нанести больший вред.
DoS-атаки чаще всего организовывают начинающие хакеры, чтобы потом перейти к DDoS. Оба вида угроз могут нанести значительный ущерб проекту, создать ряд неудобств и вывести из строя целую инфраструктуру.
Как защитить ресурс от атак
Разнообразие сценариев применения кибератак будет развиваться вместе с обществом, интернетом и технологиями. Чтобы избежать серьезных последствий DDoS, заранее позаботьтесь о безопасности своего проекта. Примите меры по предотвращению серьезных последствий, отталкиваясь от масштаба своего проекта, анализируйте инфраструктуру и трафик. В случае с кибератаками лучшая стратегия — это своевременная подготовка к ним.
Ранее мы уже рассказывали о способах защиты от DDoS-атак. А сегодня еще раз вспомним основные шаги, которые стоит предпринять, чтобы повысить степень защищенности проекта:
- Закройте базы данных для доступа извне.
- Непрерывно анализируйте сетевой трафик.
- Изучите свою инфраструктуру и составьте план уязвимых мест.
- Настройте фаервол на распознавание легитимных адресов и трафика.
- Позаботьтесь о резервных ресурсах, которые выручат вас в непредвиденной ситуации.
Помните, что надежную и эффективную anti-DDoS защиту может дать только подключение профессионального сервиса. Провайдер возьмет на себя все возможные риски связанные с атакой и обезопасит веб-ресурс от незаконных действий злоумышленников.