Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Логические сети и их применение при моделировании процессов реализации угроз безопасности информации

Обновлено 09.06.2025 05:30

Логические сети являются расширением аппарата теории конечных автоматов, широко применяемого в самых различных сферах, например, в теории кибернетических систем, в телемеханике, информатике и вычислительной технике [63-66, 70] и др. Сама теория конечных автоматов - это частный случай общей математической теории систем [71], позволяющая изучать поведение реальных физических устройств и явлений на основе разработки их абстрактных математических моделей. 

Конечный автомат в соответствии с [63-66, 69, 70] определяется следующим образом. Пусть имеется некоторое устройство с п входами и q выходами, на каждый вход которого может поступать сигнал из конечного множества сигналов X = {хѵх2,...,хк},к = \,К, называемого входным алфавитом, а совокупность поступивших на п входов сигналов, обозначаемых соответствующими символами, - входным словом.

Обобщенная схема конечного автомата без памяти

При этом некоторые из элементов такого слова (символов) могут быть пустыми. На выходе устройства появляются выходные слова, составленные из символов выходного алфавита Y = =1 ,М .

Элементарный такт работы устройства состоит в том, что при появлении на входе устройства входного слова Ѵі устройство выдает на выходах комбинацию символов, составляющих выходное слово Q..

Пусть работа устройства определяется только входным словом, тогда она будет полностью определена, если задать соответствия всех входных слов выходным в виде:

v^Qjr

V2 ~*Qj2' (4.6)

где kn - количество строк по числу различных входных слов длины п над алфавитом X, состоящим из к различных символов.

Устройство, условия работы которого описываются с помощью указанных соответствий (4.6), называют детерминированным конечным автоматом без памяти [69, 70].

Более сложными являются автоматы, для которых описываются не только входные и выходные слова, но и состояния самого автомата. Пусть задан конечный алфавит S = {s,0,.s,1)...).s'c},c = 1,С, задающий состояния устройства, и работа устройства полностью определяется входным словом и внутренним состоянием в определенный такт работы.

Обобщенная схема конечного автомата с памятью

Пара Ѵі и sc однозначно определяет выходное слово и внутреннее состояние, в которое перейдет устройство в следующий такт. Работа такого устройства полностью определена, если заданы две таблицы, первая из которых (таблица 4.5) определяет выходное слово, соответствующее паре F ,.ѵ., а вторая (таблица 4.6) - внутреннее состояние устройства в следующий такт.

Соответствие выходного слова входному слову и состоянию устройства _________________________________________________________

Входные слова

Выходные слов для состояний

■*2

sc

Ѵх

а,

й2

а

в

а

а.

а.

в

а.

Соответствие внутреннего состояния устройства входному слову________________________________________________________________

Входные слова

Выходные слов для состояний

S2

sc

Ѵх

s\

\

Si

в

S2,

\

S2,

в

h

Такие автоматы называют детерминированными конечными автоматами с памятью. При этом параметр с называют глубиной памяти.

В общем случае детерминированные конечные автоматы описываются пятеркой [72]

А = {V,S,d,s0,Q), (4.7)

где s0 - начальное состояние автомата как дополнительная его характеристика;

8 - функция, отображающая множество V xS в множество Q и называемая функцией переходов или переходной функцией.

Естественным обобщением детерминированных автоматов являются автоматы стохастического типа или стохастические конечные автоматы. В таких автоматах вместо однозначного соответствия IB —или (Vi>st)~*(f2j'sc) задается вероятность соответствия в виде стохастической матрицы. Например, для конечного автомата без памяти такая матрица вероятностей ptj имеет вид, приведенной в формуле.

В случае автомата с памятью такие матрицы задаются для каждого столбца обеих таблиц 4.5 и 4.6.

В подавляющем большинстве случаев моделирования систем с помощью теории конечных автоматов символы алфавитов X.Y и S кодируются двоичным кодом, то есть символы принимают значения 0 или 1. Путем такого кодирования автомат с произвольным входным и выходным алфавитом может быть приведен к автомату с двоичным входом и выходом. Это позволяет использовать при анализе таких систем булевы функции [69] и описать работу автомата системой таких функций:

Уі = fi(Xl,x2,...,xJ;

Ут =fm(Xl’X2’-’ Х„У

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

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

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

Пусть имеется конечное множество А = {1,2,3,...,т},т = \,М и пусть задано множество В = {(/, / )}, элементами которого являются упорядоченные пары элементов множества Л, где г, у — любые из элементов А, і ф j, и множество F{f1,f2,...fm},m = 1,1/, элементами которого являются логические (булевы) функции. Каждому элементу множества А сопоставлен только один элемент множества F. Совокупность множеств А и В, совместно с однозначным отображением множества А на множестве F называется логической сетью. Множество входов логической сети обозначается как

С = {с1,...,сл}, а множество выходов как Г = {уі,у2,---,У1,} Если множество С содержит п элементов, а множество Y содержит q элементов, то такую логическую сеть называют логическим (п, q )-полюсником [72].

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

Пример графа логической сети с пятью входами и двумя выходами

В качестве булевых функций на приведенном рисунке могут иметь место, например, следующие:

/і=хА= А =xix2’fi =*з vxAJA = /jv/2 (4.10)

Черта над буквой означает отрицание, то есть, если .т0 = I то .V,, =0

При моделировании процессов реализации угроз, как правило, достаточным оказывается использование (иД)-полюсников или (п, 2 )-полюсников. Пример такой логической сети, описывающей логику реализации атаки проникновения в операционную среду атакуемого хоста «Туннелирование трафика», приведена.

Граф логической сети, моделирующей логику выполнения атаки «Туннелирование трафика»: л - знак логического умножения (выполнение логического условия «И»); ѵ - знак логического сложения (выполнения логического условия «ИЛИ»), «-» - знак логического отрицания (выполнения логического условия «НЕ»)

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

При реализации атаки может быть два исхода у0 = 1 - атака не удалась и Vj =1 — сообщение (команда, вредоносная программа и т.п.), принятое на атакуемом компьютере исполнено. Логическая функция такой сети для варианта успешной реализации атаки представляется следующим образом:

Л=((х1 лх2)лх3)лх3, (4.11)

а для срыва атаки -

f =((xj ЛХ2) AX3)vXj лх2. (4.12)

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

Вместе с тем аппарат логических сетей начал успешно применяться при решении задачи логического вывода в ходе доказательства возможности эксплуатации уязвимостей «нулевого дня» при реализации тех или иных угроз безопасности информации в ИС. Кроме того, появились расширения логических сетей, такие как, например, логические сети с предикатными операциями [56].

Иногда такие сети называют предикатными сетями

В соответствии с [56] модель процесса в общем виде может быть представлена системой бинарных предикатов:

Мв ={ЩЩЭВк,^еМ,ВкеВ,к=Ш,і=и}, (4.13)

где Rf - бинарные предикаты, а Вк - объекты предметной области.

В этой модели введены два типа узлов логической сети. Вершины первого типа х е V отражают конкретные действия (процедуры) процесса.

С каждой вершиной связаны определенные действия процесса с помощью бинарных предикатов:

V*, 6 (ij =1,1),к = 1 ,К . (4.14)

Соответственно, модель (4.13) дополняется следующим образом:

Мв ={Rk\ Шк (х,,х.) е М, х, е V\(і, j = \J), ЗВкеВ,к = Щ. (4.15)

Вершина называется вершиной второго типа х'еѴ**, если из вершины х' графа логической сети выходит две дуги.

Адаптация модели к предметной области достигается за счет применения операторов: последовательного выполнения или импликации (знак «-»>), эксклюзивного выбора (знак «XOR», исключающее «ИЛИ»), неэксклюзивного выбора (знак «OR» - логическая операция «ИЛИ»), параллельного выполнения (знак «AND» - логическая операция «И») и цикла

(знак «£}»):

(Rk(x,x,.),R,.(x',Xj)) ; (4.16)

XOR(Rk(x',xi),Ri(x',xJ))=Rk(x',xl)QRi(x',xJ); (4.17)

OR (Rk (x’, x,), Ri (x , Xj)) = Rk (x1, x,.) v Ri {x, Xj ) ; (4.18)

AND(Rk{x, x.),R.(x,Xj)) = Rk(x, xt) лК(х,Xj); (4.19)

Q(Rk(x,л,.),Ri(x,Xj),nn), (4.20)

где na - количество повторов в цикле;

В полученной конструкции используются предикатные операции, то есть предикаты второго порядка, поэтому такая сеть в [56] названа логической сетью с предикатными операциями.

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

Логическая сеть с предикатной операцией Sj(Rk,Rj) для исходящих дуг

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

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

Логическая сеть с предикатной операцией цикла

В этом случае предикатные операции «ИЛИ», исключающего «ИЛИ», и «И» соответственно определяются следующим образом:

XOR(Rk(х ,X,),К:(ху,X )) = Rk(х’,х)Ѳ /((ху,х);

OR(Rk(x ѵЯДх,,*,.) (4.24)

A \7)(A’,.(.v..v.). R.(x...v.)) = Яь(х',х,)лЛ,(ху,х,). (4.25)

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

Пример 4.4. Пусть необходимо смоделировать логику реализации атаки «Подмена доверенного объекта», направленную на проникновение в операционную среду атакуемого хоста от имени доверенного хоста (с его сетевым адресом) с предварительным выводом из строя доверенного хоста путем атаки «шторм ТСР-запросов» [26].

Логическая сеть с предикатными операциями, моделирующая логику выполнения такой атаки, приведена.

Логическая сеть с предикатными операциями, моделирующая логику реализации атаки «Подмена доверенного объекта»

Принятые на рисунке 4.12 обозначения приведены в таблице 4.7.

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

- обосновать путем логического вывода принципиальную возможность реализации моделируемого процесса;

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

Обозначения, принятые в логической сети с предикатными операциями, моделирующей логику реализации атаки «Подмена доверенного объекта» (рисунок 4.12)

Обозначение

Наименование, формула

Значение

щ

Действие

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

То же

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

Нарушитель направляет на хост-«жертву» «шторм TCP-запросов на соединение» и фиксирует факт прекращения поступления квитанций от него, свидетельствующей о «зависании» его операционной системы

хі

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

ж,

Нарушитель посылает целевому компьютеру запрос на соединение от имени вышедшего их строя доверенного хоста

**■

Нарушитель получает доступ в операционную среду целевого компьютера и дает, например, команду на предоставление режима удаленного терминала для компьютера с нужным ему сетевым адресом

дг7

Реализация угрозы выполнения несанкционированных действий с защищаемой информацией (копирование, модификация, уничтожение и т.д.)

,1,1

Предикат

/?,ии.г3) = ЗЛ е = Х„

Определяет следующее утверждение: «существует хост Ьг, который выбран в качестве целевого, и для него выявлены характеристики , необходимые для реализации атаки «Подмена доверенного объекта»

Предикат

Я2(ж,, = \JTr К, е К. b( е Bt ,к К*(3b^tg £ К, —► X)

Определяет следующее утверждение: «из всех хостов brj- \fKf , взаимодействующих с целевым хостом, выбран хост-«жертва» Ьл, от имени которого будет осуществляться атака на целевой хост и для которого определены параметры Xh , необходимые для атаки «шторм TCP-запросов» для вывода его из строя

Предикат Я^{хг^Хь) = (^,)

Определяет утверждение, что «имеются необходимые характеристики Хь целевого хоста и ему отправлен пакет dh (Ѵ^,), содержащий информацию первого типа - запрос на соединение»

 

Обозначение

Наименование, формула

Значение

RfaiX,)

Предикат /?4(дг14д:4) = ЗХ^ —> d. (цг,)

Определяет утверждение, что «имеются необходимые характеристики Хп хоста-«жертвы» и ему отправляются пакеты dh (^), содержащие информацию первого типа-запрос на соединение в цикле, пока количество пакетов превысит допустимое значение, при котором буфер хоста-«жертвы» переполняется и его операционная система «зависает»

ЯІЧі.-О

Предикат

К (X„xf) = 3(/f| ((S',) -»ii,_ (К',)

Определяет утверждение, что «получен пакет с запросом на соединение flfi ) хостом-«жертвой» и им отправлен хосту нарушителя пакет, содержащую информацию второго типа - квитанцию о готовности к формированию виртуального канала». Отправка квитанций выполняется в цикле по получении пакетов с запросами на соединение

Я,и,,х,>

Предикат fl,U*.Jf4) = U'> >*%)

Определяет утверждение, что «хост-«жертва» выведен из строя», так как количество пакетов с запросами на соединение от хоста нарушителя К больше критического значения vst, при котором количество записей данных о запросившем соединение хосте переполняет буфер

Rf,

Предикат

к, (V .V,) = (/,„ (ѵ,) -»i!h, ((S',) -> )

Определяет утверждение, что «виртуальный канал между целевым хостом и якобы функционирующим доверенным хостом» установлен, то есть проведена полная процедура троекратного «рукопожатия», при этом целевой хост получил запрос на соединение d^ (^,), отправил квитанцию о готовности на

доверенный хост d^4(lff7) и получил квитанцию от нарушителя от имени доверенного хоста о начале взаимодействия

И,<х,,х,)

Предикат

ftXtj.x, > = 3J„ (»/,)-> (/,, {V,)

Определяет утверждение, что «нарушитель получил доступ в операционную среду целевого хоста и имеет возможность выполнить несанкционированные действия с защищаемой информацией

S,

Предикатная операция s, - n<Rt(x,,x4).*,<*>,*,=

= (Яч ( X,. дг4).«; (Іч, ж,)) '■ ■ Л Я, (J,, .V. )

Предикатная операция цикла, реализуемая следующим образом:

сначала не менее vtt раз выполняется цикл, включающий в себя передачу нарушителем пакетов на соединение с хостом-«жертвой» и передачи хостом-«жертвой» пакетов с ответной квитанцией о готовности к соединению. После завершения цикла выполняется переход к вершине в соответствии с предикатом Rs{xltXb)

SJ

Предикатная операция 4'. = Я,(х,,х4)л llAXf.x.)

Предикатная операция логического умножения (логическая операция «И»)