Главная Networks, Security, Новое Атаки DDoS и методы противодействия
  • Атаки DDoS и методы противодействия

    Вряд ли найдется хоть одно предприятие, независимо от его сферы деятельности, где не применяются интернет технологии. Для многих компаний невозможность или трудности работы в сети приводят к катастрофическим последствиям, чем не преминули воспользоваться злоумышленники и конкуренты, проводя целый комплекс атак, приводящих к весьма серьезным неприятностям. Так что же это за атаки и почему они нередко оказываются весьма успешными? Как им противостоять? В качестве примера возьмем интернет-магазин как наиболее простой и понятный вариант. Пусть достигнуты отличные результаты, интернет-магазин имеет успех. Вдруг вы заметили сокращение объема заказов. Стали поступать жалобы от постоянных клиентов, что сайт магазина не отвечает или работает крайне медленно. Эта ситуация начинает повторяться все чаще. Наконец, практически все время к магазину становится невозможно получить доступ. В чем же дело? Вы оказались слишком успешны. Вам объявили кибервойну! Следует иметь в виду, что ни одна из сфер деятельности не осталась без внимания злоумышленников. Атакам подвергаются не только интернет-магазины, но и финансовая сфера, сайты учебных заведений, медицинских учреждений, некоммерческих организаций и многие другие. Надо сказать, что нечестные методы конкурентной борьбы стали гораздо совершеннее, и развитие IT технологий не только предоставило нам новые эффективные инструменты ведения бизнеса, но и создало новое оружие для борьбы с ним. Можно весьма эффективно уничтожать конкурентов, не прибегая к еще недавно столь популярным методам «грубой силы». Теперь на службе у преступников информационные технологии… Здесь речь идет о DDoS атаках, жертвами которых мы и оказались.Давайте начнем с определений.

    Что такое DoS и DDoS?

    DoS – сокращение от английского Denial of Services или отказ в обслуживании. Атака на вычислительную систему, целью которой создание таких условий, при которых легальные пользователи системы не могут получить доступ к системным ресурсам, либо этот доступ существенно затруднен.

    DDoS (Distributed Denial of Service) [1] – подразумевает многочисленные, приходящие с разных точек (распределенные) запросы, приводящие к невозможности работы целевого узла.

    Целью DoS/DDoS-атак является блокировка возможности сервиса адекватно и своевременно реагировать на запросы настоящих, легитимных клиентов, вплоть до полной невозможности работы с сервисом.

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

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

     

    Легко ли организовать DDoS-атаку?

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

    Тема DDoS чрезвычайно популярна в Интернете. В этом нетрудно убедиться, обратившись с типовыми поисковыми запросами. См. рис. 1

     

    Рисунок 1. Количество ссылок на ресурсы.

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

    Рисунок 2. Нелегальные сервисы.

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

    Рисунок 3. Цены на организацию атак.

    Короче говоря, если раньше злоумышленник должен был неплохо разбираться в том, как работают сервисы и протоколы, то теперь все существенно упростилось. Специальные знания больше не нужны достаточно скачать пару утилит, или купить что-то из облака. То есть у нас получается “Attack as a Service”.

    Исследования компании Radware за 2016-2017 годы показывают, рост количества DDoS атак на 10% по сравнению с 2014-2015 г. Коммерческая выгода – основание каждой второй атаки. Значительный рост атак, нацеленных на приложения. Наконец, существенную проблему составляет развитие технологий IoT, поскольку в сети появляются гигантское количество незащищенных или недостаточно защищенных устройств, позволяющих здоумышленникам формировать громадные бот-сети и проводить атаки объемом, превышающим 1 Тб/сек. Кроме того, атаки редко содержат один единственный вектор. Это, как правило, несколько векторов, меняющихся с течением времени [2].

     

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

    Рассмотрим типовые атаки и их классификацию [3].

    1. Network floods – самый простой для злоумышленника вариант. Не требуется установка TCP сессии с компьютером жертвы. Приводят к исчерпанию ресурсов атакуемой системы или полосы пропускания канала. Примерами таких атак являются ICMP и UDP flood. Атаки, направленные на серверные ресурсы. Обычно этот вариант используется для воздействия на серверы приложений. Примерами являются TCP-SYN, TCP-RST, TCP-ACK.
    2. Атаки на ресурсы приложений. В последние годы встречаются довольно часто, причем надо отметить, что это не только воздействие на HTTP, но и HTTPS, DNS, VOIP, SMTP, FTP и другие прикладные протоколы. Среди этих атак HTTP flood, DNS flood и прочее.
    3. Сканирование. В сущности, само по себе сканирование, на первый взгляд, представляется безвредным, поскольку само по себе не приносит вреда, но на самом деле это «разведка перед боем», позволяющая выяснить информацию, которая поможет в дальнейшем атаковать систему. Так что противостоять ему все равно необходимо.
    4. Медленные атаки малого объема. Так называемые Low and Slow. Этот вариант представляет наибольшую опасность в силу малой заметности и продолжительного времени нарастания зловредного воздействия. Обычно здесь речь идет о воздействии на приложения и иногда на серверные ресурсы.
    5. Сложные атаки на веб-приложения. Эти механизмы используют уязвимости в веб-приложениях, которые с избытком предоставляют разработчики. Именно это приводит к несанкционированному доступу к системе, потерям и несанкционированным изменениям данных.
    6. Атаки под SSL – подразумевается, что злоумышленник может маскировать свои деструктивные действия внутри SSL трафика, что значительно усложняет противодействие. Протокол SSL работает поверх TCP/IP, обеспечивая безопасность обмена информацией для пользователей. Какие же здесь есть возможности для злоумышленников? Можно говорить об атаках на сам процесс установки SSL взаимодействия (SSL handshake), отправка «мусорных» пакетов серверу или злоупотребление функциями согласования ключевой информации и т. д.

     

    Некоторые примеры DDoS атак

    Примеры сетевых атак.

    Как работает ICMP flood

     

    Принцип работы ICMP flood [3] выглядит не слишком сложно. На узел жертвы отправляется эхо запрос, который требуется обработать и отправить эхо ответ, при этом потребуется задействовать большие ресурсы по сравнению с обычным пакетом, хотя сам запрос по объему небольшой. В результате, при относительно небольшом трафике, можно добиться перегрузки по количеству пакетов. Атакуемый узел начинает работать нестабильно, терять пакеты. Усиление атаки достигается использованием бот-сети, когда запросы приходят с тысяч узлов. Кроме этого, можно отправить запрос по широковещательному адресу с поддельным адресом-источника пакета, так называемые Smurf-атаки. Отправка эхо-запроса ICMP на широковещательный адрес заставляет все узлы в этой сети отправить эхо-ответы на подмененный адрес, который и является адресом жертвы, то есть происходит усиление атаки. См. рис. 4.

    Рисунок 4. ICMP flood.

    Как можно было заметить, здесь не используются уязвимости системы, а мы имеем дело со стандартными принципами работы стека TCP/IP. Стало быть, подобным атакам может быть подвергнута абсолютно любая среда. Кроме того, существуют методы, позволяющих значительно усилить атаку, например, подмена адреса источника пакета на адрес атакуемой системы – ICMP усиление (Smurf).

     

    Примеры атак на серверы. Как работает TCP-SYN flood.

    В этих атаках используется другая особенность стека протоколов TCP/IP – потребность установки TCP сессии. В отличие от UDP, где это не требуется, при TCP взаимодействии необходимо, чтобы отправитель «договорился» с получателем перед тем, как что-то будет отправлено. Для этого используется механизм three-way handshake – трехэтапного подтверждения [4, 5]. Принцип его работы выглядит следующим образом:

    Клиент посылает пакет SYN (Synchronize). Сервер отвечает пакетом SYN-ACK (Synchronize-Acknowledge). Клиент подтверждает прием пакета SYN-ACK пакетом ACK (Acknowledge). На этом процедура установления соединения завершается. См. рис. 5.

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

     

    Рисунок 5. TCP-SYN

     

    Примеры атак на приложения

    Как работает HTTP flood

    Наиболее распространенной DDoS атакой, нацеленной на приложения, является HTTP flood [6]. Обычно для ее осуществления используется бот сеть, впрочем, в состав атакующих вполне могут входить и добровольцы, например, когда речь идет о целенаправленной хактивистской деятельности. Существует варианты GET и POST. В сущности, обе эти альтернативы направлены на исчерпание ресурсов веб приложения.

    Как же осуществляется эта атака? Злоумышленник отправляет небольшой по объему HTTP-пакет, в ответ на который сервер должен прислать куда больше информации, например, GET. Конечно, канал сервера во много раз шире канала, который использует атакующий, но ведь и отдавать информации приходится намного больше, кроме того не составит труда подменить адрес источника на другой. Следовательно, ответные пакеты не вызовут отказа в обслуживании атакующего узла. И разумеется, таких узлов может быть огромное количество. И опять легитимный пользователь не может обратиться к требуемому ресурсу [2], [6]. См. рис 6.

    Рисунок 6. HTTP-flood

     

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

    Может сложиться впечатление, что когда речь идет о DoS/DDoS, то это обязательно большой объем сетевого трафика, громадные сети зомби компьютеров, задействованных в атаке (бот-сеть), воздействие на сетевом или транспортном уровне модели OSI [7], а вместе с тем далеко не всегда это происходит именно таким образом. Аналогией такого воздействия можно считать фронтальные атаки большим количеством сил и средств.

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

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

    Что же это за атаки? Речь идет о медленных атаках небольшого объема (slow and low) [8]. Рассмотрим пару примеров. Перечень таких атак несомненно шире, но для понимания базовых принципов их работы этого будет достаточно.

    Примеры медленных атак малого объема

    Атака R.U.D.Y.

     

    Рисунок 7. R.U.D.Y.

    Принцип этой атаки базируется на стандартном поведении протокола HTTP при обработке Post запросов [9].

    Пусть у нас есть веб сайт, на котором находится форма ввода данных, которую необходимо заполнить пользователю, например, это характерно для интернет-магазинов, банков, систем бронирования билетов, любого сайта, на котором требуется аутентификация и т. д. Когда легитимный пользователь заполняет веб-форму на сайт отправляется всего несколько пакетов и сессия с веб-сервером закрывается, ресурсы освобождаются. Сервер готов обслуживать запросы других пользователей. Злоумышленник, использующий специальный инструмент RUDY [6], действует иначе. Отправляемые на веб-сервер данные разбиваются на множество пакетов, каждый из которых содержит лишь один байт данных. Запросы на сервер отправляются со случайным интервалом, что не дает возможность серверу закрыть сессию, ведь передача данных еще не завершена. См. рис. 7. Несколько тысяч таких запросов в течение нескольких минут приводят к тому, что сервер не может отвечать на запросы легитимных клиентов. Не требуется большой объем трафика или значительное количество пакетов, чтобы вывести ресурс из строя. Все запросы абсолютно легитимны, здесь имитируется поведение системы с медленным каналом связи. Цель атакующего достигнута – работать с сайтом невозможно. Подобная уязвимость характерна практически для любого сайта.

    Slowloris

    Атака Slowloris [3], [10], также, как и предыдущая, базируется на стандартном поведении протокола HTTP при обработке запросов. Для закрытия HTTP сессии необходимо прислать соответствующую последовательность. Собственно говоря, так и поступает легитимный пользователь. Правильный запрос на получение данных с веб-сервера (Get Request) обычно состоит из одного пакета и завершается специальной последовательностью в конце для разрыва сессии.

     

    Рисунок 8. SlowLoris

    Суть атаки заключается в следующем: используя специальный инструмент (SlowLoris), злоумышленник генерирует множественные подключения к целевому веб-серверу, при этом соединения не закрываются, поскольку в запросе будет отсутствовать соответствующая последовательность символов. См. рис. 2. В результате, ресурсы сервера будут исчерпаны, и легитимные пользователи не смогут подключиться, тем самым, цель атакующего достигнута – работать с сайтом невозможно. Мы опять видим, что не требуется большой объем трафика или значительное количество пакетов, чтобы вывести ресурс из строя. Все запросы абсолютно легитимны, именно поэтому стандартным средствам борьбы с DDoS крайне сложно идентифицировать такую атаку и противостоять ей.

     

    Подведем итоги…

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

     

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

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

    Другой важной характеристикой выбора средств противодействия DDoS атакам является их SLA [11]. Если посмотреть на контракты, которые предлагают ряд поставщиков облачных решений по защите от DDoS, нетрудно заметить, что время первой реакции на запрос от клиента может составлять более получаса. Получается, что заказчик сам каким-то образом должен определить, что он находится под атакой, сообщить об этом своему провайдеру услуг, после этого пройдет минимум 30 минут, прежде чем последует какая-то реакция. Напомню, что злоумышленнику не понадобится много времени, чтобы изменить вектор (тип) атаки, у него на это уйдет пару минут. В то время как, используя только «ручной» или полуавтоматический способ отражения, потребуется существенно больше времени, чтобы проанализировать трафик и написать сигнатуру для блокировки зловредного трафика или выполнить какие-то иные действия по обороне. За это время атака может быть изменена многократно, и получается, что происходит подготовка к уже прошедшей войне. Система отражения должна срабатывать даже не за минуты, а за секунды. Только в этом случае можно говорить о ее эффективности.

    Как мы уже имели возможность увидеть важно обеспечить возможность беспроблемной работы «правильных» пользователей, то есть надо отбросить зловредный трафик, пропустив легитимный.

    Идентификация «неправильных» пакетов является самой важной задачей, но вот как отличить «правильный» от «неправильного». Просто резкий рост объёма трафика и количества пакетов далеко не всегда является следствием DDoS. Причиной может является маркетинговая политика компании, благодаря которой на сайт были привлечены множество новых клиентов. Следовательно, рост трафика не говорит об атаке. Стало быть, надо уметь идентифицировать именно негативную составляющую во всем потоке информации. Когда схема атаки и ее инструменты известны, эту проблему помогают решить системы предотвращения вторжений (Intrusion Prevention System, IPS).

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

    Таким образом, система должна обеспечить возможность отличить плохое от хорошего и сделать это быстро и эффективно. Для этого понадобится не только модуль IPS, но и модуль поведенческого анализа. Примером удачного решения, содержащего данный компонент является Radware DefensePro [12].

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

    Еще одной проблемой является маскировка атаки внутри зашифрованного трафика. На сегодняшний день рост SSL трафика в Интернете слишком значителен, если эта тенденция сохранится, то уже в ближайшее время SSL может составить до 70% от общего количества. А значит и количество атак внутри SSL возрастет. Выявить атаку внутри зашифрованных пакетов очень важно, при этом, далеко не всегда расшифровка допустима на границе сети, где как раз и происходит основная работа по отражению DDoS атак.

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

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

    Представить себе какую-то компанию, не имеющую своего представительства в сети уже невозможно. Растет количество WEB серверов. Появилось большое количество сложных прикладных атак, направленных именно на веб-серверы и сопутствующие им сервисы, например, SQL. Это не DDoS в чистом виде, а атаки на уязвимости систем, такие как сценарии межсайтового взаимодействия (кросс-сайт скриптинг), SQL инъекция, подбор пароля и других атак из OWASP TOP 10 [14]. Разумеется, эти атаки крайне опасны, поскольку могут дать возможность не только вывести систему из строя, но и скомпрометировать ее. Для противодействия атакам используется модуль борьбы со сложными WEB атаками, или WEB Application Firewall (WAF). И, если мы хотим построить интегрированное решение, то он обязательно должен присутствовать. Нельзя забывать о своевременном обновлении систем и прикладного программного обеспечения внутри защищаемой инфраструктуры, уделять внимание безопасности при разработке веб-приложений. Модуль WAF, в свою очередь, должен работать не только со статическими средствами защиты, но и обладать возможностью обучения на «живом» трафике и генерации динамических сигнатур, позволяющих противостоять не только известным атакам, но и атакам «нулевого» дня.

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

     

    Литература

    [1] DoS атаки https://ru.wikipedia.org/wiki/DoS-%D0%B0%D1%82%D0%B0%D0%BA%D0%B0

    [2] Global Application & Network Security report 2017-2018

    https://portals.radware.com/getattachment/4b9a60a0-03e5-4799-964d-feb5e610323a/

    [3] Radware DDoS Handbook – https://portals.radware.com/getattachment/fdb55bca-407c-4e71-94b5-cdcb0b39cbb7/

    [4] Explanation of the Three-WayHandshake via TCP/IP – https://support.microsoft.com/en-us/kb/172983.

    [5] TCP Connection Establishment Process: The «Three-Way Handshake» – http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-3.htm.

    [6] Что такое HTTP flood – http://www.youtube.com/watch?v=BzgsT-_GC4Q.

    [7] Модель OSI – https://en.wikipedia.org/wiki/OSI_model.

    [8] Why Slow and Low DDoS Application Attack are Difficult to Mitigate? –http://blog.radware.com/security/2013/06/whylow-slow-ddosattacks-are-difficult-to-mitigate.

    [9] Атака R.U.D.Y. (R-U-Dead-Yet?) – http://security.radware.com/knowledge-center/DDoSPedia/rudy-r-u-dead-yet.

    [10] Примеры атак – http://security.radware.com/knowledgecenter/DDoSPedia/rudy-r-u-dead-yet/  http://security.radware

    [11] Network Behavioral Analysis – http://www.radware.com/Products/DefensePro

    [12] Network Behavioral Analysis – http://www.radware.com/Products/DefensePro

    [13] Remove Blind Spots with Radware’s SSL Traffic Inspection Solution – https://www.radware.com/PleaseRegister.aspx?returnUrl=6442455966;

    https://portals.radware.com/getattachment/4930a6f6-eeae-44aca943-f0e9c6a92536/.aspx.

    [14] OWASP Top Ten – https://www.owasp.org/index.php/Category:Attack