Сетевые модели процессов распространения вредоносных программ

DOI: 10.24143/2072-9502-2018-4-73-79 УДК 529.6

Г. А. Попов, Е. А. Попова, М. Г. Попова

СЕТЕВЫЕ МОДЕЛИ ПРОЦЕССОВ РАСПРОСТРАНЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ

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

Ключевые слова: вредоносная программа, программный продукт, графы, маршрут проникновения, метод динамического программирования.

Введение

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

Проблеме анализа процесса распространения вирусных и иных атак на пользовательские рабочие места посвящено много работ, в частности [1-3]. Однако работ, опирающихся при анализе на методы теории графов, крайне мало [3, 4]. Близкой работой является [5]. Ниже предлагается один из возможных подходов к анализу различных характеристик, связанных с вирусными атаками, на основе методов теории графов. Среди зарубежных изданий отметим работы [6, 7].

Оценка основных характеристик процесса распространения вредоносных программ

Представим процесс распространения ВП в виде графа следующим образом. Рассмотрим процесс распространения ВП, привязанных к программным средствам либо информационным документам (назовем их объектами обработки (ОО)). В этом случае граф отображает взаимосвязи между различными ОО и, как следствие, потенциальные пути распространения ВП от одних ОО к другим. Граф является ориентированным, направление дуги (стрелка) указывает на тот ОО, в который может проникнуть ВП из ОО, примыкающего к началу дуги. Заданы также вероятности { рВП, 1 < 7 < Ы} (Ы- число всех вершин графа) того, что атака ВП на 7-й

узел графа окажется успешной. Тогда типовые методы анализа характеристик графов [7] позволяют оценить ряд важных характеристик распространения ВП. Перечислим эти характеристики.

1. Для у-го объекта графа (т. е. вершины графа) найти длину Пнач(/) цепочки минимальной длины, т. е. номер такта процесса функционирования сети и связанного с этим процесса обработки объектов, к которому хотя бы один из ОО, из которых может произойти обращение (запуск, обработка и т. п.) ку-му объекту, уже мог быть подвергнут воздействию ВП. То есть Пнач(/) есть минимальный номер такта обработки данных, на котором у-й ОО может уже быть подвергнут воздействию ВП. Ниже а/т) есть вероятность того, что на т-ом такте 7-й ОО обратится ку-му.

Для вычисления Пнач(у) находится наибольшее число k < N такое, что а/-1) > 0 хотя бы для одного 7 и а(:т) = 0 для всех текущих 7 и т, таких, что т < k. Если а(:т) > 0 для всех т = 1; N ,

У ^ У

то полагаем k = N. Здесь матрица а/) = Лк. Полагаем Пнач(/) = k. При этом вероятность /

того, что ВП воздействовала нау-й ОО, равна сумме (7,у)-х элементов матрицы Рк = Ця/*'Ц7 у ,

N

г> II Р V

где р = \\а/уР,\[ ут. е. я У =Ъ Пу .

7 = 1

2. Для у-го ОО найти длину цепочки (номер такта движения обработки объектов) П тах( у, рдоп), к которому вероятность я(2) воздействия ВП на у-й объект будет больше заданного уровня рдоп, либо у достигает своего наибольшего значения. То есть П(у) есть наименьший

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

N

Для вычисления д(2) находится наименьшее число к такое, что либо ^ ) > Рдоп, либо

¿=1

с

У У У

что к < т < 10. Если аЦ0> > 0, то полагаем к = 10. Здесь матрица а\к) = Лк. Полагаем П(у) = к.

Затем находится величина N = тах П( у) - номер такта, к которому все ОО уже подвергаю

нуты воздействию угроз.

3. Выяснить, есть ли циклические маршруты взаимосвязи ОО, что создает возможности

10

для повторных атак. Для этого вычислить матрицу О = ^ Лк .

к=1

Если матрица О имеет ненулевые элементы на диагонали, то в системе имеются циклы. Матрица А" имеет квадратично-блочную структуру. При этом номера строк (столбцов), описывающих один квадратичный блок, указывают на номера вершин, образующих цикл.

4. Найти концевые (исходные и конечные) ОО. Исходным ОО соответствуют столбцы матрицы А, в которых все элементы нулевые. Конечным документам соответствуют строки матрицы А, в которых все элементы равны 0. Оценить степень опасности (как источника угроз) каждого исходного ОО для каждого конечного ОО. В качестве меры важности взять число путем ¡7у, соединяющим исходную вершину под номером 7 с конечной вершиной под

номером у, ¡у = w7у , где = О. Вывести для каждой конечной вершины список важностей

различных исходных вершин.

5. Для каждого документа определить номер такта т7, к которому этот документ окажет

вредоносное воздействие на другие документы: т. = тах w...

7 1<<10 7

Оценить число тактов в течение которых 7-й ОО активен: t 7 = т7 - П (7).

Найти время Т заражения системы: Т = тах т ,. Для многозвенной

1 < <10

структуры системы время заражения может достигать своего максимального значения: Т=N = 10. Оценить оперативность L заражения системы: L = тах t.

1<7<10

6. Для каждого ОО найти множество Ri тех ОО, которые могут воздействовать на 7-й ОО. Ri есть множество номеров ], таких, что wj¡ Ф 0 .

Для каждого ОО найти множество Qi таких ОО, которые могут воздействовать (заразить вирусом) ¡-й ОО. Qi есть множество номеров столбцов, таких, что w Ф 0 .

Сделать выводы по результатам вычислений.

Нахождение наиболее опасных путей распространения вирусных атак

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

Приведем постановку задачи. На основе анализа объекта защиты (в качестве объекта защиты был выбран один из фрагментов вуза) и экспертной оценки (в качестве экспертов были выбраны пять студентов группы; процедура проведения экспертизы описана выше) вероятностей движения угрозы (в частности, злоумышленника) от одной точки объекта защиты к другой, соседней (эти вероятности являются весами соответствующих ребер в графе), был сформирован граф проникновения, описывающий процесс движения угрозы (злоумышленника) по территории вуза (рис.) [8].

Граф проникновения на объект защиты

Таким образом, вершинами графа являются определенные ключевые места (точки) на плане объекта защиты - в данном случае территории здания вуза. Основное требование к выбору этих точек - они должны располагаться внутри участка территории, однородной по своим характеристикам безопасности.

Дуги графа отображают возможные направления перемещения злоумышленника по территории. Веса этих дуг (т. е. вероятности преодоления соответствующих участков территории) могут быть получены на основе экспертных методов либо путем проведения натурных экспериментов. Особое внимание следует обратить на выбор возможных точек проникновения в здание извне - это начальные точки искомого ориентированного графа. Этим точкам возможного проникновения в здание также приписываются весовые коэффициенты, описывающие относительные вероятности использования злоумышленником именно данной точки для проникновения в здание. Считаем, что все введенные вероятности описывают независимые события - это позволяет при расчетах пользоваться формулой умножения вероятностей. Конечными вершинами искомого ориентированного графа являются объекты интереса злоумышленника. В рассматриваемой задаче это серверное помещение. Тогда рассматриваемая задача может быть формализована следующим образом: выявить такой маршрут проникновения в серверное помещение, который имеет наибольшую вероятность проникновения.

Поставленная задача относится к классу задач поиска на графах. Имеется ряд алгоритмов ее решения [9]. Одним из возможных методов решения является метод динамического программирования (ДП) [10, 11]. Процесс решения задачи включает пять этапов [8]. На первом выделяются последовательные уровни достижения вершин (табл. 1).

Таблица 1

Разбиение графа на уровни иерархии

Этап просмотра Вершины Вершины Этап решения

графа

1 14 14 VIII

2 12, 13 12, 13 VII

3 11, 8 8, 11 VI

4 9, 4 4, 9 V

5 5, 6, 10 5, 6, 10 IV

6 1, 2, 7, 8 1, 2, 7, 8 III

7 3, 8, 4 3, 4, 8 II

8 4 4 I

На втором этапе вводится целевая функция - функция Беллмана F (хг), на третьем этапе записывается основное уравнение ДП - уравнение Беллмана. В рассматриваемой задаче функция Беллмана F (x) есть максимальное значение вероятности проникновения злоумышленника из вершины x,

входящей в i-й слой, в конечную (14-ю) вершину (i = 1,7). Для записи уравнения Беллмана необходимо ввести также переходные функции f(x, yi), описывающие успешное движение злоумышленника из вершины x, входящей в i-й слой, в вершину у, входящую в (i + 1)-й слой, если вершины соединены. В противном случае указанная вероятность равна нулю. Значениями функции fj(xi, y) являются веса соответствующих дуг графа. В результате приходим к следующему уравнению Беллмана для рассматриваемой задачи: F (xi) = max (f (xi, yi) • F+1 (yi)), где максимум берется по всем вершинам yi,

' ' yi ' ' '

входящим в (I + 1)-й слой. Полагаем по определению Fs( x8) = 1.

Четвертый этап, наиболее трудоемкий, заключается в построении таблиц расчета текущих вероятностей. В работе выбран метод ДП обратного хода, который лучше зарекомендовал себя при решении задач с неизменной (стационарной) структурой, каковой является и рассматриваемая задача. Поэтому вычисления выполняют, начиная с последнего этапа. Результаты вычислений приведены в табл. 2.

Таблица 2

Расчетные таблицы метода динамического программирования

№ Входная вершина Переходная функция Функция Беллмана Выходная вершина

X7 f7 У7) F^) У7

1 У7 = 14

12 13 0,2 0,3 0,2 0,3 14 14

X, ./б(Хб, Уб) • ^7(Уб) F^) Уб

2 У6 = 12 У6 = 13

8 11 0,7 0,5 0,2 0,2 0,5 0,3 0,15 0,1 13 12

Хз / (Х5, У5) • ^6(Уз) Уз

3 У5 = 8 У 5 = 11

4 0,5 • 0,15 0,075 8

9 0,9 0,1 0,1 11

X, / (Х4, У4) • Fs^) F4(У4) У4

У4 = 4 У4 = 9

4 5 0,9 0,1 0,09 9

6 0,9 Ю,1 0,09 9

10 0,9 0,1 0,09 9

Х3 /з(Хз, Уз) Хз Fi^i) F3^3) У3

Уз = 5 Уз = 6 У3 = 10

5 1 0,2 • 0,09 - 0,018 5

2 - 0,8 • 0,09 - 0,072 6

7 - 0,9 • 0,09 0,081 10

8 - 0,3 • 0,09 0,027 10

Х2 fi(xi, У2) • F2O2) F3^3) У3

У2 = 1 У2 = 2 У2 = 7 У2 = 8

6 3 — - 0,2 • 0,081 - 0,016 2 7

4 - - - 0,5 • 0,027 0,013 5 8

8 - - 0,3 • 0,081 - 0,024 3 7

X, /1 (Х1, У1) • F2^) F^i) У1

7 У1 = 3 У1 = 4 У1 = 8

4 - - 0,5 • 0,0243 0,012 15 8

В предпоследнем столбце (функция Беллмана) табл. 2 выделяются те значения, которые начинаются из какой-либо входной вершины Х. Именно среди этих значений и следует выбирать наибольшее значение целевой функции. В рассматриваемой задаче это наибольшее значение равно 0,075 - это и есть наибольшее значение целевой функции.

На пятом этапе формируется непосредственно маршрут, на котором достигается указанное значение целевой функции. Из последней табл. 2 получаем, что максимальное значение достигается из входной вершины 4, из которой попадаем в вершину 8. Просматривая таблицы в обратном порядке, в результате получаем: из вершины 8 происходит переход в вершину 13, а из 13 - в конечную (14-ю). Таким образом, наиболее уязвимым маршрутом злоумышленного проникновения в защищаемое помещение (серверную) является следующий: 4 ^ 8 ^ 13^- 14, вероятность успешного проникновения по этому маршруту равна 0,075 (т. е. 7,5 %).

Можно также найти следующие, наиболее вероятные по опасности, маршруты проникновения. Для этого необходимо последовательно по убыванию значений выбирать вероятности из последних столбцов таблиц, полученных на четвертом этапе. В рассматриваемой задаче следующим по величине значением является 0,072 (или 7,2 %) от входной вершины X3. Тогда аналогично предыдущему находим соответствующий маршрут: 2 ^ 6 ^ 9 ^ 11 ^ 12 ^ 14.

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

Решение рассматриваемой задачи представляет особый интерес применительно к большим объектам. В этом случае граф проникновения может содержать очень много вершин и ребер, поэтому метод ДП может оказаться неэффективным. Таким образом, выбор метода решения поставленной задачи применительно к большим системам остается открытым. Отметим, что для больших систем граф проникновения может быть сформирован на основе автоматизированных процедур путем выделения однородных зон на плане объекта защиты.

Заключение

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

Методы теории графов позволили также оценить ряд других числовых характеристик, связанных с процессом распространения ВП, в частности минимальное число тактов работы системы, после реализации которых возможно проникновение ВП к заданному программному продукту; количество тактов работы системы, когда вероятность проникновения ВП к конкретному файлу станет больше заданной величины; выявить циклические маршруты распространения ВП, что характеризует повторные попытки воздействия ВП на программный продукт; найти наиболее вероятные источники (файлы), откуда началось распространение ВП; найти множество тех файлов, откуда возможно проникновение ВП к заданному программному продукту.

СПИСОК ЛИТЕРА ТУРЫ

1. Рудниченко А. К., Кошелек С. О. Использование OLE-объектов в документах Vicrosoft Word как средство распространения вредоносных программ. Методы защиты от них // Молодой ученый. 2016. № 29 (135). С. 36-39.

2. Зайцев О. Технологии вредоносных программ и угрозы информационной безопасности. URL: https://compress.ru/Article.aspx?id=17361 (дата обращения: 17.06.18).

3. Зикратов И. А., Василенко Р. С. Поиск вредоносных программ на основе анализа процесса распространения. URL: https://cyberkninka.m/artide/n/poisk-vredonosnyh-programm-na-osnove-analiza-protsessa-rasprostraneniya-publikuetsya-v-poryadke-diskussii (дата обращения: 17.06.18).

4. Курилов Ф. М. Моделирование систем защиты информации. Приложение теории графов // Технические науки: теория и практика: материалы III Междунар. науч. конф. (Чита, апрель 2016 г.). Чита: Молодой ученый, 2016. С. 6-9.

5. Shawn A. List of Types of Malware May 24, 2017. URL: https://www.malwarefox.com/malware-types/ (дата обращения: 17.06.18).

6. Wanping Liu, Shouming Zhong. Web malware spread modelling and optimal control strategies // Scientific RepoRts. 10 February 2017. URL: www.nature.com/scientificreports (accessed: 17.06.18).

7. Денисов А. А., Колесников Д. Н. Теория больших систем управления. Л.: Энергоиздат, 1982. 288 с.

8. Попов Г. А., Попова Е. А. Методическое пособие по проведению практических занятий по дисциплине «Комплексное обеспечение информационной безопасности автоматизированных систем». Ч. 2. Астрахань, 2013. 24 с.

9. Белов С. В., Мельников А. В. Процедура оценки показателей злоумышленного проникновения в составе автоматизированной системы контроля физической безопасности объекта защиты // Вестн. Аст-рахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2014. № 2. С. 28-37.

10. Беллман Р. Динамическое программирование. М.: Изд-во иностр. лит., 1960. 400 с.

11. Акулич И. Л. Задачи динамического программирования // Математическое программирование в примерах и задачах. Гл. 4. М.: Высш. шк., 1986. 288 с.

Статья поступила в редакцию 24.09.2018

ИНФОРМАЦИЯ ОБ АВТОРАХ

Попов Георгий Александрович - Россия, 414056, Астрахань; Астраханский государственный технический университет; д-р техн. наук, профессор; зав. кафедрой информационной безопасности; popov@astu.org.

Попова Екатерина Александровна - Россия, 414056, Астрахань; Астраханский государственный технический университет; старший преподаватель кафедры информационной безопасности; e.popova@astu.org.

Попова Марина Георгиевна - Россия, 414056, Астрахань; Астраханский государственный технический университет; магистрант, специальность «Прикладная информатика в экономике»; popov@astu.org.

G. A. Popov, E. A. Popova, M. G. Popova NETWORK MODELS OF MALWEAR PROLIFERATION PROCESSES

Abstract. The paper deals with the analysis of possible ways of spreading malware on the basis of weighted graphs, where the graph describes the relationship between different programs, and the weight shows the probability of transition malware from one software system to another. The task is to identify the most likely routes of malicious programs distribution and to find the most likely ways of their penetration into a given software product. The method of dynamic programming is proposed to solve the problem. The procedure of solving the problem has been demonstrated on a particular example. The results of calculations helped to determine the most probable route of penetration and to estimate the probability of successful attack of malicious programs on the required software product. Graph theory methods also allowed to estimate a number of other numerical characteristics related to the process of the malicious programs distribution, which include the minimum number of clock cycles of the system (after the implementation of this characteristic it becomes possible for a malicious program to penetrate the specified software product); the number of clock cycles of the system (when probability of penetration of the malware into a specific file will be greater than the specified value). Besides, the method helps identify cyclical routes of malware distribution, which characterizes repeated attempts of malware to impact on the software product, find the most likely sources of distribution, detect the files, through which penetration into given software product is possible.

Key words: malicious program, software product, graphs, penetration route, dynamic programming method.

REFERENSES

1. Rudnichenko A. K., Koshelek S. O. Ispol'zovanie OLE-ob"ektov v dokumentakh Vicrosoft Word kak sredstvo rasprostraneniia vredonosnykh programm. Metody zashchity ot nikh [Using OLE-objects in documents Microsoft Word as means of distributing malware. Preventive measures against them]. Molodoi uchenyi, 2016, no. 29 (135), pp. 36-39.

2. Zaitsev O. Tekhnologii vredonosnykh programm i ugrozy informatsionnoi bezopasnosti [Technology of malicious software and threats to information security]. Available at: https:// compress.ru/ Arti-cle.aspx?id=17361 (accessed: 17.06.18).

3. Zikratov I. A., Vasilenko R. S. Poisk vredonosnykh programm na osnove analiza protsessa rasprostraneniia [Search of malware through5 the analysis of their distribution]. Available at: https://cyberleninka.ru/article/n/ poisk-vredonosnyh-programm-na-osnove-analiza-protsessa-rasprostraneniya-publikuetsya-v-poryadke-diskussii (accessed: 17.06.18).

4. Kurilov F. M. Modelirovanie sistem zashchity informatsii. Prilozhenie teorii grafov [Modeling information protection systems. Graph theory application]. Tekhnicheskie nauki: teoriia i praktika: materialy IIIMezhdunarodnoi nauchnoi konferentsii (Chita, aprel' 2016g.). Chita, Molodoi uchenyi Publ., 2016. Pp. 6-9.

5. Shawn A. List of Types of Malware May 24, 2017. Available at: https://www.malwarefox.com/malware-types/ (accessed: 17.06.18).

6. Wanping Liu, Shouming Zhong. Web malware spread modelling and optimal control strategies. Scientific RepoRts, 10 February 2017. Available at: www.nature.com/scientificreports (accessed: 17.06.18).

7. Denisov A. A., Kolesnikov D. N. Teoriia bol'shikh sistem upravleniia [Theory of big management systems]. Leningrad, Energoizdat, 1982. 288 p.

8. Popov G. A., Popova E. A. Metodicheskoe posobie po provedeniiu prakticheskikh zaniatii po distsipline "Kompleksnoe obespechenie informatsionnoi bezopasnosti avtomatizirovannykh system ". Chast' 2 [Methodological instructions on conducting practical classes on discipline "Complex providing information security of automated systems. Part 2"]. Astrakhan', Izd-vo AGTU, 2013. 24 p.

9. Belov S. V., Mel'nikov A. V. Protsedura otsenki pokazatelei zloumyshlennogo proniknoveniia v sostave avtomatizirovannoi sistemy kontrolia fizicheskoi bezopasnosti ob"ekta zashchity [Procedure of evaluating parameters of malicious penetration in terms of automated system of control of physical security of the protective entity]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislit-el'naia tekhnika i informatika, 2014, no. 2, pp. 28-37.

10. Bellman R. Dinamicheskoe programmirovanie [Dynamic programming]. Moscow, Izd-vo inostrannoi literatury, 1960. 400 p.

11. Akulich I. L. Zadachi dinamicheskogo programmirovaniia [Problems of dynamic programming]. Ma-tematicheskoeprogrammirovanie vprimerakh i zadachakh. Chapt. 4. Moscow, Vysshaia shkola Publ., 1986. 288 p.

The article submitted to the editors 24.09.2018

INFORMATION ABOUT THE AUTHORS

Popov Georgiy Aleksandrovich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Doctor of Technical Sciences, Professor; Head of the Department of Information Security; popov@astu.org.

Popova Ekaterina Aleksandrovna - Russia, 414056, Astrakhan; Astrakhan State Technical University; Senior Lecturer of the Department of Information Security; e.popova@astu.org.

Popova Marina Georgevna - Russia, 414056, Astrakhan; Astrakhan State Technical University; Master's Course Student, specialty "Applied Informatics in Economics"; popov@astu.org.