Нефть и песок О стали Компрессор - подбор и ошибки Из истории стандартизации резьб Соперник ксерокса - гектограф Новые технологии производства стали Экспорт проволоки из России Прогрессивная технологическая оснастка Цитадель сварки с полувековой историей Упрочнение пружин Способы обогрева Назначение, структура, характеристики анализаторов Промышленные пылесосы Штампованные гайки из пружинной стали Консервация САУ Стандарты и качество Технология производства Водород Выбор материала для крепежных деталей Токарный резец в миниатюре Производство проволоки Адгезия резины к металлокорду Электролитическое фосфатирование проволоки Восстановление корпусных деталей двигателей Новая бескислотная технология производства проката Синие кристаллы Автоклав Нормирование шумов связи Газосварочный аппарат для тугоплавких припоев
Главная страница / Архитектура отрасли

АГЕНТ ОБНАРУЖЕН

Появившиеся несколько лет

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

Однако уже летом 1999 года был зарегистрирован новый тип удаленного нападения на информационные системы с использованием сети Интернет, получивший название «распределенная атака с отказом в обслуживании» (Distributed Denial of Service, DDoS). Ряд известных Интернет-сайтов был успешно атакован с использованием этого типа нападения, в том числе сайты eBay, Yahoo! и др. В конце 1999 – начале 2000 года волна подобных атак прокатилась и по российскому сегменту Сети. Результат этой серии виртуальных кибератак – миллионы долларов убытка.

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

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

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

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

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

Большинство средств организации DDoS-атак основано на одной и той же базовой концепции и топологии. Первыми инструментальными средствами организации рассматриваемого типа атак были программные комплексы Trin00 и Tribe Flood Network (tfn), обусловившие появление следующего поколения таких средств, как Tribe Flood Network 2000 (TFN2K) и STACHELDRAHT. Следуеиспользуются для перехвата данных или проникновения в компьютерную систему, они служат исключительно для разрушения нормального трафика в районе узла-мишени.

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

Как правило, программные средства организации DDoS-атак

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

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

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

«затопления» выбранной мишени.

Большинство рассматриваемых программных средств нападения работают под управлением операционных систем Linux или Solaris, в то время как TFN2K может функционировать как под Windows, так и под Linux и Solaris.

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

Вторую стадию этого нападения (рис. 2) не удастся реализовать, до тех пор пока не будет скомпрометировано большое число машин,

необходимых для формирования мощного потока ложных пакетов.

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

Как правило, порожденный трафик использует TCP протокол. Цель, на которую обрушивается этот поток, не в состоянии сразу обработать все поступающие

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

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

Связь между руководителями и агентами в двух ранних инструментах, Trin00 и TFN, основана на применении TCP/IP протокола. Организуемые каналы связи не использовали шифрование за исключением элементарного пароля для сокрытия передачи команд. Последние же инструменты – TFN2K и Stacheldraht шифруют большинство коммуникаций между руководителями и агентами, применяя алгоритмы Blowfish или CAST.

Кроме различия в способах организации связи, указанные средства отличаются методом нападения. Так, Trin00 нападает только с использованием UDP-потока. Все другие инструменты позволяют нападающему выбирать между UDP, SYN и ICMP. TFN2K предусматривает также метод нападения Тarga3 и смешанное нападение, которое использует UDP-, SYN- и ICMP-потоки в равных пропорциях.

Описание средств проведения распределенных атак с отказом в обслуживании

Trin00

Программное обеспечение агента может быть установлено на Linux и Solaris системах. На некоторых системах метод внедрения Trin00 агента использует crontab вход, чтобы ежеминутно возобновлять процесс. Это позволяет программе заново приступать к работе, если локальная система ее завершает.

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

Создатели программы предусмотрели ввод пароля для установления связи. Если фиксируется

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

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

Обнаружить Trin00 затруднительно. Существует множество псевдонимов Trin00-агента: ns, http, rpc. Trin00, rpc.listen, trinix, rpc.irix и irix. Один из путей обнаружения агентов – периодический контроль crontab-файлов на предмет выявления

одного из этих процессов. В сценариях, используемых для автоматизированной установки Trin00 в сети, предусматривается UNIX-команда «rcp».

Сервер-руководитель обнаружить еще сложнее. Единственный действенный метод обнаружения состоит в том, чтобы искать скрытый файл «...». «Три точки» – типовое название файла для известных агентов, которыми руководитель может управлять. Файл расположен в том же каталоге, что и бинарный код сервера руководителя.

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

Когда Trin00-агент активирован, он сообщает о готовности, посылая UDP-пакет, содержащий строку «*HELLO*» по запрограммированному IP-адресу его Trin00-руководителя. Агенты получают ответ руководителя с UDP-пакетом, содержащим строку «PONG». Контроль двух UDP-портов связи (27444 и 31335) на предмет наличия этих строк может принести хорошие результаты при организации контрмер.

Tribe Flood Network

Действие Tribe Flood Network (tfn) во многом аналогично Trin00. Руководители поддерживают список известных агентов (названный «iplist»), с которыми они могут входить в контакт. В текущей версии программы «iplist», согласно имеющимся данным, в последних обнаруженных установках tfn-агентов выявлены сигнатуры, указывающие на то, что автор добавил шифрование по алгоритму Blowfish.

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

TFN может организовывать атаку посредством использования различнCMP-поток и другие.

Взаимодействие с клиентом устанавливается путем передачи 16-разрядного двоичного числа в поле «ID» ICMP_ECHOREPLY-пакета. Эти числа легко изменить в исходном тексте программы. Любые параметры прослеживаются как ASCII-текст в поле данных ICMP_ECHOREPLY-пакета.

Связь между руководителем и агентами реализована с использованием обратных ICMP_ECHOREPLY-пакетов. Сложно блокировать весь ICMP-трафик так, чтобы не нарушить нормальной работы большинства программ в сегменте Интернет. Оперативный контроль за «rcp»-соединением от нескольких систем внутри контролируемой сети в поисках отдельного IP-адреса, расположенного вне этой сети, – хороший сигнал для обнаружения атаки.

При этом ПО обнаружения вторжения должно быть конфигурировано так, чтобы обнаруживать

большое число ICMP-пакетов с различными исходными IP-адресами, отправленными по одному и

тому же IP-адресу.

Tribe Flood Network 2000

Создатель TFN2K разработал этот инструмент нападения с целью проиллюстрировать тот факт, что инструментальные средства злоумышленников становятся все более изощренными. Разработчик выбрал атаку с отказом в обслуживании, поскольку в этом случае результаты наиболее красноречивы.

Исходный текст этого инструмента можно компилировать на разных операционных системах, в том числе Linux, Solaris, других вариантах UNIX, а также Windows.

TFN2K использует классические виды атак с отказом в обслуживании типа ICMP-, SMURF-, SYN- и UDP-потоков. В дополнение к ним применяются атака Targa3 и смешанные атаки.

Вариант атаки Targa3 осуществляется с использованием случайных нестандартных IP-пакетов, которые разрушают некоторые IP-стеки или провоцируют их некорректную работу. Смешанная атака посылает UDP-, SYN- и ICMP-пакеты в равных пропорциях, что

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

Все виды нападения не обходятся без имитации IP-адресов. Связь между нападающим и руководителем построена на случайном выборе протоколов (TCP, UDP или ICMP) таким образом, чтобы никакой распознаваемый образец (сигнатура) не мог быть найден в таких пакетах. Данный подход обеспечивает возможность прохода сквозь любые механизмы фильтрации. Специальный протокол, известный как «Tribe Protocol», реализуется с использованием полей данных пакетов. Протокол шифруется с помощью алгоритма CAST-256 и кодируется с использованием Base64, а затем декодируется и расшифровывается руководителем. В отличие от других инструментальных средств DDoS здесь нет никакой обратной связи с нападающим. Взамен этого атакующий компьютер генерирует команды каждые 20 тактов, полагаясь на вероятность того, что руководитель примет по крайней мере одну из них.

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

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

Указанные характеристики создают ряд утилит обнаружения программного обеспечения DDoS-атак. Программы Дейва Диттрича и Дэвида Брумлея (о которых речь пойдет ниже) малоэффективны. Инструмент NIPC в этом случае также неприменим.

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

Вместе с тем ряд экспертов по безопасности отмечают, что есть одна особенность кодирования информации с помощью base64. В конце каждого пакета TFN2K независимо от протокола и алгоритма шифрования существует последовательность 0x41, которая транслируется как «A».

STACHELDRAHT

Данная программа объединяет характерные особенности Trin00 и TFN и, кроме того, обеспечивает зашифрованную связь между клиентом и руководителем, а также

автоматизированное удаленное обновление ПО агентов. Подобно инструментальным средствам, рассмотренным выше, Stacheldraht выполняется на Linux и Solaris. Архитектура такая же, как у TFN и Trin00.

Для контакта с руководителями нападающий использует зашифрованный сеанс связи, аналогичный telnet. Существует предел в 6 тыс. агентов, которыми обработчик может управлять. Обработчик и агент могут связываться по ICMP_ECHOREPLY. Связь между нападающим и обработчиком осуществляется с помощью симметричного ключевого шифрования.

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

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

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

обработчик IP-адресов. Как только агент получает список потенциальных руководителей, он

начинает посылать пакеты ICMP_ECHOREPLY с полем ID, равным 666, и полем даты, содержащим строку «skillz». Как показывает практика, все это было справедливо для версии 1.1 и сохраняется в версии 4.0. Руководитель отвечает строкой «ficken» и значением 667 в поле ID. При этом связь выполняется открытым текстом и может быть пacheldraht гораздо труднее обнаружить, чем любое из предыдущих средств нападения.

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

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

Продолжение следует

Главная страница / Архитектура отрасли