Ddos-атака: что это, как работает и виды атак

Виды DDoS атак

Есть два основные типы DDoS атак, одни ориентированы на то, чтобы перегрузить определенную программу и атаки, направленные на перегрузку самого сетевого канала к целевому компьютеру.

Атаки на перегрузку какой-либо программы, еще называются атаки у 7 (в модели работы сети osi — семь уровней и последний — это уровней отдельных приложений). Злоумышленник атакует программу, которая использует много ресурсов сервера путем отправки большого количества запросов. В конце-концов, программа не успевает обрабатывать все соединения. Именно этот вид мы рассматривали выше.

DoS атаки на интернет канал требуют намного больше ресурсов, но зато с ними намного сложнее справиться. Если проводить аналогию с osi, то это атаки на 3-4 уровень, именно на канал или протокол передачи данных. Дело в том, что у любого интернет-соединения есть свой лимит скорости, с которой по нему могут передаваться данные. Если данных будет очень много, то сетевое оборудование точно так же, как и программа, будет ставить их в очередь на передачу, и если количество данных и скорость их поступления будет очень сильно превышать скорость канала, то он будет перегружен. Скорость передачи данных в таких случаях может исчисляться в гигабайтах в секунду. Например, в случае с отключения от интернета небольшой страны Либерии, скорость передачи данных составила до 5 Тб/сек. Тем не менее 20-40 Гб/сек достаточно, чтобы перегрузить большинство сетевых инфраструктур.

Как провести DDOS атаку своими руками

В качестве примера, мы решили показать вам, как можно осуществить DDOS атаку, с использованием специального программного обеспечения.

Для начала скачивайте программу по этому адресу. После этого запускайте ее. Вы должны увидеть стартовое окно:

Нужно провести минимальные настройки:

  1. В графе «URL» пишем адрес сайта, который мы хотим подвергнуть атаке
  2. Затем нажимаем кнопку «Lock on» — Мы увидим IP адрес целевого ресурса
  3. Ставим метод TCP
  4. Выбираем количество потоков (Threads)
  5. Выставляем скорость отправки с помощью ползунка
  6. Когда все настройки будут закончены, нажимаем кнопку «IMMA CHARGIN MAH LAZER»

Все — атака началась. Еще раз повторяюсь, все действия представлены в ознакомительных целях.

Как определить, что ваш сервер или сайт подвергся нападению

От начала воздействия до момента, когда атакуемый ресурс перестает отвечать на запросы, чаще всего (но не всегда) проходит несколько часов. Если успеть принять защитные меры, серьезных последствий можно избежать. Но для этого необходимо знать, какими бывают неявные признаки нападения.

Итак, чем проявляется ДиДос-атака:

  • Входящий, а иногда и исходящий сетевой трафик атакуемого узла увеличивается в разы и имеет тенденцию к дальнейшему росту. Заметно вырастает объем трафика на определенные порты.
  • По нарастающей увеличивается нагрузка на процессор и оперативную память.
  • В работе серверных приложений возникают различные ошибки – от «вылета» отдельных функций до полной невозможности запуска.
  • Основная масса клиентов обращается к одним и тем же функциям приложения или сайта, например, открывает определенную страницу.
  • На атакуемом сайте медленно грузятся страницы, не выполняются отдельные функции, возникают ошибки. Иногда при признаках атаки сайт блокирует хостинг-провайдер, дабы защитить от воздействия ни в чем не повинных соседей.
  • В логах атакуемого сервера и сетевых устройств большое количество однотипных запросов от клиентов, географически удаленных друг от друга (зомби-сети зараженных компьютеров).
  • К сайту, традиционно имеющему аудиторию, объединенную по конкретному признаку, например, языку или месторасположению (городской портал), массово обращаются клиенты, не имеющие этого признака. Например, из других городов и стран.

Эти симптомы, кроме двух последних, встречаются не только при нападениях хакеров, но и при других неполадках сетевых ресурсов

Единственный признак – повод усилить внимание. Но если их два или больше, пора принимать защитные меры

Классификация ddos атак

Следующие типы нападений могут быть предприняты злоумышленниками:

  1. Перегрузка полосы пропускания. Чтобы компьютеры, подключенные к сети, могли нормально взаимодействовать между собой, канал связи, через которые они соединяются, должен нормально работать, и предоставлять достаточные параметры для конкретных задач (например, полоса пропускания). Данный тип атак, направлен именно на перегрузку сетевых каналов связи. Достигается это путем постоянной отправки бессвязной или системной информации (команда ping)
  2. Ограничение ресурсов. Данный тип мы уже рассмотрели выше, в примере с доступом к веб-сайту. Как мы отметили — сервер имел возможность обрабатывать ограниченное количество одновременных подключений. Злоумышленнику необходимо направить на сервер большое количество одновременных подключений. В итоге сервер не справится с нагрузкой, и перестанет работать.
  3. Нападение на DNS сервера. В этом случае DDOS атака призвана также прекратить доступ к веб-сайту. Другой вариант — перенаправить пользователя с правильного сайта на фальшивый. Это может быть сделано с целью похищения персональные данные. Достигается это путем атаки на DNS сервера, и подмены ip-адресов на фальшивые. Давайте разберем это на примере. Некий банк использует для расчета через интернет свой веб-сайт. Пользователю необходимо зайти на него, и ввести данные своей пластиковой карты. Злоумышленник с целью похищения этой информации создает однотипный сайт, и проводит атаку на DNS сервера (сервера имен). Целью данного мероприятия является перенаправления пользователя на сайт злоумышленника, когда тот попытается зайти на сайт банка. Если это удается, пользователь не подозревая угрозы, введет свои персональные данные на сайте злоумышленника, и он получит к ним доступ
  4. Недоработки в программном обеспечении. Самым сложным является данный тип атак. Злоумышленники выявляют недоработки в программном обеспечении, и используют их с целью разрушения системы. Чтобы заказать такую ddos атаку, необходимо будет потратить немало средств

Как происходит детектирование DDoS-атак?

J-Flow v5/9NetstreamIPFIX

  • Source IP address — IP-адрес источника
  • Destination IP address — IP-адрес назначения
  • Next-Hop IP address — IP-адрес следующего маршрутизатора, на который будет передан сетевой поток.
  • Input ifIndex — SNMP индекс интерфейса, через который маршрутизатор получает flow
  • Output ifIndex — SNMP индекс интерфейса, через который маршрутизатор передает flow
  • Packets — общее количество полученных пакетов в рамках потока
  • Bytes — общее количество байт полученных в рамках потока
  • Start time of flow — время начала потока
  • End time of flow — время окончания потока
  • Source port — порт источника
  • Destination port  — порт назначения
  • TCP Flags — TCP флаги
  • IP protocol — номер  IP протокола
  • ToS — тип сервиса
  • Source AS — номер автономной системы IP источника
  • Destination AS — номер автономной системы IP назначения
  • Source Mask  — маска сети IP источника
  • Destination Mask — маска сети IP назначения
  • Padding — отступы для эффективного использования всей длины заголовка
  • ICMP type/code
  • IPv6
  • MPLS
  • BGP Peer AS
  1. IP prefix list (CIDR блоки и группы)
  2. ASN, в том числе с возможностью задания атрибутов AS-Path и community
  3. Сетевые интерфейсы
  4. Flow Filter — логическое выражение, описывающие различные парметры и комбинации полей IP и транспортного заголовка. Например, «dst host 1.1.1.1 and proto tcp and dst port 80«.
    Список доступных полей:

    • Average packet lengths
    • Destination addresses
    • Destination ports
    • ICMP codes
    • ICMP types
    • Protocols
    • Source addresses
    • Source ports
    • TCP flags
    • TOS bits

Терминология

Чтобы разговаривать на одном языке, мы должны ввести термины и их определения.

Dos атака — атака типа «отказ в обслуживании». Отсюда и английская аббревиатура dos — Denial of Service. Один из подтипов — распределенная атака, осуществляющаяся одновременно с нескольких, а как правило, с большого количества хостов. Основную часть обсуждения мы посвятим именно этому варианты, потому что ddos атака несет в себе больше разрушительных последствий, а существенная разница лишь в количестве хостов, используемых для атаки.

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

Для полноты картины, нужно понимать, кто и с какой целью проводит подобные действия.

Атаки типа «отказ в обслуживании», как и прочие компьютерные преступления, караются по закону. Поэтому материал представлен лишь в ознакомительных целях. Их осуществляют it-специалисты, люди, хорошо разбирающиеся в тематиках «компьютеры» и «вычислительные сети», или как уже стало модным говорить — хакеры. В основном, данное мероприятие направленно на получение прибыли, ведь как правило, ddos атаки заказывают недобросовестные конкуренты. Здесь уместно будет привести небольшой пример. Допустим на рынке услуг небольшого города есть два крупных провайдера интернет. И один из них хочет вытеснить конкурента. Они заказывают в хакеров распределенную dos атаку на сервера конкурента. И второй провайдер из-за перегрузки своей сети не в силах больше предоставлять доступ в интернет своим пользователям. Как итог — потеря клиентов и репутации. Хакеры получают свое вознаграждение, недобросовестный провайдер — новых клиентов.

Но нередки случаи, когда «ддосят» и просто ради забавы, или оттачивания навыков.

DDoS в интернете

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

Вместо этого, хакеры используют зараженные троянским вирусом компьютеры. Это могут компьютеры в школе, в библиотеке, компьютерном клубе, а также компьютеры других пользователей. Вирус никак себя не проявляет в повседневной работе ПК, но по команде его автора, все эти компьютеры начнут атаку на нужный сервер.

Иногда DDoS-атаки случаются не нарочно. Например, на крупном агрегаторе ссылок Reddit есть термин «Reddit hug (of death)» — ситуация, когда ссылка на какой-либо сайт становится популярной на Reddit и сайт просто не справляется с десятками тысяч посетителей.
DDoS-атаки обычно происходят по трем протоколам:

  1. GET (HTTP/FTP). Взломщики постоянно запрашивают у сервера какую-то страницу или файл. Если их достаточно много, а интернет-канал у сервера небольшой — в определенный момент начнет формироваться очередь. Когда и она заполнится, сервер можно успешно считать пораженным, потому что простые пользователи уже не смогут зайти на ресурсы на сервере.
  2. TCP-SYN. Протокол TCP лежит в основе всего интернета, а пакеты с флагом SYN — это запросы на установление соединения по протоколу TCP. После того, как сервер получит такой пакет, он должен отправить обратно пакет SYN-ACK и ждет ответного пакета ACK. Вот только в случае атаки, пакета ACK так и не приходит — только новые SYN. А так как число открытых соединений TCP на сервере ограничено, то вскоре свободных не остается и сервер становится недоступен.
  3. UDP/ICMP. UDP — протокол пользовательских датограмм, позволяет держать на одном сервере более одного приложения. При получении UDP-запроса, сервер должен проверить наличие приложения с указанным в запросе портом и либо передать запрос, либо отправить ICMP-ответ «получатель не найден». И так как механизма защиты от перегрузок в протоколе нет, хакер может спокойно отправить множество UDP-запросов на сервер и забить его исходящий канал трафика бесполезными ответами. А если подменить IP, то можно перенаправить эти ответы на другой сервер и перегрузить на нём уже входящий канал трафика.

Есть и другие методы — от отправки подложных SSL-запросов на сервер до передачи подложных MAC-адресов на свитч. Но они требуют более тщательной подготовки и не настолько популярны.

Типы DDoS

Приведем наиболее популярные виды DDoS-атак. Ограничимся лишь теми методиками, которые имеют целью вывести из строя сайт-жертву, не внедряясь в его структуру и не пытаясь получить права администрирования.

Пинг-флуд. Самый простой тип атаки, не требующий бот-сети. С одного или нескольких компьютеров жертва атакуется многочисленными эхо-запросами небольшого объема, которые тем не менее пожирают ее оперативные ресурсы. Для создания флуда и привлечения добровольных помощников существуют специальные программы. Бороться с пинг-флудом сравнительно просто, так как источников немного и их можно блокировать (если знать, как это делать). В компьютере можно отключить опцию ответа на ICMP-запросы или установить алгоритм их приоритетности.

HTTP-флуд. Инициаторы атаки шлют жертве небольшой пакет, требующий развернутого ответа. В результате переполняется исходящий трафик сайта. Хакер использует динамический IP-адрес или действует с узлов пользователей, иначе его компьютер сам окажется завален ответным флудом.

SMURF-атака. Тот же пинг-флуд (Ping-Flood), рассылаемый с использованием разветвленной бот-сети, многократно увеличивающей интенсивность ICMP-запросов.

«Осколочная граната» (англ. Fraggle flood). Технология аналогична предыдущей, но вместо эхо-запросов (ICMP) используются запросы по протоколу UPD.

Хакеры постоянно совершенствуют методики DDOS-атак, создают разветвленные ботнеты, без которых атака на серьезно защищенный ресурс не имеет смысла.

Происхождение DDoS атак

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

Вообще, многие из подходов к информационной безопасности основаны на военных стратегиях прошлого. Существуют троянские вирусы, которые напоминают древнее сражение за Трою, вирусы-вымогатели, которые крадут ваши файлы, чтобы получить выкуп и DDoS атаки ограничивающие ресурсы противника. Ограничивая возможности противника, вы получаете немного контроля над его последующими действиями. Эта тактика работает очень хорошо как для военных стратегов. так и для киберпреступников.

В случае с военной стратегией мы можем очень просто думать о типах ресурсов, которые можно ограничить, для ограничения возможностей противника. Ограничение воды, еды и строительных материалов просто уничтожили бы противника. С компьютерами все по-другому тут есть различные сервисы, например, DNS, веб-сервер, сервера электронной почты. У всех них различная инфраструктура, но есть то, что их объединяет. Это сеть. Без сети вы не сможете получить доступ к удаленной службе.

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

Как заражают компьютеры?

Для поиска компьютеров для ддос атак, используется специальная программа для ddos атак. С её помощью происходит заражение компьютеров. Происходит это двумя способами.

  • В первом, используются само размножающиеся DDoS-модули и те, которые устанавливаются вручную. Само размножающиеся распространяются посредством электронной почты, icq и иногда даже через баннеры, которые установлены на страницах сайтов.
  • Во втором способе злоумышленник (хакер) вручную взламывает каждый отдельно взятый компьютер, после чего внедряет в него вредоносный модуль.

DdoS атаками сегодня занимаются не простые пользователи, а сами компьютеры. Если они заражены специальным червем или вирусом, который себя не проявляет, время болезни может откладываться на долгий срок.

По сигналу одного человека все они мгновенно активизируются и «работают артиллерией» по выбранной жертве, причем пользователь даже может не знать, что его компьютер используется для атак. В этом случае его компьютер выступает в роли «зомби» или «ботом», а атакующая сеть – «ботнетом».

Что такое DoS-атака

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

В настоящее время DoS и DDoS-атаки наиболее популярны, так как позволяют довести до отказа практически любую систему, не
оставляя юридически значимых улик. Стоимость организации атаки ничтожно мала. Атака в 10Gbit/s длительностью в час стоит около
50 долларов/евро, и ее может организовать любой желающий, зашедший на специальный хакерский сервис в интернете. Если атака
выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service,
распределённая атака типа «отказ в обслуживании»). В современных условиях в DDoS атаки вовлекают не только компьютеры, но и
другие потребительские приборы с выходом в интернет.

Первым делом злоумышленник сканирует сеть с помощью специально подготовленных сценариев, которые выявляют потенциально слабые
узлы. Выбранные узлы подвергаются нападению, и злоумышленник получает на них права администратора. На захваченные узлы
устанавливаются троянские программы, которые работают в фоновом режиме. Теперь эти компьютеры называются компьютерами-зомби:
их пользователи даже не подозревают, что являются потенциальными участниками DDoS-атаки.

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

DDoS-атаки сетевого уровня (L3-4), которые ограничивают работу серверного оборудования или нарушают работу программного
обеспечения за счёт уязвимости протоколов.

Заключение

Иногда eBPF вообще и XDP в частности представляется скорее как инструмент продвинутого администратора, нежели как платформа для разработки. Действительно, XDP — инструмент вмешательства в обработку пакетов ядром, а не альтернатива ядерному стеку, как DPDK и прочие варианты kernel bypass. С другой стороны, XDP позволяет реализовать довольно сложную логику, которую, к тому же, легко обновлять без паузы в обработке трафика. Верификатор не создает больших проблем, лично я не отказался бы от такого для частей userspace-кода.

Во второй части, если тема интересна, доделаем таблицу проверенных клиентов и разрыв соединений, внедрим счетчики и напишем userspace-утилиту для управления фильтром.

Ссылки:

  • Полный код на GitHub
  • bpftrace Cheat Sheet
  • XDP Tutorial
  • PoC: compiling to eBPF from Rust

Выводы

Сервисы по защите от DDoS-атак — еще один сегмент нашей отрасли ИБ (наряду, например, с антивирусами), в котором отечественные игроки чувствуют себя уверенно на мировом рынке. Сотрудники представленных в сегодняшнем сравнении компаний являются признанными экспертами в этой области.

Растут и показатели качества самих сервисов. Возьмем скорость подключения услуги. Она исчисляется минутами для отдельного сайта или IP-адреса, а максимальное время при наличии сложной инфраструктуры заказчика — всего сутки. Время реакции на атаку занимает считанные секунды. При любых сравнениях, традиционно, нельзя обойти стороной замеры количественных характеристик. Так, максимальная заявляемая мощность отражения атак почти у всех вендоров исчисляется уже терабитами в секунду, а фильтрация трафика производится на всех уровнях модели OSI, включая L7. Отметим почти для всех провайдеров обязательное наличие сопутствующих дополнительных опций: выпуск SSL-сертификата, подключение WAF, CDN, защита DNS, API для интеграции со сторонними продуктами.

В большинстве случаев доступна удобная техническая поддержка (в том числе в чатах и мессенджерах), которая не бросит клиентов 24х7. Любой вендор не скупится на предоставление тестового периода без ограничения функционала, в чем мы, в частности, неоднократно убеждались в наших прошлых обзорах.

Сами сервисы по защите от DDoS базируются на серьезной инфраструктуре, развернутой у большинства провайдеров услуги по всему миру, а также, как правило, на комбинации из собственных наработок плюс «железки» именитых вендоров.

Радует многообразие типов и режимов подключаемой защиты, которые рассчитаны на любые потребности заказчика. А вот услуги защищенного от DDoS ЦОД предлагает только половина из рассматриваемых вендоров.

Отдельно стоит отметить повышение требовательности к собственным сервисам и отсутствие страха брать на себя юридическую ответственность за сбои в предоставлении услуги. Невероятно, но некоторые вендоры в случае своих ошибок готовы платить клиентам суммы, кратно превышающие стоимости контрактов. Это говорит о зрелости сервисов.

В качестве дополнительных преимуществ для всех сервисов стоит отметить аналитику трафика в личном кабинете клиента, а также систему разнообразных оповещений и отчетов.

Отдельно отметим ряд интересных «фич», которые выделяют некоторых игроков рынка и являются их визитной карточкой. К таким функциям можно отнести: подключение защиты без необходимости перенаправлять пользовательский трафик, динамическое управление режимами фильтрации прямо в личном кабинете, официальные «шесть девяток» в SLA, подключение услуги «на лету».

Цена сервисов по защите от DDoS-атак в основном зависит от объема легитимного трафика и количества (типов) защищаемых ресурсов. На итоговую стоимость влияют также дополнительные опции и уровень технической поддержки. Средняя стоимость услуги (ориентировочно) составляет 77 000 руб. в месяц.

А вот сертифицировано в системе ФСТЭК пока всего лишь одно решение из рассматриваемых. Это можно объяснить неоднозначностью законодательства в этой области и ужесточением требований регулятора к разработчикам.

Коллектив Anti-Malware.ru выражает особую благодарность за помощь в подготовке данного материала коллегам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector