SNP-L Scripting Systems

SNP-L Scripting System — язык, очень напоминающий С, реализованный в системе обнаружения атак SecureNet PRO и предназначенный для описания атак (листинг 8.7). Одна из отличительных особенностей языка SNP-L — наличие так называемой "песочницы" (sandbox), во многом схожей с анало­гичной технологией, реализованной в языке Java. Все создаваемые сценарии атак выполняются в "песочнице", что позволяет защитить компьютер, накотором установлена система обнаружения атак, от отказов сценария или других нежелательных воздействий [Intrusion 1-00].

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

SecureLogic

Язык SecureLogic, в основу которого положен язык Tel, реализован в систе­ме RealSecure Server Sensor и разработан для более точной настройки сигна­тур обнаруживаемых атак. Кроме того, с помощью SecureLogic можно более глубоко и полно проанализировать ситуацию, приводящую к появлению обнаруженного события. Например, как это показано ниже (листинг 8.8), с помощью сценария SecureLogic можно произвести разбор регистрации в за­щищаемой системе пользователя с правами администратора. Если имя поль­зователя входит в список разрешенных имен, то никакого варианта реагиро­вания не реализуется, и данное событие не рассматривается как атака. В обратном случае вступает в действие заданный вариант реагирования, на­пример, блокировка учетной записи, и на консоль выдается сообщение об обнаружении атаки.

SNP-L Scripting Systems - student2.ru

CASL

CASL (Custom Audit Scripting Language, прежнее название — Custom Attack Simulation Language) — это язык, и одноименная подсистема, входящие в состав системы анализа защищенности CyberCop Scanner. Они были разработаны компанией Network Associates, а точнее Secure Networks, для расширения возможностей своего сканера Ballista, впоследствии переименованного в CyberCop Scanner. В настоящий момент подсистема CASL выделена в отдельный продукт, функционирующий под управлением ОС Windows NT (рис. 8.3) и Linux, который можно загрузить с сервера компании Network Associates.

SNP-L Scripting Systems - student2.ru

Язык CASL достаточно прост и позволяет описывать любые поля заголовка пакетов для различных протоколов, базирующихся на ICMP, IP, ТСР, UDP [CyberCop 1-00]. CASL оперирует переменными, операторами и пакетами и очень похож на N-Code. Например, параметр ip.src в языке N-Code аналогичен параметру ip_source в языке CASL.

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

NASL

NASL (Nessus Attack Scripting Language) - это язык описания атак, разрабо­танный для системы анализа защищенности Nessus. Он очень похож на язык С, но, по мнению разработчиков, по многим параметрам (например, скорости исполнения сценария) уступает другим языкам, таким как Tel, Python, Perl. Однако те задачи, для решения которых он был создан, этот. язык выполняет с достаточной эффективностью (листинги 8.10 и 8.11). Каки многие другие языки описания атак, NASL помимо переменных, операторов, функции и других элементов может оперировать сетевыми пакетами, что существенно облетает работу администратора безопасности [NASL 1-00].

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

VDL и VEL

Очень удобными с точки зрения конечного пользователя, не знакомого с языками С, Perl или Tel, являются языки VDL (Vulnerability Descriptive Language) или VEL (Vulnerability Exploit Language). Оба они созданы компанией Cisco Systems и используются в системе анализа защищенности Cisco Security Scanner. Проверки, описываемые этими языками, основаны на простых логических утверждениях (листинг 8.12), и пользователь может в течении нескольких секунд добавить нужные правила [Лукацкий 6-99].

SNP-L Scripting Systems - student2.ru

Данная проверка описывает правило, которое определяет наличие сервиса Telnet на 23-м TCP-порту анализируемого узла. Следующее, более сложное правило идентифицирует запущенное приложение SuperApp, устаревшей версии по заголовку, возвращаемому на запрос, обращенный к портам 1234 или 1235 (листинг 8.1.3).

SNP-L Scripting Systems - student2.ru

Данная потенциальная уязвимость (Vp), имея приоритет 3, относится к типу "устаревшего (потенциально уязвимого) программного обеспечения" (old-software) и носит название Supper-App-Ancient, задаваемое пользовате­лем. Число 10003 определяет уникальный номер записи в базе данных уязвимостей системы Cisco Secure Scanner (Network Security Database, NSDB)

При помощи языка VDL можно описывать три категории правил, позволяющие идентифицировать [Cisco l-99]:

q сетевые сервисы;

q тип операционной системы;

q уязвимости.

Компания Cisco Systems делит все уязвимости на два класса.

q Потенциальные (potential) — вытекающие из проверок заголовков и так называемых активных "подталкиваний" (nudge) анализируемого сервиса или узла. Потенциальная уязвимость, возможно, существует в системе, но активные зондирующие проверки не подтверждают этого. Данный тип проверок идентифицируется ключевым словом Vp.

q Подтвержденные (confirmed) — выявленные и существующие на анализи­руемом хосте. Данному типу проверок соответствует ключевое слово Vc.

Проверки на потенциальную уязвимость реализуются через анализ заголов­ков и с помощью "несильных подталкиваний". "Подталкивание" использует­ся для сервисов, не возвращающих заголовки, но реагирующих на простые команды, например, посылку команды HEAD для получения версии HTTP-сервера. Как только эта информация получена, система Cisco Secure Scanner задействует специальный механизм (rules engine), который реализует ряд правил, подтверждающих или нет, существует ли потенциальная уязвимость. Таким образом, администратор знает, какие из обнаруженных уязвимостей Действительно присутствуют в системе, а какие требуют подтверждения.

Однако можно заметить, что язык, встроенный в систему Cisco Secure Scan­ner и описывающий эти правила, достаточно элементарен и может помочь только в самых простых случаях. В сложных ситуациях, когда проверку нельзя записать одним правилом, необходимо строить более сложные сце­нарии, что можно достигнуть применением языков Perl, Tel или С.

Perl, С и другие

Попытки добавить новое в механизмы описания уязвимостей, проверок велись давно, и практически ни одна компания-разработчик не осталась стороне. Первая такая попытка была предпринята Витсом Венема и Дениэлом Фармером — создателями системы анализа защищенности SATAN. Описание новых уязвимостей в данной системе, точнее их проверок, осуществляй при помощи языка Perl. Эта достаточно нетривиальная задача требовала обширных знаний как языка Perl, так и архитектуры стека протоколов ТСР/IP сканируемой операционной системы. По тому же пути (снова Perl) пошли разработчики системы WebTrends Security Analyzer. Язык Perl, наряду с языком С, используется и в системе Internet Scanner. Достоинство языка Perl от С в том, что проверки и правила, написанные для одной системы, практически без изменений могут быть перенесены в другую систему.

Ниже приведен пример проверки на языке Perl для системы анализа защищенности WebTrends Security Analyzer, позволяющей определить тип операционной системы сканируемого узла (листинг 8.14).

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

SNP-L Scripting Systems - student2.ru

Создание собственных вариантов реагирования

Хорошая система обнаружения атак должна позволять дополнять список предопределенных вариантов реагирования на обнаруженные атаки. Это возможность существенно расширить варианты применения системы. Например, добавление функции уведомления администратора о зафиксированном несанкционированном действии через пейджер с радостью воспримут многие российские компании, которые оснащают своих администраторов этими дорогими коммуникационными устройствами. Служебные мобильные телефоны еще не так распространены, как служебные пейджеры. В свое время такая возможность была реализована в антивирусной системе AVP NetWare. Другой пример. Многие производители реализуют так называемые активные варианты реагирования, которые позволяют реконфигурировать сетевое оборудование. Но список этого оборудования строго ограничен двумя-тремя позициями. Способность к реконфигурации своих устройств на поря­док повышает эффективность системы обнаружения атак. Например, ранние версии системы обнаружения атак RealSecure позволяли переконфигурировать списки контроля доступа маршрутизаторов серии 7000, разработанных компа­нией Cisco Systems. В текущей версии эта возможность существенно расши­рилась и теперь, используя специальное программное средство Expect, можно перенастраивать очень широкий спектр сетевых устройств. Данная система (http://expect.nist.gov),функционирующая под управлением операционных систем Windows NT и Unix, позволяет писать различные сценарии на языке, являющемся расширением Tel (листинг 8.15).

SNP-L Scripting Systems - student2.ru

Наши рекомендации