Виды систем обнаружения атак
Распространенные IDS.
· Очень часто используются системы IDS, которые встроены в прокси-серверы и брандмауэры (например, в тот же самый Kerio WinRoute Firewall или Microsoft ISA Server). Обычно такие системы IDS не отличаются большой функциональностью - в них встроено буквально несколько правил обнаружения вторжений, например, на сканирование портов). Тем не менее даже такое решение может успешно применяться для немедленного реагирования на нападения.
· Очень распространенная система IDS (фактически классическая) - это система SNORT (www.snort.org). Изначально она была создана под Unix, затем перенесена и под платформу Windows. В классическом варианте необходимо руками редактировать текстовый файл конфигурации, но существует и графическое приложение для настройки SNORT под Windows - IDSCenter. SNORT, «упакованный» для более удобной установки и настройки под Windows и заранее переконфигурированный, называется EagleX (все перечисленные утилиты находятся в каталоге IDS на компакт-диске). К плюсам SNORT можно отнести надежность, большое количество документации и дополнительных утилит, а также бесплатность (утилита поставляется с открытым исходным кодом). К недостаткам - сложность в установке и настройке, а также то, что программа требует большого количества компонентов, которые необходимо доустанавливать отдельно (Apache, Perl, mySQL и т.п.). Фактически сейчас SNORT является стандартом де-факто для систем обнаружения вторжений. Его распространенность можно сравнить, например, с распространенностью Web-сервера Apache или DNS-сервера BIND.
· Существует большое количество коммерческих систем обнаружения вторжений (как правило, очень дорогих, но чрезвычайно мощных, с автоматически обновляемыми сигнатурами атак). В качестве примеров таких систем можно привести McAfee Entercept или ETrust Intrusion Detection фирмы Computer Associates.
· Есть и персональные системы обнаружения атак, которые предназначены для защиты единственного рабочего компьютера. Обычно они очень просты в настройке и нересурсоемки. К одной из самых удачных программ такого рода можно отнести Internet Periscope. Помимо обнаружения вторжений, эта система умеет также в автоматическом режиме находить сведения о домене и IP-сети, из которой пришел злоумышленник, показывать координаты для контактов его провайдера и т.п.
· В отдельный класс IDS можно отнести специальные программы, которые проводят не анализ сетевого трафика, а постоянный мониторинг журналов событий Windows (обычно при помощи них можно также настроить аудит). К таким системам относится, например, GFI SELM.
· Конечно, имеются также аппаратные системы обнаружения вторжений (часто объединенные с аппаратными брандмауэрами). Наиболее распространены такие устройства фирм CheckPoint и NetScreen.
Узловые IDS
Узловые IDS (HIDS) устанавливаются на узле, который они будут отслеживать. Узлом может быть сервер, рабочая станция или любое другое сетевое устройство (например, принтер, маршрутизатор или шлюз). HIDS устанавливает службу или демон либо изменяет ядро операционной системы или приложение для получения полномочий первичной проверки. HIDS могут прослушивать сетевой трафик отслеживаемого узла и прекрасно справляются с мониторингом и составлением отчетов о прямых взаимодействиях на прикладном уровне. При проведении прикладных атак возможно внесение изменений в память, выполнение злонамеренно искаженных запросов, переполнение буфера и попытки изменения файлов. Система HIDS проверяет каждую входящую команду, ищет признаки вредоносного воздействия или просто отслеживает несанкционированное изменение файлов.[49]
HIDS, предназначенные для контроля целостности файлов (используют моментальные «снимки» файлов и контрольные суммы), создают криптографический хэш важных файлов в известном «чистом» состоянии, а затем, через определенное время, проверяют эти файлы посредством сравнения. При обнаружении изменений администратору выдается предупреждение.
Системы HIDS, отслеживающие выполняемые в системах действия, осуществляют мониторинг в режиме реального времени и перехват потенциально вредоносных действий. Например, Windows HIDS выдает оповещения о попытках изменения реестра, манипуляциях с файлами, доступе в систему, изменении пароля, эскалации привилегий и о других изменениях, вносимых непосредственно в структуру и данные узла. На узле Unix система HIDS осуществляет мониторинг попыток доступа к исполняемым файлам системы, попыток загрузки файла /etc/passwd, использования команд setuid и setgid, а также внесения дополнений в «хрон» (от англ. Сгоп — демон ОС Unix, исполняющий предписанные команды в строго определенные дни и часы, указанные в специальном файле с именем crontab). HIDS, отслеживающая действия на веб-сервере, выполняет мониторинг входящих запросов и выдает предупреждения о злоумышленно составленных HTML-откликах, атаках с использованием межсайтовых сценариев или о внедрении кода SQL.
Раннее предупреждение и предотвращение являются основными преимуществами систем HIDS, действующими в режиме реального времени. HIDS реального времени постоянно отслеживает систему и вызовы приложений, поэтому она может изначально остановить развитие потенциально опасных событий. С другой стороны, мониторинг в режиме реального времени занимает значительную часть процессорного времени, что неприемлемо, если речь идет о защите высокопроизводительного оборудования, например популярного веб-сервера или крупного сервера базы данных. Мониторинг действий в режиме реального времени лишь позволяет обнаружить ранее определенные угрозы, а обновление признаков атак происходит несколько раз в год, поэтому необходимо обновлять системы мониторинга реального времени, во многом аналогичных антивирусным базам данных. Кроме того, если вторжение успешно пресекается блокиратором событий, работающим в режиме реального времени, система HIDS не сможет сгенерировать достаточное количество детальной информации о последствиях в отличие от систем HIDS, делающих «моментальный снимок» состояния защищаемой системы.
HIDS, фиксирующие состояние защищаемой системы, по сути реактивны. Они лишь генерируют отчеты о злоумышленных действиях и не пресекают их. Такие HIDS отлично подходят для судебной экспертизы. С помощью одного отчета можно выявить отличия нормального состояния системы от поврежденного. В этом случае не придется собирать по кусочкам различные состояния системы для определения изменений, внесенных в изначальное состояние. Оценивать ущерб в данном случае значительно проще, чем с помощью HIDS реального времени, так как HIDS, фиксирующая состояние защищаемой системы, может выдать точные данные о внесенных изменениях. При этом, чтобы определить, нужно ли полностью реконструировать узел или безопасно провести частичное восстановление, можно прибегнуть к сравнительному анализу отчетов. Кроме того, при проведении судебной экспертизы пригодятся «снимки» состояния системы до и после проявления угрозы.
Системы с фиксацией состояния системы полезны не только в области компьютерной безопасности. Они применяются в управлении конфигурацией и контроле изменений. Зафиксированное состояние системы может пригодиться, когда необходимо создать множество различных систем с одними и теми же параметрами конфигурации, идентичными настройкам первичного экземпляра системы. Сконфигурировав дополнительные системы и проведя сравнительный анализ, можно выяснить, идентичны ли конфигурации всех систем. Кроме того, генерирование отчетов о состоянии системы впоследствии позволит определить, были ли внесены в узел несанкционированные изменения. Очевидный недостаток HIDS, фиксирующей состояние системы, в том, что предупреждения и отчеты генерируются постфактум. Таким образом, действие этих систем не предотвращает несанкционированное внесение изменений и нанесение ущерба.
Системы HIDS типа «honeypot»
До сих пор речь шла о защите рабочих узлов. Однако некоторые системы HIDS устанавливаются как узлы-жертвы для использования в злонамеренных целях и незаконного проникновения. «Honeypot» — это специальная разновидность HIDS, подразумевающая исключительно мониторинг, обнаружение и перехват проявлений угроз относительно самой себя. Такая система может являться обыкновенным компьютером, моделирующим рабочую систему, без каких-либо обновлений и надстроек; кроме того, хостинг данной системы может осуществляться посредством программы — виртуального «honeypot». Виртуальные системы типа «honeypot» реализуются посредством специального эмулирующего программного обеспечения, симулирующего IP-стек конкретной платформы, отклики операционной системы, а иногда даже службы, приложения и содержимое.
Системы «honeypot» также принимают вредоносный трафик, отторгнутый устройством сетевого периметра, чтобы замедлить действия хакеров или автоматизированных программ-червей. Программа LaBrea представляет собой «опасную» систему «honeypot», отвечающую на вредоносные запросы, передаваемые по незанятым IP-адресам и портам. Посредством этого достигается пресечение действий хакеров и червей, т.е. их присутствие на протяжении длительного времени в виртуальной среде вез причинения какого-либо ущерба.[50]
Сетевые IDS (NIDS)
Сетевые IDS (NIDS) более популярны в области обнаружения вторжений, и их функционирование заключается в перехвате и анализе сетевых пакетов, проходящих через канал связи. В отличие от HIDS, NIDS предназначены для защиты более чем одного узла. Такие системы могут защищать группу компьютеров, например группу серверов, либо отслеживать всю сеть целиком. Перехваченный трафик сравнивается со спецификациями протокола, и нормальный трафик пропускается; также осуществляется проверка полезной информационной нагрузки на вредоносное содержимое. При обнаружении угрозы безопасности соответствующее событие записывается в журнал и генерируется оповещение.
При использовании HIDS программное обеспечение устанавливается на узле, мониторинг которого необходимо осуществлять, и вся работа выполняется этим ПО. Так как системы NIDS функционируют посредством проверки сетевых пакетов, включая трафик, не предназначенный для NIDS-узла в сети, здесь есть некоторые варианты физической установки. Как правило, новички в использовании NIDS долгие часы выясняют, почему установленные ими IDS не генерируют никаких оповещений. Иногда это происходит из-за отсутствия трафика, представляющего угрозу, иногда — из-за того, что NIDS не настроена на перехват пакетов, направленных на другие узлы. Верный признак неправильной конфигурации параметров сетевого уровня устройства NIDS — перехват только трафика вещания и пакетов, направленных на саму NIDS. Трафик не начнет отображаться в системе NIDS сразу после включения. Необходимо настроить NIDS и сеть так, чтобы трафик, который необходимо отслеживать, физически проходил через NIDS. Системы NIDS должны обладать «неразборчивыми» сетевыми картами с драйверами пакетного уровня и устанавливаться на каждом отслеживаемом сетевом сегменте.
Драйверы пакетного уровня. Перехват сетевых пакетов осуществляется посредством программного драйвера пакетного уровня, граничащего с картой сетевого интерфейса. Во многих системах Unix и Windows отсутствуют встроенные драйверы пакетного уровня, поэтому часто IDS-системы базируются на бесплатно распространяемых драйверах пакетного уровня, таких как libpcap или WinPcap 3.0. Перехват пакетов и их анализ с помощью свободно распространяемых средств, таких как tcpdump (www.tcpdump.org) или WinDump (http://windump.poIito.it), часто предусматривается системами IDS, открытыми для свободного пользования. В большинстве коммерческих IDS есть встроенные драйверы пакетного уровня и ПО для прослушивания пакетов.
«Неразборчивый» режим. Для прослушивания пакетов системой NIDS необходимо, чтобы пакеты передавались драйверу пакетного уровня картой сетевого интерфейса. По умолчанию большинство сетевых карт не функционируют в «неразборчивом» режиме, т.е. считывают из канала связи только те пакеты, которые предназначены именно им. Как правило, среди таких пакетов есть так называемые unicast-пакеты, предназначенные исключительно для конкретной рабочей станции, broadcast-пакеты, предназначенные для всех компьютеров, которых они достигнут, и multicast-трафик, предназначенный для двух или более заранее определенных узлов. В большей части сетей наблюдается unicast- и broadcast-трафик. Multicast-трафик менее распространен, однако, он часто используется при работе веб-приложений, осуществляющих потоковую передачу информации. По умолчанию сетевая карта в обычном режиме игнорирует трафик, направленный на другие компьютеры, а также пакеты, являющиеся результатом сбоев при передаче (коллизии, повреждение кабеля и т.д.). Перед установкой IDS следует убедиться в том, что сетевая карта этой системы работает в «неразборчивом» режиме и может пропускать через себя весь трафик, проходящий по кабелю.[51]
Датчики сетевых сегментов
В рамках данного раздела сетевой сегмент можно определить как одиночный логический пакетный домен. В контексте NIDS это означает, что весь сетевой трафик, направленный и исходящий со всех компьютеров в одном сетевом сегменте, может отслеживаться на физическом уровне.
Чтобы мониторинг сети был эффективным, необходимо наличие по крайней мере одного проверяющего NIDS-устройства в каждом сетевом сегменте. Это устройство может представлять собой полнофункциональный компьютер IDS или просто повторитель трафика, иначе называемый датчиком или заглушкой. Датчики и заглушки - это небольшие сетевые устройства, специально предназначенные для NIDS и имеющие два или более сетевых порта. Как правило, они лишены клавиатуры и других устройств ввода и требуют для настройки соответствующего административного ПО. Один порт подключается в центре соединения в отслеживаемом сетевом сегменте, а другой подсоединяется к кабелю, ведущему к центральной консоли IDS. Сетевой трафик снимается с канала связи и передается в консоль IDS. Заглушки и датчики, как правило, не имеют IP и МАС-адресов, поэтому они невидимы для злоумышленников. Компания Intrusion Inc. (www.intrusion.com) — производитель популярной серии датчиков и заглушек.
Каждое устройство на общем концентраторе имеет доступ к сетевому сегменту, так как каждому порту доступна вся сетевая информация, направленная на любой порт. Датчик можно расположить на любом концентраторе или порте моста и осуществлять перехват всех данных на локальном сегменте. Маршрутизаторы - это крайние точки сегментов, и необходимо разместить, хотя бы один датчик в каждом сегменте, который нужно отслеживать. Для повышения производительности может потребоваться большее количество датчиков, чем необходимо физически в данной сетевой топологии, либо необходимо установить датчики для конкретных групп компьютеров внутри одного сегмента.
Большинство современных Ethernet-сетей содержит коммутаторы. За исключением пакетов вешания, коммутаторы передают пакеты только в конкретные пункты назначения. В коммутируемой сети IDS не будет доступен трафик соседнего устройства, не являющийся трафиком вещания, и это значительная проблема при необходимости мониторинга всего сетевого сегмента.
Эту проблему можно решить несколькими способами в зависимости от оборудования. Во-первых, многие администраторы IDS используют заглушки или датчики для обхода сегментации коммутатором. Однако этот способ дорог и не практичен в коммутируемой сети, если нужно отслеживать каждый порт. Во-вторых, многие коммутаторы поддерживают зеркал ирование портов (перенаправление трафика). Зеркалирование портов выполняется посредством инструктирования коммутатора о копировании всего входящего и исходящего трафика конкретного порта на другой порт, на котором расположена IDS.
Во-вторых, некоторые коммутаторы позволяют осуществлять зеркалирование всех портов на определенный порт управления, а другие позволяют осуществлять единовременный мониторинг только лишь одного порта. Зеркалируемым портом может быть любой другой нормально коммутируемый порт, либо это может быть специальный порт управления с последовательным интерфейсом. Имейте в виду, что в некоторых случаях при зеркалировании порта осуществляется лишь копирование трафика, передаваемого в исходный порт, и не происходит отправки из него. Документация по коммутатору содержит все детальные сведения по этому вопросу.
Недостаток зеркалирования в том, что оно повышает уровень загруженности коммутатора при копировании трафика. Зеркалирование всех портов может значительно снизить общую производительность сети.
В-третьих, если коммутатор не поддерживает зеркалирование портов, то можно убедиться в возможности переключения коммутатора в режим моста, в котором весь трафик реплицируется по всем портам. Это полностью сводит на нет все преимущества коммутатора, поэтому здесь необходимо провести тщательный анализ затрат относительно получаемой выгоды. Если коммутатор не поддерживает режим моста, некоторые администраторы IDS прибегают к умышленному позиционированию посредством ARP или МАС-адреса, «обманывая» коммутатор с целью его принудительного перехода в режим моста. Данный метод должен применяться, только если необходим срочный мониторинг.
Еще одним распространенным способом является размещение IDS и всех защищаемых компьютеров на повторителе Ethernet или концентраторе, чтобы весь трафик был доступен для всех портов. Этот подход можно использовать при поиске конкретного вредоносного трафика, направленного на определенные серверы, или для подключения портативного IDS-компьютера в сегмент, подвергнутый воздействию вредоносного трафика.[52]