В этой серии статей мы дадим рекомендации, которые помогут оценивать NID сигнатуры. Мы начнем с обсуждения основ оценок признаков NID сигнатур, а затем рассмотрим некоторые проблемы, касающиеся выбора атак для тестирования системы. Даже если вам не нужно производить оценку и тестирование NID, информация, представленная в этой серии статей, даст вам знания и факты для понимания большинства обзоров на эту тему и сравнения NID сигнатур. Конечно, мы предполагаем, что читатель уже знаком с основными понятиями и принципами сетевых систем обнаружения вторжения.
Карен Кент Фредерик, kkent@bigfoot.comВ течение нескольких последних лет многие исследовательские и коммерческие организации производят оценки всевозможного программного обеспечения обнаружения сетевого вторжения (NID) для определения эффективности каждого продукта и сравнения их друг с другом. Многие системные администраторы и аналитики безопасности также производят свои собственные оценки таких продуктов, чтобы принять решение об их использовании в своих средах. Оценки NID обычно включают в себя некоторую весьма грубую проверку относительных признаков сигнатур программных продуктов. Однако, высокое качество сигнатуры может привести к принятию неправильного решения, поэтому мы не настаиваем на исключительной важности точной оценки признаков сигнатур.
В этой серии статей мы дадим рекомендации, которые помогут оценивать NID сигнатуры. Как мы увидим, проверка сигнатуры должным образом является, на удивление, сложной задачей. Мы начнем с обсуждения основ оценок признаков NID сигнатур, а затем рассмотрим некоторые проблемы, касающиеся выбора атак для тестирования системы. Даже если вам не нужно производить оценку и тестирование NID, информация, представленная в этой серии статей, даст вам знания и факты для понимания большинства обзоров на эту тему и сравнения NID сигнатур. Конечно, мы предполагаем, что читатель уже знаком с основными понятиями и принципами сетевых систем обнаружения вторжения.
Предположим, что вам нужно выбрать программное обеспечение для обнаружения вторжения в сети в вашей окружающей среде. Чтобы узнать, какие продукты наиболее подходят для вашей организации, вы можете приобрести демонстрационные копии продуктов и проверить их непосредственно. Для проведения своего собственного тестирования, можно использовать изолированную испытательную среду, содержащую "атакующие" хосты, с которых вы осуществляете атаки, "целевые" хосты, на которые атаки направлены, и хосты, управляющие программным обеспечением и наблюдением за испытуемым участком сети. Несомненно, такой способ является самым лучшим для оценки программного продукта, потому что вы можете настроить тестирование так, чтобы уделить основное внимание особенностям вашей системы. К сожалению, такое тестирование требует хороших знаний не только принципов обнаружения сетевого вторжения, но и знание принципов организации сети, различных операционных систем, эксплуатационные характеристики и характеристик уязвимостей, а также знания в других областях компьютерной безопасности и программирования.
Что же делать, если у вас нет достаточных знаний или, что чаще всего бывает, у вас нет времени и ресурсов для производства такого тестирования? Скорее всего, Вы будете читать опубликованные обзоры, а так же статьи, в которых сравниваются различные программные продукты, и использовать эту информацию в качестве основы для производимой вами оценки. Обзоры дают богатую информацию и могут сэкономить вам много времени при выборе программного продукта. Однако, такие обзоры в большей части посвящены полному использованию продукта и лишь немного внимания уделяется сигнатурам. В отличие от антивирусных программ, от которых вы можете ожидать достаточные сигнатурные возможности и охват, продавцы программного обеспечения сетевых систем обнаружения вторжения имеют различные представления о сигнатурах, методике и охвате. Качество и полнота сигнатур - один из самых важных и трудных аспектов решения проблемы обнаружения сетевого вторжения.
Была проведена небольшая коммерческая исследовательская работа по точной оценке признаков сигнатур обнаружения вторжения. Обычно при оценке программного обеспечения производится большое количество запланированных атак на тестируемую сеть, а NID датчики и испытатель подсчитывают, какое количество атак обнаружено системой обнаружения вторжений. Иногда результаты такого теста могут дать общее представление о сигнатурах, но они не дают точной оценки и часто не обеспечивают доверительные данные для того, чтобы сравнивать различные наборы сигнатур. Чтобы расширить оценки программного обеспечения сетевых систем обнаружения вторжения, включив в них всестороннее тестирование признаков сигнатур, некоторые пункты тестирования должны быть изменены. Мы глубоко исследуем каждый фактор в следующих разделах.
Продавцы NID систем утверждают, что их продукты содержат сотни или даже тысячи сигнатур. Но все еще встречаются NID оценки (и публикуются), использующие менее пяти атак, которые проверяют только несколько сигнатур. Действительно, мы мало, что можем сказать о качестве набора сигнатур, если проверены только три сигнатуры из тысячи. Ситуация усугубляется еще тем, что имеется много причин, вызывающих появление данной сигнатуры. Поскольку отдельная NID содержит огромное количество сигнатур, невозможно полностью проверить все сигнатуры; время и ресурсы, требующиеся для этого, слишком велики почти для любой организации. Усложняет проблему так же тот факт, что большинство продавцов не раскрывают своих секретов, поэтому источник NID сигнатур, и NID документация часто содержат мало конкретной информации о характеристиках атак с данной сигнатурой.
Так как же проверять NID сигнатуры? Обычно у нас нет большого количества информации о характеристиках сигнатур, но имеется богатая информация об атаках, уязвимостях и их действиях. Мы должны определить, какие угрозы являются наиболее важными для нашей сети, а затем спланировать и выполнить тестирование NID. Так как имеется много потенциальных угроз, мы должны соизмерять свои возможности, чтобы осуществить тестирование в реальные сроки. Для этого можно использовать общепринятое программное обеспечение, проверяющее самое основное. Здравый смысл тоже не помешает.
Поскольку мы не можем проверять все атаки, которые могут произойти, мы должны сосредоточиться на выборе типичного образца атак и тестировать NID-сигнатуры только таких атак. Это должно нам дать очень хорошее понимание признаков сигнатур, если выполнены два условия. Первое: мы должны очень тщательно выбирать атаки, а их количество должно быть достаточным. Второе: тестирование должно быть проведено должным образом. Эти условия выглядят просто, но в действительности они очень усложнены. Многие NID- оценки, включая коммерческие обзоры и сравнения продуктов, часто нарушают одно или оба этих условий, потому их результаты могут оказаться смещенными, что приведет к неправильным выводам. Мы начнем наше исследование с выбора атак.
Самый сложный аспект тестирования сигнатуры - это выбор и генерирование атак, которые, как мы надеемся, вызовут тревогу на основании просмотра их сигнатуры. Традиционно, при тестировании, оценщики NID систем выбирают от нескольких до нескольких сотен атак. Эти атаки часто выбираются произвольно. Как правило, испытатели следят только за известными атаками и используют их при проверке NID. Более конструктивный способ выбора состоит в следующем: произвести классификацию атак, а затем выбрать одну или более атак каждого типа.
Хотя этот подход довольно эффективен, при выборе атак нужно принимать во внимание и другие факторы: угрозы и риски, свойственные вашей окружающей среде. Атаки, появившиеся пять лет назад, вряд ли представляют серьезную угрозу для ваших систем. Если ваша организация использует семь протоколов (типа FTP, HTTP и SMTP) на участках сети, которые будет контролировать NID система, то атаки, которые вы выбираете, должны быть адресованы всем этим протоколам, и, возможно, следует исключить все другие протоколы. Если пятьдесят процентов атак, которым подвергаются ваши системы, нацелены против Web серверов, то около половины атак, которые вы собираетесь включить в тестирование, должны базироваться на HTTP-протоколе. Чтобы обеспечить точную оценку признаков сигнатур, набор атак должен точно соответствовать характеру угроз и рисков.
Объединяя свои знания угроз в вашей окружающей среде с методикой классификации атак, можно выбрать хорошо сбалансированный набор атак. Большинство атак и, следовательно, большинство сигнатур, связаны со специфическими сетевыми протоколами (IP, TCP, UDP, ICMP, и т.д.) или с прикладными протоколами (FTP, HTTP, SMTP). Поскольку почти все атаки связаны со специфическими протоколами, в первую очередь имеет смысл классифицировать атаки по протокольному признаку. Итак, вы можете создать список протоколов, которые представляют интерес в вашей окружающей среде, и использовать этот список, как руководство для выбора атак.
На следующем шаге нужно определить, какие атаки должны использоваться для каждого класса (протоколов). Первый вопрос, который нужно рассмотреть - следующий: Вам интересны атаки, соответствующие вашим системам, или вообще все атаки? Например, если Вы используете только апачские вебсерверы, хотите ли Вы, чтобы фиксировались майкрософтовские атаки? Если ответ отрицательный, ваша задача значительно упрощается - среди всех HTTP -атак Вам нужно рассматривать только те, которые нацелены на апачские вебсерверы. В противном случае Вы должны рассматривать атаки на все типы вебсерверов.
Другой важный критерий - это возраст атаки. Старые атаки, в отличие от новейших, не представляют большой опасности в большинстве окружающих сред. Учитывайте и возраст атаки, и тип операционной системы или версию приложения, на которую атака направлена. Например, возраст атаки на FTP -сервер - два года, а сервер был создан пять лет назад.
После того, как Вы сузили класс интересующих вас протоколов и возраст атак, которые вы будете рассматривать, наступает время выбора атак, которыми будут использоваться. Конечно, вы хотите выполнить тестирование эффективно, то есть проверить как можно больше продуктов, потратив при этом как можно меньше усилий. Поэтому, вам нужно выбрать атаки, проверяющие различные аспекты набора сигнатур. Например, не имеет смысла выбирать пять атак на FTP, каждая из которых использует переполнение буфера по команде CWD. Лучше выбрать эти пять атак так, чтобы все цели имели различный тип FTP-уязвимостей. В наборе атак, используемом для тестирования, должны также включаться методы уклонения IDS, применимые к вашей сети, а также прикладные протоколы, которыми вы интересуетесь.
Как узнать об эксплоитах, уязвимостях и методах уклонения IDS, для протоколов, которые Вы выбрали? Зайдите на наш сайт www.SecurityLab.ru, в котором вы найдете информацию о тысячах уязвимостях за последние несколько лет, включая копии эксплоитов. База данных может также использоваться для того, чтобы помочь вам в определении подходящих кандидатур для включения в ваш набор атак.
Определение признаков сигнатур обнаружения сетевого вторжения является сложным, нуждающимся в техническом обеспечении, процессом, и требует от оценщика обладания техническими навыками, достаточного количества времени и ресурсов. Основа хорошей стратегии тестирования сигнатур - это правильный выбор образца атак, который позволит проверить как можно больше сигнатур за отведенное время. Поняв (на языке обнаружения вторжений) угрозы, которые, в принципе, может встретить ваша окружающая среда, и непосредственные угрозы среде, вы сможете составить список сетевых и прикладных протоколов (включая специфические приложения, если необходимо), которые будут служить основой для создания набора атак. Источники типа Securitylab.ru содержат огромное количество информации об эксплоитах, уязвимостях, методов атак и других вещах, непосредственно связанных с NID тестированием. В следующей статье этой серии, мы закончим обсуждение выбора атак и дадим рекомендации по генерированию атак и по созданию испытательной окружающей среды.
--------------------------------------------------------------------------------------
В курсе "ВЫБОР
СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК"
рассматриваются классификации систем
обнаружения атак, анализируются примеры
решений различных компаний (в т.ч. и
российские разработки). Рассматривается
широкий спектр средств обнаружения атак -
системы анализа защищенности (сканеры
безопасности); классические системы
обнаружения атак, функционирующие на
уровнях сети и конкретных узлов; системы
контроля целостности, а также
малоизвестный класс сложных обманных
систем.
--------------------------------------------------------------------------------------