DoS и DDoS-атака — это агрессивное внешнее воздействие на вычислительные ресурсы сервера или рабочей станции, проводимое с целью доведения последних до отказа. Под отказом мы понимаем не физический выход машины из строя, а недоступность ее ресурсов для добросовестных пользователей — отказ системы в их обслуживании (Denial of Service, из чего и складывается аббревиатура DoS).
Если такая атака проводится с одиночного компьютера, она классифицируется как DoS (ДоС), если с нескольких — DDoS (ДиДоС или ДДоС), что означает «Distributed Denial of Service» — распределенное доведение до отказа в обслуживании. Далее поговорим, для чего злоумышленники проводят подобные воздействия, какими они бывают, какой вред причиняют атакуемым и как последним защищать свои ресурсы.
Содержание
- Кто может пострадать от DoS и DDoS атак
- Как проводятся атаки
- Способы нападения и защиты
- Как определить, что ресурс подвергся нападению хакера
- Методика атаки DDoS
- Как заражаются компьютеры
- Типы DDoS
- Как обезопасить сайт
- Правовой аспект
- Как не пополнить армию ботов
- Что такое DDoS атака?
- Виды DDoS атак
- Происхождение DDoS атак
- Выводы
Кто может пострадать от DoS и DDoS атак
Атакам подвергаются корпоративные сервера предприятий и веб-сайты, значительно реже — личные компьютеры физических лиц. Цель подобных акций, как правило, одна — нанести атакуемому экономический вред и остаться при этом в тени. В отдельных случаях DoS и DDoS атаки являются одним из этапов взлома сервера и направлены на кражу или уничтожение информации. По сути, жертвой злоумышленников может стать предприятие или сайт, принадлежащие кому угодно.
Схема, иллюстрирующая суть DDoS-атаки:

DoS и DDoS-атаки чаще всего проводят с подачи нечестных конкурентов. Так, «завалив» веб-сайт интернет-магазина, который предлагает аналогичный товар, можно на время стать «монополистом» и забрать его клиентов себе. «Положив» корпоративный сервер, можно разладить работу конкурирующей компании и тем самым снизить ее позиции на рынке.
Масштабные атаки, способные нанести существенный урон, выполняются, как правило, профессиональными киберпреступниками за немалые деньги. Но не всегда. Атаковать ваши ресурсы могут и доморощенные хакеры-любители — из интереса, и мстители из числа уволенных сотрудников, и просто те, кто не разделяет ваши взгляды на жизнь.
Иногда воздействие проводится с целью вымогательства, злоумышленник при этом открыто требует от владельца ресурса деньги за прекращение атаки.
На сервера государственных компаний и известных организаций нередко нападают анонимные группы высококвалифицированных хакеров с целью воздействия на должностных лиц или вызова общественного резонанса.
Как проводятся атаки
Принцип действия DoS и DDoS-атак заключается в отправке на сервер большого потока информации, который по максимуму (насколько позволяют возможности хакера) загружает вычислительные ресурсы процессора, оперативной памяти, забивает каналы связи или заполняет дисковое пространство. Атакованная машина не справляется с обработкой поступающих данных и перестает откликаться на запросы пользователей.
Так выглядит нормальная работа сервера, визуализированная в программе Logstalgia:

Эффективность одиночных DOS-атак не слишком высока. Кроме того, нападение с личного компьютера подвергает злоумышленника риску быть опознанным и пойманным. Гораздо больший профит дают распределенные атаки (DDoS), проводимые с так называемых зомби-сетей или ботнетов.
Так отображает деятельность ботнета сайт Norse-corp.com:

Зомби-сеть (ботнет) — это группа компьютеров, не имеющих физической связи между собой. Их объединяет то, что все они находятся под контролем злоумышленника. Контроль осуществляется посредством троянской программы, которая до поры до времени может никак себя не проявлять. При проведении атаки хакер дает зараженным компьютерам команду посылать запросы на сайт или сервер жертвы. И тот, не выдержав натиска, перестает отвечать.
Так Logstalgia показывает DDoS-атаку:

Войти в состав ботнета может абсолютно любой компьютер. И даже смартфон. Достаточно подхватить троянца и вовремя его не обнаружить. Кстати, самый крупный ботнет насчитывал почти 2 млн машин по всему миру, а их владельцы понятия не имели, чем им приходится заниматься.
Способы нападения и защиты
Перед началом атаки хакер выясняет, как провести ее с максимальным эффектом. Если атакуемый узел имеет несколько уязвимостей, воздействие может быть проведено по разным направлениям, что значительно усложнит противодействие. Поэтому каждому администратору сервера важно изучить все его «узкие места» и по возможности их укрепить.
Флуд, говоря простым языком, это информация, не несущая смысловой нагрузки. В контексте DoS/DDoS-атак флуд представляет собой лавину пустых, бессмысленных запросов того или иного уровня, которые принимающий узел вынужден обрабатывать.
Основная цель использования флуда — полностью забить каналы связи, насытить полосу пропускания до максимума.
- MAC-флуд — воздействие на сетевые коммуникаторы (блокировка портов потоками данных).
- ICMP-флуд — заваливание жертвы служебными эхо-запросами с помощью зомби-сети или рассылка запросов «от имени» атакуемого узла, чтобы все члены ботнета одновременно отправили ему эхо-ответ (атака Smurf). Частный случай ICMP-флуда — ping-флуд (отправка на сервер запросов ping).
- SYN-флуд — отправка жертве многочисленных SYN-запросов, переполняя очередь TCP-подключений путем создавая большого количества полуоткрытых (ожидающих подтверждения клиента) соединений.
- UDP-флуд — работает по схеме Smurf-атак, где вместо ICMP-пакетов пересылаются датаграммы UDP.
- HTTP-флуд — заваливание сервера многочисленными HTTP-сообщениями. Более изощренный вариант — HTTPS-флуд, где пересылаемые данные предварительно шифруются, и прежде чем атакуемый узел их обработает, ему предстоит их расшифровать.
Как защититься от флуда
- Настроить на сетевых коммутаторах проверку на валидность и фильтрацию MAC-адресов.
- Ограничить или запретить обработку эхо-запросов ICMP.
- Блокировать пакеты, приходящие с определенного адреса или домена, который дает повод подозревать его в неблагонадежности.
- Установить лимит на количество полуоткрытых соединений с одним адресом, сократить время их удержания, удлинить очередь TCP-подключений.
- Отключить сервисы UDP от приема трафика извне или ограничить количество UDP-соединений.
- Использовать CAPTCHA, задержки и другие приемы защиты от ботов.
- Увеличить максимальное количество HTTP-подключений, настроить кэширование запросов с помощью nginx.
- Расширить пропускную способность сетевого канала.
- По возможности выделить отдельный сервер для обработки криптографии (если используется).
- Создать резервный канал для административного доступа к серверу в аварийных ситуациях.
Перегрузка аппаратных ресурсов
Существуют разновидности флуда, которые воздействуют не на канал связи, а на аппаратные ресурсы атакуемого компьютера, загружая их по полной и вызывая зависание или аварийное завершение работы. Например:
- Создание скрипта, который разместит на форуме или сайте, где у пользователей есть возможность оставлять комментарии, огромное количество бессмысленной текстовой информации, пока не заполнится всё дисковое пространство.
- То же самое, только заполнять накопитель будут логи сервера.
- Загрузка сайта, где выполняется какое-либо преобразование введенных данных, непрерывной обработкой этих данных (отправка так называемых «тяжелых» пакетов).
- Загрузка процессора или памяти выполнением кода через интерфейс CGI (поддержка CGI позволяет запускать на сервере какую-либо внешнюю программу).
- Вызов срабатывания системы безопасности, что делает сервер недоступным извне и т. д.
Как защититься от перегрузки аппаратных ресурсов
- Увеличить производительность оборудования и объем дискового пространства. При работе сервера в штатном режиме свободными должны оставаться не менее 25-30% ресурсов.
- Задействовать системы анализа и фильтрации трафика до передачи его на сервер.
- Лимитировать использование аппаратных ресурсов компонентами системы (установить квоты).
- Хранить лог-файлы сервера на отдельном накопителе.
- Рассредоточить ресурсы по нескольким независимым друг от друга серверам. Так, чтобы при отказе одной части другие сохраняли работоспособность.
Уязвимости в операционных системах, программном обеспечении, прошивках устройств
Вариантов проведения такого рода атак неизмеримо больше, чем с использованием флуда. Их реализация зависит от квалификации и опыта злоумышленника, его умения находить ошибки в программном коде и использовать их во благо себе и во вред владельцу ресурса.
После того как хакер обнаружит уязвимость (ошибку в программном обеспечении, используя которую можно нарушить работу системы), ему останется лишь создать и запустить эксплойт — программу, которая эксплуатирует эту уязвимость.
Эксплуатация уязвимостей не всегда имеет цель вызвать только отказ в обслуживании. Если хакеру повезет, он сможет получить контроль над ресурсом и распорядиться этим «подарком судьбы» по своему усмотрению. Например, использовать для распространения вредоносных программ, украсть и уничтожить информацию и т. д.
Методы противодействия эксплуатации уязвимостей в софте
- Своевременно устанавливать обновления, закрывающие уязвимости операционных систем и приложений.
- Изолировать от стороннего доступа все службы, предназначенные для решения административных задач.
- Использовать средства постоянного мониторинга работы ОС сервера и программ (поведенческий анализ и т. п.).
- Отказаться от потенциально уязвимых программ (бесплатных, самописных, редко обновляемых) в пользу проверенных и хорошо защищенных.
- Использовать готовые средства защиты систем от DoS и DDoS-атак, которые существуют как в виде аппаратных, так и программных комплексов.
Как определить, что ресурс подвергся нападению хакера
Если злоумышленнику удалось достичь цели, не заметить атаку невозможно, но в отдельных случаях администратор не может точно определить, когда она началась. То есть от начала нападения до заметных симптомов иногда проходит несколько часов. Однако во время скрытого воздействия (пока сервер не «лег») тоже присутствуют определенные признаки. Например:
- Неестественное поведение серверных приложений или операционной системы (зависание, завершение работы с ошибками и т. д.).
- Нагрузка на процессор, оперативную память и накопитель по сравнению с исходным уровнем резко возрастает.
- Объем трафика на один или несколько портов увеличивается в разы.
- Наблюдаются многократные обращения клиентов к одним и тем же ресурсам (открытие одной страницы сайта, скачивание одного и того же файла).
- Анализ логов сервера, брандмауэра и сетевых устройств показывает большое количество однообразных запросов с различных адресов, часто направленных на конкретный порт или сервис. Особенно если сайт ориентирован на узкую аудиторию (например, русскоязычную), а запросы идут со всего мира. Качественный анализ трафика при этом показывает, что обращения не имеют практического смысла для клиентов.
Всё перечисленное не является стопроцентным признаком атаки, но это всегда повод обратить на проблему внимание и принять надлежащие меры защиты.
Английское сокращение DoS означает Denial of Service, то есть отказ обслуживать что-то. Для интернет-ресурса это невозможность обработать слишком большое количество поступающих извне запросов. Каждый интернет-сайт размещен на сервере, куда и обращаются пользователи. Сервер может быть собственностью администратора сайта или хостинг-провайдера. В любом случае у ресурса есть предел информации, которую он может обработать за единицу времени. Лимит зависит от емкости диска, параметров трафика, в меньшей степени от структуры сайта-мишени. Если на него одновременно приходит много запросов, он начинает сначала тормозить, а потом и вовсе становится недоступен, переставая отвечать на запросы. Если сайт размещен на хостинге, то пострадать могут и другие ресурсы, пользующиеся тем же дисковым пространством. Явление DoS достаточно распространено во Всемирной паутине. Публикация животрепещущих новостей часто приводит к временному сбою работы сайтов новостных агентств, телеканалов, а также сайтов известных личностей. Как правило, ничего криминального за этим не стоит, речь идет лишь о несоответствии мощности сервера тому интересу, который проявила публика.
Методика атаки DDoS
Совсем другая ситуация возникает, когда к сокращению DoS прибавляется еще одна буква D. Аббревиатура DDoS расшифровывается как Distributed Denial of Service, то есть «распределенный отказ от обслуживания». Распределенный – ключевое слово. Оно подразумевает некую организующую силу, которая направляет внешне хаотичные запросы на ресурс жертвы. Причем таких запросов настолько много, что с ними не справляются не только маломощные серверы небольших компаний, но и машины хостинг-провайдеров с пропускной способностью в тысячи и десятки тысяч мегабит в секунду. Как же злоумышленникам удается создать такой трафик?
На сервер сваливается огромное количество запросов, причем большинство из них совершенно бессмысленно. Но лишенный специальной защиты он вынужден анализировать их все подряд и давать какой-то ответ. Это приводит к перегрузке как самого сервера, так и входящего трафика. Если канал узкополосный, то вывести из строя сервер может и несколько сотен обращений. Если его мощность велика, а канал связи имеет высокую пропускную способность, то нужны либо десятки и даже сотни тысяч обращений, либо так называемые тяжелые запросы, ответ на которые отнимает много времени у процессора.
Как заражаются компьютеры
Сначала хакер создает троянскую программу и с помощью массовых рассылок и размещения на сомнительных ресурсах внедряет троянов на дисковое пространство случайных пользователей, которые посетили сомнительный сайт или перешли по ссылке, пришедшей на электронную почту. Самое любопытное то, что антивирус может даже не отреагировать на заражение, так как троян не проявляет к зараженному компьютеру никакой агрессии – он затаивается в ожидании команды своего хозяина.
Когда у хакера появляется объект для ДДоС-атаки, он рассылает своим агентам влияния, которых может накопиться сотни тысяч по всему миру, зашифрованную команду. В ней указан IP-адрес, подлежащий массовому поражению. Рассеянные по миру боты начинают бомбардировать жертву запросами, которые либо ретранслируются с сайта инициатора атаки, либо генерируются на зараженных компьютерах по изначально заданному алгоритму. Так или иначе, никакой явной связи с компьютером инициатора атаки у запросов нет, все ответы идут на адреса бот-сети. Владельцы этих ПК и смартфонов даже не подозревают, что их оборудование используется для атаки. Чем больше работающих компьютеров в ботнете, тем быстрее атака увенчается успехом. Особенно эффективной считается отправка больших пакетов, обработка которых требует значительного времени, либо отправка запросов, на которые компьютер-жертва должен дать развернутый ответ. В первом случае перегружается процессор, во втором – канал связи. И то и другое приводит к выходу системы из строя и многомиллионным убыткам, как это было, например, при атаках на всемирно известные интернет-магазины Amazon или AliExpress.
Типы DDoS
Приведем наиболее популярные виды DDoS-атак. Ограничимся лишь теми методиками, которые имеют целью вывести из строя сайт-жертву, не внедряясь в его структуру и не пытаясь получить права администрирования.
Пинг-флуд. Самый простой тип атаки, не требующий бот-сети. С одного или нескольких компьютеров жертва атакуется многочисленными эхо-запросами небольшого объема, которые тем не менее пожирают ее оперативные ресурсы. Для создания флуда и привлечения добровольных помощников существуют специальные программы. Бороться с пинг-флудом сравнительно просто, так как источников немного и их можно блокировать (если знать, как это делать). В компьютере можно отключить опцию ответа на ICMP-запросы или установить алгоритм их приоритетности.
HTTP-флуд. Инициаторы атаки шлют жертве небольшой пакет, требующий развернутого ответа. В результате переполняется исходящий трафик сайта. Хакер использует динамический IP-адрес или действует с узлов пользователей, иначе его компьютер сам окажется завален ответным флудом.
SMURF-атака. Тот же пинг-флуд (Ping-Flood), рассылаемый с использованием разветвленной бот-сети, многократно увеличивающей интенсивность ICMP-запросов.
«Осколочная граната» (англ. Fraggle flood). Технология аналогична предыдущей, но вместо эхо-запросов (ICMP) используются запросы по протоколу UPD.
Хакеры постоянно совершенствуют методики DDOS-атак, создают разветвленные ботнеты, без которых атака на серьезно защищенный ресурс не имеет смысла.
Как обезопасить сайт
Блокировка нежелательных запросов через htaccess. Работа с файлом .htaccess дает возможность на уровне сервера управлять доступом к сайту, не затрагивая коды и скрипты, за счет чего он нагружает ресурс очень слабо. При этом защита сайта осуществляется при помощи введений ограничений по IP-адресам и определенным признакам в запросах.
Защита с помощью PHP-скрипта. Каждый поступивший на сайт запрос анализируется, а IP, от которого он исходил, запоминается. Если команды поступают с привычного IP в промежутки, нетипичные для человека, то ему блокируется доступ к странице. К недостатку данного способа можно отнести то, что от работы скрипта нагрузка на сайт может повыситься.
Сервис для очистки от спамного трафика. К доменному имени вашего сайта добавляется DNS-сервер компании, которая предоставляет услуги защиты. В результате все запросы, поступающие на ваш сайт, сначала идут на IP-адрес фильтрующего сервера. Безопасные пакеты направляются на хостинг вашего ресурса, а подозрительные блокируются. В результате всю лишнюю нагрузку берет на себя специальный сервер.
Правовой аспект
В борьбе с «досерами» наработан немалый опыт у профильного управления «К» российского министерства внутренних дел. В случае откровенной атаки, особенно имеющей корыстную подоплеку, смело обращайтесь к представителям правоохранительных органов – у них есть технические и организационные возможности вам помочь. Хакеры обычно сначала проводят демонстрационную атаку на ресурс, после чего обращаются к владельцам с предложением, от которого невозможно отказаться. Фиксируйте переговоры на диктофон, сохраняйте переписку в социальных сетях и в мессенджерах. Это поможет в организации оперативно-разыскных мероприятий и в ходе судебного разбирательства, если до него дойдет. Деятельность хакеров подпадает под действие статьи 273 Уголовного кодекса, предусматривающей лишение свободы до 4 лет.
Как не пополнить армию ботов
Для простого пользователя главное – помнить, что угроза исходит не от самого злоумышленника, а от зараженных компьютеров. Не открывайте сообщения, поступающие из непроверенных источников. Не переходите по сомнительным ссылкам, даже если они пришли от друзей в социальных сетях. Их аккаунты могут быть перехвачены злоумышленниками. Проверяйте безопасность внешних носителей. Установите на устройства последнюю версию антивируса, желательно полную, обычно не бесплатную. Цена вопроса не так уж велика, зато появится гарантия виртуального «здоровья». То же самое касается мобильного телефона – Интернет сегодня буквально наводнен сомнительными ссылками, причем пользователи гаджетов менее осторожны, чем пользователи десктопов и ноутбуков.
За последнее время мы смогли убедиться, что DDoS атаки — это довольно сильное оружие в информационном пространстве. С помощью DDoS атак с высокой мощностью можно не только отключить один или несколько сайтов, но и нарушить работу всего сегмента сети или же отключить интернет в маленькой стране. В наши дни DDoS атаки случаются все чаще и их мощность с каждым разом возрастает.
Но в чем суть такой атаки? Что происходит в сети когда она выполняется, откуда вообще возникла идея так делать и почему она такая эффективная? На все эти вопросы вы найдете ответы в нашей сегодняшней статье.
Что такое DDoS атака?

DDoS или distributed denial-of-service (разделенный отказ в обслуживании) — это атака на определенный компьютер в сети, которая заставляет его путем перегрузки не отвечать на запросы других пользователей.
Чтобы понять что значит ddos атака, давайте представим ситуацию: веб-сервер отдает пользователям страницы сайта, допустим на создание страницы и полную ее передачу компьютеру пользователя уходит полсекунды, тогда наш сервер сможет нормально работать при частоте два запроса в секунду. Если таких запросов будет больше, то они будут поставлены в очередь и обработаются как только веб-сервер освободиться. Все новые запросы добавляются в конец очереди. А теперь представим что запросов очень много, и большинство из них идут только для того, чтобы перегрузить этот сервер.
Если скорость поступления новых запросов превышает скорость обработки, то, со временем, очередь запросов будет настолько длинной, что фактически новые запросы уже не будут обрабатываться. Это и есть главный принцип ddos атаки. Раньше такие запросы отправлялись с одного IP адреса и это называлось атакой отказа в обслуживании — Dead-of-Service, по сути, это ответ на вопрос что такое dos. Но с такими атаками можно эффективно бороться, просто добавив ip адрес источника или нескольких в список блокировки, к тому же несколько устройство из-за ограничений пропускной способности сети не физически не может генерировать достаточное количество пакетов, чтобы перегрузить серьезный сервер.
Поэтому сейчас атаки выполняются сразу с миллионов устройств. К называнию было добавлено слово Distribed, распределенная, получилось — DDoS. По одному эти устройства ничего не значат, и возможно имеют подключение к интернету с не очень большой скоростью, но когда они начинают все одновременно отправлять запросы на один сервер, то могут достигнуть общей скорости до 10 Тб/с. А это уже достаточно серьезный показатель.
Осталось разобраться где злоумышленники берут столько устройств для выполнения своих атак. Это обычные компьютеры, или различные IoT устройства, к которым злоумышленники смогли получить доступ. Это может быть все что угодно, видеокамеры и роутеры с давно не обновляемой прошивкой, устройства контроля, ну и обычные компьютеры пользователей, которые каким-либо образом подхватили вирус и не знают о его существовании или не спешат его удалять.
Виды DDoS атак
Есть два основные типы DDoS атак, одни ориентированы на то, чтобы перегрузить определенную программу и атаки, направленные на перегрузку самого сетевого канала к целевому компьютеру.
Атаки на перегрузку какой-либо программы, еще называются атаки у 7 (в модели работы сети osi — семь уровней и последний — это уровней отдельных приложений). Злоумышленник атакует программу, которая использует много ресурсов сервера путем отправки большого количества запросов. В конце-концов, программа не успевает обрабатывать все соединения. Именно этот вид мы рассматривали выше.
DoS атаки на интернет канал требуют намного больше ресурсов, но зато с ними намного сложнее справиться. Если проводить аналогию с osi, то это атаки на 3-4 уровень, именно на канал или протокол передачи данных. Дело в том, что у любого интернет-соединения есть свой лимит скорости, с которой по нему могут передаваться данные. Если данных будет очень много, то сетевое оборудование точно так же, как и программа, будет ставить их в очередь на передачу, и если количество данных и скорость их поступления будет очень сильно превышать скорость канала, то он будет перегружен. Скорость передачи данных в таких случаях может исчисляться в гигабайтах в секунду. Например, в случае с отключения от интернета небольшой страны Либерии, скорость передачи данных составила до 5 Тб/сек. Тем не менее 20-40 Гб/сек достаточно, чтобы перегрузить большинство сетевых инфраструктур.
Происхождение DDoS атак
Выше мы рассмотрели что такое DDoS атаки, а также способы DDoS атаки, пора перейти к их происхождению. Вы когда-нибудь задумывались почему эти атаки настолько эффективны? Они основаны на военных стратегиях, которые разрабатывались и проверялись на протяжении многих десятилетий.
Вообще, многие из подходов к информационной безопасности основаны на военных стратегиях прошлого. Существуют троянские вирусы, которые напоминают древнее сражение за Трою, вирусы-вымогатели, которые крадут ваши файлы, чтобы получить выкуп и DDoS атаки ограничивающие ресурсы противника. Ограничивая возможности противника, вы получаете немного контроля над его последующими действиями. Эта тактика работает очень хорошо как для военных стратегов. так и для киберпреступников.
В случае с военной стратегией мы можем очень просто думать о типах ресурсов, которые можно ограничить, для ограничения возможностей противника. Ограничение воды, еды и строительных материалов просто уничтожили бы противника. С компьютерами все по-другому тут есть различные сервисы, например, DNS, веб-сервер, сервера электронной почты. У всех них различная инфраструктура, но есть то, что их объединяет. Это сеть. Без сети вы не сможете получить доступ к удаленной службе.
Полководцы могут отравлять воду, сжигать посевы и устраивать контрольные пункты. Киберпреступники могут отправлять службе неверные данные, заставить ее потребить всю память или вовсе перегрузить весь сетевой канал. Стратегии защиты тоже имеют те же самые корни. Администратору сервера придется отслеживать входящий трафик чтобы найти вредоносный и заблокировать его еще до того как он достигнет целевого сетевого канала или программы.
Выводы
DDoS атаки становятся все более распространенными и с каждым разом все мощнее. Это значит, что службы, которые мы используем будут все чаще подвергаться атакам. Один из способов, с помощью которого мы можем уменьшить количество атак — это следить за тем, чтобы наши устройства не были заражены никакими вирусами и вовремя получали обновления. Теперь вы знаете что такое DDoS атака и знаете основы защиты, в одной из следующих статей мы рассмотрим последний момент подробнее.
На завершение предлагаю лекцию о DDoS атаках:

Как защититься от флуда
Как защититься от перегрузки аппаратных ресурсов




