Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

articles:amp-snort [2017/09/05 02:55] (текущий)
Строка 1: Строка 1:
 +====== AMP-Snort ======
 +<​sub>​{{AMP-Snort.odt|Original file}}</​sub>​
 +
 +====== ночь живых мертвецов —\\ активная защита против малвари ======
 +
 +крис касперски,​ ака мыщъх, ака nezumi, no email
 +
 +**броня крепка и кони наши быстры! антивирусы в смысле. да где же мы быстрых антивирусов видели?​! они же тормозят как… ну прямо как танки! и ни хвоста не ловят! а малварь идет косяками и если ее не прищемить,​ она сожрет все данные и даже ни разу не подавится. персональные брандмауэры отдыхают,​ тихо куря в сторонке. до сих пор _реально_ действующие защитные комплексы были доступны лишь крупным провайдерам,​ теперь же они приходят в массы!**
 +
 +===== введение =====
 +
 +Люди верят в антивирусы,​ и, хотя антивирусы им не очень-то помогают,​ они уже давно стали непременным атрибутом безопасности. Даже со старыми базами месячной давности. Антивирусная индустрия,​ изначально ориентированная на отлов вирусов,​ разрабатывающихся месяцами и внедряющих свою, возможно измененную копию, в исполняемые файлы, распространяемые через дискеты,​ BBS или первобытные компьютерные сети типа FIDO, оказалась тупиковой ветвью эволюции,​ паразитирующей на вирусах и обреченной на вымирание,​ агонию которой мы уже наблюдаем.
 +
 +===== IDS, IPS, AMP, Snort и товарищи =====
 +
 +Вирусы изменились! Точнее исчезли,​ уступив место компьютерным червям,​ появляющихся чуть ли не каждый день, написанных на С/​DELPHI/​Visual Basic'​е,​ ни в какие файлы не внедряющиеся и зачастую обитающих исключительно в оперативной памяти. Руткиты и почтовые троянские кони — это для детишек. Нормальная мальварь похожа на крылатую ракету. Быструю,​ стремительную,​ накрывающую цель точечным ударом и самоуничтожающуюся в случае неудачной атаки. Действительно,​ какой смысл торчать на машине,​ если пароли вместе с электронными деньгами уже ушли в неизвестном направлении и червь может смело делать себе харакири,​ благо пока все дыры не заткнуты,​ он, в случае необходимости,​ будет приходить вновь и вновь.
 +
 +Антивирусные компании испытывают серьезные проблемы с поиском образцов свежей малвари,​ покупая ее за нехилые деньги у того же VirusTotal'​а или Norman'​а (ой, что я такое говорю?​! это же секретная информация!). Наглядный тому пример — Rustock.C. Когда одни антивирусные компании (имеющие связь с миром андеграудна) уже выпустили лекарство,​ другие (такой связи, очевидно,​ не имеющие) — лихорадочно пытались заполучить хотя бы один рабочий образец. А смысл? По данным компаний,​ владеющих распределенными сенсорными сетями,​ эпидемия рустока завершилась еще _до_ выпуска лекарства в свет (по другим данным — спустя несколько дней после его выхода). Русток сделал свое дело, подняв бот-нет,​ прокачавший через себя нехилый объем хакерского трафика,​ после чего осел в частных коллекциях,​ ну и в антивирусных базах. О! Как круто ловить вирус, которого можно встретить разве что на http://​www.offensivecomputing.net/​ да и то после предварительной регистрации.
 +
 +Новое время требует новых решений. Пионерами борьбы с червями (и зловещими хакерами) стали системы обнаружения вторжений,​ они же Intruder Detection System или, сокращенно,​ IDS. В отличии от антивирусов и pro-активных механизмов,​ работающих с файлами и хучащих операционную систему,​ так что она постоянно сваливается в голубой экран смерти,​ IDS поступает совсем не так. IDS садится на интерфейс,​ прогоняя через себя весь входящий/​исходящий сетевой трафик и через специальную базу "​правил"​ (фактически тех же самых сигнатур),​ ловит подозрительные пакеты или детектит специфичную сетевую активность,​ поднимая сигнал тревоги. Естественно,​ сигнатуры необходимо обновлять,​ иначе IDS ни хвоста не сможет распознать. А где их брать? Сигнатуры в смысле?​!
 +
 +Пополнение сигнатур осуществляется из двух основных источников. Первый — это honey-pot'​ы — "​горшки с медом"​ или "​капканы"​ для червей,​ реализованные на базе умышленно незащищенных компьютеров (виртуальных машин) с кучей дыр, куда малварь устремляется мощными косяками,​ возбуждая специально сконструированную систему сенсоров,​ тут же "​выцарапывающих"​ червей из TCP/IP потока и забрасывающих их в сигнатурную базу, в результате чего остальные узлы, оснащенные IDS, автоматически распознают малварь и поднимают администратора по тревоге.
 +
 +Второй источник — ручной анализ свежих дыр с ручным же созданием регулярных выражений,​ описывающих практически все возможные комбинации зловредного кода, благодаря чему, малварь еще не написана,​ а она уже в базе! И это никакая не эвристика,​ а конкретная сигнатура (точнее,​ набор сигнатур),​ который не так-то просто обломать,​ особенно с учетом того, рядовым пользователям сигнатуры недоступны и лицензируются только крупным компаниям по подписке за деньги.
 +
 +Локальные антивирусы с эвристическими анализаторами на борту доступным всем желающим и прежде чем выпускать червя в сеть, хакеры многократно прогоняют его через кучу антивирусов,​ совершенствуя код до тех пор, пока не заткнуться все эвристики. Собственно потому,​ эвристический анализ и не работает. Даже если эвристик настолько крут, что ловит 99,996 еще неизвестной малвари,​ то оставшихся 0,004% вполне достаточно для эпидемии глобальных масштабов,​ не говоря уже о том, что цифры, приводимые разработчиками антивирусов,​ выражаются не в процентах,​ а в попугаях. Да-да, именно в попугаях. Проценты — это всегда проценты от чего-то. От чего? Если брать малварь написанную с учетом обхода эвристика,​ мы получим 0%, если же брать всю малварь… гм, а оно нам нужно?​! Обилие пионерский червей,​ конечно,​ повышает процентаж,​ но нас интересуют не маркетинговые данные,​ а реальная защищенность,​ которая,​ увы, существует только в маркетинговых проспектах и в умах доверчивых пользователей,​ начитавшихся рекламной мишуры.
 +
 +По большому счету, качество детекции у IDS ничуть не выше, но! Недоступность коммерческих реализаций и невозможность "​обкатки"​ малвари,​ погружают хакера во тьму, вынуждая его действовать наугад,​ наступая на заботливо расставленные капканы и грабли,​ обойти которые может разве что ясновидец или же… непосредственно сам разработчик IDS, но ни тех, ни других среди хакеров не наблюдается,​ а потому IDS'ы рулят.
 +
 +{{amp-snort_Image_0.png?​552}}
 +
 +Рисунок 1 схематическое устройство типичной системы обнаружения/​блокировки вторжений
 +
 +Главным (и, пожалуй,​ единственным) недостатком IDS'​ов является их пассивность. Они словно посторонние наблюдатели,​ распознающие вторжение,​ но не предпринимающие никаких мер по его предотвращению,​ хотя с технической стороны заблокировать трафик — раз плюнуть. Так почему же IDS'ы этого не делают?​! Причина в огромном количестве ложных позитивных срабатываний. При простой записи в лог — проблем не возникает. (администраторы любят анализировать длинные логи), а вот блокировка трафика из-за каждого пустяка превращает IDS в замечательное средство для DoS атак, причем его даже атаковать не нужно. Он и сам с перепугу замурует все входы/​выводы,​ словив совершенно честный пакет.
 +
 +Когда же IDS достигли приемлемого качества распознавания атак, их тут же переименовали в IPS – Intruder Prevention System – Системы Предотвращения Вторжений. Базовые принципы работы остались неизменными. Старые продукты под новой торговой маркой. Ясное дело, чтобы срубить с пользователей побольше бабла (а что? некоторые ставят одновременно и IDS, и IPS, хотя по сути дела, IDS реализует подмножество функций IPS и при наличии последнего просто не нужен, ну разве что достался в подарок от производителей сетвых девайсов).
 +
 +Кстати,​ о подарках. С некоторого времени IDS/IPS стали встраиваться в персональные брандмауэры,​ точки беспроводного доступа,​ модемы и т.д., и т.п. Однако,​ качество встраиваемых защит крайне невелико. Доступа к сигнатурным базам (за редкими исключениями) они не имеют, а потому ловят только клинически устаревшую малварь,​ использующую типовые сценарии атаки, разработанные несколько лет тому назад.
 +
 +IDS/​IPS,​встроенные в "​промышленные"​ марштутизаторы от CISCO, работают намного лучше. Точнее сказать,​ CISCO IPS _работает_,​ а та штука, что встроена в персональный брандмауэр,​ только набивает себе цену. Кстати,​ о цене. До недавнего времени,​ IDS/IPS стоили очень и очень дорого,​ что в конечном счете (спрос рождает предложение) привело к появлению аналогов от независимых производителей,​ из которых мы рассмотрим два наиболее известных продукта:​ коммерческий AMP (Active Malware Protection) от Endeavor Security и открытый проект Snort, сравнивая их сильные и слабые стороны.
 +
 +===== Snort =====
 +
 +Система обнаружения вторжений по имени Snort (с логотипом свиньи с вооот-такими ноздрями) позиционируется как Open-Source проект,​ исходные тексты которого можно в любой момент скачать с официального сайта http://​www.snort.org. Там же можно найти и многочисленные порты под любые системы:​ от XP до прошивок DSL-модемов и беспроводных точек доступа. Правда,​ с установкой придется,​ мягко выражаясь,​ попыхтеть. Юзабельность на уровне черного экрана командой строки. Системы генерации отчетов в удобночитаемом виде как бы есть, но пользы от них немного и сквозь отчет приходится продираться как через оккупированную хрюшками свинофабрику.
 +
 +{{amp-snort_Image_1.png?​553}}
 +
 +Рисунок 2 www.snort.org – официальный сайт одной из самых популярных IDS с открытыми исходными текстами
 +
 +Ладно, все это мелочи. Пора поговорить о главном,​ то есть о деньгах. Оказывается,​ что Snort далеко не бесплатный,​ хотя и свободный. Без сигнатурной базы Snort практически бесполезен,​ а за доступ к базе надо платить,​ выкладывая за годовую подписку от $30 до $500 в зависимости от количества установленных сенсоров и потребностей. Без подписки зарегистрированные пользователи (то есть халявщики) получают сигнатуры через 30 дней —порядком протухшие и не сильно полезные (последнее время вспышки вирусной активности носят кратковременный характер и через 30 дней вирусная агрессия,​ как правило,​ сходит на нет и в сети наблюдается мелкая "​рябь"​ остаточной активности). Незарегистрированные пользователи получают сигнатуры по мере выхода новых релизов Snort'​а,​ удивляясь,​ как эта штука стала стандартом де-факто в мире открытых IDS?! Ведь она же совсем не работает!
 +
 +{{amp-snort_Image_2.png?​553}}
 +
 +Рисунок 3 открытость Snort'​а еще не подразумевает его бесплатность
 +
 +Бесспорно,​ среди открытых проектов — Snort самый лучший и детально описанный в десятках книг, спектр целевой аудитории которых распластался от чайников,​ до администраторов,​ самостоятельно пишущих сигнатуры (или, точнее,​ в терминах Snort'​а — рулеза от английского rules, что переводится как "​правило [поведения]"​),​ вместо того, чтобы лицензировать уже готовые у ведущих поставщиков.
 +
 +На этом достоинства Snort'​а и заканчиваются. Классический пример продукта в стиле: откомпилировали исходные тексты (попутно исправив кучу ошибок) — получился паровоз,​ откомпилировали опять — снова паровоз! Перевернули всю документацию,​ пока наконец не нашли сноску:​ доработать напильником до самолета. И нечего жаловаться! Ведь исходные тексты бесплатны! А готовые наборы сигнатур,​ составленные неизвестно кем и неизвестно для чего, это не Zen-way. Настоящие администраторы пишут все сигнатуры самостоятельно,​ обложившись кучей литературы (не бесплатной однако),​ сигаретами и всеми прочими атрибутами хакерской жизни. Ладно, заканчиваем со Snort'​ом и переходим к действительно серьезным вещам, повернутым лицом к пользователю.
 +
 +===== AMP =====
 +
 +Основной конкурент Snort'​а — это Active Malware Protection от Endeavor Security (www.endeavorsecurity.com). Коммерческий продукт с дружелюбным интерфейсом и потрясающими возможностями,​ приправленными качественно сконструированными и тщательно отлаженными сигнатурами,​ дающих минимум ложных срабатываний,​ что позволяет использовать AMP и как IDS, и как IPS. Полный аппаратно-программный комплекс стоит порядка $13k, причем не "​вообще",​ а за год. По лицензии. А что?! Для крупных ISP вполне подъемная сумма, окупающая себя за счет подавления "​паразитного"​ трафика,​ создаваемого червями,​ ботнетами и всякой прочей нечестью.
 +
 +{{amp-snort_Image_3.png?​553}}
 +
 +Рисунок 4 панель WEB-интерфейса по управлению AMP
 +
 +А как быть рядовым пользователям?​! Мыщъх убедил руководство компании создать бесплатную демонстрационную версию с ограничением по количеству малвари,​ детектируемой в единицу времени. Скажем,​ не более 100 червей в день, что для большинства из нас более, чем достаточно!!! Даже в разгар эпидемий мыщъхиный компьютер пытаются атаковать примерно раз в полчаса,​ что дает нам двойной запас по прочности.
 +
 +Программная составляющая представляет собой дистрибутив в формате rpm, требующий процессора не хуже P-4, операционную систему типа Fedora Core 6 и, как минимум,​ одну сетевую карту. На Windows AMP принципиально не устанавливается,​ но… на этот случай существуют виртуальные машины со своими же виртуальными сетями и сетевыми трансляторами,​ связывающими виртуальную сеть с внешним миром.
 +
 +В зависимости от целей, преследуемых пользователем,​ варианты установки варьируются в широких пределах. Если нам нужна система обнаружения вторжений,​ мы просто ставим Федору на VM Ware, инсталлируем AMP и даем ей доступ к физической сети, чтобы она ловила все проходящие пакеты,​ распознавая атаки (как успешные,​ так и обломавшиеся) вместе со следами присутствия малвари,​ что открывает огромное поле для экспериментов,​ позволяя,​ в частности,​ коллекционировать свежих червей и вести мониторинг вирусной активности.
 +
 +{{amp-snort_Image_4.png?​553}}
 +
 +Рисунок 5 в сети свирепствует червь Worm.Allaple-2,​ совершающий набеги на беззащитные узы
 +
 +Функционируя в режиме IDS (системы обнаружения вторжений),​ AMP никак не защищает компьютер от атак, а лишь информирует,​ что нас поимели. Гм, ну это мы и без AMP рано или поздно узнаем. Как насчет укрепления линии обороны?​ В идеале нам потребуется отдельный компьютер,​ включенный в разрыв сетевого кабеля,​ но в "​бюджетном"​ варианте можно обойтись и без него, воспользовавшись все той же VM Ware, чья виртуальная сеть конфигурируется так, чтобы весь трафик проходил через гостевую операционную систему с AMP – тогда AMP получит возможность блокировать вредоносные пакеты в реальном времени без отрыва от производства. Однако,​ при этом придется задействовать NAT (транслятор сетевых адресов,​ встроенный в VM Ware), а через NAT работают далеко не все программы,​ или работают,​ но в ограниченном режиме (скажем,​ Осел). К тому же, такая схема защиты не предотвращает атаки на TCP/IP стек базовой операционной системы,​ в котором так же имеются дыры. Впрочем,​ подавляющее большинство дыр сосредоточено в прикладных протоколах и приложениях типа IE, а дыры в TCP/IP стеке — это целое событие! И такие события можно пересчитать по пальцам одной руки. Ну, хорошо,​ двух рук — но это уже за все время существования NT.
 +
 +{{amp-snort_Image_5.png?​552}}
 +
 +Рисунок 6 детальная информация по отдельно взятому инциденту с возможностью скачивания экземпляра червя (разной степени "​потрепанности"​) на свою локальную машину
 +
 +Хорошая идея — пускай IE и другие потенциально небезопасные приложения работают через AMP, установленную на виртуальной машине,​ а программы,​ которым мы доверяем (например,​ Осел), ходят в сеть напрямую,​ что обеспечит полный комфорт и сухость.
 +
 +===== >>>​ врезка хроника пикирующего бомбардировщика =====
 +
 +Помимо локальной копии, фиксирующей атаки на заданный узел, пользователи AMP получают бесплатный доступ к демонстрационному аккаунту,​ который,​ пускай и с ограничениями,​ отображает текущую статистику вторжений в реальном времени. Очень полезная штука для анализа вирусной активности. В частности,​ 16 июля 2008 года произошел взрыв. Нет, не ядерный. Просто резкая и непонятно чем обоснованная вспышка вирусной активности,​ сошедшая на нет уже через несколько дней.
 +
 +AMP позволяет не только наблюдать за вирусами,​ но и скачивать образцы,​ отловленные распределенной сетью honey-pot'​ов,​ причем не только вирусов,​ атакующих наш узел, но и всех пойманных вирусов вообще! Лучшего средства для пополнения частных вирусных коллекций,​ пожалуй,​ и не придумаешь. Правда,​ не все так радужно. Больше половины малвари "​вытягивается"​ в сильно побитом состоянии. Есть голова,​ но нет хвоста. Или же, наоборот,​ червь длинною в 9.6 Кб, захваченный вместе с посторонним трафиком,​ вырастает до мегабайтный размеров,​ что, естественно,​ сбивает столку,​ затрудняя анализ. Впрочем,​ учитывая,​ что количество пойманных штаммов одного и того же вируса исчисляется сотнями,​ всегда можно "​выдрать"​ наиболее качественный экземпляр,​ с которым уже и работать.
 +
 +{{amp-snort_Image_6.png?​553}}
 +
 +Рисунок 7 hex-дамп атакующего shell-кода с возможностью скачки на компьютер в бинарный файл
 +
 +Но черви это ерунда. Их и на http://​www.offensivecomputing.net найти можно. Уникальность AMP в том, что она ловит (и позволяет скачивать для исследования!) еще и shell-коды,​ т.е. атакующие компоненты червя, вызывающие переполнения буфера,​ и загружающие "​хвост",​ чаще всего реализованный в виде обычного exe/dll/sys файла, реже — чего-то сильно необычного и без загрузчика практически не поддающегося анализу (взять хотя бы нашумевший Rustock.C, когда реверсеры рвали на себе волосы в разных местах,​ умоляя бога послать им дроппер,​ ну то есть тот код, который забрасывает Rustock'​а на заражаемые компьютеры).
 +
 +===== заключение =====
 +
 +Проникнуть на компьютер,​ защищенный Snort'​ом,​ AMP или другой качественной IPS, практически невозможно. Допустим,​ хакер обнаружил новую, еще никому неизвестную уязвимость в… ну, это, впрочем,​ неважно. Допустим,​ так же, что атака основана на переполнении буфера,​ а жертва использует XP SP2+ с аппаратным DEP, задействованным для всех приложений. В этом случае первая фаза атаки — копирование shell-кода из стека в специально выделенную область памяти с атрибутами,​ разрешающими чтение,​ запись и выполнение. Технически это реализуется через последовательность вызовов API функций,​ чьи адреса хакер засылает в стек, что легко описывается языком сигнатур и распознается системой обнаружения вторжений независимо от того какое именно приложение (или сетевая служба) атакуется.
 +
 +В умелых руках AMP превращается в мощный инструмент борьбы с агрессорами,​ действующий на автопилоте и не требующий внимания со стороны оператора. К сожалению,​ если за компьютером сидит существо типа "​секретарша",​ то… AMP эффективно парсит TCP-протокол с сетевого уровня,​ и декодирует HTTP, а так же файлы различных форматов,​ такие, например,​ как MS Word или PDF — в них то же встречаются ошибки переполнения! Достаточно лишь открыть их. Увы! PDF, выложенный на WEB/FTP, распарсить (на сетевом уровне) еще возможно,​ но это уже ​ предел (во всяком случае для AMP). Тот же самый PDF, начиненный shell-кодом,​ и упакованный zip'​ом или rar'​ом на сетевом уровне ни AMP, ни другие системы обнаружения вторжений,​ не распарсят,​ ибо если парсить абсолютно все — никаких вычислительных мощностей не хватит и мы получим такие тормоза,​ что ну ее на фиг эту безопасность.
 +
 +Тоже самое относится и к обычным исполняемым файлам,​ внутри которых может находится все что угодно:​ от AdWare до троянских коней. AMP в принципе не защищает от атак подобного рода. Это все-таки не антивирус. А антивирусы известно где — на VirusTotal. AMP плюс VirusTotal (или локальный антивирус) плюс песочница типа Norman Sand Box – хоть и не панацея,​ но во всей своей совокупности обеспечивают вполне приемлемый уровень защищенности.
 +
 +