Научная статья на тему 'Определение оптимального набора средств защиты компьютерной системы методом Монте-Карло'

Определение оптимального набора средств защиты компьютерной системы методом Монте-Карло Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
537
87
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАЩИТА ИНФОРМАЦИИ / ТЕОРИЯ ИГР / ХАКЕРСКИЕ АТАКИ / ОПТИМАЛЬНАЯ СТРАТЕГИЯ / ПРОГРАММНЫЙ ПРОДУКТ / МЕТОД МОНТЕ-КАРЛО

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гуц А.К., Вахний Т.В., Пахотин И.Ю.

В статье представлено программное приложение, позволяющее на основе теории игр находить наиболее оптимальный набор средств защиты компьютерной системы методом Монте-Карло.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Определение оптимального набора средств защиты компьютерной системы методом Монте-Карло»

УДК 519.83:004.056 DOI: 10.25513/2222-8772.2018.1.148-158

ОПРЕДЕЛЕНИЕ ОПТИМАЛЬНОГО НАБОРА СРЕДСТВ ЗАЩИТЫ КОМПЬЮТЕРНОЙ СИСТЕМЫ МЕТОДОМ

МОНТЕ-КАРЛО

Омский государственный университет им. Ф.М. Достоевского, Омск, Россия

Аннотация. В статье представлено программное приложение, позволяющее на основе теории игр находить наиболее оптимальный набор средств защиты компьютерной системы методом Монте-Карло.

Ключевые слова: защита информации, теория игр, хакерские атаки, оптимальная стратегия, программный продукт, метод Монте-Карло.

Введение

Использование теоретико-игрового подхода позволяет обеспечить оптимизацию выбора программных продуктов для защиты компьютерной системы [1-6]. Однако количество возможных стратегий хакера и возможных стратегий администратора безопасности экспоненциально увеличиваются с ростом возможных вариантов атак и средств защиты соответственно. Это приводит к тому, что увеличивается размер платёжной матрицы игры между администратором безопасности и хакером. Кроме того, если решать позиционную игру для всех возможных стратегий хакера и администратора безопасности, то это потребует больших затрат на вычислительные ресурсы, и к тому же на вычисление оптимальной стратегии администратора безопасности потребуется продолжительное время. Поэтому актуально нахождение решения указанной игры методами, которые менее затратны на вычислительные ресурсы.

В данной работе для нахождения наиболее оптимальных вариантов защиты компьютерной системы предлагается построить двухходовую позиционную игру администратора безопасности со злоумышленником и решить её методом имитационного моделирования. На основе описанного подхода было создано программное приложение, которое позволяет рассчитать оптимальный набор средств защиты компьютерной информации методом Монте-Карло.

Т.В. Вахний

к.ф.-м.н., доцент, e-mail: vahniytv@mail.ru А.К. Гуц

д.ф.-м.н., профессор, e-mail: guts@omsu.ru И.Ю. Пахотин

студент, e-mail: prakt1k@mail.ru

1. Постановка задачи и игровой подход

Для поиска наиболее оптимального набора средств защиты компьютерной системы можно провести математическую игру двух сторон, одной из которых является система защиты компьютерной информации (I игрок - администратор), а с другой - возможные атаки хакеров (II игрок - злоумышленник). Один из подходов, моделирующий игру хакера и администратора безопасности, основан на теории позиционных игр [2].

Позиционная игра — это последовательная многоходовая игра, которая состоит в последовательном переходе из одного состояния (позиции) в другое состояние (позицию) путём выбора игроками одного из возможных действий в соответствии с правилами игры. Позиционные игры описываются с помощью дерева игры. На рис. 1 представлено дерево двухходовой позиционной игры. Каждая вершина дерева - это позиции игры, ход из одной позиции игры в другую позицию задаётся дугой. Начальной позиции игры соответствует корень дерева К, конечным позициям - листья, из них ходы игроками уже не совершаются. Каждому листу с^ (г = 1,...,М; ] = 1,...,К) приписывается выигрыш.

СИ С11 С1К С21 С22 СЖ СМ1 СМ2 СМК

Рис. 1. Дерево двухходовой игры хакера и администратора безопасности

Пусть злоумышленник (игрок II) обладает К стратегиями атаки на компьютерную систему а\,а2, ...,ак, каждая такая стратегия а^ (] = 1,...,К) - это ]-я угроза, способная нарушить работу компьютерной системы. Каждому способу атаки а^ (] = 1,...,К) соответствует ущерб ^, который терпит администратор в случае успешного осуществления этой ]-ой атаки. Администратор безопасности (игрок I) пусть располагает 5 средствами защиты ¿1,й2, , каждое из которых обладает соответствующей ценой д1,д2,...,дз и эффективностью защиты вг = (ец,ег2, ...,егк) (г = 1,...,в), где е^ - эффективность г-го средства защиты по нейтрализации ]-ой угрозы.

Стратегии администратора — это кортежи

Уг = {Zil,Zi2, г^з),

где = 1, если задействован способ защиты ф и = 0 - в противном случае.

Имея 5 средств защиты dk (к = 1,...,Б), администратор может составить М = 2я — 1 стратегий у^ (г = 1,...,М), из которых мы исключили кортеж (0, 0, ..., 0), поскольку он представляет полное бездействие администратора.

Ходом администратора является выборка из способов обеспечения защиты информационной системы (разных наборов средств защиты), т. е. выбор стратегии у^, а ходом злоумышленника — применение способа атаки aj на компьютерную систему.

Составим платёжную матрицу С, элементами Су которой (табл. 1) являются потери администратора в том случае, когда он использовал стратегию Уг (г = 1,...,М), а хакер осуществил атаку а^ (] = 1,...,К). На дереве игры элементы платёжной матрицы представлены листьями (см. рис. 1). Элементы платёжной матрицы вычисляются с помощью формулы:

Су = ЩУг, Я]) +

где

Я

С г = ^ дз, - затраты администратора на использование средств защиты

3 = 1

г-той стратегии у^;

я

К(уг,аз) = (1 — гцец) — остаточный риск атаки а^ при использовании 1=1

стратегии у^, т. е. возможный ущерб помноженный на вероятность того, что используемые средства защиты окажутся неэффективны.

Путь от корня К к листу Су является партией игры с исходом игры Р(уг,а^) = Су. На рис. 1 изображён пример партии, в которой администратор избрал стратегию у1, а злоумышленник - атаку а2 .

Процесс игры состоит в том, что администратор выбирает стратегию защиты Уг, злоумышленник выбирает способ атаки ^, после чего вычисляется исход партии, заключающийся в том, что администратор терпит ущерб равный Су.

Нанесение хакером ущерба обычно является скорее следствием его действий, а не самой целью. В действительности при атаке он может преследовать какие-то свои цели, порой известные лишь ему.

Цель администратора - выбор такой стратегии, которая сводит потери от атак к минимуму, авторы на его стороне, и поэтому цели атакующих хакеров в расчёт не принимаются. В силу этого можно считать, что хакер увлечён желанием нанести как можно больший ущерб атакуемой компьютерной системе. При таком предположении выигрыш хакера будет равен проигрышу администратора безопасности Су.

Таблица 1. Платежная матрица игры

а1 0,2 ак

У1 С11 С12 С1К

У2 С21 С22 С2К

Ум См 1 См 2 Смк

В качестве стратегий администратора безопасности будем понимать строки Уг (г = 1,..., М) платёжной матрицы, а в качестве стратегий хакера - её столбцы

a,j (j = 1,...,К) (табл. 1). Перед своим ходом игроки не знают о ходах друг друга. Для проведения на компьютере игры С надо также знать результаты игры при каждой паре стратегий yi и aj.

Администратор безопасности стремится выбрать такую стратегию, которая позволит ему свести к минимуму наносимый компьютерной системе ущерб от реализации тех или иных угроз. Поставим в соответствие каждой г-ой стратегии администратора число Wi(C), вычисляемое с помощью платёжной матрицы С. Критерий выбора оптимальной стратегии для администратора состоит в том, чтобы взять W = min Wi(C). Тогда оптимальной будет такая стратегия yio, для

г

которой Wio (С) = W.

Будем считать, что администратор не имеет никакой информации о том, какую стратегию (способы атаки) выберет злоумышленник, тогда вероятности атак можно считать одинаковыми и равными 1/К. В таком случае можно воспользоваться критерием недостаточного основания Лапласа [5,7], для которого берём:

Использование критерия недостаточного основания Лапласа оправдано, если минимизация риска проигрыша представляется менее существенным фактором принятия решения, чем максимизация среднего выигрыша. Администратор при необходимости может применить и другие критерии [5,7] к подбору оптимального набора средств защиты.

2. Нахождение оптимальной стратегии

администратора безопасности методом Монте-Карло

С увеличением числа 5 средств защиты растёт и количество М = 2я — 1 вариантов возможных стратегий защиты компьютерной системы. В результате общее количество возможных партий игры администратора безопасности со злоумышленником можно вычислить по формуле:

Например, если возьмём число возможных атак хакера К = 10000, число средств защиты администратора 5 = 20, то число возможных стратегий администратора М = 1048575 и количество возможных партий игры будет равно А = 10485750000.

Для нахождения оптимальной стратегии администратора нужно вычислить по формуле (1) все Wi(C) для г = 1,...,М. Для этого потребуется провести минимум А сложений, а в приведённом выше примере это более 10 миллиардов сложений. Данный способ расчёта требует больших затрат на вычислительные ресурсы и уже при данных здесь значениях К и 5 оптимальная стратегия администратора может вычисляться продолжительное время. Если ещё в несколько

(1)

А = КМ = К(2S - 1).

(2)

раз увеличить значения К и в, то невозможно будет данным способом найти Ш за разумное время даже с использованием вычислительных машин.

Исходя из этого, актуально нахождение решения рассматриваемой игры методами, которые менее затратны на вычислительные ресурсы. При исследовании сложных систем, подверженных случайным воздействиям, можно использовать имитационное моделирование, которое представляет собой численный метод проведения на ЭВМ вычислительных экспериментов с математической моделью. Результаты поведения рассматриваемой системы, полученные при воспроизведении на имитационной модели, являются случайными реализациями. Для нахождения объективного и устойчивого решения требуется многократное нахождение различных решений с последующей статистической обработкой полученных данных. В настоящее время при имитационном моделировании случайных процессов очень широко используется метод статистических испытаний Монте-Карло [8].

Для приблизительного вычисления значений №'г(С), определяемых в (1), можно для каждой стратегии администратора уг (г = 1,...,М) провести по Ыу. симуляций (с выбранными случайным образом атаками), после чего для получившихся результатов расчёта убытков {хш1,хш2, ...,хкп, ...,хтму. ) рассчитать их средние значения для каждой стратегии администратора:

1

ХШ = > х^

Уг =

. (3)

С ростом значения Ыу. математическое ожидание хш будет стремиться к

Ыхц: ^ Шг(С) при Ыш ^ ж.

Критерием выбора оптимальной стратегии администратора может служить выбор стратегии у¿0, для которой

%;0 = тт , 0 г

т. е. стратегии, для которой среднее значение результатов симуляций убытков

(ущерба от атак и затрат на средства защиты) минимально.

м

Пусть N = - общее количество симуляций. Тогда общее количество

г=1 '

операций сложения, которые нужно выполнить для расчёта равно , а общее количество операций сложения для приблизительного нахождения Ш равно N. Если N < А, т. е. меньше количества возможных исходов игры, то мы получаем выигрыш по времени.

3. Оптимизация симуляций

Если количество симуляций для всех стратегий администратора yí установить одинаковым, т. е. все значения (г = 1,...,М) равными, то данный способ будет неоптимальным.

Например, установив общее количество симуляций N, на шаге п гораздо лучше динамически принимать решение, для какой стратегии проводить очередную симуляцию. Нужно каким-то образом отдавать предпочтения тем стратегиям у^, для которых значение на шаге п меньше. В таком случае минимальные значения будут быстрее сходиться к своему математическому ожиданию, и мы будем экономить на вычислениях. Мы укажем ниже более эффективный алгоритм выбора стратегий у^.

4. Реализуемый алгоритм USB1

Для минимизации потерь администратора применим алгоритм иСВ1 (иррег-СопМепее-Воипб) [9] к нашей задаче:

Пусть N - требуемое количество симуляций и N > М.

1. Шаг п =1. Проведём М симуляций, по одной симуляции для каждой стратегии администратора у^.

2. Шаг п, пока п < N.

На шаге п проводим симуляцию хУ1 для стратегии у^, для которой минимальна величина _

_ . 121п п .Л.

— Ч (4)

где - средние убытки компьютерной системы при использовании администратором стратегии у^ (см. (3));

пУ1 - количество уже проведённых симуляций для стратегии у^; п - номер текущей симуляции;

Ь - константа, используемая для установки нужного баланса между шириной и глубиной поиска. Чем она больше, тем чаще будут рассматриваться варианты, для которых средние убытки компьютерной системы не являются минимальными на текущий момент.

На рис. 2 изображены графики радикала при различных значени-

ях пУ1. Алгоритмический смысл данного радикала состоит в том, что без него на шаге п мы бы каждый раз просто выбирали стратегию с минимальным значением хщ. Но так как этот радикал растёт у стратегий, для которых мы не проводим симуляций, то время от времени мы будем проводить симуляции у стратегий, не показывающих минимальный результат на данный момент. Это позволяет сгладить ситуации, когда нам не повезло и для «хороших» стратегий были проведены симуляции с «плохим» результатом.

5. Описание программного продукта и анализ результатов расчёта

В данной статье мы представляем программный продукт [10], который по введённым значениям стоимости средств защиты и ущерба от применения атак

1 и -1

У/

= i

/ ---

/ —

-

/ "у, = 4

/ V

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

V

О 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150

П

Рис. 2. Зависимость величины радикала от номера текущей симуляции п для различных значений количества проведенных симуляций г-ой стратегии администратора

позволяет рассчитать оптимальный набор средств защиты компьютерной системы методом Монте-Карло с использованием алгоритма UCB1.

Приложение создавалось в среде разработки IntelliJ IDEA с использованием языка программирования Java. В качестве Фреймворка для автоматической сборки был использован Maven, для разработки графического интерфейса на Java использована библиотека Swing.

На рис. 3 показано главное окно программного приложения, предоставляющее доступ к другим окнам.

Данные Добавить Вычисления Интерактивный режим Симуляция Точный расчет

Рис. 3. Интерфейс меню программного приложения

Созданное программное приложение на основе набора введённых средств защиты ..., ^) генерирует список из всех возможных стратегий админи-

стратора уг (г = 1 ,...,М). Пользователь имеет возможность добавлять новые способы атаки на компьютерную систему и новые средства защиты. В программном приложении можно получить как точное решение задачи, так и решение методом Монте-Карло. Общее количество симуляций является суммой

значения поля «Количество симуляций» (см. рис. 4) и количества стратегий администратора.

После проведения необходимых расчётов программное приложение сортирует стратегии администратора в порядке увеличения средних значений затрат на средства защиты и ущерба от атак.

При выборе вида вычисления «Симуляция» (см. рис. 3) программным приложением производятся расчёты для нахождения значений х^, которые с увеличением количества симуляций приближаются к значениям математического ожидания убытков администратора при выборе соответствующих стратегий. Оптимизация симуляций производилась введением коэффициента смены стратегий (КСС), который является значением Ь из формулы (4). Этот коэффициент отвечает за то, насколько часто алгоритм будет проводить симуляции для стратегий, у которых на текущий момент убытки не принимают минимального значения [9].

На рис. 4 показаны результаты работы программного приложения при количестве симуляций 50000 и КСС = 5000. В таблицу с лучшим результатом выводится три стратегии с наименьшими средними убытками и с наибольшим количеством симуляций (Ыу.).

Программное приложение было запущено на случайно сгенерированных данных с абстрактными способами атаки и методами защиты (см. рис. 5). На данных малого размера расчёт оптимальных стратегий администратора по методу Монте-Карло существенно проигрывает точному расчёту. Но интерес представляют ситуации, когда количество методов защиты и способов атаки являются большими числами, причём количество способов атак много больше возможных стратегий администратора. На таких данных алгоритм может иметь большое преимущество перед точным расчётом.

Было произведено моделирование на основе случайных данных, когда количество методов защиты равно 7, а способов атак 10 000. Программное приложение было запущено по несколько раз на количестве симуляций 100, 500, 1000, 5000 и 50 000. При малом числе симуляций полученный методом Монте-Карло результат отличался от точных расчётов. На 5000 симуляциях почти во всех случаях программное приложение точно находило одну из двух лучших стратегии, и она была на первом месте в таблице «Лучший результат». На 50000 симуляциях программное приложение всегда точно определяло две лучшие стратегии в правильном порядке (см. рис. 4 и рис. 6).

На 50000 симуляций потребовалось провести 50000 + 27 = 50127, а не 10000(27 — 1) = 1270000 сложений чисел, что составляет 0,04 от исходного количества. Таким образом, удалось добиться существенного выигрыша по времени вычисления оптимального набора средств защиты компьютерной информации.

В рамках данной работы критерием выбора оптимальной стратегии администратора безопасности был использован критерий недостаточного основания Лапласа, предполагающий, что все атаки равновероятны. В случае, когда атаки неравновероятны и администратору известны их вероятности, можно использовать критерий Байеса [5-7].

Более подробно программный продукт описан в [10].

I Симуляция

Лучший результат

Номер стратегии Средние убытки Количество симуляций

13 3 446 20359 *

45 3 505 11206 =

37 3 697 3196

Таблица симуляций

Номер стратегии Средние убытки Количество симуляций ж

0 7 441 35

1 &214 24 —

2 6 69& 48

3 6 466 54

4 5 257 144

5 4 795 246

6 4684 276

7 6 002 48

8 5В17 89

9 4604 317

10 5167 153

11 4 811 257

12 4 521 355

13 3 446 20359

14 4165 701

Симуляция Выход

Рис. 4. Результат нахождения оптимальных стратегий администратора методом Монте-Карло

при количестве симуляций 50 000

Рис. 5. Добавление в игру абстрактных способов атаки (а) и методов защиты (б)

6. Заключение

Разработанное программное приложение находит оптимальный набор средств защиты компьютерной системы, решая двухходовую позиционную игру администратора безопасности со злоумышленником методом статистических испытаний Монте-Карло. Сравнение полученных результатов с точными расчё-

I Точный расчет

Точный расчет

№ Номер стратегии Средние убытки

1 13 3 437 Ль.

2 45 3 459

3 43 3 741

4 37 3 774 =

5 41 4 259

6 14 4 325

7 11 4 454 —

8 5 4 521

9 29 4 563

10 12 4 588

11 6 4 623

12 44 4 628

13 38 4 649

14 77 4 662

15 46 4 765

Рис. 6. Результаты точных расчётов убытков (ущерба от атак и затрат на средства защиты)

для разных стратегий администратора

тами показало, что при огромном количестве возможных атак хакеров и выборе оптимальной стратегии администратора из большого количества средств защиты данный подход позволяет добиться существенного выигрыша по времени нахождения решения.

Литература

1. Матричные игры / Под. ред. Н.Н. Воробьёва. М. : ФМ, 1961. 280 с.

2. Гуц А.К., Вахний Т.В. Теория игр и защита компьютерных систем: учебное пособие. Омск : Изд-во ОмГУ, 2013. 160 с.

3. Вахний Т.В., Гуц А.К. Теоретико-игровой подход к выбору оптимальных стратегий защиты информационных ресурсов // Математические структуры и моделирование. 2009. № 19. С. 104-107.

4. Вахний Т.В., Гуц А.К., Константинов В.В. Программное приложение для выбора оптимального набора средств защиты компьютерной информации на основе теории игр // Вестник Омского университета. 2013. № 4(70). С. 201-206.

5. Вахний Т.В., Гуц А.К., Новиков Н.Ю. Матрично-игровая программа с выбором критерия для определения оптимального набора средств защиты компьютерной системы // Математические структуры и моделирование. 2016. № 2(38). С. 103-115.

6. Вахний Т.В., Гуц А.К., Бондарь С.С. Учёт вероятностей хакерских атак в игровом подходе к подбору программных средств защиты компьютерной информации // Математические структуры и моделирование. 2015. № 3(35). С. 91-105.

7. Шевченко Д.В. Методы принятия управленческих решений: задания и методические указания для выполнения расчётно-графической работы. Казань : Познание, 2014. 69 с.

8. Ермаков С.М., Михайлов Г.А. Статистическое моделирование. М. : Физматлит, 1982. 296 с.

9. Finite-time Analysis of the Multiarmed Bandit Problem. URL: https:// homes.di.unimi.it/~cesabian/Pubblicazioni/ml-02.pdf (дата обращения: 07.01.2017).

10. Пахотин Ю.И. Применение стохастических методов к защите информации: выпускная квалификационная работа. Омск: ОмГУ, 2017. 51 с.

DETERMINING THE OPTIMAL SET OF TOOLS FOR COMPUTER SYSTEM SECURITY BY MONTE-CARLO METHOD

T.V. Vahniy

Ph.D. (Phys.-Math.), Associate Professor, e-mail: vahniytv@mail.ru

A.K. Guts

Dr.Sc. (Phys.-Math.), Professor, e-mail: guts@omsu.ru I.Yu. Pahotin

Student, e-mail: prakt1k@mail.ru

Dostoevsky Omsk State University, Omsk, Russia

Abstract. The article presents a software application that allows based on game theory to find the most optimal set of tools for computer information protection by Monte-Carlo method.

Keywords: information security, theory of games, hacker attacks, optimal strategy, software product, Monte-Carlo method.

Дата поступления в редакцию: 10.02.2018

i Надоели баннеры? Вы всегда можете отключить рекламу.