Компьютерные сети
462
функциональных возможностей контекстного поиска в некоторых случаях
используются специализированные языки, описывающие сигнатуру атаки. С
помощью контекстного поиска эффективно выявляются атаки на основе ана-
лиза сетевого трафика, поскольку данный метод позволяет наиболее точно
задать параметры сигнатуры, которую необходимо выявить в потоке исход-
ных данных.
Существуют еще ряд разновидностей реализаций сигнатурных мето-
дов обнаружения атак: метод анализа состояний, методы, базирующиеся на
экспертных системах, и методы, основанные на биологических моделях.
Суть метода анализа состояний состоит в формировании сигнатуры
атак в виде последовательности переходов компьютерной системы из одного
состояния в другое. Такие переходы зависят от появления в контролируемой
системе определенного события, а последовательность этих событий опре-
деляется конкретным видом атаки. Как правило, сигнатуры атак, созданные
на основе анализа состояний, описываются математическими моделями, ба-
зирующимися на теории конечных автоматов или сетей Петри.
Методы, базирующиеся на экспертных системах, позволяют описы-
вать модели атак на естественном языке с высоким уровнем абстракции.
Экспертная система, лежащая в основе таких методов, состоит из двух баз
данных: фактов и правил. Факты представляют собой исходные данные о
работе компьютерной системы, а правила алгоритмы логических решений
о факте атаки на основе поступившего набора фактов. Все правила эксперт-
ной системы записываются в формате "если <...>, то <...>". Результирующая
база правил должна описывать характерные признаки атак, которые обязана
выявлять система обнаружения вторжений.
К одним из наиболее перспективных сигнатурных методов обнаруже-
ния вторжения относятся методы, основанные на биологических моделях.
Для их описания используются генетические или нейросетевые алгоритмы.
Генетические изначально были предназначены для поиска оптимального
решения на основе механизма естественного отбора в популяции. В компью-
терных системах популяция атак (как и в биологическом мире) представля-
ется как множество хромосом, каждая из которых моделируется битовой
строкой. Популяция развивается на основе трех генетических операций:
скрещивания, селекции и мутации, и ее развитие продолжается до тех пор,
пока не будет достигнут заданный критерий оптимальности (он определяет-
ся в виде специальной функции). При использовании генетических алгорит-
мов для выявления атак в качестве хромосом популяции выступают векторы
определенной длины, каждый элемент которых соответствует конкретной
атаке. В результате развития такой популяции можно получить оптимальный
вектор, который будет указывать, какие атаки происходят в системе в теку-
щий момент времени.