- •Принятие решения о доступе
- •Контроль доступа к контекстно-зависимой информации
- •Механизм защиты в бд Microsoft Access.
- •Разновидности прав доступа Microsoft Access.
- •Разделение бд на группы защиты
- •Многоуровневая защита.
- •Назначение полномочий в бд.
- •Типовая процедура контроля доступа:
- •Тактики разрешения доступа
- •Механизмы защиты ос
- •Контроль доступа к данным в ос
- •Многоуровневая модель доступа в ос.
- •Модель разграничения доступа Белла – Лападулы.
- •1) Санкционированность доступа; 2) размер файла; 3) тип файла; 4) расположение на диске.
- •Безопасность сетевых ос
- •Механизмы защиты ос Novell NetWare
- •Защита в сетях (основа лекции 8, 9 за 5-ый семестр)
Контроль доступа к данным в ос
Основные категории: субъекты и объекты. Субъектами в ОС могут быть пользователи, задания, процессы, процедуры (активные категории – производят действия на чем-то). Объекты – файлы, программы, семафоры, директории, терминалы, каналы связи, блоки оперативной памяти и т.д. (пассивные категории). Субъект может одновременно рассматриваться и как объект, поэтому права доступа могут быть у субъекта по отношению к другому субъекту. Полномочия – некий символ, который дает права доступа субъекта по отношению к объекту. Область защиты – определяет права доступа субъекта ко множеству защищаемых объектов и представляет собой систему всех полномочий данного субъекта.
Многоуровневая модель доступа в ос.
Расширение матричной модели. Отличается от матричной введением различных уровней доступа к объектам, субъекты имеют различные степени допуска. Допуск в МУМ определен не только матрицей доступа, но и степенью допуска субъекта и уровня допуска объекта. Математический фундамент – теория алгебраической решетки. Si = a, b, c – идентификаторы субъектов; Iij = x, y, z – уровни доступа. 1) Правило рефлективности x y. Данные могут передаваться субъектом самому себе (a a). 2) Транзитивность. Если xy и yz, то xz; данные могут передаваться от субъекта a к субъекту c, если они могут передаваться от a к b, и от b к c (a c, если a b и b c). 3) Антисимметричность. Если xy и yx, то x = y (a b, b a, то их уровни секретности (доступа) одинаковы). Пример, многоуровневая система доступа принятая в военном доступе США. Уровни секретности: НС, К, С, СС.
Категории: Атомный, НАТО, Другие (внутри уровней доступа). Для получения доступа к данным определенной категории субъект должен иметь не только доступ к данным соответствующего уровня, но и доступ по категории.
Пример, проверка доступа к уровню: Процедура: По уровню: СС (проверка доступа к категориям СС (атомный, НАТО, др.)), С, К, НС (др.) Аналогично по категориям на всех уровнях, кроме уровня «несекретно», там только категория «другие».
Модель разграничения доступа Белла – Лападулы.
Дальнейшее усложнение по сравнению с матричной моделью. Элементы данной модели:
S – множества субъектов; O – множество объектов, M – матрица доступа G – множество прав доступа, L – множество уровней защиты, Z – список запросов, b – список текущего доступа Схема модели G = { r, a, w, e} + c; r – чтение; a – модификация (без предварительного просмотра) w – запись (модификация после предварительного просмотра) e – выполнение субъектом объекта c –контроль – передача прав субъекта i-го к субъекту k-му по отношению к объекту Oj: qSi qSk. “O” наделяется структурой дерева, каждому объекту сопоставляется несколько объектов –сыновей. Проверяется соответствие объектов-сыновей объекту-отцу. Каждому объекту приписывается свой уровень защиты. “S” каждому субъекту сопоставляются два уровня защиты: базовый и текущий. Базовый задается в начале работы и остается неизменным; текущий уровень является изменяющимся и зависит от тех объектов, к которым данный субъект имеет доступ в текущий момент времени. Для уровней защиты характерно свойство покрываемости. Субъект может обращаться к самому себе и к субъектам и объектам с уровнем защиты меньше, чем его собственный. Список текущего доступа b содержит записи вида (Si, Oj, X) если субъекту Si разрешен доступ X G к объекту Oj и это разрешение к текущему моменту времени не отмечено. Список запросов Z – описывает возможности: 1) доступа субъекта к объекту; 2) передачи прав доступа другим субъектам; 3) создание и уничтожение объекта. В модели Б-Л рассматривается 11 видов запросов: 1) запрос на чтение объекта; 2) запрос на запись в объект; 3) запрос на модификацию объекта; 4) запрос на исполнение объекта; 5) запрос на отказ от доступа; 6) запрос на передачу права доступа; 7) запрос на лишение прав доступа другого субъекта; 8) запрос на создание объекта без сохранения согласованности по уровню защиты; 9) запрос на создание объекта с сохранением согласованности; 10 ) запрос на уничтожение объекта; 11) запрос на изменение своего текущего уровня защиты. В модели Б-Л сформулированы два условия защиты – простое и особое условие защиты. простое – предназначено для исключения прямой утечки данных. Особое – для предотвращения косвенной утечки данных.
Простое: Если субъекту Si запрещен доступ: 1) по чтению R(Oj) объекта Oj, то базовый уровень субъекта Si должен быть не больше уровня защиты объекта Oj: R(Oj) => IB(Si) I(Oj); 2) W(Oj) => IB(Si) I(Oj) – запрет записи в объект. Простое условие накладывает ограничения на базовые уровни защищенных объектов. Особое условие – ограничения накладывается на текущие уровни защиты, т.е. к которым субъект может иметь доступ одновременно. Таблица: 3 столбца и 4 строки. Столбцы: 1) доступ к О1 2) доступ к О2 3) соотношение уровней защиты. Строки: 1-ая строка: 1) r 2) a 3) I(S1) I(O2); 2-ая строка: 1) r 2) w 3) I(S1) I(O2); 3-я строка: 1) w 2) a 3) I(S1) I(O2); 4-ая строка: 1) w 2) w 3) I(S1) I(O2). Конец таблицы. Если субъект (S1) имеет доступ вида Х1 к объекту О1 и доступ вида Х2 к объекту О2, то в зависимости от вида доступа Х1 и Х2 должно выполняться следующие соотношения между уровнями защиты (приведены в таблице). Введение особого условия защиты предназначено для предотвращения потока данных вида чтения объекта для перезаписи данных в объект с меньшим, либо несравнимым уровнем защиты. Состояние системы может считаться безопасным в модели Б-Л при выполнении как простого, так и особого условий защиты (обоих). Б-Л описали правила для каждого запроса.
Текущий уровень защиты субъекта
Он может быть определен следующим образом: пусть OR, OW, OA – множество объектов, к которым субъект имеет доступ по чтению, записи и модификации соответственно, тогда его текущий уровень защиты (УЗ) должен удовлетворять следующему:
IT(S) = max (внизу Oj Ow) I(Oj) = min (внизу Oj Ow) I(Oj), т.е. УЗ субъект равен как минимуму, так и максимуму на множестве объектов для записи, т.е. объекты для записи должны иметь одинаковые УЗ. Это если Ow 0. Если Ow = 0, то текущий УЗ субъекта может иметь УЗ в следующих пределах: max (внизу Oj Or) I(Oj) IT(S) min (внизу Oj Oa) I(Oj), если запрещено право записи УЗ может изменяться в зависимости от УЗ доступа к объектам. В принципе здесь уровни прав субъекта может только понижаться. Условия на разрешение доступа по правам: (примечание: mij – означает что находится в матрице доступа и УЗ - тупой) 1) r mij IB(Si) I(Oj) IT(Si) I(Oj) 2) w mij IB(Si) I(Oj) IT(Si) = I(Oj) 3) a mij IT(Si) I(Oj) – уровень доступа как бы повышается, но право модифицировать этот объект у нас есть – для предотвращения утечки данных. 4) Запрос на исполнение: e mij 5) Отказ Si от доступа Х к Oj – выполняется практически безусловно, при этом из списка доступа исключается строка b’ = b\{Si, Oj, X}. 6) Передача Sk от Si права на доступ X к Oj: Sj (стрелка вправо, над стрелкой X(Oj)) Sk – передача данного права разрешается, если Sk имеет право записи к отцу по отношению к Oj. Skw(OS(j)), т.е. чтобы в списке доступа была следующая строка доступа {Sk, OS(j), w} b. При выполнении этого запроса изменяется матрица доступа m’ij = mij {X}, xG. 7) Лишение Sk субъектом Si права на доступ Х к Oj. Разрешается если Sk имеет доступ по записи к родительскому объекту: {Sk, OS(j), w} b; m’ij = mij \ {X}. Уровень защиты дочернего объекта равны уровням защиты отца !!! 8) Создание субъектом Si объекта Ot(j) с уровнем защиты, являющимся сыном объекта Oj. Если список текущего доступа b содержит следующие записи: {Si, Oj, w} {Si, Oj, a}. При этом изменяется множество объектов O’ = O {Ot(j)} и матрица доступа m’ = m {mt(j)} – добавляется столбец mt(j), который содержит l ненулевой элемент. 9) Создание субъектом Si объекта Ot(j), являющегося сыном объекта Oj с уровнем защиты It(j), т.е. с другим уровнем защиты. Разрешается, если список текущего доступа содержит: {Si, Oj, w} {Si, Oj, a}, появляется дополнительное условие, что I(Ot(j)) > I(Oj), а иначе запрос отвергается. Изменяется множество объектов и матрица доступа. 10)Уничтожение субъектом Si объекта Oj – уничтожается не только сам объект, но и все дочерние объекты. Соответственно уничтожаются все ветви {Oj1, Oj2, …,OjJ}. Разрешается, если субъект Si имеет доступ по записи к отцу рассматриваемого объекта: b:{ Si, OS(i), w}. Может измениться и список доступа. Изменяется список объектов и матрица доступа. Из списка текущего доступа удаляем Sk и объекты Ojn: b’ = b\{Sk, Ojn, *}. Из матрицы доступа исключаются столбцы с № j1…jJ: m’ = m\mj1\mj2\…\mjJ. 11) Изменение субъектом Si своего текущего уровня защиты IT(Si) на I’T(Si): IT(Si) I’T(Si); условие следующее: IB(Si) I’T I’T I(Oj), если ASi(Oj) (если Si имеет доступ по модификации на Oj); I’T = I(Oj), если WSi(Oj); I’T I(Oj), если RSi(Oj). Эта модель была реализована как программно-аппаратное ядро в ОС MULTICS.
Защита в ОС UNIX
Ядро UNIX состоит из двух основных частей – управление процессами и управление устройствами. Управление процессами резервирует ресурсы, определяет последовательности выполнения процессов и принимает запросы на обслуживание. Управление устройствами контролирует передачу данных между оперативной памятью и периферийными устройствами. В любой момент времени выполняется либо команда пользователя, либо команда ОС. В каждый момент времени активна только одна задача – по квантам. Процесс в UNIX – программа на этапе выполнения. В некоторые моменты времени программе могут составлять одну, несколько или ни одного процесса. Процессы учитываются в специальной таблице ядра системы.
Наиболее важная информация о процессе хранится в таблице процессов и таблице пользователя (контекст процесса).
Таблица процессов всегда находится в памяти и содержит на каждый процесс по одному элементу, в котором отражено состояние процесса, а именно – адрес в памяти и адрес свопинга, размер, идентификатор процесса и запустивший процесс пользователь. Таблица пользователя – существует для каждого активного процесса и к ней могут непосредственно адресоваться только программы ядра. Ядро резервирует по одному контексту (таблица пользователя) на каждый открытый процесс. В таблице пользователя содержится информация, – идентификатор номера пользователя и группы пользователей (назначаются при определении доступа к файлам), ссылки на системную таблицу файлов для всех открытых процессов файлов, указатель на индексный дескриптор текущего каталога в таблице индексного дескриптора, список реакций на возможные ситуации.
Если процесс приостановлен, то процесс ставится недоступным и не модифицируется. Структура для получения дескрипторов открытых файлов
РИСУНОК
Скрытой частью файловой организации является дескриптор файла, который описывает расположение файлов, его длину, метод доступа, различные даты, идентификатор владельца и т.д. Работа с таблицами является привилегией ядра, что обеспечивает безопасность и сохранность системы. Файловая структура имеет иерархию. Основанием дерева является корневой каталог. Типовая структура:
РИСУНОК
В ОС UNIX используется 4 типа файлов: обычные, специальные, каталоги и в некоторых версиях UNIX FIFO файлы. Обычные – содержат данные пользователей. Специальные – для организации взаимодействия с устройствами ввода-вывода – драйверы устройств. Каталоги – используются системой для поддержания иерархической структуры. Пользователь может читать каталоги как файлы, но изменять не может (это может делать только ОС). FIFO файлы – для организации именованных программных каналов, являются соединительным средством между стандартным выводом одной программы и стандартным вводом другой.
Основные механизмы защиты данных в UNIX
Управление доступом к системе
При регистрации пользователя ему предоставляется его идентификатор и пароль. Иногда еще нужен телефон, откуда входит. Администратор и пользователь могут изменить пароль командой PASSWD. Пароль проверяется системой на простоту: 1) про- верка на совпадение с предыдущим. 2) Проверка, но в обратном порядке. Пользователи которым разрешен вход в систему перечислены в директории: /ets/passwd. В учетном файле пользователей приведено следующее: 1) имя; 2) зашифрованный пароль; 3) идентификатор пользователя; 4) идентификатор группы пользователей, к которой он принадлежит; 5) начальный текущий каталог; 6) имя исполняемого файла. Пароль шифруется при помощи DES утилитой crypt.
Управление доступом к данным UNIX поддерживает комплекс характеристик для каждого файла, определяющих:
