- •П.Н. Девянин, о.О. Михальский, д.И. Правиков, а.Ю. Щербаков Теоретические основы компьютерной безопасности
- •Глава 1 структура теории компьютерной безопасности 8
- •Глава 2 методология построения систем защиты информации в ас 22
- •Глава 3 политика безопасности 72
- •Глава 4 модели безопасности 95
- •Глава 5 основные критерии защищенности ас. Классификация систем защиты ас 123
- •Введение
- •Глава 1структура теории компьютерной безопасности
- •1.1Основные понятия и определения
- •1.2 Анализ угроз информационной безопасности
- •1.3 Структуризация методов обеспечения информационной безопасности
- •1.4 Основные методы реализации угроз информационной безопасности
- •1.5Основные принципы обеспечения информационной безопасности в ас
- •1.6Причины, виды и каналы утечки информации
- •Глава 2методология построения систем защиты информации в ас
- •2.1 Построение систем защиты от угрозы нарушения конфиденциальности информации Организационно-режимные меры защиты носителей информации в ас
- •Передача пароля по сети
- •Криптографические методы защиты
- •Утечки информации по техническим каналам:
- •Требования к скзи
- •Требования надежности
- •Требования к средам разработки, изготовления и функционирования скзи.
- •Криптографическая защита транспортного уровня ас
- •Криптографическая защита на прикладном уровне ас
- •Особенности сертификации и стандартизации криптографических средств
- •Защита от угрозы нарушения конфиденциальности на уровне содержания информации
- •2.2Построение систем защиты от угрозы нарушения целостности информации Организационно-технологические меры защиты целостности информации на машинных носителях
- •Модель контроля целостности Кларка-Вилсона
- •Защита памяти
- •Барьерные адреса
- •Динамические области памяти
- •Адресные регистры
- •Страницы и сегменты памяти
- •Цифровая подпись
- •Защита от угрозы нарушения целостности информации на уровне содержания
- •2.3 Построение систем защиты от угрозы отказа доступа к информации
- •Защита от сбоев программно-аппаратной среды
- •Обеспечение отказоустойчивости по ас
- •Предотвращение неисправностей в по ac
- •Защита семантического анализа и актуальности информации
- •2.4 Построение систем защиты от угрозы раскрытия параметров информационной системы
- •2.5 Методология построения защищенных ас
- •Иерархический метод разработки по ас
- •Исследование корректности реализации и верификация ас
- •Теория безопасных систем (тсв)
- •Список литературы к главе 2
- •Глава 3политика безопасности
- •3.1 Понятие политики безопасности
- •3.2 Понятия доступа и монитора безопасности
- •3.3 Основные типы политики безопасности
- •3.4 Разработка и реализация политики безопасности
- •3.5Домены безопасности
- •Список литературы к главе 3
- •Глава 4модели безопасности
- •4.1 Модель матрицы доступов hru Основные положения модели
- •Безопасность системы
- •4.2 Модель распространения прав доступа take-grant Основные положения модели
- •Возможность похищения прав доступа
- •Расширенная модель Take-Grant
- •4.3 Модель системы безопасности белла-лападула Основные положения модели
- •Пример некорректного определения безопасности в модели бл
- •Эквивалентные подходы к определению безопасности в модели бл
- •Подход Read-Write (rw)
- •Подход Transaction (т)
- •Проблемы использования модели бл
- •Модель Low-Water-Mark
- •4.4Модель безопасности информационных потоков
- •Пример автоматной модели системы защиты gm
- •Список литературы к главе 4
- •Глава 5основные критерии защищенности ас. Классификация систем защиты ас
- •5.1Руководящие документы государственной технической комиссии россии
- •5.2 Критерии оценки безопасности компьютерных систем министерства обороны сша ("оранжевая книга")
- •Глава 5 Основные критерии защищенности ас. Классификация систем
- •Демонстрационный материал к учебной теме “Криптосистема rsa” Введение
- •Системные требования
- •Описание программы
Безопасность системы
Согласно требованиям большинства критериев оценки безопасности, системы защиты должны строиться на основе определенных математических моделей, с помощью которых должно быть теоретически обосновано соответствие системы защиты требованиям заданной политики безопасности. Для решения поставленной задачи необходим алгоритм, осуществляющий данную проверку. Однако, как показывают результаты анализа модели HRU, задача построения алгоритма проверки безопасности систем, реализующих дискреционную политику разграничения прав доступа, не может быть решена в общем случае.
Определение 1. Будем считать, что возможна утечка права r R в результате выполнения команды с, если при переходе системы в состояние О' выполняется примитивный оператор, вносящий r в элемент матрицы доступов М, до этого r не содержавший.
Определение 2. Начальное состояние О0 называется безопасным по отношению к некоторому праву r, если невозможен переход системы в такое состояние Q, в котором может возникнуть утечка права r.
Определение 3. Система называется монооперационной, если каждая команда выполняет один примитивный оператор.
Теорема 1. Существует алгоритм, который проверяет, является ли исходное состояние монооперационной системы безопасным для данного права r.
Доказательство. Для доказательства достаточно показать, что число последовательностей команд системы, которые следует проверить, ограничено. В этом случае алгоритм проверки безопасности есть алгоритм тотального перебора всех последовательностей и проверки конечного состояния для каждой из них на отсутствие утечки права r.
Заметим, что нет необходимости рассматривать в последовательностях команды "удалить" и "уничтожить", так как нам требуется проверить наличие права доступа, а не его отсутствие. Далее заметим, что нет необходимости рассматривать последовательности команд, содержащих более одного оператора "создать". Это связано с тем, что все последовательности команд, которые проверяют или вносят права доступа в новые элементы матрицы доступов М, могут быть простой заменой параметров представлены последовательностями, которые действуют с существующими субъектами и объектами. Тем не менее, надо сохранить одну команду создания субъекта на случай, если Q0=(S, О, М) и S = Ø.
Таким образом, надо рассматривать только те последовательности
команд, которые содержат операторы "внести" и максимум один оператор "создать" субъект.
Число различных операторов "внести" равно п = |R|•(|S0|+1)•(|О0|+1). Так как порядок операций "внести" в последовательности команд не важен, то с учетом одной операции "создать" число последовательностей команд ограничено величиной 2n+1.
Теорема 2. Задача проверки безопасности произвольных систем алгоритмически неразрешима.
Доказательство. Для доказательства теоремы воспользуемся фактом, доказанным в теории машин Тьюринга: не существует алгоритма проверки для произвольной машины Тьюринга и произвольного начального слова остановится ли машина Тьюринга в конечном состоянии или нет.
Под машиной Тьюринга понимается способ переработки слов в конечных алфавитах. Слова записываются на бесконечную в обе стороны ленту, разбитую на ячейки.
Обозначим элементы и команды машины Тьюринга: A={a0,a1,...,am}-внешний алфавит, где а0= Λ - пустой символ; Q={q0,q1,...,qk}-внутренний алфавит, где q1-начальное состояние, q0- конечное состояние; D={r,l,e}-множество действий, где r-шаг вправо управляющей головки, l -шаг влево, е - управляющая головка не перемещается; С: Q×A→Q×A×D -функция, задающая команды машины Тьюринга.
Запись С(qi0,аi0) = (qi1,ai1,d) означает, что когда машина находится в состоянии qi0 и управляющая головка указывает на ячейку ленты, содержащую символ аi0, то выполняется шаг машины, в результате которого в эту ячейку записывается символ ai1, машина переходит в состояние q1, a управляющая головка смещается по ленте согласно действию d.
Для того чтобы воспользоваться указанным выше фактом, представим все элементы и команды машины Тьюринга в виде элементов и команд модели HRU.
Пусть машина Тьюринга выполнила некоторое количество шагов. Занумеруем все ячейки, пройденные считывающей головкой (включая те, в которые была изначально занесена информация) числами от 1 до n. Тогда (as1,..., asn) -заполнение ленты, где asi A si {0,1, ...,m} для i=1,...,n. Пусть считывающая головка указывает на ячейку с номером i {1,.... n), содержащую символ ait A, где it {0,1,…,m}, состояние машины qij Q, где ij {1,…,k}, и должна быть выполнена команда C(q,j, аit) = (qij, аit,d), где
Oij Q, аit A, it {0, 1, ... , m}, ij { 1, ... , k }, d D.
Каждой ячейке ленты поставим в соответствие субъекта модели HRU, при этом будем считать, что О = S = {s1,..., sn}. Зададим матрицу доступов М в текущем состоянии. Пусть множество прав доступа R= Q А {own} и в матрицу доступов внесены права:
• asj M[sj,sj] для j = 1, ...,n - заполнение ленты;
• own M[sj, sj+1] для j =1,..., n - 1 - упорядочивание субъектов, соответствующих ячейкам ленты;
• qij M[si, si] - управляющая головка указывает на ячейку с номером i.
Таким образом, текущему состоянию машины Тьюринга соответствует матрица доступов М модели HRU следующего вида:
s1 s2 s3 … si … sn-1 sn
s1 |
as1 |
own |
|
|
|
|
|
|
s2 |
|
as2 |
own |
|
|
|
|
|
s3 |
|
|
аs3 |
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
si |
|
|
|
|
asi , qij |
|
|
|
|
|
|
|
|
|
|
|
|
sn-1 |
|
|
|
|
|
|
asn-1 |
own |
sn |
|
|
|
|
|
|
|
asn |
Для каждой команды машины Тьюринга C(qij,ait) = (qij', аit',d) зададим соответствующую ей команду cd(qij, аit, qij';аit') модели HRU.
• Если d = е, то
command се(qij. аit, qij', аit'):
if(qij M[s,s]) and (аit M[s, s]) and (own M[s,s] then
"удалить" право qij из M[s,s];
"удалить" право аit из M[s,s];
"внести" право аit' в M[s,s];
"внести", право qij' в M[s',s'];
end;
• Если d = r, то необходимо указать две команды cr1(qij, аit, qij', аit') и cr2(qij, аit, qij', аit') для случаев соответственно, когда считывающая головка не указывает на самую правую ячейку ленты и когда это так.
command сг1(qij, аit,qij'; аit'):
if(qij M[s, s]) and (аit M[s, s]) and (own M[s, s']) then
"удалить" право qij из M[s,s];
"удалить" право аit из M[s,s];
"внести" право аit' в M[s,s],
"внести" право qij' в M[s',s'];
end;
command сr2(qij, аit, qij', аit'):
if (qij
e M[s, s]) and (аit
M[s, s]) and (not (
s'
S: own
M[s, s]))
then
"удалить" право qij из M[s,s];
"удалить" право аit из M[s, s];
"внести" право аit. в M[s,s];
"создать" субъект s';
"внести" право own в M[s,s'];
"внести" право а0 в M[s',s'];
"внести" право qij' в M[s',s'];
end;
• Если d = l, то команды сl1(qij, аit, qij', аit'), cl2(qij, аit, qij',аit') задаются аналогично командам сr1(qij, аit, qij', аit'), cr2(qij, аit, qij', аit').
Если машина Тьюринга останавливается в своем конечном состоянии q0, то в соответствующей системе, построенной на основе модели HRU, происходит утечка права доступа q0. Из алгоритмической неразрешимости задачи проверки - остановится ли машина Тьюринга в конечном состоянии,-следует аналогичный вывод для задачи проверки безопасности соответствующей ей системы HRU. Таким образом, в общем случае для систем дискреционного разграничения доступа, построенных на основе модели HRU, задача проверки безопасности алгоритмически неразрешима•
Приведенные выше теорема 1 и теорема 2 определяют два пути выбора систем защиты. С одной стороны, общая модель HRU может выражать большое разнообразие политик дискреционного разграничения доступа, но при этом не существует алгоритма проверки их безопасности. С другой стороны, можно использовать монооперационные системы, для которых алгоритм проверки безопасности существует, но данный класс систем является слишком узким. Например, монооперационные системы не могут выразить политику, дающую субъектам права на созданные ими объекты, так как не существует одной операции, которая и создает объект, и помечает его как принадлежащий создающему субъекту одновременно.
Дальнейшие исследования модели HRU велись в основном в направлении определения условий, которым должна удовлетворять система, чтобы для нее задача проверки безопасности была алгоритмически разрешима. Так, в 1976 г. в [6] было доказано, что эта задача разрешима для систем, в которых нет операции "создать". В 1978 г. в [7] показано, что таковыми могут быть системы монотонные и моноусловные, т.е. не содержащие операторов "уничтожить" или "удалить" и имеющие только команды, части условия которых имеют не более одного предложения. В том же году в [9] показано, что задача безопасности для систем с конечным множеством субъектов разрешима, но вычислительно сложна.
