Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Концепции, на которых базируется STAT, принцип работы
Основу проекта составляют пять понятий:
n State Transition Analysis Technique – STAT;
n язык STATL;
n ядро STAT;
n инструментальные средства STAT;
n инфраструктура MetaSTAT.
Методика анализа смены состояний (STAT) описывает возможные угрозы как некие сценарии. В сценариях атаки представлены как последовательности состояний, которые характеризуют эволюцию состояний защиты системы от начального до скомпрометированного. Описания атак включают в себя как минимум две позиции: запускающее initial-состояние и по крайней мере одно конечное состояние компрометации системы. Так, в сценарии атаки, описывающей попытку нарушить защиту операционной системы, формулируются утверждения вроде монопольного использования файла, идентификации или авторизации пользователя, а в сценарии, описывающем сканирование портов, описываются типичные действия и сегменты TCP, используемые при сканировании портов хоста.
Для описания сценариев атаки используется расширяемый язык STATL. Вообще надо отметить, в последнее время заметен интерес к подобным разработкам и появилось множество языков, что полностью оправдывает себя, т.к. появляется возможность выявить общие закономерности, присущие атакам, произвести их классификацию и анализ зависимостей среди различных атак, что позволит опознавать скоординированные и растянутые по времени атаки против компьютерных систем. По крайней мере сейчас известны шесть категорий «attack languages»: языки событий, языки реакции, языки отчетов, языки корреляции, языки эксплоитов и языки детектирования. STATL относится к последней категории, т.е. к языкам детектирования, которые имеют соответствующие механизмы и абстракции, позволяющие описать атаку. Сама же атака в STATL представляется как последовательность состояний и переходов. Состояния характеризуют систему в различные моменты развития атаки. Описывается только необходимое для определения атаки (например, атрибуты файловой системы). Переходы же ассоциируются со специфическими условиями, которые необходимо выполнить для перехода в новое состояние. Например, после обнаружения бинарных данных в запросе веб-сервера ожидается открытие еще одного TCP-соединения или запуск приложения. Возможное развитие событий контролируется фильтрами утверждений перехода, которые определяют более конкретные условия, которым может соответствовать дальнейшее развитие атаки. Например, открытие соединения только со специфическим портом или запуск критических приложений. При этом переходы в зависимости от результата могут приобретать значение consuming, nonconsuming или unwinding.
STATL включает несколько встроенных типов: int и u_int, bool, string, timeval (для временных меток) и timer (для отслеживания событий в течение определенного интервала времени ) и также включены массивы. При этом невозможно определить новые типы данных в пределах сценария, специфические типы должны определяться в ориентированной на конкретную задачу библиотеке. Поэтому сетевые и host-датчики кроме встроенных имеют и специфические типы данных. В документации можно найти примеры построения сценария на языке STATL, позволяющие более подробно разобраться с технологией, в данный же момент все имеющиеся сценарии и расширения языка STATL, переписаны в код C++ и откомпилированы в библиотеки STAT development tools, хотя в архивах приложений встречаются ознакомительные сценарии и модули, написанные на языке STATL, позволяющие самому создать необходимое описание события. Для возможности разработки и тестирования собственных сценариев имеются необходимые приложения:
n STATL Parser – инструмент, написанный на Java, позволяет переводить сценарии, написанные на STATL, в сценарий C++ плагинов, который затем можно откомпилировать и загрузить в STAT-based приложение.