\ ЗАЩИТА ИНФОРМАЦИИ
УДК 004.056
ПРИМЕНЕНИЕ МЕТОДА АНАЛИЗА ИЕРАРХИЙ ДЛЯ ОЦЕНКИ РИСКОВ УТЕЧКИ ПОЛНОМОЧИЙ В СИСТЕМАХ С РОЛЕВЫМ РАЗГРАНИЧЕНИЕМ ДОСТУПА
С. В. Белим,
доктор физ.-мат. наук, профессор
Н. Ф. Богаченко,
канд. физ.-мат. наук, доцент
Омский государственный университет им. Ф. М. Достоевского
Исследуется вопрос наличия у пользователей избыточных полномочий в компьютерных системах с ролевым разграничением доступа. Для оценки рисков утечки полномочий применяется метод анализа иерархий. Метод основывается на иерархической структуре множества ролей. Дается оценка трудоемкости предложенного алгоритма. Показано, что предложенная методика позволяет ранжировать определенные в системе полномочия по величине рисков их утечки. При этом все расчеты ведутся, исходя из особенностей построения самой системы, без привлечения механизма экспертных оценок. Связь метода анализа иерархий и ролевого дерева системы разграничения доступа дает возможность получить дополнительную информацию в ситуации, когда альтернативные решения не удается описать какими-либо точными функциональными зависимостями, а также избавляет метод от несогласованности и субъективизма суждений экспертов.
Ключевые слова — ролевое разграничение доступа, утечка полномочий, метод анализа иерархий, трудоемкость алгоритма.
Введение
Одной из наиболее сложных проблем, возникающих при построении систем разграничения доступа, является проблема скрытых каналов утечки информации. Скрытым каналом утечки информации называется механизм, при помощи которого в компьютерной системе может осуществляться передача информации между сущностями в обход политики разграничения доступа [1].
Вместе с тем любая модель разграничения доступа должна предусматривать в том числе формальное доказательство невозможности недопустимых информационных потоков [1]. Но подобные доказательства в большинстве своем основываются на каком-то одном критерии безопасности. Таким критерием, например, может являться «невозможность осуществления доступа субъектов к объектам вне явных разрешений». За пределами доказательства остаются неявные информационные потоки, которые обусловлены скрытыми каналами утечки информации. Таким образом, доказательство отсутствия
«опасных» доступов и анализ скрытых каналов утечки информации — это две составляющие любой системы разграничения доступа.
Применительно к ролевой политике безопасности, для развития которой предложно множество модификаций и расширений [2—5], в первую очередь необходим анализ проблемы наличия у пользователей избыточных полномочий (прав доступа и привилегий). Очевидно, именно этот показатель является определяющим при оценке возможности несанкционированной передачи информации.
Далее в статье рассматриваются системы с иерархической организацией множества ролей [1, 6], содержащие в своем описании ориентированный (ролевой) граф, который чаще всего используется лишь для контроля наследования ролями выданных им полномочий. Предлагается на основе ролевого графа получать дополнительную информацию, необходимую для анализа защищенности системы. Большинство подходов к анализу графов доступа к информационным ресурсам связано с исследованием графов атак моделей с дискреционным разграничением досту-
па [7]. В более общем случае для анализа защищенности информационно-управляющих систем может быть построен граф реализации угроз [8]. К сожалению, основная масса работ посвящена синтезу подобных графов и лишь единицы — формальным моделям их анализа. Чаще всего это использование стандартных методов анализа ориентированных графов [9] либо другие поисковые алгоритмы, например рекурсивный алгебраический анализ [10]. Как будет показано далее, иерархическая организация множества ролей в компьютерной системе с ролевым разграничением доступа позволяет для решения задачи оценки рисков утечки полномочий применить метод анализа иерархий, широко используемый в системах поддержки принятия решений [11, 12].
Иерархическая организация множества ролей и постановка задачи
Пусть компьютерная система определяется набором из четырех множеств: и — множество пользователей, Я — множество ролей, Р — множество полномочий (прав, привилегий), С — множество сеансов работы пользователей в системе. Вместе с ролью пользователь получает некоторый набор (список) полномочий, закрепленных за выданной ролью. Можно выделить три основных вопроса организации ролевого доступа [6, с. 175]:
1) сколько и каких ролей может быть назначено одному пользователю;
2) сколько и каких ролей может задействовать пользователь в одном сеансе работы с системой (на какие роли может быть авторизован пользователь);
3) возможно ли делегирование (передача) полномочий от одних ролей другим ролям?
В зависимости от способов решения поставленных вопросов существует несколько разновидностей ролевых моделей. Наиболее распространенной является модель с иерархической организацией множества ролей. При этом старшая в иерархии роль получает полномочия непосредственно подчиненных ей ролей.
Обозначим множество (список, набор) полномочий, приписанных некоторой роли г, как г.р. Тогда модель с иерархической системой ролей определяется следующими уточнениями и дополнениями.
1. На множестве ролей вводится отношение частичного порядка, задающее оператор доминирования/подчинения ролей «>»: если Г1 > Г2, то роль г1 находится в иерархии выше, чем роль Г2, и множество полномочий Г1.р включает в себя множество полномочий ^.р.
2. Если пользователю и назначена роль г, то автоматически ему назначаются и все роли, подчиненные г. Если пользователь и в текущем сеансе работы системы авторизован на роль г, то он автоматически авторизуется и на все роли, подчиненные г. Набор полномочий, доступных пользователю по всем ролям, на которые он авторизован в текущем сеансе работы системы, определяется с учетом подчиненных ролей.
Иерархию ролей удобно описывать помеченным ориентированным графом (назовем его ролевым), в котором вершины соответствуют имеющимся в системе ролям, метки вершин представляют собой наборы полномочий этих ролей, дуги задают отношение доминирования/подчинения ролей. Как правило, считается, что ролевой граф является ориентированным деревом. На самом деле этот факт не столь очевиден, и в более общем случае достаточно потребовать, чтобы иерархия была описана ориентированным ациклическим графом [13]. Но в рамках данной статьи нам потребуется именно древовидность ролевого графа. Стоит отметить, что в работе [13] представлен алгоритм преобразования произвольного ориентированного графа без циклов, описывающего иерархию ролей, в эквивалентное ему дерево.
Итак, пусть иерархия ролей задана ориентированным деревом Т. На этом этапе анализа проблемы будем считать, что в иерархии ролей полномочия непосредственно получают только листовые вершины, а далее полномочия распределяются по принципу наследования (используется строгий или нестрогий таксономический подход к распределению полномочий [6]).
Поставим задачу оценки относительных вероятностей (рисков) утечки полномочий в системе. Очевидно, что вероятность Р(р) должна зависеть как от распространенности полномочия р1 в системе, так и от значимости ролей, которым приписано это полномочие (т. е. от иерархической организации множества Я).
Наша цель — для каждого элемента р1 множества полномочий Р вычислить вероятность его утечки Р(р). При этом будем исходить из следующих эвристических предположений.
Предположение 1. Чем чаще встречается данное полномочие в списках полномочий ролей, тем больше вероятность его утечки.
Предположение 2. Чем больше полномочий содержит данная роль, тем больше вероятность атаки на нее.
Метод оценки вероятностей утечки полномочий
Дополним дерево Т еще одним уровнем, присоединив к каждой листовой вершине г1 дополни-
тельные вершины, содержащие ровно одно полномочие (из множества полномочий rl.p вершины Гц), тем самым получим расширенное дерево Tp.
Число полномочий, приписанных вершине г, для удобства записи обозначим | r.p |.
Оценим вероятности утечки полномочий с помощью метода анализа иерархий, хорошо известного из теории принятия решений [11, 12].
Этап 1. Вычислим относительные весовые коэффициенты (веса) всех вершин (кроме корня) дерева Tp. Расчет весов происходит при движении от корня к листовым вершинам. При этом на каждом шаге рассматривается подмножество ролей, подчиненных одной роли предыдущего уровня, и для каждого такого подмножества строится матрица парных сравнений, обозначим ее M. Размерность k матрицы M равна мощности выделенного подмножества подчиненных
ролей. Коэффициент m■■ в матрице парных срав-
ч
нений, отвечающий паре (r;, rj), равен отношению числа полномочий роли rt к числу полномочий роли Гу: mtj=|r;.p|/|ry.p|. С учетом приведенных выше предположений величина mу характеризует степень предпочтительности роли rt по сравнению с ролью Гу с точки зрения злоумышленника. Диагональные элементы mu приравниваются 1. Далее нормируются столбцы матрицы M, при этом элементы my новой нормированной матрицы M* вычисляются по формуле m*= = mij/(m1j + ... + mkj). Вес каждой роли rt рассчитывается как среднее арифметическое соответствующей этой роли строки в нормированной матрице M : wi=(m;1 + ... + mk)/k.
При таком подходе к заполнению матрицы парных сравнений, когда ее элементы mij вычисляются, исходя из структуры иерархии ролей, без привлечения механизма экспертных оценок, обеспечивается идеальная согласованность матрицы M: ее элементы связаны равенствами mij=mis х msy (для любых i, j, s). Действительно: mis х msj=| r.p| /| r^.p| х | rs.p| /| r.p| = | r.p| /| r.p| = mij. Так как матрица M идеально согласована, то после нормировки столбцы матрицы M* становятся одинаковыми [11, 12]. Следовательно, wi=m* для любого j. Не ограничивая общности, далее будем работать с элементами первого столбца матрицы M:
wi=m*1 = mi1/(m11 + - + mk1) = = (| r..p| /| Г1.Р| )/(| rvp\/ | rrp | + - + | rk.p| / | Г1Р | ).
Тогда
wi = |ri.p|/(|r1.p| + - + KpI^ i = 1, k
или в векторном виде
W = P / || P ||.
Таким образом мы показали, что относительные весовые коэффициенты могут быть вычислены без построения матрицы парных сравнений, лишь на основе знания некоторых числовых характеристик (в нашем случае это координаты вектора полномочий P), приписанных сравниваемым факторам (ролям). Тем самым в рассматриваемой задаче метод анализа иерархий основывается только на свойствах самой системы, что освобождает его от «модельной» ошибки, возникающей из-за несогласованности суждений экспертов [14].
Этап 2. Найдем комбинированные весовые коэффициенты листовых вершин дерева Тр, которые и будут являться относительными вероятностями (рисками) утечки полномочий: для каждого полномочия вероятность утечки равна сумме произведений относительных весовых коэффициентов вершин по всем путям от корня до листьев, содержащих данное полномочие.
Алгоритм расчета рисков утечки полномочий
Выпишем формально алгоритм вычисления вероятностей (рисков) утечки полномочий в реальной системе. Пусть помеченное ориентированное дерево Т, определяющее иерархию ролей, содержит п вершин г^ ..., гп и пусть в системе определено т полномочий р^ ..., рт. Алгоритм по шагам можно записать в следующем виде.
1. Каждой вершине г1 ролевого дерева Т поставить в соответствие величину |г;.р|, равную числу полномочий, приписанных этой вершине.
2. Построить расширенное ролевое дерево Тр: к каждой листовой вершине г1 ролевого дерева Т добавить столько вершин-полномочий, сколько содержится в ее множестве полномочий г^р; каждую из новых вершин наделить одним полномочием из множества полномочий г1.р и сопоставить ей числовую характеристику (см. шаг 1), равную единице.
3. Для каждой нелистовой вершины дерева Тр, начиная с корня, рассмотреть подмножество подчиненных ей вершин: ^^, ^ }. Для вершин этого подмножества вычислить относительные весовые коэффициенты (веса) и,- по формуле
I tu■ p |
Щ- =1-i-i-i
j Ih ■ pI +•••+1 fih■pI
j=1, -, k.
4. Для каждого полномочия р1 рассчитать комбинированный весовой коэффициент или вероятность (риск) его утечки:
P( Pi ) =
S
p(t,ts ):(ts-лист)л( ts. p={ Pi}) 1 j-.t-ep (t,ts )
П
■
Здесь сумма берется по всем ориентированным путям р(£, ts) в дереве Тр, ведущим от корня t к такому листу 18, список полномочий 18.р которого содержит единственное полномочие рь (очевидно, это те вершины-полномочия, которые были добавлены к исходному ролевому дереву Т и которые соответствуют полномочиюр). В каждом произведении участвуют вычисленные на шаге 3 относительные весовые коэффициенты ^ тех вершин t, которые составляют ориентированный путь р(^ ts) (исключая корень t, так как для него вес не определен).
Замечание. Несложно показать, что
т
^р(р1) = 1. Следовательно, так как Р(р) > 0, то
1=1
Р(р) < 1 (I = 1, ..., т).
Оценим алгоритмическую сложность представленного алгоритма.
Утверждение. Трудоемкость алгоритма расчета рисков утечки полномочий, основанного на методе анализа иерархий, равна О((п х т)2), где п — число ролей, т — число полномочий в системе.
Доказательство: Обозначим трудоемкость ¿-го шага алгоритма Т;. Тогда общая трудоемкость алгоритма Т = Т1 + Т2 + Т3 + Т4.
В качестве структуры для задания ориентированного дерева выберем массив списков смежности [15]. При этом для каждой вершины помимо списка подчиненных ей вершин будем хранить индекс ее родителя. Так как дерево будет в дальнейшем дополнено новыми вершинами-листьями, размерность массива следует задать в соответствии с максимально возможным числом вершин расширенного дерева (эта величина будет оценена далее).
Очевидно, что независимо от способа хранения множества полномочий, сопоставленного каждой роли, Т1 = 01(п х т); так как число вершин в исходном дереве равно п, для каждой из них просмотр ее множества полномочий можно осуществить не более чем за т шагов.
На втором шаге надо просмотреть п вершин исходного дерева Т, каждая из которых может породить (если ее список смежности пуст) не более т вершин-полномочий в расширенном дереве Тр. При реализации дерева в виде списков смежности добавление новой вершины происходит за конечное число операций, не зависящее от числа вершин. Следовательно: Т2 = 02(п х т).
Заметим, что теперь число листьев в расширенном ролевом дереве не превосходит п х т, а общее число вершин не превосходит п + п х т = 0(п х т).
Вершины, подчиненные текущей, хранятся в ее списке смежности. Таким образом, для каж-
дого списка смежности необходимо применить формулу третьего шага алгоритма. Суммарное число вершин во всех списках смежности, задающих ориентированное дерево, равно числу его ребер, что на единицу меньше числа вершин [15]. Так как Тр — это дерево, то на шаге 3 каждая вершина, для которой вычисляется вес, будет рассмотрена ровно один раз. Тогда Т3 = 03(п х т).
На последнем шаге необходимо найти ориентированные пути от корня до листовых вершин дерева Тр (в дереве до любой вершины существует единственный ориентированный путь из корня [15]). Для каждого пути вычисляется произведение весов входящих в него вершин. Далее это произведение участвует в сумме, отвечающей тому полномочию, которое приписано конечной листовой вершине этого пути. Так как для каждой вершины известен индекс ее родителя, то трудоемкость восстановления пути (при движении от листа к корню) и вычисления соответствующего множителя равна 0(п х т). Общее число множителей по всем суммам равно числу листьев в дереве Тр. Следовательно: Т4 = 04((п х т)2).
Получаем: Т=О^п х т)+02(п х т)+03(п х т) + +О4((п х т)2) = О((п х т)2). Что и требовалось доказать.
Пример анализа иерархии ролей
Рассмотрим применение предложенного алгоритма на примере иерархии ролей, представленной на рис. 1.
Пусть используется нестрогий таксономический подход к распределению полномочий, и полномочия листовых ролей имеют следующие значения: р = р2, р3>, г7.р = р±1, г8.р = {р,,
р4, р5}, г9.р = (?3, р5}, гц).р = (?2, р4}, гц.р = (?2, р5>>
г12.р = {Pl, P4, P5}, г13.р = {Pз, P5}, г14.р = {Pl, P2, р5}' г15.р = {р5}.
Для остальных ролей получаем полномочия из условия наследования: г2.р = {р1, р3, р4}, г3.р = {р2, р3, Р4, Р5}, г4.р = {?!, р2, Р4, Р5}, ^.р = {р1, P2, P3, P5}, г1.р = {Pl, P2, P3, P4, р5}.
Дополняя дерево Т листьями-полномочиями, получаем иерархию, представленную расширенным ролевым деревом (рис. 2).
'6 '7
'8 '9 '10
11 '12
■ Рис. 1. Ролевое дерево Т
г
И /К Л
r6 r7 r8 r9 r10 r1
srf К А К V И
pipp pp I \ P3P5 W P2P5
и
11 12
'13 '14 '15
A
p3p5
\
p5
p3p4p5 p2p4 p1p4p5 p1p2p5
■ Рис. 2. Расширенное ролевое дерево
Сначала строим вектор P2345 для набора ролей {r2, Гз, r4, и определяем относительные весовые коэффициенты w2, W3, W4, W5. Так как все эти роли содержат по четыре полномочия, то получаем W2 = W3 = W4 = W5 = 0,25.
Далее строим векторы полномочий следующего уровня иерархии: P67 — для ролей {r6, r7}, Pe,9,10 — для ролей {r8, r9, r10}, P1112 — для ролей '{rn, r12} и P131415 — для ролей V13, r14, r^}:
P6,7 =| 2 I» P8,9,1Q
Г 3 ^ 2
V 21
» P11,12
P1
13,14,15
Г 2 ^
V11
После нормировки векторы относительных весовых коэффициентов принимают следующий вид:
Г з/ Л
0,4 л
W6,7 =
0,6 0,4
W
8,9,10
п
, W
11,12
0,6
W1
13,14,15
Г1/ ^
/3
1/
/2
1/
v/6 у
Более подробно: w6 = 0,6,
w7 = 0,4;
w8 = 3/7 и 0,43, w9 = w10 = 2/7 и 0,29; w11 = 0,4,
w12=0,6;
w
12
15 '
w13 = 1/3 И 0,33,
i 1/6 = 0,17.
w14 = 1/2 = 0,5,
На последнем уровне расширенного ролевого дерева находятся вершины, которые можно интерпретировать как роли с одним полномочием. Очевидно, что их относительные весовые коэффициенты будут равны 1/й, здесь й — количество вершин-полномочий, подчиненных одной
роли г1, ] — индекс полномочия р, для которого вычисляется вес. Отсюда получаем:
w6,1 = w6,2 = w6,3 = w8,3 = w8,4 = w8,5 = w12,1 =
6,2"
y6,3"
= w
12,4
= w
12,5 = w14,1 = w14,2 = w14,5 = 1/3 ~ 0,33
W7 2 = W л = WQ я = WQ a = W
7,4
9,3"
9,5"
10,2
= w10,4 = w
11,2"
= ю11,5 = ю13,3 = ю13,5 = 1/2 = 0,5 ю15,5 = 1
Рассчитаем теперь комбинированные весовые коэффициенты или относительные вероятности (риски) утечки полномочий:
Р(р1) = Юб + Wl2 1^12^4 + ^14 1^14^5 и 0,33 х х 0,6 х 0,25 + 0,33 х 0,6 х 0,25 + 0,33 х 0,5 х 0,25 и 0,14;
Р(р2) = ^6,2^6^2 + ^7,2^7^2 + ^10,2^10^3 +
+ 2^11^4 + ^14 2^14^5 и 0,33 х 0,6 х 0,25 + + 0,5 х 0,4 х 0,25 + 0,5 х 0,29 х 0,25 + 0,5 х 0,4 х 0,25 + + 0,33 х 0,5 х 0,25 и 0,23;
Р(р3) = ^6,3^6^2 + ^8,3^8^3 + ^9,3^9^3 + + Ю13,3Ю13Ю5 И 0,33 х 0,6 х 0,25 + 0,33 х 0,43 х 0,25 +
+ 0,5 х 0,29 х 0,25 + 0,5 х 0,33 х 0,25 и 0,16;
Р(р4) = ю7 Ю7ю2 + Ю8 4Ю8Ю3 + Ю10 4^10^3 + + ю12,4ю12ю4 и 0,5 х 0,4 х 0,25 + 0,33 х 0,43 х 0,25 +
+ 0,5 х 0,29 х 0,25 + 0,33 х 0,6 х 0,25 и 0,17;
Р(р5) = ^8,5^8^3 + ^9,5^9^3 + Юц^Юц^ + + Ю12,5Ю12Ю4 + Ю13,5Ю13Ю5 + Ю14,5Ю14Ю5 +
+ ю15,5ю15ю5 и 0,33 х 0,43 х 0,25 + 0,5 х 0,29 х 0,25 + + 0,5 х 0,4 х 0,25 + 0,33 х 0,6 х 0,25 + 0,5 х 0,33 х х 0,25 + 0,33 х 0,5 х 0,25 + 1 х 0,17 х 0,25 и 0,30.
Как видим, максимальный риск утечки имеет полномочие р5, что связано с его наибольшей распространенностью. Минимальный риск утечки — у полномочияр1, что также согласуется с его наименьшей распространенностью в системе.
Заключение
Из предложенной методики следует, что метод анализа иерархий дает возможность автоматизировать процесс ранжирования полномочий по величине риска их утечки. При этом решение принимается только на основе особенностей самой системы, без привлечения механизма экспертных оценок. Такое использование метода является новым, не применявшимся ранее. Действительно, в настоящее время метод анализа иерархий развивается в направлении использования теории нечетких множеств [16—18]. В рамках же построения комплексной системы
ЗАШИТА ИНФОРМАЦИИ
защиты информации метод и вовсе не получил должного развития и чаще всего используется в классической формулировке [19, 20], которая, как упоминалось выше, обладает рядом недостатков, не приемлемых для обеспечения требуемого уровня информационной безопасности.
Преимущество и новизна предлагаемого решения заключается именно в «связке» метода анализа иерархий и ролевого дерева системы разграничения доступа. Это, с одной стороны, дает возможность получить дополнительную информацию в ситуации, когда альтернативные решения нельзя связать какими-либо точными функциональными зависимостями, а с другой —
Литература
1. Гайдамакин Н. А. Теоретические основы компьютерной безопасности: учеб. пособие. - Екатеринбург, 2008. - 212 с. http://pv.bstu.ru/?topic=tokb (дата обращения: 28.03.2013).
2. Fuchs L., Pernul G., Sandhu R. Roles in information security - A survey and classification of the research area // Computers & Security. Nov. 2011. Vol. 30. Iss. 8. P. 748-769.
3. Armando A., Ranise S. Scalable automated symbolic analysis of administrative role-based access control policies by SMT solving // J. of Computer Security. 2012. Vol. 20. N 4. P. 309-352.
4. Salim F., Reid J., Dulleck U., Dawson E. Budget-aware Role Based Access Control // Computers & Security. June 2013. Vol. 35. P. 37-50.
5. Колегов Д. Н. Построение иерархического ролевого управления доступом // Прикладная дискретная математика. 2012. № 3(17). С. 70-76.
6. Гайдамакин Н. А. Разграничение доступа к информации в компьютерных системах/ Урал. ун-т. -Екатеринбург, 2003. - 328 с.
7. Колегов Д. Н. Применение ДП-моделей для анализа защищенности сетей // Прикладная дискретная математика. 2008. № 1(1). С. 71-87.
8. Мальцев Г. Н., Теличко В. В. Оптимизация состава средств защиты информации в информационно-управляющей системе с каналами беспроводного доступа на основе графа реализации угроз // Информационно-управляющие системы. 2008. № 4(35). С. 29-33.
9. Phillips C., Swiler L. P. A Graph-Based System for Network-Vulnerability Analysis // Proc. of the New Security Paradigms Workshop. Charlottesville, VA, USA. 1998. P. 71-79.
10. Noel S., Jajodia S., Wang L., Singhal A. Measuring Security Risk of Networks Using Attack Graphs // Intern. J. of Next-Generation Computing. July 2010. Vol. 1. N 1. P. 135-146.
избавляет метод от несогласованности и субъективизма суждений экспертов.
Проведенная в статье оценка трудоемкости алгоритма позволяет говорить об отсутствии трудностей в программной реализации данного подхода и высоком быстродействии.
В заключение заметим, что в представленном методе ранжирование полномочий основано только на их распределении между ролями и на иерархии этих ролей. Сами по себе полномочия считаются равноценными. В общем случае полномочия могут отличаться друг от друга по своей важности, что следует учитывать при дальнейшем развитии предложенного подхода.
11. Саати Т. Принятие решений. Метод анализа иерархий. - М.: Радио и связь, 1993. - 278 с.
12. Таха Х. А. Теория игр и принятия решений // Введение в исследование операций. 7-е изд. - М.: Ви-льямс, 2007. Гл. 14. С. 549-594.
13. Белим С. В., Богаченко Н. Ф. Построение ролевой политики безопасности на произвольном ориентированном графе // Проблемы информационной безопасности. Компьютерные системы. 2009. № 3. С. 7-17.
14. Ногин В. Д. Упрощенный вариант метода анализа иерархий на основе нелинейной свертки критериев // Журнал вычислительной математики и математической физики. 2004. Т. 44. № 7. С. 1259-1268.
15. Новиков Ф. А. Дискретная математика для программистов. - СПб.: Питер, 2000. - 304 с.
16. Sun C.-C. A performance evaluation model by integrating fuzzy AHP and fuzzy TOPSIS methods // Expert Systems with Applications. Dec. 2010. Vol. 37. Iss. 12. P. 7745-7754.
17. Садов С. Л. Долгосрочный прогноз экономических результатов: инструментальный потенциал теории нечетких множеств // Экономические и социальные перемены: факты, тенденции, прогноз. 2012. № 6(24). С. 192-196.
18. Каган Е. С. Применение метода анализа иерархий и теории нечетких множеств для оценки сложных социально-экономических явлений // Известия Алтайского государственного университета. 2012. № 1(73). Т. 1. С. 160-163.
19. Молдованин Т. В. Решение задачи выбора оптимального варианта комплексной защиты информации с помощью метода экспертного оценивания // Информационно-управляющие системы. 2007. № 3(28). С. 39-44.
20. Кутузов Д. В., Белозеров В. Н., Ларченко Р. О. Методы оценки рисков, связанных с нарушением информационной безопасности предприятия // Прикаспийский журнал: управление и высокие технологии. 2010. № 1(9). С. 19-24.