До сих пор нет точного определения термина "атака" (вторжение, нападение). Каждый специалист в области безопасности трактует его по-своему. Наиболее правильным и полным я считаю следующее определение.
Атакой на информационную систему называются преднамеренные действия злоумышленника, использующие уязвимости информационной системы и приводящие к нарушению доступности, целостности и конфиденциальности обрабатываемой информации.
Устраним уязвимости информационной системы - устраним и возможность реализации атак.
На сегодняшний день считается неизвестным, сколько существует методов атак. Говорят о том, что до сих пор отсутствуют какие-либо серьезные математические исследования в этой области. Но еще в 1996 году Фред Коэн описал математические основы вирусной технологии. В этой работе доказано, что число вирусов бесконечно. Очевидно, что и число атак бесконечно, поскольку вирусы - это подмножество множества атак.
Традиционная модель атаки
строится по принципу (рис.1)
или (рис.2), т.е. атака исходит из одного источника.
Разработчики сетевых средств защиты (межсетевых экранов, систем обнаружения
атак и т.д.) ориентированы именно на традиционную модель атаки. В различных
точках защищаемой сети устанавливаются агенты (сенсоры) системы защиты, которые
передают информацию на центральную консоль управления. Это облегчает
масштабирование системы, обеспечивает простоту удаленного управления и т.д.
Однако такая модель не справляется с относительно недавно (в 1998 году)
обнаруженной угрозой - распределенными атаками.
Рисунок 1. Отношение "один к одному"
В модели распределенной атаки используются иные принципы. В отличие от традиционной модели в распределенной модели используются отношения (рис.3) и (рис.4).
Распределенные атаки основаны на "классических" атаках типа "отказ в обслуживании ", а точнее на их подмножестве, известном как Flood-атаки или Storm-атаки (указанные термины можно перевести как "шторм", "наводнение" или "лавина"). Смысл данных атак заключается в посылке большого количества пакетов на атакуемый узел. Атакуемый узел может выйти из строя, поскольку он "захлебнется" в лавине посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. По такому принципу работают атаки SYN-Flood, Smurf, UDP Flood, Targa3 и т.д. Однако в том случае, если пропускная способность канала до атакуемого узла превышает пропускную способность атакующего или атакуемый узел некорректно сконфигурирован, то к "успеху" такая атака не приведет. Например, с помощью этих атак бесполезно пытаться нарушить работоспособность своего провайдера. Но распределенная атака происходит уже не из одной точки Internet, а сразу из нескольких, что приводит к резкому возрастанию трафика и выведению атакуемого узла из строя. Например, по данным России-Онлайн в течение двух суток, начиная с 9 часов утра 28 декабря 2000 г. крупнейший Internet-провайдер Армении "Арминко" подвергался распределенной атаке. В данном случае к атаке подключились более 50 машин из разных стран, которые посылали по адресу "Арминко" бессмысленные сообщения. Кто организовал эту атаку, и в какой стране находился хакер - установить было невозможно. Хотя атаке подвергся в основном "Арминко", перегруженной оказалась вся магистраль, соединяющая Армению с всемирной паутиной. 30 декабря благодаря сотрудничеству "Арминко" и другого провайдера - "АрменТел" - связь была полностью восстановлена. Несмотря на это компьютерная атака продолжалась, но с меньшей интенсивностью.
Можно выделить следующие этапы реализации атаки:
Обычно, когда говорят об атаке, то подразумевают именно второй этап, забывая
о первом и последнем. Сбор информации и завершение атаки ("заметание следов") в
свою очередь также могут являться атакой и могут быть разделены на три этапа
(см. рис.5).
Рисунок 5. Этапы реализации атаки
Cбор информации - это основной этап реализации атаки. Именно на данном этапе
эффективность работы злоумышленника является залогом "успешности" атаки.
Сначала выбирается цель атаки и собирается информация о ней
(тип и версия операционной системы, открытые порты и запущенные сетевые
сервисы, установленное системное и прикладное программное обеспечение и его
конфигурация и т.д.). Затем идентифицируются наиболее уязвимые места атакуемой
системы, воздействие на которые приводит к нужному злоумышленнику результату.
Злоумышленник пытается выявить все каналы взаимодействия
цели атаки с другими узлами. Это позволит не только выбрать тип реализуемой
атаки, но и источник ее реализации. Например, атакуемый узел взаимодействует
с двумя серверами под управлением ОС Unix и Windows NT. С одним сервером
атакуемый узел имеет доверенные отношения, а с другим - нет. От того, через
какой сервер злоумышленник будет реализовывать нападение, зависит, какая атака
будет задействована, какое средство реализации будет выбрано и т.д. Затем, в
зависимости от полученной информации и желаемого результата, выбирается
атака, дающая наибольший эффект. Например:
SYN Flood, Teardrop, UDP Bomb - для нарушения функционирования узла;
CGI-скрипт - для проникновения на узел и кражи информации;
PHF - для кражи файла паролей и удаленного подбора пароля и т.п.
Традиционные средства защиты, такие как межсетевые экраны или механизмы фильтрации в маршрутизаторах, вступают в действие лишь на втором этапе реализации атаки, совершенно "забывая" о первом и третьем. Это приводит к тому, что зачастую совершаемую атаку очень трудно остановить даже при наличии мощных и дорогих средств защиты. Пример тому - распределенные атаки. Логично было бы, чтобы средства защиты начинали работать еще на первом этапе, т.е. предотвращали бы возможность сбора информации об атакуемой системе. Это позволило бы если и не полностью предотвратить атаку, то хотя бы существенно усложнить работу злоумышленника. Традиционные средства также не позволяют обнаружить уже совершенные атаки и оценить ущерб после их реализации, т.е. не работают на третьем этапе реализации атаки. Следовательно, невозможно определить меры по предотвращению таких атак впредь.
В зависимости от желаемого результата нарушитель концентрируется на том
или ином этапе реализации атаки. Например:
для отказа в обслуживании подробно анализируется атакуемая сеть, в ней
выискиваются лазейки и слабые места;
для хищения информации основное внимание уделяется незаметному проникновению
на атакуемые узлы при помощи обнаруженных ранее уязвимостей.
Рассмотрим основные механизмы реализации атак. Это необходимо для понимания
методов обнаружения этих атак. Кроме того, понимание принципов действий
злоумышленников - залог успешной обороны сети.
1. Сбор информации
Первый этап реализации атак - это сбор информации об атакуемой системе или узле. Он включает такие действия как определение сетевой топологии, типа и версии операционной системы атакуемого узла, а также доступных сетевых и иных сервисов и т.п. Эти действия реализуются различными методами.
На этом этапе нападающий исследует сетевое окружение вокруг предполагаемой цели атаки. К таким областям, например, относятся узлы Internet-провайдера "жертвы" или узлы удаленного офиса атакуемой компании. На этом этапе злоумышленник может пытаться определить адреса "доверенных" систем (например, сеть партнера) и узлов, которые напрямую соединены с целью атаки (например, маршрутизатор ISP) и т.д. Такие действия достаточно трудно обнаружить, поскольку они выполняются в течение достаточно длительного периода времени и снаружи области, контролируемой средствами защиты (межсетевыми экранами, системами обнаружения атак и т.п.).
Существует два основных метода определения топологии сети, используемых злоумышленниками:
По первому методу работают программы traceroute для Unix и tracert для Windows. Они используют поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Для записи маршрута ICMP-пакета может быть использована утилита ping . Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т.д.
Многие из этих методов используются современными системами управления (например, HP OpenView, Cabletron SPECTRUM, MS Visio и т.д.) для построения карт сети. И эти же методы могут быть с успехом применены злоумышленниками для построения карты атакуемой сети.
Идентификация узла, как правило, осуществляется путем посылки при помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют свободно распространяемые программы, которые автоматизируют и ускоряют процесс параллельной идентификации большого числа узлов, например, fping или nmap. Опасность данного метода в том, что стандартными средствами узла запросы ECHO_REQUEST не фиксируются. Для этого необходимо применять средства анализа трафика, межсетевые экраны или системы обнаружения атак.
Это самый простой метод идентификации узлов. Однако он имеет два недостатка.
Существует еще один метод идентификации узлов - использование "смешанного" режима сетевой карты, который позволяет определить различные узлы в сегменте сети. Но он не применим в тех случаях, в которых трафик сегмента сети недоступен нападающему со своего узла, т.е. этот метод применим только в локальных сетях. Другим способом идентификации узлов сети является так называемая разведка DNS, которая позволяет идентифицировать узлы корпоративной сети при помощи обращения к серверу службы имен.
Идентификация сервисов, как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например:
Основной механизм удаленного определения ОС - анализ ответов на запросы, учитывающие различные реализации TCP/IP-стека в различных операционных системах. В каждой ОС по-своему реализован стек протоколов TCP/IP, что позволяет при помощи специальных запросов и ответов на них определить, какая ОС установлена на удаленном узле.
Другой, менее эффективный и крайне ограниченный, способ идентификации ОС узлов - анализ сетевых сервисов, обнаруженных на предыдущем этапе. Например, открытый 139-й порт позволяет сделать вывод, что удаленный узел, вероятнее всего, работает под управлением ОС семейства Windows. Для определения ОС могут быть использованы различные программы. Например, nmap или queso.
Предпоследним шагом на этапе сбора информации об атакуемом узле является определение его роли, например, выполнении функций межсетевого экрана или Web-сервера. Выполняется этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т.п. Например, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета указывает на потенциальное наличие межсетевого экрана, а DNS-имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.
Последний шаг - поиск уязвимостей. На этом шаге злоумышленник при помощи
различных автоматизированных средств или вручную определяет уязвимости, которые
могут быть использованы для реализации атаки. В качестве таких
автоматизированных средств могут быть использованы ShadowSecurityScanner, nmap,
Retina и т.д.
2. Реализация атаки
С этого момента начинается попытка доступа к атакуемому узлу. При этом доступ может быть как непосредственный, т.е. проникновение на узел, так и опосредованный, например, при реализации атаки типа "отказ в обслуживании". Реализация атак в случае непосредственного доступа также может быть разделена на два этапа:
Проникновение подразумевает под собой преодоление средств защиты периметра (например, межсетевого экрана). Реализовываться это может быть различными путями. Например, использование уязвимости сервиса компьютера, "смотрящего" наружу или путем передачи враждебного содержания по электронной почте (макровирусы) или через апплеты Java. Такое содержание может использовать так называемые "туннели" в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же этапу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (например, L0phtCrack или Crack).
После проникновения злоумышленник устанавливает контроль над атакуемым узлом. Это может быть осуществлено путем внедрения программы типа "троянский конь" (например, NetBus или BackOrifice). После установки контроля над нужным узлом и "заметания" следов, злоумышленник может осуществлять все необходимые несанкционированные действия дистанционно без ведома владельца атакованного компьютера. При этом установление контроля над узлом корпоративной сети должно сохраняться и после перезагрузки операционной системы. Это может быть реализовано путем замены одного из загрузочных файлов или вставка ссылки на враждебный код в файлы автозагрузки или системный реестр. Известен случай, когда злоумышленник смог перепрограммировать EEPROM сетевой карты и даже после переустановки ОС он смог повторно реализовать несанкционированные действия. Более простой модификацией этого примера является внедрение необходимого кода или фрагмента в сценарий сетевой загрузки (например, для ОС Novell Netware).
Этапом завершения атаки является "заметание следов" со стороны злоумышленника. Обычно это реализуется путем удаления соответствующих записей из журналов регистрации узла и других действий, возвращающих атакованную систему в исходное, "предатакованное" состояние.
Существуют различные типа классификации атак. Например, деление на пассивные и активные, внешние и внутренние, умышленные и неумышленные. Однако дабы не запутать вас большим разнообразием классификаций, мало применимыми на практике, предлагаю более "жизненную" классификацию:
Компания Internet Security Systems, Inc. еще больше сократила число возможных категорий, доведя их до 5:
Первые 4 категории относятся к удаленным атакам, а последняя - к локальным, реализуемом на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак ("прослушивание" трафика, "ложный DNS-сервер", "подмена ARP-сервера" и т.п.).
Классификация атак, реализованная во многих системах обнаружения атак, не может быть категоричной. Например, атака, реализация которой для ОС Unix (например, переполнение буфера statd) может иметь самые плачевные последствия (самый высокий приоритет), для ОС Windows NT может быть вообще не применима или иметь очень низкую степень риска. Кроме того, существует неразбериха и в самих названиях атак и уязвимостей. Одна и та же атака, может иметь разные наименования у разных производителей систем обнаружения атак.
Одной из лучших баз уязвимостей и атак является база данных X-Force, находящаяся по адресу: http://xforce.iss.net/. Доступ к ней может осуществляться как путем подписки на свободно распространяемый список рассылки X-Force Alert, так и путем интерактивного поиска в базе данных на Web-сервере компании ISS.
Не будь уязвимостей в компонентах информационных систем, нельзя было бы реализовать многие атаки и, следовательно, традиционные системы защиты вполне эффективно справлялись бы с возможными атаками. Однако программы пишутся людьми, которым свойственно делать ошибки. Вследствие чего и появляются уязвимости, которые используются злоумышленниками для реализации атак. Однако это только полбеды. Если бы все атаки строились по модели "один к одному", то с некоторой натяжкой, но межсетевые экраны и другие защитные системы смогли бы противостоять и им. Но появились скоординированные атаки, против которых традиционные средства уже не так эффективны. И тут на сцене и появляются новые технологии - технологии обнаружения атак. Приведенная систематизация данные об атаках и этапах их реализации дает необходимый базис для понимания технологий обнаружения атак.
Технология обнаружения атак должна решать следующие задачи:
Очень часто системы обнаружения атак могут выполнять функции, существенно расширяющие спектр их применения. Например,
Лучшее использование времени и опыта специалистов в области информационной безопасности заключается в обнаружении и устранении причин реализации атак, скорее чем, в обнаружении самих атак. Устранив причины возникновения атак, т.е. обнаружив и устранив уязвимости, администратор тем самым устраняет и сам факт потенциальной реализации атак. Иначе атака будет повторяться раз за разом, постоянно требуя усилий и внимания администратора.
Существует большое число различных классификаций систем обнаружения атак, однако самой распространенной является классификация по принципу реализации:
Системы обнаружения атак, контролирующие отдельный компьютер, как правило, собирают и анализируют информацию из журналов регистрации операционной системы и различных приложений (Web-сервер, СУБД и т.д.). По такому принципу функционирует RealSecure OS Sensor. Однако в последнее время стали получать распространение системы, тесно интегрированные с ядром ОС, тем самым, предоставляя более эффективный способ обнаружения нарушений политики безопасности. Причем такая интеграция может быть реализовано двояко. Во-первых, могут контролироваться все системные вызовы ОС (так работает Entercept) или весь входящий/исходящий сетевой трафик (так работает RealSecure Server Sensor). В последнем случае система обнаружения атак захватывает весь сетевой трафик напрямую с сетевой карты, минуя операционную систему, что позволяет уменьшить зависимость от нее и тем самым повысить защищенность системы обнаружения атак.
Системы обнаружения атак уровня сети собирают информацию из самой сети, то есть из сетевого трафика. Выполняться эти системы могут на обычных компьютерах (например, RealSecure Network Sensor), на специализированных компьютерах (например, RealSecure for Nokia или Cisco Secure IDS 4210 и 4230) или интегрированы в маршрутизаторы или коммутаторы (например, CiscoSecure IOS Integrated Software или Cisco Catalyst 6000 IDS Module). В первых двух случаях анализируемая информация собирается посредством захвата и анализа пакетов, используя сетевые интерфейсы в беспорядочном (promiscuous) режиме. В последнем случае захват трафика осуществляется с шины сетевого оборудования.
Обнаружение атак требует выполнения одного из двух условий - или понимания ожидаемого поведения контролируемого объекта системы или знания всех возможных атак и их модификаций. В первом случае используется технология обнаружения аномального поведения, а во втором случае - технология обнаружения злоумышленного поведения или злоупотреблений. Вторая технология заключается в описании атаки в виде шаблона или сигнатуры и поиска данного шаблона в контролируемом пространстве (например, сетевом трафике или журнале регистрации). Эта технология очень похожа на обнаружение вирусов (антивирусные системы являются ярким примером системы обнаружения атак), т.е. система может обнаружить все известные атаки, но она мало приспособлена для обнаружения новых, еще неизвестных, атак. Подход, реализованный в таких системах, очень прост и именно на нем основаны практически все предлагаемые сегодня на рынке системы обнаружения атак.
Практически все системы обнаружения атак основаны на сигнатурном подходе.
Можно долго перечислять различные достоинства систем обнаружения атак, функционирующих на уровне узла и сети. Однако я остановлюсь только на нескольких из них.
Коммутация позволяет управлять крупномасштабными сетями, как несколькими небольшими сетевыми сегментами. В результате бывает трудно определить наилучшее место для установки системы, обнаруживающей атаки в сетевом трафике. Иногда могут помочь специальные порты (span ports) на коммутаторах, но не всегда. Обнаружение атак на уровне конкретного узла обеспечивает более эффективную работу в коммутируемых сетях, так как позволяет разместить системы обнаружения только на тех узлах, на которых это необходимо.
Системы сетевого уровня не требуют, чтобы на каждом хосте устанавливалось программное обеспечение системы обнаружения атак. Поскольку для контроля всей сети число мест, в которых установлены IDS невелико, то стоимость их эксплуатации в сети предприятия ниже, чем стоимость эксплуатации систем обнаружения атак на системном уровне. Кроме того, для контроля сетевого сегмента, необходим только один сенсор, независимо от числа узлов в данном сегменте.
Сетевой пакет, будучи ушедшим с компьютера злоумышленника, уже не может быть возвращен назад. Системы, функционирующие на сетевом уровне, используют "живой" трафик при обнаружении атак в реальном масштабе времени. Таким образом, злоумышленник не может удалить следы своей несанкционированной деятельности. Анализируемые данные включают не только информацию о методе атаки, но и информацию, которая может помочь при идентификации злоумышленника и доказательстве в суде. Поскольку многие хакеры хорошо знакомы с механизмами системной регистрации, они знают, как манипулировать этими файлами для скрытия следов своей деятельности, снижая эффективность систем системного уровня, которым требуется эта информация для того, чтобы обнаружить атаку.
Системы, функционирующие на уровне сети, обнаруживают подозрительные события и атаки по мере того, как они происходят, и поэтому обеспечивают гораздо более быстрое уведомление и реагирование, чем системы, анализирующие журналы регистрации. Например, хакер, инициирующий сетевую атаку типа "отказ в обслуживании" на основе протокола TCP, может быть остановлен системой обнаружения атак сетевого уровня, посылающей TCP-пакет с установленным флагом Reset в заголовке для завершения соединения с атакующим узлом, прежде чем атака вызовет разрушения или повреждения атакуемого узла. Системы анализа журналов регистрации не распознают атаки до момента соответствующей записи в журнал и предпринимают ответные действия уже после того, как была сделана запись. К этому моменту наиболее важные системы или ресурсы уже могут быть скомпрометированы или нарушена работоспособность системы, запускающей систему обнаружения атак на уровне узла. Уведомление в реальном масштабе времени позволяет быстро среагировать в соответствии с предварительно определенными параметрами. Диапазон этих реакций изменяется от разрешения проникновения в режиме наблюдения для того, чтобы собрать информацию об атаке и атакующем, до немедленного завершения атаки.
И, наконец, системы обнаружения атак, функционирующие на сетевом уровне, не зависят от операционных систем, установленных в корпоративной сети, так как они оперируют сетевым трафиком, которым обмениваются все узлы в корпоративной сети. Системе обнаружения атак все равно, какая ОС сгенерировала тот или иной пакет, если он в соответствие со стандартами, поддерживаемыми системой обнаружения. Например, в сети могут работать ОС Windows 98, Windows NT, Windows 2000 и XP, Netware, Linux, MacOS, Solaris и т.д., но если они общаются между собой по протоколу IP, то любая из систем обнаружения атак, поддерживающая этот протокол, сможет обнаруживать атаки, направленные на эти ОС.
Совместное применение систем обнаружения атак на уровне сети и уровне узла повысит защищенность вашей сети.
Наиболее часто сетевые системы обнаружения атак пытаются заменить межсетевыми экранами, уповая на то, что последние обеспечивают очень высокий уровень защищенности. Однако не стоит забывать, что межсетевые экраны - это просто системы, основанные на правилах, которые разрешают или запрещают прохождение трафика через них. Даже межсетевые экраны, построенные по технологии "", не позволяют с уверенностью сказать, присутствует ли атака в контролируемом ими трафике или нет. Они могут сказать, соответствует ли трафик правилу или нет. Например, МСЭ сконфигурирован так, чтобы блокировать все соединения кроме TCP-соединений на 80 порту (то есть HTTP-трафик). Таким образом, любой трафик через 80-ый порт законен с точки зрения МСЭ. С другой стороны, система обнаружения атак также контролирует трафик, но ищет в нем признаки атаки. Ее мало заботит, для какого порта предназначен трафик. По умолчанию весь трафик для системы обнаружения атак подозрителен. То есть, несмотря на то, что система обнаружения атак работает с тем же источником данных, что и МСЭ, то есть с сетевым трафиком, они выполняют дополняющие друг друга функции. Например, HTTP-запрос "GET /../../../etc/passwd HTTP/1.0". Практически любой МСЭ разрешает прохождение данного запроса через себя. Однако система обнаружения атак легко обнаружит эту атаку и блокирует ее.
Можно провести следующую аналогию. Межсетевой экран - это обычный турникет, устанавливаемый на главном входе в вашу сеть. Но помимо главных дверей существуют и другие двери, а также окна. Маскируясь под реального сотрудника или войдя в доверие к охраннику на турникете, злоумышленник может пронести сквозь турникет взрывное устройство или пистолет. Мало того. Злоумышленник может залезть к вам через окно. Именно поэтому и нужны системы обнаружения атак, которые усиливают защиту, обеспечиваемую межсетевыми экранами, которые являются пусть и необходимым, но явно недостаточным элементом сетевой безопасности.
Межсетевой экран - не панацея!
Мало обнаружить атаку, - необходимо на нее соответствующим образом отреагировать. Именно варианты реагирования во многом определяют эффективность системы обнаружения атак. На сегодняшний день предлагаются следующие варианты реагирования:
Сегодня системы обнаружения и предотвращения вторжений (IDS/IPS, Intrusion detection system / Intrusion prevention system, аналогичный русскоязычный термин — СОВ/СОА) - необходимый элемент защиты от сетевых атак. Основное предназначение подобных систем - выявление фактов неавторизованного доступа в корпоративную сеть и принятие соответствующих мер противодействия: информирование ИБ-специалистов о факте вторжения, обрыв соединения и перенастройка межсетевого экрана для блокирования дальнейших действий злоумышленника, т. е. защита от хакерских атак и вредоносных программ.
Общее описание технологии
Существует несколько технологий IDS, которые различаются по типам обнаруживаемых событий и по методологии, используемой для выявления инцидентов. В дополнение к функциям мониторинга и анализа событий по выявлению инцидентов все типы IDS выполняют следующие функции:
Технология IPS дополняет технологию IDS тем, что может самостоятельно не только определить угрозу, но и успешно заблокировать ее. В этом сценарии функциональность IPS гораздо шире, чем у IDS:
Но кроме очевидных плюсов эти системы имеют своим минусы. Например, IPS не всегда может точно определить инцидент ИБ, либо ошибочно принять за инцидент нормальное поведение трафика или пользователя. В первом варианте принято говорить о событии false negative, во втором варианте говорят о событии false positive. Следует иметь в виду, что невозможно полностью исключить их возникновение, поэтому организация в каждом случае может самостоятельно решить риски какой из двух групп следует либо минимизировать, либо принять.
Существуют различные методики обнаружения инцидентов с помощью технологий IPS. Большинство реализаций IPS используют сумму данных технологий для того, чтобы обеспечить более высокую степень детектирования угроз.
1. Обнаружение атаки, основанное на сигнатурах.
Сигнатурой называют шаблон, который определяет соответствующую атаку. Обнаружение атаки по сигнатурам - это процесс сравнения сигнатуры с возможным инцидентом. Примерами сигнатур являются:
Данный метод очень эффективен при обнаружении известных угроз, но неэффективен при неизвестных (не имеющих сигнатур) атаках.
2. Обнаружение атаки по аномальному поведению
Данный метод основан на сравнении нормальной активности событий с активностью событий, отклоняющихся от нормального уровня. У IPS, использующих этот метод, есть так называемые «профили», которые отражают нормальное поведение пользователей, сетевых узлов, соединений, приложений и трафика. Эти профили создаются во время «обучающего периода» в течение некоторого времени. Например, в профиль может быть записано повышение веб-трафика на 13 % в рабочие дни. В дальнейшем IPS использует статистические методы при сравнении разных характеристик реальной активности с заданным пороговым значением, при превышении которого на консоль управления офицера безопасности приходит соответствующее сообщение. Профили могут быть созданы на основе многих атрибутов, взятых из поведенческого анализа пользователей. Например, по количеству отосланных электронных писем, количеству неудачных попыток входа в систему, уровню загрузки процессора сервера в определенный период времени и т. д. В результате данный метод позволяет достаточно эффективно блокировать атаки, которые обошли фильтрацию сигнатурного анализа, тем самым обеспечивается защита от хакерских атак.
Технология IDS/IPS в ALTELL NEO
В основе IDS/IPS, применяемых нашей компанией в межсетевых экранах нового поколения ALTELL NEO , лежит открытая технология Suricata , дорабатываемая в соответствии с нашими задачами. В отличие от IDS/IPS Snort, применяемой остальными разработчиками, используемая нами система обладает рядом преимуществ, например, позволяет использовать GPU в режиме IDS, обладает более продвинутой системой IPS, поддерживает многозадачность (что обеспечивает более высокую производительность), и многое другое, в том числе полная поддержка формата правил Snort.
Стоит учитывать, что для корректной работы IDS/IPS ей необходимы актуальные базы сигнатур. В ALTELL NEO для этой цели используются открытые базы National Vulnerability Database и Bugtraq. Обновление баз происходит 2-3 раза в день, что позволяет обеспечить оптимальный уровень информационной безопасности.
Система ALTELL NEO может функционировать в двух режимах: режиме обнаружения вторжений (IDS) и режиме предотвращения вторжений (IPS). Включение функций IDS и IPS происходит на выбранном администратором интерфейсе устройства - одном или нескольких. Также возможен вызов функций IPS при настройке правил межсетевого экрана для конкретного типа трафика, который требуется проверить. Функциональное отличие IDS от IPS заключается в том, что в режиме IPS сетевые атаки могут быть заблокированы в режиме реального времени.
Функциональность системы обнаружения и предотвращения вторжений в ALTELL NEO
№ | Функция | Поддержка
|
1. | Обнаружение уязвимостей (эксплойтов) компонент ActiveX | |
2. | Обнаружение трафика, передаваемого узлами внутренней локальной сети, характерного для ответов после успешного проведения атаки | |
3. | Обнаружение сетевого трафика командно-контрольных серверов бот-сетей (Bot C&C) | |
4. | Обнаружение сетевого трафика, относящегося к протоколам и программам для мгновенного обмена сообщениями | |
5. | Обнаружение сетевого трафика от взломанных сетевых узлов | |
6. | Обнаружение сетевого трафика, направленного на сервера DNS | |
7. | Обнаружение трафика, характерного для атак отказа в обслуживании (DoS, Denial of Service) | |
8. | Обнаружение сетевого трафика, от узлов из списка Spamhaus Drop list | |
9. | Обнаружение сетевого трафика от узлов, которые известны как источники атак, на основе списка Dshield | |
10. | Обнаружение сетевого трафика, характерного для программ использования уязвимостей (эксплойтов) | |
11. | Обнаружение трафика, характерного для компьютерных игр | |
12. | Обнаружение сетевого трафика ICMP, характерного для проведения сетевых атак, например, сканирования портов | |
13. | Обнаружение сетевого трафика, характерного для атак на сервисы IMAP | |
14. | Обнаружение недопустимого сетевого трафика, противоречащего политике безопасности организации | |
15. | Обнаружение сетевого трафика, характерного для вредоносных программ (malware) | |
16. | Обнаружение сетевого трафика, характерного для сетевых червей, использующих протокол NetBIOS | |
17 . | Обнаружение сетевого трафика, программ однорангового разделения файлов (P2P, peer-to-peer сети) | |
18. | Обнаружение сетевой активности, которая может противоречить политике безопасности организации (например, трафик VNC или использование анонимного доступа по протоколу FTP) | |
19. | Обнаружение трафика, характерного для атак на сервисы POP3 | |
20. | Обнаружение сетевого трафика от узлов сети Russian Business Network | |
21. | Обнаружение атак на сервисы RPC (удаленный вызов процедур) | |
22. | Обнаружение сетевого трафика программ сканирования портов | |
23. | Обнаружение пакетов, содержащих ассемблерный код, низкоуровневые команды, называемые также командным кодом (напр. атаки на переполнение буфера) | |
24. | Обнаружение трафика, характерного для атак на сервисы SMTP | |
25. | Обнаружение сетевого трафика протокола SNMP | |
26. | Обнаружение правил для различных программ баз данных SQL | |
27. | Обнаружение сетевого трафика протокола Telnet в сети | |
28. | Обнаружение сетевого трафика, характерного для атак на TFTP (trivial FTP) | |
29. | Обнаружение трафика, исходящего от отправителя, использующего сеть Tor для сохранения анонимности | |
30. | Обнаружение трафика, характерного для троянских программ | |
31. | Обнаружение атак на пользовательские агенты | |
32. | Наличие сигнатур распространенных вирусов (как дополнение к антивирусному движку ALTELL NEO) | |
33. | Обнаружение сетевого трафика, характерного для атак на сервисы VoIP | |
34. | Обнаружение уязвимостей (эксплойтов) для web-клиентов | |
35. | Обнаружение атак на web-серверы | |
36. | Обнаружение атак на основе инъекций SQL (sql-injection attacks) | |
37. | Обнаружение сетевого трафика, характерного для сетевых червей | |
38. | Защита от хакерских атак |
Правила безопасности разрабатываются и совершенствуются сообществом Emerging Threats и основаны на многолетнем совместном опыте экспертов в области защиты от сетевых атак. Обновление правил происходит автоматически по защищенному каналу (для этого в ALTELL NEO должно быть настроено подключение к Интернету). Каждому правилу назначается приоритет в соответствии с классом атаки по частоте использования и важности. Стандартные уровни приоритетов - от 1 до 3, при этом приоритет «1» является высоким, приоритет «2» - средним, приоритет «3» - низким.
В соответствии с данными приоритетами может быть назначено действие, которое будет выполнять система обнаружения и предотвращения вторжений ALTELL NEO в режиме реального времени при обнаружении сетевого трафика, соответствующего сигнатуре правила. Действие может быть следующим:
Отчёты по трафику, проходящему через систему обнаружения и предотвращения вторжений ALTELL NEO, могут быть сформированы в централизованной системе управления ALTELL NEO собственной разработки, которая собирает исходные данные (alert’ы) с одного или нескольких устройств ALTELL NEO.
Вы можете бесплатно протестировать функциональность IDS/IPS-системы, встроенной в ALTELL NEO в версии UTM, заполнив небольшую заявку. Вы также можете подобрать конфигурацию устройства (дополнительная память, модули расширения, версия ПО и т. д.) и рассчитать его приблизительную цену с помощью
активный процесс , при котором происходит обнаружение хакера при его попытках проникнуть в систему. В идеальном случае такая система лишь выдаст сигнал тревоги при попытке проникновения. Обнаружение вторжений помогает при превентивной идентификации активных угроз посредством оповещений и предупреждений о том, что злоумышленник осуществляет сбор информации, необходимой для проведения атаки. В действительности, как будет показано в материале лекции, это не всегда так. Перед обсуждением подробностей, связанных с обнаружением вторжений, давайте определим, что же это в действительности такое.Системы обнаружения вторжений ( IDS ) появились очень давно. Первыми из них можно считать ночной дозор и сторожевых собак. Дозорные и сторожевые собаки выполняли две задачи: они определяли инициированные кем-то подозрительные действия и пресекали дальнейшее проникновение злоумышленника. Как правило, грабители избегали встречи с собаками и, в большинстве случае, старались обходить стороной здания, охраняемые собаками. То же самое можно сказать и про ночной дозор. Грабители не хотели быть замеченными вооруженными дозорными или охранниками, которые могли вызвать полицию.
Сигнализация в зданиях и в автомобилях также является разновидностью системы обнаружения вторжений. Если система оповещения обнаруживает событие, которое должно быть замечено (например, взлом окна или открытие двери), то выдается сигнал тревоги с зажиганием ламп, включением звуковых сигналов, либо сигнал тревоги передается на пульт полицейского участка. Функция пресечения проникновения выполняется посредством предупреждающей наклейки на окне или знака, установленного перед домом. В автомобилях, как правило, при включенной сигнализации горит красная лампочка, предупреждающая об активном состоянии системы сигнализации.
Все эти примеры основываются на одном и том же принципе: обнаружение любых попыток проникновения в защищенный периметр объекта ( офис , здание, автомобиль и т. д.). В случае с автомобилем или зданием периметр защиты определяется относительно легко. Стены строения, ограждение вокруг частной собственности, двери и окна автомобиля четко определяют защищаемый периметр. Еще одной характеристикой, общей для всех этих случаев, является четкий критерий того, что именно является попыткой проникновения, и что именно образует защищаемый периметр.
Если перенести концепцию системы сигнализации в компьютерный мир, то получится базовая концепция системы обнаружения вторжений. Необходимо определить, чем в действительности является периметр защиты компьютерной системы или сети. Очевидно, что периметр защиты в данном случае - это не стена и не ограждение. Периметр защиты сети представляет собой виртуальный периметр, внутри которого находятся компьютерные системы. Этот периметр может определяться межсетевыми экранами, точками разделения соединений или настольными компьютерами с модемами. Данный периметр может быть расширен для содержания домашних компьютеров сотрудников, которым разрешено соединяться друг с другом, или партнеров по бизнесу, которым разрешено подключаться к сети. С появлением в деловом взаимодействии беспроводных сетей периметр защиты организации расширяется до размера беспроводной сети.
Сигнализация, оповещающая о проникновении грабителя, предназначена для обнаружения любых попыток входа в защищаемую область, когда эта область не используется. Система обнаружения вторжений IDS предназначена для разграничения авторизованного входа и несанкционированного проникновения, что реализуется гораздо сложнее. Здесь можно в качестве примера привести ювелирный магазин с сигнализацией против грабителей. Если кто-либо, даже владелец магазина, откроет дверь, то сработает сигнализация. Владелец должен после этого уведомить компанию, обслуживающую сигнализацию, о том, что это он открыл магазин, и что все в порядке. Систему IDS , напротив, можно сравнить с охранником, следящим за всем, что происходит в магазине, и выявляющим несанкционированные действия (как, например, пронос огнестрельного оружия). К сожалению, в виртуальном мире "огнестрельное оружие" очень часто остается незаметным.
Вторым вопросом, который необходимо принимать в расчет, является определение того, какие события являются нарушением периметра безопасности . Является ли нарушением попытка определить работающие компьютеры? Что делать в случае проведения известной атаки на систему или сеть ? По мере того как задаются эти вопросы, становится понятно, что найти ответы на них не просто. Более того, они зависят от других событий и от состояния системы-цели.
Существуют два основных типа IDS : узловые ( HIDS ) и сетевые ( NIDS ). Система HIDS располагается на отдельном узле и отслеживает признаки атак на данный узел. Система NIDS находится на отдельной системе, отслеживающей сетевой трафик на наличие признаков атак, проводимых в подконтрольном сегменте сети. На рисунке 13.1 показаны два типа IDS , которые могут присутствовать в сетевой среде.
Рис.
13.1.
Узловые IDS
Узловые IDS ( HIDS ) представляют собой систему датчиков, загружаемых на различные сервера организации и управляемых центральным диспетчером. Датчики отслеживают различные типы событий (более детальное рассмотрение этих событий приводится в следующем разделе) и предпринимают определенные действия на сервере либо передают уведомления. Датчики HIDS отслеживают события, связанные с сервером, на котором они загружены. Сенсор HIDS позволяет определить, была ли атака успешной, если атака имела место на той же платформе, на которой установлен датчик.
Как будет показано далее, различные типы датчиков HIDS позволяют выполнять различные типы задач по обнаружению вторжений. Не каждый тип датчиков может использоваться в организации, и даже для различных серверов внутри одной организации могут понадобиться разные датчики. Следует заметить, что система
Система обнаружения вторжений (СОВ ) - программное или аппаратное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо несанкционированного управления ими в основном через Интернет . Соответствующий английский термин - Intrusion Detection System (IDS) . Системы обнаружения вторжений обеспечивают дополнительный уровень защиты компьютерных систем.
Системы обнаружения вторжений используются для обнаружения некоторых типов вредоносной активности, которая может нарушить безопасность компьютерной системы. К такой активности относятся сетевые атаки против уязвимых сервисов, атаки, направленные на повышение привилегий , неавторизованный доступ к важным файлам, а также действия вредоносного программного обеспечения (компьютерных вирусов , троянов и червей)
Обычно архитектура СОВ включает:
Существует несколько способов классификации СОВ в зависимости от типа и расположения сенсоров, а также методов, используемых подсистемой анализа для выявления подозрительной активности. Во многих простых СОВ все компоненты реализованы в виде одного модуля или устройства.
1 / 5
IDES использовала два подхода к обнаружению вторжений: в ней использовалась экспертная система для определения известных видов вторжений и компонент обнаружения, основанный на статистических методах и профилях пользователей и систем охраняемой сети. Тереза Лунт предложила использовать искусственную нейронную сеть как третий компонент для повышения эффективности обнаружения. Вслед за IDES в 1993 вышла NIDES (Next-generation Intrusion Detection Expert System - экспертная система обнаружения вторжений нового поколения).
MIDAS (Multics intrusion detection and alerting system), экспертная система, использующая P-BEST и LISP , была разработана в 1988 году на основе работы Деннинга и Неймана. В этом же году была разработана система Haystack, основанная на статистических методах.
W&S (Wisdom & Sense - мудрость и чувство), основанный на статистических методах детектор аномалий, был разработан в 1989 году в Лос-Аламосской Национальной лаборатории. W&S создавал правила на основе статистического анализа и затем использовал эти правила для обнаружения аномалий.
В 1990, в TIM (Time-based inductive machine) было реализовано обнаружение аномалий с использованием индуктивного обучения на основе последовательных паттернов пользователя на языке Common LISP . Программа была разработана для VAX 3500. Примерно в то же время был разработан NSM (Network Security Monitor - монитор сетевой безопасности), сравнивающий матрицы доступа для обнаружения аномалий на рабочих станциях Sun-3/50. В том же 1990 году был разработан ISOA (Information Security Officer’s Assistant), содержащий в себе множество стратегий обнаружения, включая статистику, проверку профиля и экспертную систему. ComputerWatch, разработанный в AT&T Bell Labs, использовал статистические методы и правила для проверки данных и обнаружения вторжений.
В 2001 году была разработана система ADAM IDS (Audit data analysis and mining IDS). Система использовала данные tcpdump для создания правил.
В настоящее время защита, обеспечиваемая файерволом и антивирусом, уже не эффективна против сетевых атак и малварей. На первый план выходят решения класса IDS/IPS, которые могут обнаруживать и блокировать как известные, так и еще не известные угрозы.
Чтобы сделать выбор между IDS или IPS, следует понимать их принципы работы и назначение. Так, задача IDS (Intrusion Detection System) состоит в обнаружении и регистрации атак, а также оповещении при срабатывании определенного правила. В зависимости от типа, IDS умеют выявлять различные виды сетевых атак, обнаруживать попытки неавторизованного доступа или повышения привилегий, появление вредоносного ПО, отслеживать открытие нового порта и т. д. В отличие от межсетевого экрана, контролирующего только параметры сессии (IP, номер порта и состояние связей), IDS «заглядывает» внутрь пакета (до седьмого уровня OSI), анализируя передаваемые данные. Существует несколько видов систем обнаружения вторжений. Весьма популярны APIDS (Application protocol-based IDS), которые мониторят ограниченный список прикладных протоколов на предмет специфических атак. Типичными представителями этого класса являются PHPIDS , анализирующий запросы к PHP-приложениям, Mod_Security, защищающий веб-сервер (Apache), и GreenSQL-FW, блокирующий опасные SQL-команды (см. статью «Последний рубеж» в ][_12_2010).
Сетевые NIDS (Network Intrusion Detection System) более универсальны, что достигается благодаря технологии DPI (Deep Packet Inspection, глубокое инспектирование пакета). Они контролируют не одно конкретное приложение, а весь проходящий трафик, начиная с канального уровня.
Для некоторых пакетных фильтров также реализована возможность «заглянуть внутрь» и блокировать опасность. В качестве примера можно привести проекты OpenDPI и Fwsnort . Последний представляет собой программу для преобразования базы сигнатур Snort в эквивалентные правила блокировки для iptables. Но изначально файервол заточен под другие задачи, да и технология DPI «накладна» для движка, поэтому функции по обработке дополнительных данных ограничены блокировкой или маркированием строго определенных протоколов. IDS всего лишь помечает (alert) все подозрительные действия. Чтобы заблокировать атакующий хост, администратор самостоятельно перенастраивает брандмауэр во время просмотра статистики. Естественно, ни о каком реагировании в реальном времени здесь речи не идет. Именно поэтому сегодня более интересны IPS (Intrusion Prevention System, система предотвращения атак). Они основаны на IDS и могут самостоятельно перестраивать пакетный фильтр или прерывать сеанс, отсылая TCP RST. В зависимости от принципа работы, IPS может устанавливаться «в разрыв» или использовать зеркалирование трафика (SPAN), получаемого с нескольких сенсоров. Например, в разрыв устанавливается Hogwash Light BR , которая работает на втором уровне OSI. Такая система может не иметь IP-адреса, а значит, остается невидимой для взломщика.
В обычной жизни дверь не только запирают на замок, но и дополнительно защищают, оставляя возле нее охранника, ведь только в этом случае можно быть уверенным в безопасности. В IT в качестве такого секьюрити выступают хостовые IPS (см. «Новый оборонительный рубеж» в ][_08_2009), защищающие локальную систему от вирусов, руткитов и взлома. Их часто путают с антивирусами, имеющими модуль проактивной защиты. Но HIPS, как правило, не используют сигнатуры, а значит, не требуют постоянного обновления баз. Они контролируют гораздо больше системных параметров: процессы, целостность системных файлов и реестра, записи в журналах и многое другое.
Чтобы полностью владеть ситуацией, необходимо контролировать и сопоставлять события как на сетевом уровне, так и на уровне хоста. Для этой цели были созданы гибридные IDS, которые коллектят данные из разных источников (подобные системы часто относят к SIM - Security Information Management). Среди OpenSource-проектов интересен Prelude Hybrid IDS, собирающий данные практически со всех OpenSource IDS/IPS и понимающий формат журналов разных приложений (поддержка этой системы приостановлена несколько лет назад, но собранные пакеты еще можно найти в репозиториях Linux и *BSD).
В разнообразии предлагаемых решений может запутаться даже профи. Сегодня мы познакомимся с наиболее яркими представителями IDS/IPS-систем.
Современный интернет несет огромное количество угроз, поэтому узкоспециализированные системы уже не актуальны. Необходимо использовать комплексное многофункциональное решение, включающее все компоненты защиты: файервол, IDS/IPS, антивирус, прокси-сервер, контентный фильтр и антиспам-фильтр. Такие устройства получили название UTM (Unified Threat Management, объединенный контроль угроз). В качестве примеров UTM можно привести Trend Micro Deep Security , Kerio Control , Sonicwall Network Security , FortiGate Network Security Platforms and Appliances или специализированные дистрибутивы Linux, такие как Untangle Gateway, IPCop Firewall, pfSense (читай их обзор в статье «Сетевые регулировщики», ][_01_2010).
Бета-версия этой IDS/IPS была представлена на суд общественности в январе 2010-го после трех лет разработок. Одна из главных целей проекта - создание и обкатка совершенно новых технологий обнаружения атак. За Suricata стоит объединение OISF, которое пользуется поддержкой серьезных партнеров, включая ребят из US Department of Homeland Security. Актуальным на сегодня является релиз под номером 1.1, вышедший в ноябре 2011 года. Код проекта распространяется под лицензией GPLv2, но финансовые партнеры имеют доступ к не GPL-версии движка, которую они могут использовать в своих продуктах. Для достижения максимального результата к работе привлекается сообщество, что позволяет достигнуть очень высокого темпа разработки. Например, по сравнению с предыдущей версией 1.0, объем кода в 1.1 вырос на 70%. Некоторые современные IDS с длинной историей, в том числе и Snort, не совсем эффективно используют многопроцессорные/многоядерные системы, что приводит к проблемам при обработке большого объема данных. Suricata изначально работает в многопоточном режиме. Тесты показывают, что она шестикратно превосходит Snort в скорости (на системе с 24 CPU и 128 ГБ ОЗУ). При сборке с параметром ‘—enable-cuda’ появляется возможность аппаратного ускорения на стороне GPU. Изначально поддерживается IPv6 (в Snort активируется ключом ‘—enable-ipv6’), для перехвата трафика используются стандартные интерфейсы: LibPcap, NFQueue, IPFRing, IPFW. Вообще, модульная компоновка позволяет быстро подключить нужный элемент для захвата, декодирования, анализа или обработки пакетов. Блокировка производится средствами штатного пакетного фильтра ОС (в Linux для активации режима IPS необходимо установить библиотеки netlink-queue и libnfnetlink). Движок автоматически определяет и парсит протоколы (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, SMTP и SCTP), поэтому в правилах необязательно привязываться к номеру порта (как это делает Snort), достаточно лишь задать действие для нужного протокола. Ivan Ristic, автор Mod_security, создал специальную библиотеку HTP, применяемую в Suricata для анализа HTTP-трафика. Разработчики прежде всего стремятся добиться точности обнаружения и повышения скорости проверки правил.
Вывод результатов унифицирован, поэтому можно использовать стандартные утилиты для их анализа. Собственно, все бэк-энды, интерфейсы и анализаторы, написанные для Snort (Barnyard, Snortsnarf, Sguil и т. д.), без доработок работают и с Suricata. Это тоже большой плюс. Обмен по HTTP подробно журналируется в файле стандартного формата Apache.
Основу механизма детектирования в Suricata составляют правила (rules). Здесь разработчики не стали пока ничего изобретать, а позволили подключать рулсеты, созданные для других проектов: Sourcefire VRT (можно обновлять через Oinkmaster), и Emerging Threats Pro . В первых релизах поддержка была лишь частичной, и движок не распознавал и не загружал некоторые правила, но сейчас эта проблема решена. Реализован и собственный формат rules, внешне напоминающий снортовский. Правило состоит из трех компонентов: действие (pass, drop, reject или alert), заголовок (IP/порт источника и назначения) и описание (что искать). В настройках используются переменные (механизм flowint), позволяющие, например, создавать счетчики. При этом информацию из потока можно сохранять для последующего использования. Такой подход, применяемый для отслеживания попыток подбора пароля, более эффективен, чем используемый в Snort метод, который оперирует пороговым значением срабатывания. Планируется создание механизма IP Reputation (вроде SensorBase Cisco, см. статью «Потрогай Cisco» в ][_07_2011).
Резюмируя, отмечу, что Suricata - это более быстрый движок, чем Snort, полностью совместимый с ним по правилам и бэк-эндам и способный проверять большие сетевые потоки. Единственный недостаток проекта - скудная документация, хотя опытному админу ничего не стоит разобраться с настройками. В репозиториях дистрибутивов уже появились пакеты для установки, а на сайте проекта доступны внятные инструкции по самостоятельной сборке из исходников. Есть и готовый дистрибутив Smooth-sec , построенный на базе Suricata.
Выпускаемый под OpenSource-лицензией Samhain относится к хостовым IDS, защищающим отдельный компьютер. Он использует несколько методов анализа, позволяющих полностью охватить все события, происходящие в системе:
Программа может быть запущена в невидимом режиме (задействуется модуль ядра), когда процессы ядра невозможно обнаружить в памяти. Samhain также поддерживает мониторинг нескольких узлов, работающих под управлением разных ОС, с регистрацией всех событий в одной точке. При этом установленные на удаленных узлах агенты отсылают всю собранную информацию (TCP, AES, подпись) по зашифрованному каналу на сервер (yule), который сохраняет ее в БД (MySQL, PostgreSQL, Oracle). Кроме того, сервер отвечает за проверку статуса клиентских систем, распространение обновлений и конфигурационных файлов. Реализовано несколько вариантов для оповещений и отсылки собранной информации: e-mail (почта подписывается во избежание подделки), syslog, лог-файл (подписывается), Nagios, консоль и др. Управление можно осуществлять с помощью нескольких администраторов с четко установленными ролями.
Пакет доступен в репозиториях практически всех дистрибутивов Linux, на сайте проекта есть описание, как установить Samhain под Windows.
Это решение разработано финской компанией, которая занимается созданием продуктов корпоративного класса в сфере сетевой безопасности. В нем реализованы все востребованные функции: IPS, защита от DDoS- и 0day-атак, веб-фильтрация, поддержка зашифрованного трафика и т. д. С помощью StoneGate IPS можно заблокировать вирус, spyware, определенные приложения (P2P, IM и прочее). Для веб-фильтрации используется постоянно обновляемая база сайтов, разделенных на несколько категорий. Особое внимание уделяется защите от обхода систем безопасности AET (Advanced Evasion Techniques). Технология Transparent Access Control позволяет разбить корпоративную сеть на несколько виртуальных сегментов без изменения реальной топологии и установить для каждого из них индивидуальные политики безопасности. Политики проверки трафика настраиваются при помощи шаблонов, содержащих типовые правила. Эти политики создаются в офлайн-режиме. Администратор проверяет созданные политики и загружает их на удаленные узлы IPS. Похожие события в StoneGate IPS обрабатываются по принципу, используемому в SIM/SIEM-системах, что существенно облегчает анализ. Несколько устройств легко можно объединить в кластер и интегрировать с другими решениями StoneSoft - StoneGate Firewall/VPN и StoneGate SSL VPN. Управление при этом обеспечивается из единой консоли управления (StoneGate Management Center), состоящей из трех компонентов: Management Server, Log Server и Management Client. Консоль позволяет не только настраивать работу IPS и создавать новые правила и политики, но и производить мониторинг и просматривать журналы. Она написана на Java, поэтому доступны версии для Windows и Linux.
StoneGate IPS поставляется как в виде аппаратного комплекса, так и в виде образа VMware. Последний предназначен для установки на собственном оборудовании или в виртуальной инфраструктуре. И кстати, в отличие от создателей многих подобных решений, компания-разработчик дает скачать тестовую версию образа.
Система предотвращения атак, разработанная IBM, использует запатентованную технологию анализа протоколов, которая обеспечивает превентивную защиту в том числе и от 0day-угроз. Как и у всех продуктов серии IBM Security, его основой является модуль анализа протоколов - PAM (Protocol Analysis Module), сочетающий в себе традиционный сигнатурный метод обнаружения атак (Proventia OpenSignature) и поведенческий анализатор. При этом PAM различает 218 протоколов уровня приложений (атаки через VoIP, RPC, HTTP и т. д.) и такие форматы данных, как DOC, XLS, PDF, ANI, JPG, чтобы предугадывать, куда может быть внедрен вредоносный код. Для анализа трафика используется более 3000 алгоритмов, 200 из них «отлавливают» DoS. Функции межсетевого экрана позволяют разрешить доступ только по определенным портам и IP, исключая необходимость привлечения дополнительного устройства. Технология Virtual Patch блокирует вирусы на этапе распространения и защищает компьютеры до установки обновления, устраняющего критическую уязвимость. При необходимости администратор сам может создать и использовать сигнатуру. Модуль контроля приложений позволяет управлять P2P, IM, ActiveX-элементами, средствами VPN и т. д. и при необходимости блокировать их. Реализован модуль DLP, отслеживающий попытки передачи конфиденциальной информации и перемещения данных в защищаемой сети, что позволяет оценивать риски и блокировать утечку. По умолчанию распознается восемь типов данных (номера кредиток, телефоны…), остальную специфическую для организации информацию админ задает самостоятельно при помощи регулярных выражений. В настоящее время большая часть уязвимостей приходится на веб-приложения, поэтому в продукт IBM входит специальный модуль Web Application Security, который защищает системы от распространенных видов атак: SQL injection, LDAP injection, XSS, JSON hijacking, PHP file-includers, CSRF и т. д.
Предусмотрено несколько вариантов действий при обнаружении атаки - блокировка хоста, отправка предупреждения, запись трафика атаки (в файл, совместимый с tcpdump), помещение узла в карантин, выполнение настраиваемого пользователем действия и некоторые другие. Политики прописываются вплоть до каждого порта, IP-адреса или зоны VLAN. Режим High Availability гарантирует, что в случае выхода из строя одного из нескольких устройств IPS, имеющихся в сети, трафик пойдет через другое, а установленные соединения не прервутся. Все подсистемы внутри железки - RAID, блок питания, вентилятор охлаждения - дублированы. Настройка, производящаяся при помощи веб-консоли, максимально проста (курсы обучения длятся всего один день). При наличии нескольких устройств обычно приобретается IBM Security SiteProtector, который обеспечивает централизованное управление, выполняет анализ логов и создает отчеты.
IntruShield IPS, выпускавшийся компанией McAfee, в свое время был одним из популярных IPS-решений. Теперь на его основе разработан McAfee Network Security Platform 7 (NSP). В дополнение ко всем функциями классического NIPS новый продукт получил инструменты для анализа пакетов, передаваемых по внутренней корпоративной сети, что помогает обнаруживать зловредный трафик, инициируемый зараженными компами. В McAfee используется технология Global Threat Intelligence, которая собирает информацию с сотен тысяч датчиков, установленных по всему миру, и оценивает репутацию всех проходящих уникальных файлов, IP- и URL-адресов и протоколов. Благодаря этому NSP может обнаруживать трафик ботнета, выявлять 0day-угрозы и DDoS-атаки, а такой широкий охват позволяет свести к нулю вероятность ложного срабатывания.
Не каждая IDS/IPS может работать в среде виртуальных машин, ведь весь обмен происходит по внутренним интерфейсам. Но NSP не испытывает проблем с этим, он умеет анализировать трафик между VM, а также между VM и физическим хостом. Для наблюдения за узлами используется агентский модуль от компании Reflex Systems, который собирает информацию о трафике в VM и передает ее в физическую среду для анализа.
Движок различает более 1100 приложений, работающих на седьмом уровне OSI. Он просматривает трафик при помощи механизма контент-анализа и предоставляет простые инструменты управления.
Кроме NIPS, McAfee выпускает и хостовую IPS - Host Intrusion Prevention for Desktop, которая обеспечивает комплексную защиту ПК, используя такие методы детектирования угроз, как анализ поведения и сигнатур, контроль состояния соединений с помощью межсетевого экрана, оценка репутации для блокирования атак.
Чтобы максимально эффективно использовать IDS/IPS, нужно придерживаться следующих рекомендаций:
Победителей определять не будем. Выбор в каждом конкретном случае зависит от бюджета, топологии сети, требуемых функций защиты, желания админа возиться с настройками и, конечно же, рисков. Коммерческие решения получают поддержку и снабжаются сертификатами, что позволяет использовать эти решения в организациях, занимающихся в том числе обработкой персональных данных Распространяемый по OpenSource-лицензии Snort прекрасно документирован, имеет достаточно большую базу и хороший послужной список, чтобы быть востребованным у сисадминов. Совместимый с ним Suricata вполне может защитить сеть с большим трафиком и, главное, абсолютно бесплатен.