Основные виды атак на информацию. Анализ существующих целей сетевых атак и способов атак на web-сервисы дудников е.а Случайные атаки на сложные сети

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

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

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

В настоящее время существует несколько классических определений понятия "атака" (вторжение, нападение) на информационную систему и ее ресурсы. Данный срок может определяться, как процедура вторжения, что приводит к нарушению политики безопасности или действие (процесс), что приводит к нарушению целостности, конфиденциальности и доступности информации системы. Однако, более распространенная трактовка, непосредственно связано с термином «уязвимость», или «возможность реализации угрозы». Под атакой (attack, intrusion) на информационную систему, будем понимать действия (процессы) или последовательность связанных между собой действий нарушителя, которые приводят к реализации угроз информационным ресурсам ИКСМ, путем использования уязвимостей этой информационной системы.

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

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

    Удаленное проникновение (remote penetration). Тип информационных атак, которые позволяют реализовать удаленное управление компьютером пользователя информационных ресурсов системы по сети на базе удаленного доступа. Примером такой программы является NetBus или BackOrifice.

    Локальное проникновение (local penetration). Атака, приводящая к получению несанкционированного доступа к узлу ИКСМ, на котором она запущена. Примером такой программы является GetAdmin.

    Удаленная отказ в обслуживании (remote denial of service). Атаки, которые позволяют нарушить функционирование информационной системы по условиям реализации ее услуг или имеют возможность котрольованного перезагрузки системы путем удаленного доступа.Примером такой атаки является Teardrop или trin00.

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

    Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Примером такой программы можно назвать систему nmap.

    Сканеры уязвимостей (vulnerability scanners). Программы, осуществляющие поиск уязвимостей на узлах сети, могут быть использованы для реализации атак.Примеры: система SATAN или Shadow Security Scanner.

    Взломщики паролей (password crackers). Программы, которые подбирают пароли авторизованных пользователей информационных ресурсов системы и ее услуг.Примером взломщика паролей может служить несанкционированное программное обеспечение: L0phtCrack для Windows или Crack для Unix.

    Анализаторы протоколов (sniffers). Программы, которые "прослушивают" сетевой трафик. С помощью этих программ можно автоматически найти такую ​​информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и ​​т.д.Анализатором протоколов можно назвать программные продукты: Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.

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

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

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

Как защитить свой сайт

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

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

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

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

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

Например, массовые атаки во многом автоматизированы, как получение несанкционированного доступа, например. Массовые атаки – это попытка всегда получить доступ в целом к сайту. Здесь массовые вымогательства тоже бывают, но они тоже реализованы через получение несанкционированного доступа.

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

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

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

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

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

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

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

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


Атака состоит из следующих ступеней:


Особенно для массового случая. Берется какая-нибудь специальная строка, типа Power Add Buy, phpBB версии 1.6.1. Выискивается набор сайтов автоматически с использованием какой-то конкретной технологии – один из векторов. Находятся все эти сайты, по ним запускается скрипт, скрипт идет, ищет какие-то уязвимости, разные админ. панели по стандартным путям, какие-то стандартные инструменты, типа php my admin, которые тоже расположены по стандартным путям.

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

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

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

Вот так с точки зрения злоумышленника выглядит этот самый web-shell:


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

Когда находят уязвимости в ядре операционной системы, публикуют эксплоиты на популярных сайтах. Что такое эксплоит? Программа, которая эту уязвимость использует, чтобы реализовать свою какую-то цель, и поднимаются привилегии. Примерно это выглядит так:


Помимо того, что начинают раскидываться разные вредоносные скрипты по серверу, по сайту, бывает, попадают так же бинарные компоненты. Например, такие, как основная бинарная сборка или плагины к самому веб-серверу. Это бывают модули к патчу, к njinx, пересобранные njinx или какой-нибудь еще важный бинарный компонент, который у вас есть в системе, SSHD.

Это такой сайт Virustotal, на котором можно проверить любой файл, что про него думают 50 антивирусных движков.

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


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

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


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

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

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

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

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

Берется основной файл веб-сервера, например, если это веб-сервера патч – это sshd бинарный файл, который копируется в другое место, на его место кладется вредоносная сборка, а потом она запускается.

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

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

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


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

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

Строчка «вымогательство» очень интересная. Это тоже в последнее время очень развивается. Все много раз слышали и, возможно, сталкивались с такими троянами-вымогателями, например, на десктопах, на операционной системе Windows. Несколько лет назад они более-менее начали заполнять, попадать на андроидные телефоны, когда…

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

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

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

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

Атака на посетителей: drive-by download

Да, мы говорили про заражение посетителей, буквально, в двух словах. Наверное, в последний год эта угроза сходит на нет сейчас сама по себе. Что такое заражение посетителей? Злоумышленник взломал сайт и что дальше происходит, если он хочет получать деньги за счет заражения посетителей:


Как я уже говорил, может перенаправлять мобильных пользователей на какой-нибудь сайт, где им предлагают поставить приложение под видом какого-нибудь обновления flash player или вроде того. А для десктопов такая популярная схема, когда эксплуатируется уязвимость в браузере посетителя или в каком-то из плагинов его окружения.

Например, в 2012 году больше всего эксплуатировали уязвимости в Java-плагине, которые стояли больше, чем у половины пользователей, эксплуатировали в Adobe Reader в 2012 году. Сейчас не Adobe Reader, не Java не эксплуатируют, сейчас эксплуатируют Flash Player.

Новые уязвимости во Flash Player выходят регулярно, и каждый из них зачастую позволяет производить такую атаку, которая называется drive-by download. Что это значит? Это значит, что посетитель просто заходит на сайт, ничего не делает дополнительно и у него в системе за счет эксплуатации в уязвимости плагина появляется вредоносная программа, которая автоматически запускается и инфицирует систему.

Отказ в обслуживании, он же DDoS

Это если мы говорим про то, когда злоумышленник все-таки получает доступ к сайту и его управлению. Во многих случаях злоумышленник даже и не пытается получить доступ, он просто хочет тем или иным способом помешать нормальному функционированию вашего сайта. Все, наверное, слышали, сталкивались с отказом в обслуживании, который называется Distributed Denial of Service.


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

Атаки делятся на три основные категории

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

Атака на транспортном уровне. На транспортном уровне, по сути, есть два протокола. Атаки на UDP, они, скорее, относятся уже к атаке на канал, потому что там нет никакой сессии. А если мы говорим про протокол TCP, то это довольно частый случай атак.

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

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

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

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

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

Магомед Чербижев

DoS и DDoS-атака — это агрессивное внешнее воздействие на вычислительные ресурсы сервера или рабочей станции, проводимое с целью доведения последних до отказа. Под отказом мы понимаем не физический выход машины из строя, а недоступность ее ресурсов для добросовестных пользователей — отказ системы в их обслуживании (D enial o f S ervice, из чего и складывается аббревиатура DoS).

Если такая атака проводится с одиночного компьютера, она классифицируется как DoS (ДоС), если с нескольких — DDoS (ДиДоС или ДДоС), что означает «D istributed D enial o f S ervice» — распределенное доведение до отказа в обслуживании. Далее поговорим, для чего злоумышленники проводят подобные воздействия, какими они бывают, какой вред причиняют атакуемым и как последним защищать свои ресурсы.

Кто может пострадать от 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-атак, которые существуют как в виде аппаратных, так и программных комплексов.

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

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

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

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

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

«Успешно реализованные атаки имеют непосредственное влияние на бизнес клиентов и носят деструктивные последствия», – комментирует Даррен Ансти (Darren Anstee), представитель компании Arbor Networks, поставляющей решения для обеспечения безопасности в сетях.

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

TCP Reset

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

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

Сейчас основной целью взлома устройств является организация DDoS-атак или причинение ущерба путем ограничения доступа пользователей к сайту в интернете. Поэтому сами операторы связи, интернет-провайдеры и другие компании, в том числе VAS Experts , также предлагают и организуют решения по защите от DDoS – мониторинг трафика в реальном времени для отслеживания аномалий и всплесков загруженности полосы, функцию Carrier Grade NAT, которая позволяет «спрятать» устройство абонента от злоумышленников, закрыв к нему доступ из интернета, а также другие интеллектуальные и даже самообучающиеся системы.

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

Первая D в DDoS означает distributed : распределённая атака типа «отказ в обслуживании» . В этом случае речь идёт об огромной массе злонамеренных запросов, поступающих на сервер жертвы из множества разных мест. Обычно такие атаки организуются посредством бот-сетей.

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

Типы DDoS-трафика

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

HTTP-заголовок . HTTP заголовки - это поля, которые описывают, какой именно ресурс запрашивается, например, URL-адрес или форма, или JPEG. Также HTTP заголовки информируют веб-сервер, какой тип браузера используется. Наиболее распространенные HTTP заголовки: ACCEPT, LANGUAGE и USER AGENT.

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

HTTP GET

  • HTTP(S) GET-запрос - метод, который запрашивает информацию на сервере. Этот запрос может попросить у сервера передать какой-то файл, изображение, страницу или скрипт, чтобы отобразить их в браузере.
  • HTTP(S) GET-флуд - метод DDoS атаки прикладного уровня (7) модели OSI, при котором атакующий посылает мощный поток запросов на сервер с целью переполнения его ресурсов. В результате сервер не может отвечать не только на хакерские запросы, но и на запросы реальных клиентов.

HTTP POST

  • HTTP(S) POST-запрос - метод, при котором данные помещаются в тело запроса для последующей обработки на сервере. HTTP POST-запрос кодирует передаваемую информацию и помещает на форму, а затем отправляет этот контент на сервер. Данный метод используется при необходимости передавать большие объемы информации или файлы.
  • HTTP(S) POST-флуд - это тип DDoS-атаки, при котором количество POST-запросов переполняют сервер так, что сервер не в состоянии ответить на все запросы. Это может привести к исключительно высокому использованию системных ресурсов, и, в последствии, к аварийной остановке сервера.

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

SYN-флуд (TCP/SYN) устанавливает полуоткрытые соединения с узлом. Когда жертва принимает SYN-пакет через открытый порт, она должна послать в ответ SYN-ACK пакет и установить соединение. После этого инициатор посылает получателю ответ с ACK-пакетом. Данный процесс условно называется рукопожатием. Однако, во время атаки SYN-флудом рукопожатие не может быть завершено, т.к. злоумышленник не отвечает на SYN-ACK сервера-жертвы. Такие соединения остаются полуоткрытыми до истечения тайм-аута, очередь на подключение переполняется и новые клиенты не могут подключиться к серверу.

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

ICMP-флуд . Протокол межсетевых управляющих сообщений (ICMP) используется в первую очередь для передачи сообщений об ошибках и не используется для передачи данных. ICMP-пакеты могут сопровождать TCP-пакеты при соединении с сервером. ICMP-флуд - метод DDoS атаки на 3-м уровне модели OSI, использующий ICMP-сообщения для перегрузки сетевого канала атакуемого.

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

Классификация и цели DDoS-атак по уровням OSI

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

DDoS-атаки возможны на каждом из семи уровней. Рассмотрим их подробнее.

7-й уровень OSI: Прикладной

Что делать: Мониторинг приложений - систематический мониторинг ПО, использующий определенный набор алгоритмов, технологий и подходов (в зависимости от платформы, на котором это ПО используется) для выявления 0day-уязвимостей приложений (атаки 7 уровня). Идентифицировав такие атаки, их можно раз и навсегда остановить и отследить их источник. На данном слое это осуществляется наиболее просто.

6-й уровень OSI: Представительский

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

5-й уровень OSI: Сеансовый

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

4-й уровень OSI: Транспортный

Что делать: Фильтрация DDoS-трафика, известная как blackholing - метод, часто используемый провайдерами для защиты клиентов (мы и сами используем этот метод). Однако этот подход делает сайт клиента недоступным как для трафика злоумышленника, так и для легального трафика пользователей. Тем не менее, блокировка доступа используется провайдерами в борьбе с DDoS-атаками для защиты клиентов от таких угроз, как замедление работы сетевого оборудования и отказ работы сервисов.

3-й уровень OSI: Сетевой

Что делать: Ограничить количество обрабатываемых запросов по протоколу ICMP и сократить возможное влияние этого трафика на скорость работы Firewall и пропускную способность интернет-полосы.

2-й уровень OSI: Канальный

Что делать: Многие современные свитчи могут быть настроены таким образом, что количество MAC адресов ограничивается надежными, которые проходят проверку аутентификации, авторизации и учета на сервере (протокол ААА) и в последствии фильтруются.

1-й уровень OSI: Физический

Что делать: использовать систематический подход к мониторингу работы физического сетевого оборудования.

Устранение крупномасштабных DoS/DDoS-атак

Хотя атака возможна на любом из уровней, особой популярностью пользуются атаки на 3-4 и 7 уровнях модели OSI.

  • DDoS-атаки на 3-м и 4-м уровне - инфраструктурные атаки - типы атак, основанные на использовании большого объема, мощного потока данных (флуд) на уровне инфраструктуры сети и транспортном уровне с целью замедлить работу веб-сервера, «заполнить» канал, и в конечном счете помешать доступу других пользователей к ресурсу. Эти типы атак как правило включают ICMP-, SYN- и UDP-флуд.
  • DDoS атака на 7-м уровне - атака, заключающаяся в перегрузке некоторых специфических элементов инфраструктуры сервера приложений. Атаки 7-го уровня особенно сложны, скрыты и трудны для выявления в силу их сходства с полезным веб-трафиком. Даже самые простенькие атаки 7-го уровня, например, попытка входа в систему под произвольным именем пользователя и паролем или повторяющийся произвольный поиск на динамических веб-страницах, могут критически загрузить CPU и базы данных. Также DDoS злоумышленники могут неоднократно изменять сигнатуры атак 7-го уровня, делая их еще более сложными для распознавания и устранения.

Некоторые действия и оборудование для устранения атак:

  • Брандмауэры с динамической проверкой пакетов
  • Динамические механизмы SYN прокси
  • Ограничение количества SYN-ов за секунду для каждого IP-адреса
  • Ограничение количества SYN-ов за секунду для каждого удаленного IP-адреса
  • Установка экранов ICMP флуда на брандмауэре
  • Установка экранов UDP флуда на брандмауэре
  • Ограничение скорости роутеров, примыкающих к брандмауэрам и сети