Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n STATed – графический редактор для сценариев STATL, также реализованный на Java.
n xSTAT – позволяет создать законченное универсальное STAT-based приложение без необходимости следовать за одиночным приложением, а фактически все сенсоры являются символическими ссылками на это имя и любой можно запустить, набрав xstat с соответствующими опциями.
Кроме того, в документе «Translating Snort rules to
STATL scenarios» (
STATL позволяет использовать особенности методики STAT независимо от конкретного приложения и области применения, т.к. может быть легко адаптирован к различным целевым средам и также содержит конструкции, которые могут помочь быстро адаптировать язык к любой специфической области. Например, расширения STATL для описания происходящего на основании записей в логах веб-сервера Apache, имеют поля вроде host, ident, authuser, date, request, status, bytes и пр.
После определения возможных событий устанавливаются предикаты, основанные на них. Так, например, isCGIrequest() возвращает истину в том случае, когда событие – запрос на выполнение CGI-скрипта; в случае, когда клиенту возвращается ошибка 400-500, истину принимает предикат isClientError(); а когда в запросе обнаруживаются бинарные строки, что может свидетельствовать о попытке переполнения буфера, истину принимает предикат isBinary(). Все события и определения предиката сгруппированы в расширениях языка, и после того как наборы событий и связанные с ними предикаты для расширений языка определены, их возможно использовать в описаниях сценариев STATL.
Дальнейшая работа системы по обнаружению атаки
Сценарии STATL обрабатываются во время выполнения ядром STAT. Для этого сценарии компилируются в Scenario Plugin, который является динамически загружаемой библиотекой (.so в UNIX или DLL в Windows). Кроме того, все расширения языка, использованного в сценариях, должны быть откомпилированы в Language Extension Module, который также является динамически загружаемой библиотекой. Само ядро STAT обеспечивает единые для сценариев параметры вроде таймеров, концепций состояния, перехода и соответствия события и фактически производит анализ, сравнивая входящий поток со сценариями, имеющимися в Scenario Plugins. Для расширения возможностей предусмотрено расширение ядра за счет добавления модулей, отвечающих за анализ определенных событий (сетевой трафик, логи приложений и событий, отслеживаемых операционной системой, системные вызовы и пр.), что позволяет собрать IDS практически под конкретные условия. При этом возможно изменение в процессе выполнения загрузкой/выгрузкой STAT-based приложений при помощи директив управления, посланных ядру STAT. Ядро вместе с загруженными модулями и определяет возможности системы. Если же STAT запущен без модулей, он работает в «пустой» конфигурации, т.к. содержит только образ ядра, ожидающего событий или сообщений управления. Источник событий обеспечивается модулем Event Provider, который, собирая данные (т.е. события) из внешней среды (анализ логов, сетевых пакетов), фильтрует те, которые не представляют интерес, преобразовывает остающиеся события в объекты событий (как определено Language Extension Module), преобразовывает эти события в универсальные события STAT и добавляет эти события во входную очередь ядра STAT.
При этом Event Providers может быть добавлен и удален динамически, также ядро может работать одновременно с несколькими Event Provider. Для обработки событий необходимо загрузить одно или несколько Scenario Plugins в ядро STAT. Прототипы сценария содержат структуры данных, представляющие в условленных сценарием терминах состояние и изменение глобальных переменных и набор некоторых параметров активации. Прототип создает первый образец сценария. Такой образец находится в начальном состоянии, соответствующем сценарию атаки. Ядро STAT, анализируя определенный сценарий, помечает образец для событий, ассоциированных с начальным состоянием сценария. Теперь ядро готово для обработки события. Если событие соответствует помеченному, то происходит необходимая оценка и утверждение состояний, и в случае удовлетворительного ответа принимается решение о соответствии. При этом, так как могут изменяться последствия, то может создаваться и новый сценарий. Каждый образец сценария фактически представляет описание атаки в прогрессе.