Научная статья на тему 'О дискретно-автоматных моделях атак в компьютерных сетях'

О дискретно-автоматных моделях атак в компьютерных сетях Текст научной статьи по специальности «Математика»

CC BY
155
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНЫЙ АВТОМАТ / ГРАФ АТАК / ЗАДАЧА БУЛЕВОЙ ВЫПОЛНИМОСТИ / SAT / DISCRETE AUTOMATON / ATTACK GRAPH / BOOLEAN SATISFIABILITY

Аннотация научной статьи по математике, автор научной работы — Горбатенко Дмитрий Евгеньевич, Кочемазов Степан Евгеньевич, Семёнов Александр Анатольевич

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

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

Похожие темы научных работ по математике , автор научной работы — Горбатенко Дмитрий Евгеньевич, Кочемазов Степан Евгеньевич, Семёнов Александр Анатольевич

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

On discrete automaton models of attacks in computer networks

We propose a new model for describing the development of attacks in computer networks. The basis of the model is a synchronous discrete automaton defined by the network graph, where vertices are hosts. We consider transitions between the states of this automaton, that take place in discrete time moments. At each time moment, we associate with the graph vertices Boolean vectors referred to as host states. At each consecutive time moment, the host states are synchronously computed according to some fixed pre-defined rules. In more detail, let G = (V, A) be a graph interpreting the computer network. Let Q = {qb..., qz} be the set of possible host vulnerabilities. The process of development of an attack in the network is the process of exploiting the available vulnerabilities by an adversary. At the next time moment, new available vulnerabilities can appear as a result of such exploitation. Therefore, we can consider the network as discrete automaton, that functions in time moments t G {0,1,...}. We refer to the moment t = 0 as initial moment. For each t, let us associate with each host v G V a Boolean vector av(t) = (al,..., aj, aj+1,..., aj(t)), r ^ /, called the state of the host v at time moment t. The first / coordinates of this vector form the so-called vector of vulnerabilities: we assume that av = 1 iff host v has the vulnerability qj, j G {1,...,/}. This vector of vulnerabilities is fixed and does not change. The coordinates of av (t) with indices / + 1,..., r contain the information that can change for time. In particular, the corresponding vector values reflect some access permissions the considered host has on other hosts. The coordinates / + 1,..., r of av (t) form the vector of possibilities of host v at moment t. If we assume that we know the states of all hosts at initial time moment, we can consider the transitions of the network to the consecutive states by changing the vectors of possibilities of the hosts according to pre-defined rules. As such rules, we used the pairs of the kind (pre-condition, post-condition), by means of which in the widely known work by M. Danforth the elementary attacks are defined. In the context of the proposed model, we analyzed several types of attacks in computer networks. To obtain superuser permissions on a desired host, we considered combinatorial problems of finding best distributions of adversary hosts in the attacked networks. In this process, it is possible to take into account various additional constraints. Also, we considered the combinatorial problem referred to in the work by M. Danforth as the problem of distributing patches. All considered problems were reduced to Boolean satisfiability problem and solved using state-of-the-art SAT solvers. In our experiments, we considered random graphs with several hundred vertices.

Текст научной работы на тему «О дискретно-автоматных моделях атак в компьютерных сетях»

3) Иг ^ И2 : Ем2(ЕаЕв(т),г2),

Б а (т,1л)^а, Бв (Го,и ),Ьв , 5м1 (г1^м1 .

4) Ы2 ^ А : ЕаЕв (т),

1 , бм2 (г2 , tм2 ) , ^м2 .

5) Проверка: ¿м2 =ш¿м1, ¿м1 =ш¿в, ¿в=ш¿а- Если проверки пройдены:

А ^ В : Ев(т),

ба (m, ¿а) , ta, бв ^о^^^в, бм1 (г1^м1 )^м1, Бм2 (г2 , ¿м2 )^м2 .

Описанный протокол может использоваться как протокол транспортного уровня в распределённой сети соревнования СТЕ следующим образом. Команда организаторов, согласно протоколу, осуществляет новостную рассылку во время соревнования. Если участник хочет получать новостную рассылку от организаторов, ему необходимо выступать в качестве посредника при передаче сообщений других участников, выставляя на них корректную метку времени. В противном случае участник не сможет получать новостную рассылку, что равносильно отключению от соревнования и техническому поражению.

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

ЛИТЕРАТУРА

1. Анисеня Н. И. Разработка безопасного протокола распределённой системы проведения соревнований СТР // Прикладная дискретная математика. 2015. №2(28). С. 59-70.

УДК 519.7 Б01 10.17223/2226308X79/31

О ДИСКРЕТНО-АВТОМАТНЫХ МОДЕЛЯХ АТАК В КОМПЬЮТЕРНЫХ СЕТЯХ1

Д. Е- Горбатенко, С. Е. Кочемазов, А. А. Семёнов

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

1 Работа выполнена при частичной поддержке РФФИ, проекты № 14-07-00403а и 15-07-07891а.

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

Исследование атак в компьютерных сетях и способов защиты от них является актуальной и интенсивно развивающейся областью компьютерной безопасности. Для анализа сети на предмет возможности реализации в ней той или иной атаки, а также для определения способов защиты от атак используются формальные модели компьютерных сетей [1]. Обычно основой такой модели является ориентированный помеченный граф G = (V, A), в котором V — множество вершин, A — множество дуг. Вершины графа G соответствуют хостам рассматриваемой сети, а дуги интерпретируют связи между хостами. В последние 10 лет весьма широкое распространение получил подход к анализу атак в сетях, базирующийся на графах атак [2-4]. Есть большое число различных подходов к построению графов атак, описание некоторых способов может быть найдено в [4]. В настоящей работе предлагается рассматривать развитие атаки в компьютерной сети как эволюцию некоторого дискретного автомата, происходящую в моменты времени t Е {0,1,...}. Этот подход имеет в сравнении с известными по меньшей мере два преимущества. Во-первых, он позволяет в простой и естественной форме ставить комбинаторные задачи, связанные с развитием и блокированием атак. Во-вторых, эти задачи допускают применение современных эффективных комбинаторных алгоритмов. Для получения представленных в работе результатов в роли таковых использованы алгоритмы решения проблемы булевой выполнимости (SAT). Далее кратко остановимся на основных полученных к настоящему моменту результатах.

Итак, рассматриваем граф G = (V, A), интерпретирующий компьютерную сеть. Пусть Q = {qi,...,qi} — множество уязвимостей хостов, возможных в рамках рассматриваемой сети. Процесс развития атаки в сети — это процесс эксплуатации злоумышленником доступных уязвимостей, результатом чего в следующий момент времени является возможность эксплуатировать другие уязвимости. Соответственно можно рассмотреть сеть G как дискретный автомат, функционирующий в моменты времени t Е {0,1,...}, момент t = 0 назовём начальным. Для каждого t свяжем с произвольным хостом v Е V булев вектор

а"(t) = (а",...,а",a+1(t),...,aV(t)) ,r ^ l,

называемый состоянием хоста v в момент t. Первые l координат вектора а" (t) образуют вектор, называемый вектором уязвимостей. Он интерпретируется в следующем смысле: а" = 1 тогда и только тогда, когда на хосте v имеется уязвимость qj, j Е {1,... , l}. Вектор уязвимостей хоста во все моменты времени остаётся неизменным. В координатах а"(t) с номерами l + 1,... , r находится информация, которая может меняться с течением времени. В частности, в этих координ(атах отображает)ся доступ с рассматриваемого узла на другие узлы сети. Вектор (d"+1(t),... , а"(t)) будем называть вектором возможностей хоста v в момент t.

Полагая, что в начальный момент для всех хостов сети заданы их состояния (например, все векторы возможностей при t = 0 могут быть нулевыми), можем рассматривать переходы сети в последующие состояния, изменяя векторы возможностей хостов в каждый момент в соответствии с фиксированными правилами. В качестве правил использованы пары вида (предусловие, постусловие), посредством которых в работе [5] определяются элементарные атаки. В рамках предлагаемой модели состояния для всех хостов пересчитываются синхронно. В этом случае по аналогии с синхронными булевыми сетями (SBN, они же сети Кауффмана [6]) функционирование автомата,

задаваемого графом G, порождает граф переходов (STG, State Transition Graph), обозначаемый через Г с. Каждой вершине графа Г с соответствует набор состояний всех хостов сети в рассматриваемый момент времени.

Поясним сказанное на ставшем хрестоматийным примере, впервые рассмотренном в работе [2]. Рассматривается сеть, состоящая из трёх хостов Hi, H2, H3. Состояние каждого хоста в момент времени t Е {0,1,...} — это булев вектор из 9 координат. Первые четыре координаты соответствуют уязвимостям «write-noauth», «trust-login», «pe-noauth», «pe-local». Смысл этих уязвимостей описан в [5] (например, уязвимость «pe-noauth» на хосте v дает получившему доступ на v права суперпользователя на данном хосте). Пятая координата отвечает за активность опции «trust between the host and all». Активность данной опции на конкретном хосте H означает, что этот хост доверяет любому другому хосту сети. Если нарушитель может активировать данную опцию на H, то на следующем шаге он может подключиться к H без использования логина и пароля. Остальные координаты определяют права, которые по умолчанию имеет рассматриваемый хост на остальные узлы сети. На рис. 1 приведён фрагмент графа состояний дискретного автомата, задаваемого (в указанном выше смысле) сетью из работы [2]. Данный фрагмент соответствует одной атаке на сеть, рассмотренной

Рис. 1. Сеть из трёх хостов (слева) и фрагмент графа состояний автомата (STG), заданного этой сетью, интерпретирующий атаку, рассмотренную в [5]

Фрагмент графа состояний, приведённый на рис. 1, показывает два возможных пути развития атаки. В первом случае злоумышленник непосредственно со своего компьютера (хост Ho) проводит элементарную атаку, эксплуатирующую уязвимость «write-noauth» на хосте H2, тем самым активируя на этом хосте опцию «trust between the host and all». Данная опция устанавливает доверительные отношения хоста H2 со всеми остальными хостами в сети (на STG биты, отвечающие за включение данной опции, выделены квадратами). На следующем шаге, пользуясь полученной возможностью, злоумышленник получает права доступа пользователя на хосте H2, эксплуатируя уязвимость «trust-login» (биты, соответствующие появлению прав пользователя у злоумышленника, выделены кругами). Далее, эксплуатируя уязвимость «pe-local» на хосте H2, злоумышленник повышает свои права доступа до прав доступа суперпользователя (соответствующие биты выделены ромбами).

На фрагменте STG на рис. 1 виден также второй вариант получения злоумышленником прав суперпользователя на хосте 2. На первом шаге эксплуатируются уязвимости «write-noauth» и «pe-noauth» на хосте H1, результат: доверие хоста H1 всем остальным хостам сети и права суперпользователя у злоумышленника на хосте Hi . Далее злоумышленник проводит атаку на хост H2 с хоста H1 , используя действия, аналогичные первому сценарию: последовательно эксплуатируются уязвимости «trust-login» и «pe-local» хостом H1 на хосте H2 в моменты времени t = 2 и 3 соответственно, благодаря чему хост H1 получает права доступа суперпользователя на хосте H2.

в [5].

#о #1 Я2

(0,0,0,0,0,0,0,0,04 /о,о,о,о,о,о,одо\ / 0,1,1,1,0,0,0,0,0 Ы 0,1,1,1 до,о,о,о Ы 1,1,0,1,0,0,0,0,0/ \ 1,1,0,1 ДО,0,0,0/ V

В рамках описанной модели мы рассмотрели ряд задач, связанных с анализом и блокированием атак в компьютерных сетях. В частности, рассмотрены задачи выбора злоумышленником нескольких хостов для атаки. При этом на возможности злоумышленника накладывались различные ограничения: например, требовалось получить root-право на некотором компьютере сети не более чем за фиксированное число моментов времени. Дополнительно предполагалось, что в процессе атаки злоумышленник не может в каждый момент времени иметь root-права более чем на заданном числе хостов сети. Такого рода задачи «подбора множеств хостов» являются комбинаторными из-за значительного в общем случае числа различных альтернатив, требующих проверки. Задачи описанного типа решались за счёт их сведения к задаче о булевой выполнимости (SAT). При этом использованы кодировки и общие идеи, представленные в работе [7], в которой методами SAT исследована активационная динамика в сетях. Если удавалось подобрать множество хостов, с которого злоумышленник успешно атаковал рассматриваемую систему, то для этой ситуации рассматривалась обратная задача: запретить те или иные уязвимости на некоторых хостах сети, чтобы в результате найденная атака стала невозможной. Эту задачу М. Данфорт называет задачей расстановки патчей. В рамках развитого вычислительного аппарата можно накладывать ограничения на число расставляемых патчей и их вид (например, предполагать, что блокирование некоторых уязвимостей невозможно). Все вычислительные эксперименты проводились на сетях, сгенерированных случайным образом в соответствии с моделью Барабаши — Альберт [8]. Перечисленные комбинаторные задачи удалось успешно решить для сетей с несколькими сотнями хостов.

ЛИТЕРАТУРА

1. Девянин П. Н. Модели безопасности компьютерных систем: учеб. пособие для вузов. М.: Издательский центр «Академия», 2005.

2. JhaS., Sheyner O., and Wing J. Two formal analysis of attack graphs // Proc. 15th IEEE Workshop on Computer Security Foundations (CSFW '02). 2002. P. 49-63.

3. Sheyner O., Haines J. W., Jha S., et al. Automated generation and analysis of attack graphs // Proc. 2002 IEEE Symposium on Security and Privacy. 2002. P. 273-284.

4. Колегов Д. Н. Проблемы синтеза и анализа графов атак. http://www.securitylab.ru/ contest/299868.php. 2009.

5. Danforth M. Models for Threat Assessment in Networks. PhD Thesis, University of CaliforniaDavis, 2006.

6. Kauffman S. Metabolic stability and epigenesis in randomly constructed genetic nets // J. Theoretical Biology. 1969. No. 22. P. 437-467.

7. Kochemazov S. and Semenov A. Using synchronous Boolean networks to model several phenomena of collective behavior // PLoS ONE. 2014. No. 9: e115156. P. 1-28.

8. Barabasi A-L. and Albert R. Emergence of scaling in random networks // Science. 1999. No. 286. P. 509-512.

УДК 004.94 DOI 10.17223/2226308X/9/32

О РЕЗУЛЬТАТАХ ФОРМИРОВАНИЯ ИЕРАРХИЧЕСКОГО ПРЕДСТАВЛЕНИЯ МРОСЛ ДП-МОДЕЛИ

П. Н. Девянин

«Монолитное» представление мандатной сущностно-ролевой ДП-модели, являющееся основой механизма управления доступом в отечественной защищённой опе-

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