Лекция №1 Общие сведения Эпиграф Джованни Виджна, Ричард Кеммерер Представьте, что перед вашим домом остановился странный человек. Он обернулся, внимательно оглядел окрестности, а затем подошел к двери и повернул ручку. Дверь оказалась запертой. Он подошел к ближайшему окну и попытался осторожно его открыть. Окно тоже было закрыто. По-видимому, ваш дом в безопасности. Так зачем же устанавливать сигнализацию? Эпиграф 2 Все связи на этой земле распались. И имена потеряли смысл. Остался лишь мир, полный угрозы, мир, лишенный имени и потому таивший в себе безымянные опасности, которые подстерегали тебя на каждом шагу. Опасности эти не обрушивались на человека сразу, не хватали его за горло, не валили с ног – нет, они были куда ужасней, ибо они подкрадывались беззвучно, незаметно. Э.М. Ремарк. «Тени в раю» Life Общие сведения Обнаружение вторжений остается областью активных исследований уже в течение двух десятилетий. Считается, что начало этому направлению, было положено в 1980 г. статьей Джеймса Андерсона "Мониторинг угроз компьютерной безопасности". Несколько позже, в 1987 г. это направление было развито публикацией статьи "О модели обнаружения вторжения" Дороти Деннинг. Она обеспечила методологический подход, вдохновивший многих исследователей и заложивший основу для создания коммерческих продуктов в области обнаружения вторжений. Изучение методов обнаружения аномалий было предварено аксиомой, что можно различать маскирующихся и действительно законных пользователей посредствам выявления отклонений от исторически сложившегося использования системы. Выражалась надежда, что подход на основе анализа данных аудита будет полезен для идентификации не только кракеров, разными способами добывающих информацию об идентификации и аутентификации и применяющих её для маскировки под авторизованных пользователей, но также и самих авторизованных пользователей, выполняющих несанкционированные действия, т.е. злоупотребляющих своими привилегиями. По статистике, около 80% процентов взломов производится изнутри, то есть сотрудниками самой организации. История Первая концепция СОВ появилась благодаря Джеймсу Андерсону и статье . В 1984 Фред Коэн сделал заявление о том, что каждое вторжение обнаружить невозможно и ресурсы, необходимые для обнаружения вторжений, будут расти вместе с степенью использования компьютерных технологий. Дороти Деннинг, при содействии Питера Неймана, опубликовали модель СОВ в 1986, сформировавшую основу для большинства современных систем. Ее модель использовала статистические методы для обнаружения вторжений и называлась IDES (Intrusion detection expert system — экспертная система обнаружения вторжений). Система работала на рабочих станциях Sun и проверяла как сетевой трафик, так и данные пользовательских приложений. 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 году в Лос-Аламосской Национальной лаборатории.[7] 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, использовал статистические методы и правила для проверки данных и обнаружения вторжений. Далее, в 1991, разработчики Университета Калифорнии разработали прототип распределенной системы DIDS (Distributed intrusion detection system), которая также являлась экспертной системой. Также в 1991 сотрудниками Национальной Лаборатории Встроенных Вычислительных Сетей (ICN) была разработана система NADIR (Network anomaly detection and intrusion reporter). На создание этой системы оказало большое влияние работа Деннинга и Люнт. NADIR использовала основанный на статистике детектор аномалий и экспертную систему. В 1998 году Национальная лаборатория им. Лоуренса в Беркли представила Bro, использующий собственный язык правил для анализа данных libpcap. NFR (Network Flight Recorder), разработанный в 1999, также работал на основе libpcap. [15] В ноябре 1998 был разработан APE, снифер пакетов, тоже использующий libpcap. Спустя месяц APE был переименован в Snort. В 2001 году была разработана система ADAM IDS (Audit data analysis and mining IDS). Система использовала данные tcpdump для создания правил. Определения Системы обнаружения вторжений (IDS - Intrusion Detection Systems) - один из важнейших элементов систем информационной безопасности сетей любого современного предприятия. Рост в последние годы числа проблем, связанных с компьютерной безопасностью, привёл к тому, что системы обнаружения вторжения очень быстро стали ключевым компонентом любой стратегии сетевой защиты. За последние несколько лет их популярность значительно возросла, поскольку продавцы средств защиты значительно улучшили качество и совместимость своих программ. Системами обнаружения вторжений (СОВ) называют множество различных программных и аппаратных средств, объединяемых одним общим свойством - они занимаются анализом использования вверенных им ресурсов и, в случае обнаружения каких-либо подозрительных или просто нетипичных событий, способны предпринимать некоторые самостоятельные действия по обнаружению, идентификации и устранению их причин. Но системы обнаружения вторжений лишь один из инструментов защитного арсенала и он не должен рассматриваться как замена для любого из других защитных механизмов. Защита информации наиболее эффективна, когда в интрасети поддерживается многоуровневая защита. Она складывается из следующих компонентов : Политика безопасности интрасети организации; Система защиты хостов в сети; Сетевой аудит; Защита на основе маршрутизаторов; Межсетевые экраны; Системы обнаружения вторжений; План реагирования на выявленные атаки. Следовательно для полной защиты целостности сети необходима реализация всех вышеперечисленных компонентов защиты. И использование многоуровневой защиты является наиболее эффективным методом предотвращения несанкционированного использования компьютерных систем и сетевых сервисов. Таким образом, система обнаружения вторжений – это одна из компонент обеспечения безопасности сети в многоуровневой стратегии её защиты. Интеграция сервисов безопасности и системы управления. Классификация IDS Метод обнаружения описывает характеристики анализатора. Когда IDS использует информацию о нормальном поведении контролируемой системы, она называется поведенческой. Когда IDS работает с информацией об атаках, она называется интеллектуальной. Поведение после обнаружения указывает на реакцию IDS на атаки. Реакция может быть активной – IDS предпринимает корректирующие (устраняет лазейки) или действительно активные (закрывает доступ для возможных нарушителей, делая недоступными сервисы) действия. Если IDS только выдаёт предупреждения, её называют пассивной. Расположение источников результата аудита подразделяет IDS в зависимости от вида исходной информации, которую они анализируют. Входными данными для них могут быть результаты аудита, системные регистрационные файлы или сетевые пакеты. Частота использования отражает либо непрерывный мониторинг контролируемой системы со стороны IDS, либо соответствующие периодическим запускам IDS для проведения анализа. Классификация IDS Классификация IDS По способам реагирования различают статические и динамические IDS. Статические средства делают «снимки» (snapshot) среды и осуществляют их анализ, разыскивая уязвимое ПО, ошибки в конфигурациях и т.д. Статические IDS проверяют версии работающих в системе приложений на наличие известных уязвимостей и слабых паролей, проверяют содержимое специальных файлов в директориях пользователей или проверяют конфигурацию открытых сетевых сервисов. Статические IDS обнаруживают следы вторжения. Динамические IDS осуществляют мониторинг в реальном времени всех действий, происходящих в системе, просматривая файлы аудита или сетевые пакеты, передаваемые за определённый промежуток времени. Динамические IDS реализуют анализ в реальном времени и позволяют постоянно следить за безопасностью системы. Классификация IDS По способу сбора информации различают сетевые и системные IDS. Сетевые (NIDS)контролируют пакеты в сетевом окружении и обнаруживают попытки злоумышленника проникнуть внутрь защищаемой системы или реализовать атаку «отказ в обслуживании». Эти IDS работают с сетевыми потоками данных. Типичный пример NIDS – система, которая контролирует большое число TPC-запросов на соединение (SYN) со многими портами на выбранном компьютере, обнаруживая, таким образом, что кто-то пытается осуществить сканирование TCPпортов.Сетевая IDS может запускаться либо на отдельном компьютере, который контролирует свой собственный трафик, либо на выделенном компьютере, прозрачно просматривающим весь трафик в сети (концентратор, маршрутизатор). Сетевые IDS контролируют много компьютеров, тогда как другие IDS контролируют только один. IDS, которые устанавливаются на хосте и обнаруживают злонамеренные действия на нём называются хостовыми или системными IDS. Примерами хостовых IDS могут быть системы контроля целостности файлов (СКЦФ), которые проверяют системные файлы с целью определения, когда в них были внесены изменения. Мониторы регистрационных файлов (Log-file monitors, LFM), контролируют регистрационные файлы, создаваемые сетевыми сервисами и службами. Обманные системы, работающие с псевдосервисами, цель которых заключается в воспроизведении хорошо известных уязвимостей для обмана злоумышленников. Классификация IDS По методам анализа IDS делят на две группы : IDS, которые сравнивают информацию с предустановленной базой сигнатур атак и IDS, контролирующие частоту событий или обнаружение статистических аномалий. Анализ сигнатур был первым методом, примененным для обнаружения вторжений. Он базируется на простом понятии совпадения последовательности с образцом. Во входящем пакете просматривается байт за байтом и сравнивается с сигнатурой (подписью) – характерной строкой программы, указывающей на характеристику вредного трафика. Такая подпись может содержать ключевую фразу или команду, которая связана с нападением. Если совпадение найдено, объявляется тревога. Второй метод анализа состоит в рассмотрении строго форматированных данных трафика сети, известных как протоколы. Каждый пакет сопровождается различными протоколами. Авторы IDS, зная это, внедрили инструменты, которые разворачивают и осматривают эти протоколы, согласно стандартам. Каждый протокол имеет несколько полей с ожидаемыми или нормальными значениями. Если что-нибудь нарушает эти стандарты, то вероятна злонамеренность. IDS просматривает каждое поле всех протоколов входящих пакетов: IP, TCP, и UDP. Если имеются нарушения протокола, например, если он содержит неожиданное значение в одном из полей, объявляется тревога Системы анализа сигнатуры имеют несколько важных сильных сторон. Во-первых, они очень быстры, так как полный анализ пакета - относительно тяжелая задача. Правила легко написать, понять и настроить. Кроме того, имеется просто фантастическая поддержка компьютерного сообщества в быстром производстве сигнатур для новых опасностей. Эти системы превосходят все другие при отлове хакеров на первичном этапе: простые атаки имеют привычку использовать некие предварительные действия, которые легко распознать. Наконец, анализ, основанный на сигнатуре, точно и быстро сообщает, что в системе все нормально (если это действительно так), поскольку должны произойти некие особые события для объявления тревоги. С другой стороны IDS, основывающаяся только на анализе сигнатур, имеет определенные слабости. Являясь первоначально очень быстрой, со временем скорость ее работы будет замедляться, поскольку возрастает число проверяемых сигнатур. Это – существенная проблема, поскольку число проверяемых сигнатур может расти очень быстро. Фактически, каждая новая атака или действие, придуманное атакующим, увеличивает список проверяемых сигнатур. Не помогут даже эффективные методы работы с данными и пакетами: огромное количество слегка измененных атак могут проскользнуть через такую систему Имеется и другая сторона проблемы: так как система работает, сравнивая список имеющихся сигнатур с данными пакета, такая IDS может выявить только уже известные атаки, сигнатуры которых имеются. Согласно статистике 80% атак происходит по давно известным сценариям. Наличие в системе обнаружения сигнатур известных атак даёт высокий процент обнаружения вторжений. Классификация IDS В случае анализа протоколов тоже имеются свои достоинства и недостатки. Из-за предпроцессов, требующих тщательной экспертизы протоколов, анализ протокола может быть довольно медленным. Кроме того, правила проверки для системы протокола трудно написать и понять. Можно даже сказать, что в этом случае приходится уповать на добросовестность производителя программы, так как правила относительно сложны и трудны для самостоятельной настройки. На первый взгляд, IDS на основе анализа протокола работают медленнее, чем системы на основе сигнатуры, они, более «основательны» в смысле масштабности и результатов. Кроме того, эти системы ищут «генетические нарушения» и часто могут отлавливать свежайшие “эксплоиты нулевого дня”, что в принципе Структура В современных системах обнаружения логически выделяют следующие основные элементы: Подсистема сбора информации используется для сбора первичной информации о работе защищаемой системы. Подсистема анализа (обнаружения) осуществляет поиск атак и вторжений в защищаемую систему. Подсистема представления данных (пользовательский интерфейс) позволяет пользователю(ям) СОВ следить за состоянием защищаемой системы. Структура Подсистема сбора информации аккумулирует данные о работе защищаемой системы. Для сбора информации используются автономные модули – датчики. Количество используемых датчиков различно и зависит от специфики защищаемой системы. Датчики в СОВ принято классифицировать по характеру собираемой информации. В соответствии с общей структурой информационных систем выделяют следующие типы: датчики приложений – данные о работе программного обеспечения защищаемой системы; датчики хоста – функционирование рабочей станции защищаемой системы; датчики сети – сбор данных для оценки сетевого трафика; межсетевые датчики – содержат характеристики данных, циркулирующих между сетями. Система обнаружения вторжения может включать любую комбинацию из приведенных типов датчиков. Структура Подсистема анализа структурно состоит из одного или более модулей анализа – анализаторов. Наличие нескольких анализаторов требуется для повышения эффективности обнаружения. Каждый анализатор выполняет поиск атак или вторжений определенного типа. Входными данными для анализатора является информация из подсистемы сбора информации или от другого анализатора. Результат работы подсистемы – индикация о состоянии защищаемой системы. В случае, когда анализатор сообщает об обнаружении несанкционированных действий, на его выходе может появляться некоторая дополнительная информация. Обычно эта информация содержит выводы, подтверждающие факт наличия вторжения или атаки. Подсистема представления данных необходима для информирования заинтересованных лиц о состоянии защищаемой системы. В некоторых системах предполагается наличие групп пользователей, каждая из которых контролирует определенные подсистемы защищаемой системы. Поэтому в таких СОВ применяется разграничение доступа, групповые политики, полномочия и т.д. Архитектура IDS У систем обнаружения вторжений целесообразно различать локальную и глобальную архитектуру. В рамках локальной архитектуры реализуются элементарные составляющие, которые затем могут быть объединены для обслуживания корпоративных систем . Локальная архитектура. Первичный сбор данных осуществляют агенты, называемые также сенсорами. Регистрационная информация может извлекаться из системных или прикладных журналов (технически несложно получать ее и напрямую от ядра ОС), либо добываться из сети с помощью соответствующих механизмов активного сетевого оборудования или путем перехвата пакетов посредством установленной в режим мониторинга сетевой карты. Локальная архитектура Локальная архитектура На уровне агентов (сенсоров) может выполняться фильтрация данных с целью уменьшения их объема. Это требует от агентов некоторого интеллекта, но зато разгружает остальные компоненты системы. Агенты передают информацию в центр распределения, который приводит ее к единому формату, возможно, осуществляет дальнейшую фильтрацию, сохраняет в базе данных и направляет для анализа статистическому и экспертному компонентам. Один центр распределения может обслуживать несколько сенсоров. Содержательный активный аудит начинается со статистического и экспертного компонентов. Если в процессе статистического или экспертного анализа выявляется подозрительная активность, соответствующее сообщение направляется решателю, который определяет, является ли тревога оправданной, и выбирает способ реагирования. Хорошая система обнаружения вторжений должна уметь внятно объяснить, почему она подняла тревогу, насколько серьезна ситуация и каковы рекомендуемые способы действия. Если выбор должен оставаться за человеком, то пусть он сводится к нескольким элементам меню, а не к решению концептуальных проблем. Глобальная архитектура Глобальная архитектура подразумевает организацию одноранговых и разноранговых связей между локальными системами обнаружения вторжений. Глобальная архитектура На одном уровне иерархии располагаются компоненты, анализирующие подозрительную активность с разных точек зрения. Например, на хосте могут располагаться подсистемы анализа поведения пользователей и приложений. Их может дополнять подсистема анализа сетевой активности. Когда один компонент обнаруживает что-то подозрительное, то во многих случаях целесообразно сообщить об этом соседям либо для принятия мер, либо для усиления внимания к определенным аспектам поведения системы. Разноранговые связи используются для обобщения результатов анализа и получения целостной картины происходящего. Иногда у локального компонента недостаточно оснований для возбуждения тревоги, но "по совокупности" подозрительные ситуации могут быть объединены и совместно проанализированы, после чего порог подозрительности окажется превышенным. Целостная картина, возможно, позволит выявить скоординированные атаки на разные участки информационной системы и оценить ущерб в масштабе организации.