Как называется атака при которой данные превышают объем памяти отведенной приложению

Обновлено: 05.07.2024


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

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

Сетевые атаки. Виды. Способы борьбы.

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

На данный момент выделяют следующие атаки: mailbombing , переполнение буфера, использование специализированных программ (вирусов, снифферов, троянских коней, почтовых червей, rootkit -ов и т.д.), сетевая разведка, IP -спуфинг, man - in - the - middle , инъекция ( SQL -инъекция, PHP -инъекция, межсайтовый скриптинг или XSS -атака, XPath -инъекция), отказ в обслуживании ( DoS - и DDoS - атаки), p hishing-атаки. Рассмотрим каждую из них.

Давать адрес электронной почты только проверенным источникам.

Обычно к таким атакам опытные злоумышленники прибегают крайне редко.

Переполнение буфера(buffer overflows).

Атака на переполнение буфера основывается на поиске программных или системных уязвимостей, способных вызвать нарушение границ памяти и аварийно завершить приложение или выполнить произвольный бинарный код от имени пользователя, под которым работала уязвимая программа. Если программа работает под учетной записью администратора, то данная атака может позволить получить полный контроль над компьютером, на котором исполняется данная программа. [3]

Подготовка кода, который будет выполняться в контексте привилегированной программы.

Классификация атак по переполнению буфера представлена в таблице.

Подготовка кода Цель переполнения

Внедрение кода

Внедрение параметров

Искажение адреса возврата из функции

Атака “срыв стека”

Атака “срыв стека” с параметризацией

Атака “срыв стека” с передачей управления

Искажение указателей функций

Атака на указатели функций

Атака на указатели функций с параметризацией

Атака на указатели функций с передачей управления

Искажение таблиц переходов

Атака на таблицы переходов

Атака на таблицы переходов с параметризацией

Атака на таблицы переходов с передачей управления

Искажение указателей данных

Атака с искажением указателей данных

Атака с искажением указателей данных с параметризацией

Атака с искажением указателей данных с оригинальным кодом

Рис. 1 Классификация атак по переполнению буфера.

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

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

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

Использование специализированных программ.

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

Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер перехватывает все сетевые пакеты, которые передаются через определенный домен. В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако ввиду того, что некоторые сетевые приложения передают данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

Перехват имен и паролей создает большую опасность, так как пользователи часто применяют один и тот же логин и пароль для множества приложений и систем. Многие пользователи вообще имеют один пароль для доступа ко всем ресурсам и приложениям. Если приложение работает в режиме клиент/сервер, а аутентификационные данные передаются по сети в читаемом текстовом формате, эту информацию с большой вероятностью можно использовать для доступа к другим корпоративным или внешним ресурсам. [ 2]

Использование антивирусных средств и регулярное обновление их сигнатур. Может решить проблему с троянскими программами, вирусами, почтовыми червями, но не решит проблему снифферов и rootkit -ов.

Шифрование передаваемых данных. Проблема не решает полностью проблему снифферов, однако, противник перехватывает данные, которые нельзя свободно прочитать. Для их расшифровки требуется время.

Использование антиснифферов (Например, AntiSniff или PromiScan).

Использование межсетевых экранов.

Сетевой разведкой называется сбор информации о сети с помощью общедоступных данных и приложений. При подготовке атаки против какой-либо сети злоумышленник, как правило, пытается получить о ней как можно больше информации. Сетевая разведка проводится в форме запросов DNS, эхо-тестирования (ping sweep) и сканирования портов. Запросы DNS помогают понять, кто владеет тем или иным доменом и какие адреса этому домену присвоены. Эхо-тестирование (ping sweep) адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной среде. Получив список хостов, злоумышленник использует средства сканирования портов, чтобы составить полный список услуг, поддерживаемых этими хостами. И, наконец, злоумышленник анализирует характеристики приложений, работающих на хостах. В результате добывается информация, которую можно использовать для взлома. [2]

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

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

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

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

Атака типа man-in-the-middle.

Для атаки типа Man-in-the-Middle злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам, для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии. [ 2]

SQL -инъекция – это атака, в ходе которой изменяются параметры SQL-запросов к базе данных. В результате запрос приобретает совершенно иной смысл, и в случае недостаточной фильтрации входных данных способен не только произвести вывод конфиденциальной информации, но и изменить/удалить данные. [4]

Вместо этого можно вставить систему слежения за тестированием на SQL инъекцию.

PHP -инъекция - один из способов взлома веб-сайтов, работающих на PHP. Он заключается в том, чтобы внедрить специально сформированный злонамеренный сценарий в код веб-приложения на серверной стороне сайта, что приводит к выполнению произвольных команд. [ 5]

if (strpbrk($name, '.?/:')) die('Blocked');

include $name . '.php';

$arr = array('main', 'about', 'links', 'forum');

if (!in_array($name,$arr)) $name = $arr[0];

include $name . '.php';

Межсайтовый скриптинг или XSS -атака.

XSS атака – это атака на уязвимость, которая существует на сервере, позволяющая внедрить в генерируемую сервером HTML-страницу некий произвольный код, в котором может быть вообще все что угодно и передавать этот код в качестве значения переменной, фильтрация по которой не работает, то есть сервер не проверяет данную переменную на наличие в ней запрещенных знаков –, <, >, ’, ”. Значение данной переменной передается от генерируемой HTML-страницы на сервер в скрипт, ее вызвавший путем отправки запроса.

А далее начинается самое интересное для Злоумышленника. РНР-скрипт в ответ на данный запрос генерирует HTML-страницу, в которой отображаются значения требующихся злоумышленнику переменных, и отправляет данную страницу на браузер злоумышленника.

То есть, говоря проще, XSS атака – это атака с помощью уязвимостей на сервере на компьютеры клиентов.

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

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

Возможна вообще переадресация на другой сайт (например, на сайт конкурента).

Существует возможность загрузки на компьютер пользователя скрипта с произвольным кодом (даже вредоносного) путем внедрения ссылки на исполняемый скрипт со стороннего сервера.

Зачастую происходит кража личной информации с компьютера пользователя, помимо Cookies в качестве объекта кражи выступает информация о посещенных сайтах, о версии браузера и операционной системе, установленной на компьютере пользователя, да к тому же еще и плюсуется IP-адрес компьютера пользователя.

XSS атака может быть проведена не только через сайт, но и через уязвимости в используемом программном обеспечении (в частности, через браузеры). Поэтому рекомендуется обновлять используемое программное обеспечение.

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

Различают XSS атаки двух видов: активные и пассивные. При первом виде атаки вредоносный скрипт хранится на сервере и начинает свою деятельность при загрузке страницы сайта в браузере клиента. При втором виде атак скрипт не хранится на сервере и вредоносное действие начинает выполняться только в случае какого-либо действия пользователя, например, при нажатии на сформированную ссылку.

Запретить включение напрямую параметров $_GET, $_POST, $_COOKIE в генерируемую HTML-страницу.

Запретить загрузку произвольных файлов на сервер во избежание загрузки вредоносных скриптов.

XPath-инъекция - вид уязвимостей, который заключается во внедрении XPath-выражений в оригинальный запрос к базе данных XML. XPath (XML Path Language) – это язык, который предназначен для произвольного обращения к частям XML документа. XML (eXtensible Markup Language) – это всем известный язык разметки, с помощью которого создаются XML документы, имеющие древовидную структуру. [6]

Предполагайте, что все вводимые данные сомнительны.

Проверяйте не только тип вводимых данных, но также их формат, длину, диапазон и содержимое (например, такое простое регулярное выражение как if (/^"*^';&<>()/) должно находить большинство подозрительных специальных символов).

Проверяйте данные как на стороне клиента, так и на стороне сервера, поскольку проверку на стороне клиента чрезвычайно легко перехитрить.

Следуйте последовательной [missing word] стратегии защищенности приложения, основываясь на передовом опыте разработки защищенных приложений

Отказ в обслуживании ( DoS - и DDoS - атаки).

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

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

В случае использования некоторых серверных приложений (таких как Web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений и держать их в занятом состоянии, не допуская обслуживания обычных пользователей. В ходе атак DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol). Большинство атак DoS опирается не на программные ошибки или бреши в системе безопасности, а на общие слабости системной архитектуры. Некоторые атаки сводят к нулю производительность сети, переполняя ее нежелательными и ненужными пакетами или сообщая ложную информацию о текущем состоянии сетевых ресурсов. Этот тип атак трудно предотвратить, так как для этого требуется координация действий с провайдером. Если трафик, предназначенный для переполнения вашей сети, не остановить у провайдера, то на входе в сеть вы это сделать уже не сможете, потому что вся полоса пропускания будет занята. Когда атака этого типа проводится одновременно через множество устройств, мы говорим о распределенной атаке DoS (DDoS - distributed DoS). [ 2]

Функции анти-спуфинга. Правильная конфигурация функций анти-спуфинга на маршрутизаторах и межсетевых экранах поможет снизить риск DoS. Эти функции, как минимум, должны включать фильтрацию RFC 2827.

Функции анти-DoS. Правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах может ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.

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

Приведем пример фишинг-атаки:

Использовать только проверенные ресурсы и пути доступа к ним.

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

DDoS-атаки: что это, происхождение, виды и способы защиты

Distributed Denial of Service, или «Распределенный отказ в обслуживании» — это перегрузка информационной системы избыточным числом запросов, блокирующая обработку обращений.

Что происходит при DDoS-атаке? Массовые запросы к серверу. Их объем превышает допустимый, что делает сервер недоступным для других пользователей.

Причины DDOS-атак

Личная неприязнь

IT-специалисты могут инициировать обвал сервера организации по личным мотивам: преследование со стороны закона, желание отомстить обидчикам, зависть успеху чужого проекта и пр. Например, в 1999 году хакеры из-за угрозы преследования обрушили серверы ФБР.

Политические мотивы

Атакуя серверы органов власти, хакеры таким образом выражают свой протест действиям правительства. Например, в 2007 году из-за угрозы сноса Памятника Воину-освободителю в Таллине хакеры начали атаковать серверы госучреждений.

Развлечение

DDoS становится популярным в современном IT-сообществе, поэтому новички могут проводить их не столько из серьезных побуждений, сколько для забавы.

Вымогательство

Хакер может шантажировать владельцев ресурса с целью выкупа под угрозой DDoS.

Конкуренция

Инфраструктура организации может быть атакована представителями конкурирующей фирмы.

Потенциальные жертвы

Основной ущерб для любой корпорации — это потери от простоя (трафик, клиенты, доход, репутация, ухудшение позиций в поисковых выдачах и пр.). Как правило, жертвами крупных DDOS атак становятся:

  • Корпорации и государственные учреждения: агрегаторы (маркетплейсы), сайты крупных компаний, отраслевых министерств и др.;
  • Финансовые учреждения: сайты и порталы банков, бирж, управляющих и инвестиционных компаний;
  • Медицинские учреждения: больницы, медицинские центры и пр.;
  • IoT устройства: онлайн-кассы, системы «Умный дом» и пр.

Организация DDOS-атак

Серверы имеют ограничения на одновременную обработку запросов. Также для оптимизации нагрузки предусмотрено ограничение пропускной способности канала, соединяющего сеть и сервер. Для обхода ограничений злоумышленники организуют специальную сеть с вредоносным ПО («ботнет»). Для наглядности ее схема приведена ниже.


Признаки DDOS-атаки

Распознать атаку можно по следующим признакам:

  • Некорректная работа серверного ПО и ОС: зависания, произвольные завершения сессий и пр.;
  • Пиковая нагрузка на сервер: нагрузка на ЦП, оперативную память, диск и другие компоненты сервера, превышающая средние значения;
  • Рост числа запросов на порты;
  • Одинаковая модель поведения: злоумышленники пытаются маскировать вредоносный трафик, закладывая в алгоритмы симуляцию действий пользователей (скачивания файлов, просмотры страниц, использование поиска и пр.). Выявление массового совершения однотипных действий может послужить сигналом;
  • Однотипные запросы к портам и сервисам: выявить возросшую нагрузку, однотипные запросы к службам сервера можно по анализу логов. Массовые запросы, если генерирующие их пользователи не похожи на типичную аудиторию, являются хорошим маркером.

Виды DDoS-атак

Атаки транспортного уровня

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

Как правило, сетевая служба работает по методу FIFO, согласно которому в приоритете первое обращение. Однако, при флуде генерируется такой объем запросов, что аппаратных ресурсов сервера не хватает для завершения обработки первого запроса.


ICMP-флуд


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

SYN-флуд


На сервер отправляется избыточный объем SYN-запросов на TCP-подключение. Согласно алгоритму «‎тройного рукопожатия», сервер должен ответить на SYN-запрос клиента пакетом с флагом ACK (Аcknowledge). После этого будет установлено соединение. В случае с SYN-флудом, очередь SYN-запросов на сервере переполняется.

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

UDP-флуд


Атакуемое устройство получает множественные UDP-запросы с измененными IP-адресами источников. Так злоумышленник сохраняет анонимность паразитной сети, забивая полосу пропускания сервера. Суть атаки в следующем: из вредоносной сети на жертву направляется поток UDP-запросов. Сервер должен обработать запрос, разобрав приходящий пакет и определив для него соответствующее приложение (сервис, порт).

MAC-флуд

На порты сервера поступает поток пустых пакетов с пустыми MAC-адресами.

Атаки уровня инфраструктуры

Атаке подвергаются оперативная память, процессорное время, а также подсистема хранения данных на сервере. При этом пропускной канал не перегружается.

Существуют несколько видов таких атак.

Вычисления

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

Переполнение диска

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

Обход системы квотирования

Злоумышленник получает доступ к CGI-интерфейсу сервера и с его помощью использует аппаратные ресурсы машины в своих интересах.

Неполная проверка пользователя

Злоумышленник может использовать ресурсы сервера бесконечно долго.

Атака второго рода

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

Атаки уровня приложений

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

DNS-атаки

Атаки этого вида направлены на:

  • Использование уязвимостей в ПО DNS-серверов: «уязвимость нулевого дня», «Быстрый поток», «DNS-спуфинг»;
  • Обрушение DNS-серверов: из-за отключения службы DNS пользователь не сможет зайти на страницу сайта, поскольку его браузер не найдет IP-адрес нужного узла.

Предотвращение и защита от DDoS-атак

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

Владелец же сайта, веб-сервиса или другого сетевого проекта, со своей стороны, для минимизации рисков и потерь от DDoS должен:

Защита DNS

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

Для TCP-трафика рекомендуется использовать облачные сервисы для фильтрации подозрительных запросов. Также рекомендуется:

  • Проводить мониторинг DNS: подозрительную сетевую активность можно отследить. Для этого рекомендуется использовать коммерческие DNS-решения, либо Open-source продукты (например, BIND). Вы сможете в режиме реального времени отслеживать сетевой трафик и запросы к DNS. Для экономии времени также рекомендуется построит базовый профиль сетевой инфраструктуры и обновлять его по мере масштабирования бизнеса;
  • Расширять аппаратные ресурсы DNS: компромиссное решение, позволяющее защитить инфраструктуру от мелкомасштабных атак. Закупка дополнительных мощностей также сопряжена и с вложениями;
  • Использовать DNS Response Rate Limiting (RRL): это снижает вероятность использования Вашего DNS-сервера в атаке DDoS Reflection. RRL снижает скорость обработки повторных запросов. Этот параметр поддерживается большинством DNS;
  • Строить конфигурации высокой доступности: DNS служба разворачивается на HA-сервере, что позволяет восстановить работу сервиса на резервной машине в случае если основная окажется недоступной.

Географически распределенная сеть также может послужить средством защиты от DDoS. Существует два подхода к построению такой сети:

  • Anycast: разные DNS серверы используют общий IP-адрес, а при обработке трафика запросы направляются на ближайший сервер. Такой подход, по сравнению с описанным ниже, является более оптимальным, поскольку трафик и нагрузки распределяются между несколькими машинами. Это делает инфраструктуру более устойчивой к DDoS;
  • Unicast: за каждым DNS-сервером закрепляется уникальный IP-адрес. Служба DNS поддерживает таблицу серверов и соответствующих им адресов ресурса. При обработке запросов для балансировки трафика и нагрузок IP-адрес выбирается в случайном порядке. Такой подход к организации DNS-сети проще в реализации, однако при этом страдает устойчивость инфраструктуры. Злоумышленники могут инициировать цепочку направленных атак на DNS-серверы, последовательно выводя их из строя.

Крупнейшие DDOS-атаки в истории

Впервые серьезное нападение произошло в 2000 году. Жертвами стали серверы и сайты eBay, Amazon, CNN и Yahoo. Виновником стала самописная программа, созданная 16-летним хакером-энтузиастом. Вредоносный алгоритм под названием Sinkhole зафлудил машины жертв и обрушил их.

Некогда популярный «Пинг смерти» использовал ping-команду для флуда. Для того, чтобы вызвать DDoS сервера, размер пакета искусственно увеличивался до 65535 байт. Пик популярности такой атаки приходится на 90-е годы — тогда в серверном ПО еще не была распространена проверка размера приходящих пакетов. В результате пропускной канал забивался и ресурс становился недоступным.

В 2013 году в результате конфликта между голландским хостинг-провайдером Cyberbunker и Spamhaus (организация занимается составлением списков спамеров) первые начали атаку на последних. Первый удар на себя приняла CDN CloudFlare, далее вредоносный трафик переключился на ее провайдеров. Нагрузка на канал составила 300 Гбит/с.

При атаке использовался метод DNS amplification. Суть метода — рассылка рекурсивных запросов с поддельными обратными адресами. При длине исходящего запроса в несколько байт ответный пакет может превышать несколько килобайт. При этом, для усиления эффекта ответный пакет направляется на сервер жертвы. Такой подход позволяет добиться большей эффективности, чем при использовании ботнет, поскольку в качестве «зомби»-компьютеров выступают не устройства с ограниченным каналом, а серверы.

В 2016 году была зафиксирована атака с нагрузкой на канал в 1 Тбит/с. Тем не менее, атакуемый ресурс устоял и смог отразить атаку.

Мы предлагаем комплексные решения для защиты Ваших интернет-ресурсов от DDoS:

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


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

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

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

Сниффинг пакетов . Также довольно распространенный вид атаки, основанный на работе сетевой карты в режиме promiscuous mode, а также monitor mode для сетей Wi-Fi. В таком режиме все пакеты, полученные сетевой картой, пересылаются на обработку специальному приложению, называемым сниффером, для обработки. В результате злоумышленник может получить большое количество служебной информации: кто, откуда, куда передавал пакеты, через какие адреса эти пакеты проходили. Самой большой опасностью такой атаки является получение самой информации, например логинов и паролей сотрудников, которые можно использовать для незаконного проникновения в систему под видом обычного сотрудника компании.


Promiscuous mode или promisc mode – так называемый «неразборчивый» режим в котором сетевая плата позволяет принимать все пакеты независимо от того кому они адресованы, эта возможность обычно используется в сетевых анализаторах трафика. В нормальном состоянии на Ethernet-интерфейсе используется фильтрация пакетов канального уровня и если MAC-адрес в заголовке назначения принятого пакета не совпадает с MAC-адресом текущего сетевого интерфейса и не является широковещательным, то пакет отбрасывается. В «неразборчивом» режиме фильтрация на сетевом интерфейсе отключается и все пакеты, включая не предназначенные текущему узлу, пропускаются в систему. Большинство операционных систем требуют прав администратора для включения «неразборчивого» режима. Данный режим позволяет мониторить трафик только в данном коллизионном домене (для Ethernet или беспроводных сетей) или кольце (для сетей Token ring или FDDI), потому использование сетевых концентраторов является менее безопасным решением, чем коммутаторов так как последние не передают трафик всем вне зависимости от адреса назначения. «Неразборчивый» режим часто используется снифферами — специализированными программами позволяющими отображать и анализировать сетевой трафик для диагностики сетевых неполадок. Такие программы позволяют легко перехватывать пароли и конфиденциальные данные, передаваемые по сети в незащищенном виде, чтобы избежать этого рекомендуется использовать защищенные протоколы, в том числе SSL и различные варианты VPN/IPSec.

Сниффер - анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов. Во время работы сниффера сетевой интерфейс переключается в «режим прослушивания» (Promiscuous mode), что и позволяет ему получать пакеты, адресованные другим интерфейсам в сети.

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

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

· Выявить в сети вредоносное и несанкционированное ПО;

· Локализовать неисправность сети или ошибку конфигурации сетевых агентов;

· Перехватить любой не зашифрованный пользовательский трафик с целью получения паролей и другой информации;


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

Man-in-the-Middle . Вид атаки, когда злоумышленник перехватывает канал связи между двумя системами, и получает доступ ко всей передаваемой информации. При получении доступа на таком уровне можно модифицировать информацию нужным образом, чтобы достичь своих целей. Цель такой атаки — кража или фальсифицированные передаваемой информации, или же получение доступа к ресурсам сети. Такие атаки крайне сложно отследить, так как обычно злоумышленник находится внутри организации.

Инъекция. Атака, связанная с различного рода инъекциями, подразумевает внедрение сторонних команд или данных в работающую систему с целью изменения хода работы системы, а в результате — получение доступа к закрытым функциям и информации, либо дестабилизации работы системы в целом. Наиболее популярна такая атака в сети Интернет, но также может быть проведена через командную строку системы.

SQL-инъекция - атака, в ходе которой изменяются параметры SQL-запросов к базе данных. В результате запрос приобретает совершенно иной смысл, и в случае недостаточной фильтрации входных данных способен не только произвести вывод конфиденциальной информации, но и изменить/удалить данные. Очень часто такой вид атаки можно наблюдать на примере сайтов, которые используют параметры командной строки (в данном случае — переменные URL) для построения SQL-запросов к базам данных без соответствующей проверки.

PHP -инъекция – один из способов взлома веб-сайтов, работающих на PHP. Он заключается в том, чтобы внедрить специально сформированный злонамеренный сценарий в код веб-приложения на серверной стороне сайта, что приводит к выполнению произвольных команд. Известно, что во многих распространённых в интернете бесплатных движках и форумах, работающих на PHP (чаще всего это устаревшие версии) есть непродуманные модули или отдельные конструкции с уязвимостями. Хакеры анализируют такие уязвимости, как не экранированные переменные, получающие внешние значения.

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

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

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

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

DoS-атака или атака типа «отказ в обслуживании» направлена на вычислительную систему с целью создать такие условия, при которых пользователи системы не могут получить данные к определенным ресурсам или сервисам.

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



Рисунок 1 - Схема DDoS-атаки

Причины возникновения DDoS-атак

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

Мошенничество. Очень часто хакеры самостоятельно организовывают DDoS-атаки с целью получения доступа к компьютеру и блокировки системы. Если у пользователя не установлена защита от DDoS-атак, то хакер может полностью парализовать работу системы, а затем требовать некоторую сумму денег за разблокировку. Зачастую обычные пользователи соглашаются на условия хакеров, объясняя это тем, что простои в работе приводят к получению убытков, которые явно больше, чем сумма, указанная хакером.

Развлечение или забава. В связи с тем, что в последнее время все больше человек интересуются DDoS-атаками, многие начинающие злоумышленники осуществляют такие атаки ради развлечения или просто, чтобы попробовать свои силы.

Классификация DDoS-атак

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

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

Недостаточная проверка данных пользователя. Недостаточная проверка данных пользователя может приводить к бесконечному или длительному циклу, что приводит к повышенному и продолжительному потреблению процессорных ресурсов либо выделению больших объемов памяти, вплоть до ее исчерпания.

Атаки второго рода. Это атаки, которые приводят к ложным срабатываниям систем защиты, тем самым приводят к недоступности определенных ресурсов.

ICMP-флуд (Smurf-атака). Данный тип атаки является одним из самых опасных. В ней по широковещательному адресу злоумышленник отправляет поддельный ICMP-пакет, в котором адрес атакующего меняется на адрес жертвы. Все узлы присылают ответ на данный ping-запрос. Для такого вида атаки обычно используют большую сеть, чтобы у компьютера-жертвы не было никаких шансов. Таким образом, запрос, отправленный через сеть в 1000 компьютеров будет усилен в 1000 раз.

SYN-флуд. Данный вид атаки основан на попытке запуска большого числа одновременных TCP-соединений через посылку SYN-пакета с несуществующим обратным адресом. После нескольких попыток отослать в ответ ACK-пакет на недоступный адрес большинство операционных систем ставят неустановленное соединение в очередь. И только после n-ой попытки закрывают соединение. Поскольку поток ACK-пакетов очень большой, вскоре очередь оказывается заполненной, и ядро дает отказ на попытки открыть новое соединение.

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

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

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

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

Защита от DDoS-атак

Методы противодействия DDoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.

1. Предотвращение

Необходимо проводить профилактики причин, которые приводят к необходимости тем или иным лицам предпринимать DDoS-атаки. Личная неприязнь, конкуренция, религиозные или иные разногласия, а также многие другие факторы могут стать причиной такой атаки. Если вовремя устранить причины таких атак и сделать соответствующие выводы, то в дальнейшем удастся избежать повторения ситуации. Данный метод нацелен на защиту от практически любых DDoS-атак, так как является управленческим, а не техническим решением.

2. Ответные меры

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

3. Специализированное программное и аппаратное обеспечение

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

4. Фильтрация

Фильтрация и блокировка трафика, исходящего от атакующих машин позволяет снизить или вовсе загасить атаку. При использовании этого метода входящий трафик фильтруется в соответствии с теми или иными правилами, заданными при установке фильтров.

Можно выделить два способа фильтрации: маршрутизация по спискам ACL и использование межсетевых экранов.

Использование списков ACL позволяет фильтровать второстепенные протоколы, не затрагивая при этом протоколы TCP и не замедляя скорость работы пользователей с ресурсом. Однако, при использовании злоумышленниками первостепенных запросов или ботнета, данный способ фильтрации окажется неэффективным.

Межсетевые экраны являются крайне эффективным способом защиты от DDoS-атак, однако они применимы исключительно для защиты частных сетей.

5. Обратный DDoS

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

6. Устранение уязвимостей

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

8. Построение распределенных систем

9. Уклонение

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

10. Мониторинг

Установка системы мониторинга и оповещения, которая позволит вычислить DDoS-атаку по определенным критериям. Мониторинг напрямую не может защитить атакуемую систему, но позволяет вовремя среагировать и принять соответствующие меры.

11. Приобретение сервиса по защите от DDoS-aтак

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

Читайте также: