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

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

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

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

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

Правила и принципы политики контроля целостности

Правило модели Кларка-Вилсона

Обозначение

правила

Принципы политики контроля целостности, реализуемые правилом

Множество всех процедур контроля целостности (ІѴР) должно содержать эти процедуры для любого элемента данных из множества всех контролируемых данных

С1

Корректность транзакций, объективный контроль

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

С2

Корректность транзакций

Должна контролироваться допустимость применения ТР к контролируемым данным в соответствии со списками, указанными правилами С2

Е1

Минимизация

привилегий,

разграничение

функциональных

обязанностей

Должен поддерживаться список разрешенных пользователю процедур преобразования с указанием допустимого для каждого ТР и данного пользователя набора обрабатываемых элементов данных

Е2

Корректность

транзакций,

аутентификация

пользователя,

минимизация

привилегий,

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

СЗ

Разграничение

функциональных

обязанностей

Должна проводиться аутентификация всех пользователей, пытающихся выполнить какую-либо процедуру преобразования

ЕЗ

Аутентификация

пользователя

Каждая ТР должна записывать в журнал регистрации (специальный элемент из состава контролируемых данных, предназначенный только для добавления в него информации) информацию, достаточную для восстановления полной картины каждого применения этой ТР

С4

Аудит произошедших событий

Любая ТР, обрабатывающая неконтролируемый элемент, должна выполнять только корректные преобразования этого элемента, в результате которых неконтролируемый элемент превращается в контролируемый

Е4

Корректность транзакций

Только специально уполномоченное лицо может изменять списки, определенные правилами С2 и Е2. Это лицо не имеет право выполнять какие-либо действия, если уполномочено изменять регламентирующие эти действия списки

С5

Разграничение

функциональных

обязанностей

Вместе с тем уже сегодня крайне востребованы для автоматизации процессов прогнозирования и анализа угроз соответствующие экспертные системы [67].

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

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

 

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

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

В соответствии с [68] в классификационную схему искусственных языков, как правило, включают три группы языков:

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

2) языки ролевых фреймов, в которых каждая единица в предложении описывается через семантические роли, которые она может выполнять;

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

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

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

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

В табличном языке Кодда данные о предметной области в виде строки таблицы формально задаются на множестве:

Н =1 хН1 х...хНк. (4.1)

где Нк - множества значений атрибутов к = \,К, а / - множество имен сущностей, данных в виде п -арных отношений (п<к).

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

Основными компонентами контекстно-свободного плекс-языка являются: плекс-элементы (абстрактный объект, имеющий определенное количество контактов, то есть входов и выходов для соединения с другими плекс-элементами), операция конкатенации и грамматика, определяющая правила соединения плекс-элементов между собой. Плекс-элементы образуют алфавит языка. Операция конкатенации формально задается матрицей ||^..||, элементы которой отражают связи между контактами г и j. Грамматикой языка называется четверка: G =(v0,A,V,R), где ѵ0 - начальный символ, А = {а{} - алфавит терминальных плекс-элементов; Ѵ = {ѵк] - алфавит вспомогательных плекс-элементов; R - множество правил вывода [68].

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

Рассматривая широко известные RX-коды, необходимо отметить, что в этом языке в качестве правильных синтаксических выражений используются двойки из множества понятий {х"1} и множества отношений } и

конъюнкции двоек. Для интерпретации выражений языка RX-кодов всем понятиям и отношениям предписываются некоторые семантические значения, например, для понятий: Х\ - «угроза перехвата трафика с использованием «сниффера», относящаяся с номером 1 к г-му классу угроз, объединяющему все угрозы перехвата трафика; х\^ - «угроза переполнения буфера операционной системы», относящаяся с номером 1 к / -му классу угроз « Отказ в обслуживании». Семантические значения для отношений могут быть, например, следующие: Rm - «иметь имя» с порядковым номером т; Rk - «повторять» с порядковым номером#; Rn - «быть меньше» с порядковым номером п ит.д.

Приведем пример использования языка RX-кодов для описания угрозы атаки «sin-flood».

Пример 4.1. Суть атаки «syn-flood» заключается в посылке большого количества пакетов сообщений, сформированных по протоколу TCP с запросом на соединение с атакуемым компьютером (ТСР-запросов). Атакуемый компьютер по технологии установления соединений направляет на атакующий компьютер хакера квитанцию о получении запроса и согласии на установление виртуального канала, при этом записывает данные запросившего компьютера в буфер.

Атакующий, получив эту квитанцию, должен был бы направить свое уведомление о том, что он начинает передачу, которая на атакуемой стороне является сигналом для очищения буфера и начала приема пакетов. Однако хакер не посылает это уведомление, а направляет следующий запрос, что заканчивается очередной записью данных об атакующем компьютере в буфер атакуемого. Это многократно повторяется, что приводит к переполнению буфера атакуемого компьютера и его «зависанию». Пусть рассматриваемая угроза обозначается как ij и в описании угрозы используются следующие понятия: Х\ - имеет место класс угроз «Отказ в обслуживании»; Х\ - имя угрозы «Переполнение буфера операционной системы»; X\ - источником угрозы является внешний нарушитель; Х\ - пакет с запросом на соединение отправлен; X5' - состояние буфера операционной системы атакуемого компьютера нормальное; - количество отправленных нарушителем пакетов с запросом на соединение превышает предельное для буфера атакуемого компьютера значение X) - состояние компьютера «отказ в обслуживании». Суть отношений между понятиями состоит в следующем: і?! - имеет место; R2 - выполняется повтор; і?, - выполняется условие; R4 - следствием является. Для расширения возможностей описания могут использоваться пропозициональные связки, такие как операция конъюнкции & (соответствующая логике «И»), операция дезъюнкции в разделительном смысле ѵ (соответствующая логике «эксклюзивное ИЛИ», когда утверждается одно и только одно из высказываний), и др.

С учетом этих обозначений простейшая формальная запись угрозы атаки «syn-flood» с использованием RX-кодов показана ниже.

 

 

Пример формальной записи угрозы сетевой атаки «syn-flood» с использованием RX-кодов

-------------------—*-----------------------------------------ы-----—-------У

Имеют место (R1) класс угроз - «Отказ в обслуживании» (X]1); имя угрозы -переполнение буфера ( Х'2);

Источник угрозы - внешний нарушитель (Х3); Состояние буфера операционной системы до атаки нормальное (Х\)

Повторяется (і^) отправка хакером пактов с запросом на соединение (Х\), пока выполняется условие ( R3), при котором имеет место (R3) нормальное состояние буфера операционной системы {Х\)

При наличии условия (і?3), когда количество отправленных хакером пакетов превышает предельное для буфера атакуемого компьютера значение ( Х\ ) следствием ( R4 ) становится отказ в обслуживании ( X])

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

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

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

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

Рассмотрим описание той же атаки «syn-flood» с использованием языка синтагматических цепей.

Пример 4.2. Введем следующие понятия и отношения:

Д, - атака «syn-flood»; Ъх - компьютер хакера; Ь2 - атакуемый компьютер; й3 - запрос на соединение; Ь4 - буфер атакуемого компьютера; Ь5 - квитанция; Ь6 - уведомление; пх - количество передаваемых на атакуемый компьютер пакетов с запросами на соединение; п2 - предельно допустимое количество записей в буфере атакуемого компьютера о запросившем соединение компьютере; ^ - состояние буфера нормальное; s2 -

переполнение буфера (зависание); гх - имеет имя; г, - передает, гг - блокирует; г4 - получает; г5 - записывает; г6 - находится в состоянии; г7 - повторяет; г8 - больше; г9 - стало причиной; і0 - класс атаки; г] - ТСР-пакет с запросом на соединение; г2 - TCP-пакет с квитанцией о согласии на соединение; г3 - сведения о компьютере, запросившем соединение, записываемые в буфер; кй - «Отказ в обслуживании».

Тогда формальная запись данной атаки имеет следующий вид:

4 = (ѵѵч>) {Ѵт [(V65i)((V20(V40)(V5b)(V4)V4]^9 іпігл)}гл

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

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

СС, как и СЦ, формально определяется тремя классами термов [52, 68]:

1) понятиями X = {X1,X2,...,Xsj ;

2) именами I = {/1(/2,.;

3) предикатами (типами отношений) R = ^p,R ,1^,...,^|, при этом предикат р является особым, означающим «иметь имя», между понятиями в виде триплета [xk - г - xs) и между именами в виде триплета (ір - г, - ih ).

Запись на языке СС значительно богаче, так как с его помощью можно выразить сложные совокупности фактов, описывать не только постоянные

 

отношения, присущие объекту моделирования, но и ситуативные отношения, а также обобщать ситуации за счет выделения типовых структур отношений [69]. Это позволяет использовать их при создании иерархических баз знаний и разработке формальных процедур ситуационного поиска решений. Применительно к решению задач ТЗИ этот язык пока непосредственно не применялся. В отличие от традиционного языка СС, применяемого чаще всего для поиска семантической информации, от созданного затем языка ситуационного управления (ЯСУ) [52, 69] - для управления процессами и объектами, распознавания ситуаций и др., в данном случае необходимо не только автоматизировать поиск в базе знаний, распознавание угроз по выборочным сведениям о них, но и подготавливать в автоматизированном режиме данные для анализа угроз, оценок возможностей их реализации в конкретных ИС, определения состава актуальных угроз и т.д. Специфика задач ТЗИ обусловливает то, что, как и в интересах ситуационного управления был преобразован язык СС в ЯСУ [52], в интересах решения задач ТЗИ язык СС с учетом ЯСУ тоже должен быть соответствующим образом изменен в части понятий, имен и отношений. Существенными изменениями в языке СС применительно к решению задач, связанных с анализом угроз, могут быть, например, по аналогии с [69], отношения, устанавливаемые между действиями, соответствующими процессам реализации угроз, то есть отношения между предикатами, определяющими такие действия. Таким образом, в этом случает все предикаты, определяющие отношения, разбиваются на два подмножества: во-первых, множество отношения между понятиями и именами и, во-вторых, множество отношений между предикатами, самими определяющими другие отношения. Примеры некоторых понятий, имен и отношений между именами применительно к задачам описания и анализа угроз безопасности информации в ИС приведены в таблице 4.2 и 4.3.

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

Для описания угроз в этом случае используются четыре класса термов:

1) понятия {Xs}; 2) имена {/„,}; 3) предикаты, определяющие отношения между понятиями в виде триплетов (xt-rj-xs) и между именами - (ip-rg-ih)\ 4) предикаты, определяющие отношения между выполняемыми действиями в виде триплетов (ru-rd-rb), к которым относятся, например, отношения следования, временные, каузативные и др.

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

Примеры некоторых понятий и имен, используемых для описания угроз с применением семантических сетей______________________

Понятие

Обозначение

понятия

Имя понятия

Обозначение имени понятия

Наименование

угрозы

х*

Угроза копирования файла пользовательских данных с использованием файла cookie

*'■

Угроза уничтожения файла

ч

Угроза подмены (модификации) файла

h

Угроза блокирования исполняемого файла

и

Класс угрозы

X,

Угроза проникновения в операционную среду

ч

Угроза отказа в обслуживании

*6

Угроза перехвата трафика

*7

Источник угрозы

X,

Внешний

h

Внутренний

*9

Объект

воздействия

х,

Каталог

*10

Файл системный

*ii

Файл cookie

*12

Текстовый файл

*13

Графический файл

*14

Исполняемый файл прикладной программы

*15

Хост

Хост атакующего

',6

Хост атакуемого

*17

Хост-«жертва»

*18

Хост - «посредник»

*19

Поисковая система

*20

Способ

реализации

Ч

Идентификатор №1

*21

Идентификатор №2

*22

Состояние

хб

Нормальное

*23

Отказ в обслуживании

‘24

Угроза реализована

*25

Угроза блокирована

*26

Вспомогательное

Х1

Сетевой адрес

hi

Предельное количество записей в буфер

*28

Вредоносная программа

*29

Количество отправленных пакетов

*30

Уровень

опасности

угрозы

X,

Недопустимая

*31

Высокая опасность

*32

Средняя опасность

*33

Низкая опасность

*34

 

 

Примеры некоторых отношений между понятиями и именами при формальной записи процессов реализации угроз______________________

Тип отношения

Содержание отношения

Обозначение

Временные

Быть одновременно

Г\

Быть позже

*2

Быть раньше

Ч

Структурные

Быть в одном сегменте

ч

Находиться за пределами сети

ч

 

Тип отношения

Содержание отношения

Обозначение

Содержаться в файле

гб

Быть за межсетевым экраном

0

Сравнительные

Быть равным

Г&

Быть больше

г9

Быть меньше

'іо

Классификацію нн ые

Содержать в качестве элемента

гп

Относиться к чему-либо (например, к категории - виду, классу, типу)

Г12

Иденти фицирующ не

Иметь имя

'ІЗ

Быть чем-либо (например источником, уязвимостью и т.д.)

гм

Быть актуальной

'is

Каузативные

Быть целью

г,6

Быть причиной

'п

Быть следствием

'is

Бытъ условием

г.»

Динамические

Принять что-то (пакет, сообщение, квитанцию и т.д.

Г20

Передать на

0,

Повторить

Г22

Блокировать

Г2Ъ

Копировать

Перехватить

Г25

Ограничить

Об

Модифицировать

Г21

Прагматические

Служить для

Г2%

Находиться в состоянии

Г29

Обеспечить

Оо

Быть дополнением

г„

Следования

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

Г32

Происходить непосредственно после завершения предыдущего действия

Оз

Происходить параллельно с другим действием (другими действиями)

ГЭ4

Рассмотрим отдельно описание способа (сценария) реализации угрозы копирования нужной нарушителю информации с использованием файла cookie.

Пример 4.3. Введем с учетом таблиц 4.3 и 4.4 следующие обозначения: і20 - имя способа реализации угрозы копирования информации с использованием файла cookie; і16 - компьютер атакующего; г17 - атакуемый компьютер; і19 - компьютер со сниффером для перехвата файлов cookies; - передача запроса на информационный ресурс в поисковую систему; г21 ’ - передача файла cookie с поисковой машины на атакуемый хост; /25 - перехват файла cookie на компьютере-посреднике с установленной программой «сниффер» и передача его на компьютер атакующего; ц7 - внедрение в файл cookie вредоносного скрипта;

г^г) - передача файла cookie, инфицированного вредоносным скриптом, на атакуемый компьютер; r2(0sn) - прием и просмотр веб-браузером атакуемого компьютера файла cookie и запуск на исполнение внедренного в него скрипта; г24 - копирование файла; - передача скопированного файла на хост атакующего.

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

ее реализации.

Тогда формальная запись способа реализации угрозы на языке СС имеет вид

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

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

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

 

формально задаются строкой, называемой фреймом (от англ, frame - рамка, каркас) [53]:

{і’Рі’Рг Рт • Рпн !> Ри }

где і - имя понятия;

рг,г = \,т - обязательные роли;

рг,г = т+\,М - необязательные роли (множество таких ролей может быть пустым).

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

I>;рі((>.«'(>.«’( /V))).а(і.рі(і.р;( А))))....

\р.({‘-р-('’Р-{--р-))})

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

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

Из предикатных языков наибольшее применение в практике моделирования нашел язык исчисления предикатов первого порядка. Исходными базовыми элементами этого языка являются:

1) константы - фиксированные элементы из некоторого множества;

2) переменные, обозначаемые обычно малыми латинскими буквами с индексами или без них;

3) функциональные символы, обозначаемые обычно буквами f,g,h и греческими малыми буквами с индексами или без них, служащие для обозначения функциональной зависимости между объектами (иногда для этого используются слова русского языка, не содержащие заглавных букв, например «опередить», «стереть», «модифицировать» и т.п.);

4) предикатные символы, обозначаемые или заглавными латинскими буквами, или словами русского языка, состоящими из заглавных букв (например, «БОЛЬШЕ», «ОЖИДАЕТ» и т.п.).

Предикат - это по сути формальная символьная запись, состоящая из указанных базовых элементов. Если ли символу предиката и символу предикатной переменной поставить в соответствие определенные слова или словосочетания, то получится высказывание. В этом смысле исчисление предикатов первого порядка является расширением исчисления высказываний в математической логике, называемого пропозициональной логикой [55].

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

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

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