Басалова Галина Валерьевна, канд. техн. наук, доц., [email protected], Россия, Тула, Тульский государственный университет
APPLICATION OF METHODS OF GAME THEORY IN INTRUSION
DETECTION SYSTEMS
G.V. Basalova
The article analyzes the possibility of applying the methods of game theory to optimize the choice of means of information protection. The proposed approach will effectively spend resources of the system and choose the most suitable (effective) means of protection in each time interval.
Key words: information security, network attacks, intrusion detection tools, game
theory.
Basalova Galina Valerievna, candidate of technical science, docent, gali-na_basalova@mail. ru, Russia, Tula, Tula State University
УДК 004.056
ОБНАРУЖЕНИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ИММУННЫХ
ДЕТЕКТОРОВ
В. Л. Токарев, А. А. Сычугов
Предлагается вариант эвристического метода обнаружения вредоносных программ, основанный на использовании иммунных детекторов в виде скрытой Марковской модели.Показано, что предлагаемый метод может служить основой для построения эффективных систем обнаружения вредоносных программ.
Ключевые слова: вредоносное программное обеспечение, эвристический метод обнаружения, иммунные детекторы, скрытая Марковская модель, обучение.
Введение. Одну из серьезнейших угроз информационной безопасности автоматизированных систем представляет вредоносное программное обеспечение (ВрПО). Вредоносные программы способны украсть конфиденциальные данные с компьютера, могут заражать файлы один за другим, распространяться по всему компьютеру или по всей локальной сети, могут обеспечить утечки конфиденциальных данных, могут шифровать всю хранящуюся информацию с целью вымогательства выкупа, и многое
216
другое, наносящее вред и убытки владельцам информации. В любом случае, вредоносные программы должны как можно скорее быть обнаружены и удалены с компьютера, чтобы не допустить их вредоносной активности.
ВрПО можно условно разделить на вирусы, черви, трояны, шпионские программы, рекламное ПО, руткиты и т. д. [1]. Разработчики ВрПО непрерывно развиваются, осваивают новые технологии и возможности. Они пишут вредоносные программы таким образом, чтобы они могли менять свой внешний вид, код по каждой инфекции, изменяя их сигнатуру (облик). К основным методам, используемым разработчиками ВрПО, можно отнести следующие.
1. Методы скрытия. Эти методы изменяют синтаксис программы без изменения семантики, что делает вредоносный код более сложным для анализа и понимания [2]. Это может быть достигнуто сменой регистров, в которыеразмещаются значения переменных, при этом код остается прежним; сменой инструкций другими вредоносными инструкциями, перестановкой инструкций, изменяющей порядок выполнения запущенного процесса; вставкой«мертвого» кода, типа "ничего не делать" и т.п.
2. Шифрование кода. Зашифрованные вредоносные программы, включают операции дешифрование/шифрование, ключ шифрования и собственно зашифрованный вредоносный код. Зашифрованные вредоносные программы могут быть условно разделены на следующие виды:
- Олигоморфические программы, шифрование которых обычно заключается в небольшом изменении некоторых характеристик кода, например, дескрипторов, что существенно затрудняет их обнаружение сигнатурными системами обнаружения ВрПО.
- Полиморфические программы, которые шифруют себя другим алгоритмом шифрования и ключом в каждом новом заражении, при этом могут использовать большое количество алгоритмов шифрования и ключей и, таким образом, делают их обнаружение очень сложным и трудоемким.
- Метаморфические программы, которые способны изменять себя совершенно в новый экземпляр, который не имеет ничего общего с ее оригиналом, что делает их наиболее сложными для обнаружения.
Системы обнаружения ВрПОобычно являются первой линией обороны защищаемой компьютерной системы. Их эффективность существенно зависит от методов обнаружения, на которых они основаны. Большинство таких методов можно разделить на следующие три класса.
1. Сигнатурные методы широко используется для обнаружения известных вредоносных программ. Хотя он очень эффективны, но становятся неэффективными, если есть даже очень небольшое изменение в коде, которое, в свою очередь, изменяет свою сигнатуру. Кроме того, этотметод требует обновления базы данных сигнатур на регулярной основе, чтобы обнаруживать новые вредоносные программы [3].
2. Поведенческие методы обеспечивают постоянное наблюдение за поведением программы, чтобы определить, вредноеоно или нет. Эти ме-
217
тоды могут обнаруживать неизвестные вредоносные программы. Однако эффективность этих методов не доказана. Эксперименты показывают, что эти методы имеют высокий уровень ложныхсрабатываний [4]. Кроме этого, эти методы требуют большого времени процесса обнаружения.
3. Эвристические методы, которые для выявления поведения запущенной программыиспользуют, восновном, машинное обучение и интеллектуальный анализ данных. Эффективность этих напрямую зависит от использумых детекторов - обучаемых программных средств, предназначенных для выявления ВрПО.
Очевидно, что в связи с неуклонным расширением мнжествамето-дов, используемых разработчиками ВрПО, набдюдаемым в настоящее время, необходимо расширять разнообразие методов обнаружения ВрПО. Актуальность новых подходов к реализации эвристических методов связана еще и с тем, что сложность задачи обнаружения новых видов ВрПО требует применения и более сложного математического аппарата, в част-ностиалгоритмов обучения искусственных иммунных систем.
1. Искусственные иммунные системы. В данной работе рассматриваются иммунные детекторы - искусственные иммунные систе-мы[5].Идея создания искусственных иммунных систем появилась в результате изучения процессов биологического иммунитета, который защищает организм от болезнетворных бактерий и вирусов, обнаруживая и уничтожая их. Основной целью иммунной системы является распознавание чужеродных клеток и бактерий в организме и уничтожение их. Следует отметить, что иммунная система способна распознавать не только уже известные ей бактерии и вирусы, но и также неизвестные, ранее не встречающиеся.
Предлагаемый метод обнаружения и классификации ВрПО основан на создании и обучении иммунных детекторов, которые могут быть построены на основе самонастраивающихся скрытых Марковских моделей (СММ) или искусственных нейронных сетей (ИНС). Детекторы, основанные на ИНС, подробно рассмотрены в [6].В предлагаемом решении использованы СММ имеханизмы биологической иммунной системы. Это такие механизмы, как: генерация и обучение иммунных детекторов, отбор детекторов, которые по каким-либо причинам генерируют ложные решения, функционирование детекторов. Общая схема функционирования иммунной системы представлена на рис.1.
Для решения задачи функционирование такой системы гипотетически можно представить следующим образом.
Иммунные детекторы генерируются как некоторые моделисо случайными начальными значениями параметров, что дает возможность создания большого количества разнообразных по своей структуре детекторов.
Далее детекторы проходят стадию обучения, на которой они приобретают способность корректно реагировать на появление вредоносных программ.
Рис. 1. Общая схема функционирования иммунной системы
Для того, чтобы детекторы не генерировали ложные срабатывания, они тщательно отбираются. Те из них, которые не обучились правильно классифицировать ВрПО, удаляются. Отобранные детекторы допускаются к выполнению функций классификации запущенных программ.
Кроме того, каждому детектору выделяется некоторое лимитированное количество времени (время жизни), на протяжении которого он может существовать. Если на протяжении этого времени детектор не обнаруживает ВрПО, то он удаляется, а на его место приходит новый, отличный по начальным параметрам, детектор.
Иначе, если детектор обнаружил ВрПО, происходит так называемая стадия активации. На этой стадии происходит информирование об обнаруженной вредоносной программе и реакция на нее.
Детектор, обнаруживший ВрПО, трансформируется в детектор иммунной памяти. Детекторы иммунной памяти характеризуются большим временем жизни и уровнем доверия. То есть искусственная иммунная системамоделирует основные процессы биологической иммунной системы, а также их взаимодействие.
2 Скрытые Марковские модели. В рассматриваемом решениии в качестве иммунного детектора выбрана СММ. Скрытую марковскую модель можно рассматривать как статистическую модель [7], способную имитировать работу процесса, похожего на марковский процесс неизвестными параметрами.
То есть СММ - это вероятностная модель (рис. 2) множества случайных переменных {у1,..., у{, х1,..., х{}, среди которых у1 — известные дискретные наблюдения, а хг — «скрытые» дискретные состояния, а — вероятности переходов, Ь — вероятность результата. Тогда основной задачей становится оценивание неизвестных параметров на основе наблюдений У = у(0),у(1), ... , у (Ь-1).
Рис. 2. Пример диаграммы переходов в скрытой Марковской модели
СММ можно описать как
X={A,B,п},
где А- матрица дхд, В - матрица п - вектор длины д, где д- число состояний модели, к- количество символов в выходном алфавите), причём
q q q
X ^ = Ь X Ьч =1 и Хр = 1
;=1 у=1 /=1
При запуске модели начальное состояние выбирается с помощью дискретного вероятностного распределения на основе вектора р. Если выбрано состояние 1, то модель генерирует выходной сигнал уе У, затем переходит в следующее состояние - с помощью распределения на основе 1 -ой строки В и 1-ой строки А соответственно. Переходы между состояниями повторяется, пока не генерируется слово У длины Т.
Слову У можно сопоставить вероятность P(Y 1Як), с которой оно может быть сгенерировано данной моделью Як. Детектор на основе СММ будет работать следующим образом:
1) Для каждого движения высчитывается отдельная СММ.
2) После получения данных от программы подсчитывается вероятность того, что даннаясоответствует той или иной модели, если вероятность P(Y 11)того, что слово сгенерировано соответствующей Як, наивысшая.
Для решения этой задачи потребуются, по крайней мере, два алгоритма: 1) алгоритм прямого-обратного хода и 2) алгоритм Баума-Велша.
Алгоритм «прямого-обратного» хода это алгоритм для вычисления апостериорных вероятностей V последовательности состояний xеХ при наличии последовательности наблюдений У. Иначе говоря, алгоритм, вычисляющий вероятность специфической последовательности наблюденийУ.
Алгоритм включает три шага: 1) вычисление прямых вероятностей; 2) вычисление обратных вероятностей; 3) вычисление сглаженных значений.
Прямые и обратные шаги являются «прямым проходом по сообщению» и «обратным проходом по сообщению», где сообщением выступает ряд последовательных наблюдений У.
220
При прямом обходе, алгоритм продвигается, начинаясь с первого наблюдения в последовательности до последнего, и затем возвращаяется назад к первому. При каждом наблюдении, вычисляются вероятно-сти,которые будут использоваться для вычислений при следующем наблюдении. Во время обратного прохода алгоритм одновременно выполняет шаг сглаживания— это процесс вычисления распределения вероятностей значений переменных от прошлых состояниях при наличии свидетельств вплоть до нынешнего состояния. Этот шаг позволяет алгоритму принимать во внимание все прошлые наблюдения для того, чтобы вычислить более точные результаты.
Для представления алгоритм «прямого-обратного» хода удобно матрицупереходных вероятностей Р(Х{ | Хг_1), представляющей все возможные состояния в СММ данной случайной переменной Х1 представить в виде матицы Т, в которой индекс строки 1 обозначает начальное состояние, а индекс столбца]- конечное состояние.
Например, в СММ, для которой вероятность остаться в том же состоянии после каждого шага равна 70 %, а вероятность перейти к другому
(0 7 0 3^
состоянию равна 30 %: т = . Так же можно представить вероятно-
^ 0.3 0.7 )
сти новых состояний для данных наблюдаемых состояний, заданных как свидетельств, в матрице наблюдений , где каждый диагональный элемент содержит вероятность нового состояния, учитывая наблюдаемое состояния в момент 1. Все другие элементы в матрице будут нулями. Например, если взять пример оценивания состояния х= «наличие ВрПО в момент времени 1» по наблюдению у= «заблокирован ли доступ к веб-серверам антивируса?» в момент времени 1 и предположив, что вероятность появления ВрПО, составляет 90 %, если блокировка наблюдается, и 10 %, если блокировка не наблюдается, и получив следующую последовательность наблюдений
У={блокировка, блокировка, нет блокировки, блокировка, блокировка},
л (0 9 0 0^
то для момента времени 1=1, получим: у = .
1 ^ 0.0 0.1)
Тогда следующую прямую вероятность можно вычислить таким образом. Набор прямых вероятностей будем сохранять в ещё одной матрице ^+1, где 1:1+1 указывает на то, что вычисленные вероятности зависят от всех прямых вероятностей от 1 до 1+1, включая текущую матричную вероятность, которую мы опишем как ^. Следовательно, ^+1 равно произведению ^ и транспонированной матрицы с текущими прямыми вероятностями Тти матрицей наблюдения для следующего свидетельства в потоке наблюдения +1. После этого получается матрица, которая требует нормализации, то есть полученные значения должны быть разделены на сумму всех значений в матрице ^. Коэффициент нормализации задан а. Тогда вычисление прямых вероятностей можно описать формулой:
К, + =а■ 7,
• ТТК,.
1:/+1-^ '7+1 • (1)
Вычисление обратной вероятности Ок+17, можно производить аналогичным способом. Пусть конец последовательности будет описан индексом , начинающийся с 0. Поэтому выполнение от к и вычисляя каждую обратную вероятность можно описать формулой:
Ок+1:/ = Т ■ 7к+1 ■ Ок+2:/ • (2) При этом используетсяне обычное матричное произведение, а поточечное: умножается значение каждой переменной в одной матрице с соответствующей переменной в другой.
Третий и конечный шаг — это вычисление сглаженных вероятностей ¥к. Сглаженные вероятности получаются также поточечным произведением по формуле:
Ук =а ■ Ок+1:/ ■ К1:к • (3) Для выбранного примера предположим, что вероятность появления ВрПО, составляют 90 %, если блокировканаблюдается, и 10 %, если бло-кировкане наблюдается, а вероятность отсутствия блокировки 20 и 80 % соответственно, а также вероятность, что состояние компьютерной системы останется прежним — 70 и 30 %, что ее состояние изменится. Тогда введенные матрицы Ук и Т описывают численноприведенную последовательность наблюдений
'0.9 0.0^ (0.1 0.0^ (0.9 0.0^ (0.9 0.0Л
, 73 =
0.0 0.2 / 3 , 0.0 0.8
71 =
'0.9 0.0Л 0.0 0.2
V
72 =
У
74 =
V
V
0.0 0.2
75 =
0.0 0.2
Т =
0.7 0.3
ТТ =
а0.7 0.3л 0.3 0.7
V
у
ч0.3 0.7
Затем нужно взять два специальных вектора переменных: Б10 - первый прямых вероятностей в 1=0 и Ок+21-второй обратных вероятностей:
'0.5 ^ (10
К1:0 =
0.5
О,
к+2:/
1.0
После этого выполняются все итерации алгоритма, пройдя по всем значениям 1, для которых вычисляются прямые вероятности по формуле (1):
( 0.9 0.0 ^ ' 0.7 0.3 ^ '0.5000^ ' 0.8182 ^
= а ч 0.0 0.2 у ч 0.3 0.7 у ч0.5000у — ч 0.1818 у
( 0.9 0.0 Л ' 0.7 0.3 > ' 0.8182 > '0.8834^
= а ч 0.0 0.2 у ч 0.3 0.7 у ч 0.1818 у — ч 0.1165 у
(0.1 0.0 > ' 0.7 0.3 > г0.8834> '0.1906^
=а ч 0.0 0.8 у ч 0.3 0.7 у ч 0.1165 у — ч0.8093у
F1:4 = a
F1:5 = a
0.9 0.0" v0.0 0.2y v A0.9 0.0^ (0.7
0.7 0.3'
0.3 0.7
0.0 0.2
0.1906 j v0.8093y 0.3^ (0.7308л
0.3 0.7
у
V
0.2691
У
(0.7308^ ч0.2691y (0.8673 л 0.1326
По полученной последовательности теперь можно вычислить вероятности по формулам (2):
G5:5 =
G4:5 =
G3:5 =
G2:5 =
G1:5 =
( 0.7 0.3 Л ( 0.9 0.0 > (1.0000> (0.9168
ч 0.3 0.7 j ч 0.0 0.2 j J.0000j ч 0.0831
( 0.7 0.3 > ( 0.9 0.0 > (1.9168 > ((0.8593
ч 0.3 0.7 j ч 0.0 0.2 j V1.0831 j ч 0.1407
( 0.7 0.3Л (0.1 0.0 > (1.8593 Л ((0.1739
ч 0.3 0.7 j ч 0.0 0.8 j V1.1407j ч0.8260
( 0.7 0.3 > ( 0.9 0.0 > (1.1739Л ((0.8814
ч 0.3 0.7 j ч 0.0 0.2 j Ч1.8260j ч 0.1185
( 0.7 0.3 ^ ( 0.9 0.0 ^ (1.8814 ^ ((0.9087
^ 0.3 0.7 j v 0.0 0.2 , v1.1185 , v 0.0912
У
Сглаженные значения вероятностей получим по формулам (3):
'1.0000^ (0.8673^ (0.8673Л
V5 = a
V4 = a
1.0000 0.9168
V3 = a
V2 = a
V1 =a
v 0.0831y (0.8593 Л v0.1407y (0.1739Л 0.8260 0.8814
v
0.1185
v0.1326j 0.7308 0.2691 (0.1906Л 0.8093 (0.8834Л 0.1165 0.8182
у
v
0.1818
У
v0.1326j (0.9677Л 0.0322 (0.5899Л 0.4101 ( 0.6148 Л v0.3852j
( 0.9710 Л 0.0289
Временная сложность этого алгоритма o(n2t ), где T - длина последовательностей, и N - число символов в алфавите состояний. Существуют улучшения алгоритма, позволяющие производить вычисления в области памяти постоянного размера.
Псевдокод этого алгоритма представлен ниже.
ForwardBackward(guessState, sequenceIndex): if sequenceIndex is past the end of the sequence, return 1 if (guessState, sequenceIndex) has been seen before, return saved re-
sult
result = 0
for each neighboring state n:
result = result + (transition probability from guessState to n given observation element at sequenceIndex)*ForwardBackward(n, sequenceIndex+1) save result for (guessState, sequencelndex)
return result
Алгоритм Баума — Велша используется для нахождения неизвестных параметров скрытой марковской модели. Он использует алгоритм прямого-обратного хода и обеспечивает сходимость процесса.
Исходные данные: обучающая выборка, которая состоит из L элементов, каждый длиной T1, где l={1,. . . ,L} и случайная модель {A, B,(1,0,...,0)}. Для заданного наперёд количества состояний q отыскивается такая модель (1k), для которой P(Y 11k) будем максимальна.
Псевдокод алгоритма приведен на рис. 3.
Приведенная процедура на каждой итерации получает новые матрицы A и B такие, что вероятность P(Y 11k) становиться выше. Процедура повторяется до схожденияк некоторому локальному максимуму.
З.Иммунные СММ-детекторы. Иммунные СММ-детекторь^е D, проходят стадии своего жизненногоцикла t следующим образом.
Генерация множества иммунных детекторовD(Wij,т)®aij(каждое множество D(Wij,t) соответствуют одному типу ВрПОaij). Это создание СММ с начальной инициализацией вектора p0 по случайному закону (см. псевдокод на рис.4).
i=1
for(t = 1,...,T -1) do
a.t+1(j)=bj (xu+1 )Za.t(i К;
q
i=1
ai.t+1 (j) = ci.t+\ai.t+1(J);
end
end
Рис. 3. Псевдокод процедуры оценивания параметров Марковской модели (начало)
224
for (l = 1,..., L) do
PIt (i ) =1; PIT (J ) = ciiPu (J); for(t = 1,...,T -1) do
t/ _
Pit( j ) = IaA (xi.t+1 )Pi.t+1(i);
i=1
Pit (j )=%Pi.t (j);
ewd
ewd
L T -1_ _
I I ati(i )ajbj( xi.t+1 )Pi.t+1(i)
a = i=11=1_
"J LT -1_ _
I I ati(i )Pi .t+1 (i) / ci.t
i=1 t=1
L T -1_ _
I I ati(i )Pi .t+1 (i) / ci.t
b (* )=TTh--
II ati(i )Pi .t+1 (i) / ci.t i=1 t=1
L Ti -1
log(P(x|A)) = -1 I1og(%)
i=1 t=1
Рис. 3. Псевдокод процедуры оценивания параметров Марковской модели (окончание)
functionCreate_DetectorsreturnsDij(W0,T) множество детекторов для обнаружения ВрПО^со случайными значениями векторар0 static: SMM(N), СММ;
D( , )=0, множество детекторов для обнаружения ВрПО |D( , )|=kd; М - число входных параметров- множества признаков возможно-гоВрПО 1=1 do{
p0={Pij|Pij =random, i=1,...,N, j=1,...,M
}
d(1)= SMM (P0) d(1)—t
D1j(pQ,x)= Dij(P0,t) U d(1) }
while (1++£kd) returns Dij(Wo,t)
Рис. 4. Псевдокод генерации иммунных детекторов
225
Обучающая выборка 1тат^_8е1 содержит множество параметров-пограммного обеспечения защищаемой АС, разделенное на две части -одна1тат^_8е1;_ау, содержащая параметрынормального ПО АС (при полном отсутствии какой - либо вредоносой программы), другая 1та1т^_8е1;_п- параметры соединений, соответствующие конкретному ВрПО. При этомВу(Шу)сВ,р(Шу)|= ка, |Б|= кака.
Обучение иммунных СММ-детекторов подвергаются процессу обучениядля того, чтобы корректно выполнять распознаваниеВрПО. Правило обучения заключается в том, чтобы настроить нужным образомверо-ятности а,Ь.
Результат такого обучения состоит в том, что победивший детектор П* с большей вероятностью выиграет конкуренцию и в том случае, когда на вход поступит новый вектор р(/ +1), близкий предыдущему р(1), и с меньшей вероятностью, когда будет получен новый вектор р(1 +1), существенно отличающийся от р(1). При большом количестве поступающих векторов р(1), /=2,3,... детектору,*корректирует своипараметры (векторы А и В). В этом и заключается самоорганизация СММ- детектора.
При такой коррекции векторов А и В некоторые детекторы у фу* остаются незадействованными (детекторы с изначально удаленными пара-матрами) никогда не выигрывают конкуренции, независимо от того, как долго продолжается обучение. В результате оказывается, что такие векторы ^^не используются при обучении и не выполняют никакой полезной функции. Чтобы исключить такие ситуации и сделать детекторы чувствительными к поступающим векторам р(/), /=2,3,., используются смещения, которые позволяют детектору уг стать конкурентным с детектором у I *.
Использование таких смещений позволяет: 1) вовлечь в процесс обучения больше детекторов, 2) выравнивать значения праметров активности и обеспечить притяжение примерно одинакового количества векторов входа р. Процесс обучения показан псевдокодом (рис.5).
Далее процесс повторяется, начиная с шага 3 для всех входных образов.
Весь процесс повторяется до тех пор, пока количество обученны-химмунных детекторов не станет равным заданному значению ку.
Таким образом, создается набор детекторов для анализа ПО АС. Однако перед тем, как выполнять анализ ПО, обученные детекторы необходимо проверить на корректность классификации с целью предотвращения возникновения ложных срабатываний. Для этого все обученные детекторы проходят стадию отбора.
function Learn_Detectors returns D(pi*) обученныедетекторы
inputs: training_set_nutraining_set_aij=training_set -обучающая выборка (набор-
параметров сетевых соединений)
р0-вектор начальных параметров;
N - количество детекторов;
kd- количество создаваемых детекторов, задаваемая мощность множества
D(Wi*)
whi1e (c£kd)
{1=1;
do{
row_n—se1ect from training_set_n; row_aij—se1ect from training_set_aij; p1— row_n; P2— row_aij; P=[P1, P2]; d(1)=dist(p(i )p(i)
n(1)=7( p(i) -p (i -1)) p (i ) = p (i -1)± л(1)+ь(1)
Ь(1)—disp1acement (ci)
i++;
}whi1e (1£N) ci—activity(vi)
vi*—min{di} }
returnD(Wi*)
случайным образом из набора параметров выбираются ^параметров, относящихся к определенному классу ВрПО, и т2 соединений, относящихся к классу нормального ПО
вычисляется расстояние между входным образом р(1) и параметрми СММ последовательно подаются выбранные параметры на СММ и в зависимости от поданых данных и данных на выходе СММ корректируем параметры СММ.
Определяется СММп;* - победитель с
номером i
Рис. 5. Процесс обучения иммунных детекторов
Отбор иммунных детекторов. Для минимизации возникновения ложных срабатываний, когда нормальное соединение принимается за компьютерную атаку, все обученные иммунные детекторы проходят проверку на корректность классификации. Для этого детектор подается заранее созданная тестовая выборка, состоящая из параметров нормального соединения. Если 1-й детектор классифицирует одно из тестовых соединений как атаку, то он уничтожается, а вместо него генерируется и обучается новый детектор. Если 1-й детектор не генерирует ложные срабатывания на тестовой выборке, то он считается корректным и допускается к анализу входящего и исходящего сетевого трафика.
4. Функционирование иммунных детекторов. Детекторы, которые допущены к анализу ПО АС, образуют систему обнаружения ВрПО.
227
Все ПО, получаемое компьютером, сначала анализируется совокупностью иммунных детекторов, и, если ни один из детекторов не обнаруживает аномалию, то все ПО обрабатывается без каких либо ограничений.
Каждый детектор наделяется временем жизни, на протяжении которого он анализирует ПО АС. Если по окончании выделенного времени детектор не обнаружил аномалию, он уничтожается, а на его место приходит новый детектор. Механизм наделения детекторов временем жизни позволяет избавляться от детекторов, которые хоть и прошли успешно стадии обучения и отбора, однако из-за своей особенности (векторы А и В) являются малопригодными.
Активация иммунных детекторов. Активация детекторов подразумевает обнаружение детектором ВрПО. В случае, когда запущеннаяпро-грамма классифицируется одним или несколькими детекторами как ВрПО, происходит её блокировка. Также выдается сообщение пользователю об обнаруженю ВрПО.
Формирование иммунной памяти. При обнаружении и блокировании ВрПОцелесообразно сохранять ее параметры с целью изучения и детального анализа. Дело в том, что иммунные детекторы обучаются на ограниченном наборе данных, которые не могут включать в себя все вероятные ВрПО. Для того чтобы повысить качество обнаружения, а также наделить систему гибкостью и позволить ей адаптироваться под современные реалии, параметры программы, классифицированной как ВрПО, сохраняются и заносятся в обучающую выборку, тем самым пополняя ее актуальными данными. Детекторы, которые будут создаваться с целью заменить «устаревшие» иммунные детекторы, будут уже обучаться также и на новых данных, что позволит значительно увеличить качество обнаружения. Кроме этого, создается новая СММ, которая обучается исключительно на данных, выделенных из обнаруженной ВрПО, и которая вводится в систему анализа программного обеспечения. Это позволит более точно выделить данноеВрПО при повторной подобной атаке на защищаемую автоматизированную систему со стороны злоумышленника. Совокупность детекторов иммунной памяти будет хранить в себе информацию обо всех ВрПО, направленных в прошлом на защищаемую автоматизированную систему, и обеспечивать высокий уровень реагирования на повторные попытки внедрения ВрПО.
Общий алгоритм функционирования системы обнаружения ВрПО на базе искусственных иммунных систем можно представить в следующем виде:
1. Создание иммунного детектора на базе СММ и начальная инициализация вектора параметров р.
2. Затем формируетсяобучающая выборка, включающая пзначений из множества У, соответствующего программномуобеспечению автоматизированной системы, не включающую ВрПО, и пзначений из множества У*, соответствующего ВрПО.
3. Последовательно подавая данные из обучающей выборки на СММ и обучаем ее согласно правилу «победитель берет все».
4. Обученный детектор проверяется на тестовой выборке, состоящей из параметров А и В СММ, соответствущей нормальному состоянию АС. Если детектор корректно классифицирует предоставленные данные, то он «допускается» к анализу ПО в реальном режиме. Если же детектор классифицирует предоставляемые тестовые данные как ВрПО, то он уничтожается.
5. Внедрение обученного и отобранного детектора в подсистему анализа программногообеспечения АС.
6. Если отведенное время жизни детектора истекло и детектор не обнаружил аномалию в ПО АС, то он уничтожается и процесс начинается с шага 1.
Если детектор обнаружил аномалию, то происходит его активация. Программа, классифицированная как ВрПО, блокируется, а пользователю выдается сообщение.
7. Выделение и анализ параметров ПО АС, классифицированного как ВрПО и занесение выделенных параметров в базу для обучения новых иммунных детекторов.
Экспериментальные исследования СММ-детекторов в задачах выявления метаморфических вирусов показали: 1) их достаточно высокую точность обнаружения (в среднем 91%); 2) процесс обнаружения ВрПО СММ- детекторами занимает меньшее время по сравнению с детекторами на нейронной сети Кохонена в среднем на 6%. Для оценки предложенного методаиспользовался КОУСК набор для создания вредоносных вирусов.
Заключение. Вредоносная программа быстро стала главной угрозой безопасности автоматизированных систем и является основной причиной большинства проблем безопасности в интернете. Современные вредоносные программы могут легко обмануть системы обнаружения вторжений, изменяя их код, сохраняя при этом свои функции неповрежденными. Для решения этой проблемы используются методы машинного обучения, такие как, нейронные сети и СММ. В настоящем исследовании мы рассмотрели метод использования имунных СММ-детекторов для обнаружения вредоносных программ и сделали вывод, системы для обнаружения вредоносных программ, построенные на основе имунных СММ-детекторов, достаточно эффективны, и дальнейшие исследования могут быть сосредоточены на том, как улучшить классификацию вредоносных программ на основе СММ-детекторов.
Данная работа поддержана грантом РФФИ №16-07-01008.
Список литературы
1. Уголовный Кодекс РФ Статья 273 УК РФ. Создание, использование и распространение вредоносных программ для ЭВМ.
229
2. Venkatesan A. Code Obfuscation and Virus Detection. MSc, San Jose State University, 2008. 48 p.
3. Бирюков А. А. Информационная безопасность: защита и нападение. М.: ДМК Пресс, 2012. 474 с.
4. Крис Касперски. Компьютерные вирусы изнутри и снаружи. СбП.: Питер, 2006. 526 с.
5. Искусственные иммунные системы и их применение / [под ред. Д. Дасгупты]. М.: ФИЗМАТЛИТ, 2006. 344 с.
6. Шелухин О.И., Сакалема Д.Ж., Филинова А.С. Обнаружение вторжений в компьютерные сети (сетевые аномалии). М.: Горячая линия -Телеком, 2013. 220 с.
7. Bazrafshan Z., Hashemi H., Fard S.M.H., Hamzeh A. A Survey on Heuristic Malware Detection Techniques. The 5 th Conference on Information and Knowledge Technology (IKT 2013). Shiraz, 2013. P. 113-120.
8. Frazzoli Emilio. "Intro to Hidden Markov Models the Baum-Welch Algorithm" // Aeronautics and Astronautics. Massachusetts Institute of Technology, 2013. 24 p.
9. Alqurashi S., Batarfi O. A Comparison of Malware Detection Techniques Based on Hidden Markov Model. Journal of Information Security, 2016. 7. P 215-223.
Токарев Вячеслав Леонидович, д-р техн. наук, проф., [email protected], Россия, Тула, Тульский государственный университет,
Сычугов Алексей Алексеевич, канд. техн. наук, зав. кафедрой, [email protected], Россия, Тула, Тульский государственный университет
MAL WARE DETECTIONUSING IMMUNE DETECTORS V.L. Tokarev, A.A. Sychugov
Malware is a software which is designed with an intent to damage a network or computer resources. Today, the emergence of malware is on boom letting the researchers develop novel techniques to protect computers and networks. Among the three main methods, heuristic, signature-based and behavioral, are used to detect malware, the most common is the heuristic method. The paper proposes a variant of the heuristic method of malware detection based on the use of immune detectors in the form of a hidden Markov model. It is shown that the proposed method can serve as a basis to build an effective detection system malicious programs.
Key words: Malware, heuristic detection method, the immune detectors, hidden Markov model, training.
Tokarev Vjacheslav Leonydovich, doctor of technical sciences, professor, toka-rev22@yandex. ru, Russia, Tula, Tula State University,
Sychugov Aleksey Alekseevich, candidate of technical science, head of chair, [email protected], Russia, Tula, Tula State University