Контроль доступа к файлам
Файлы – частный вид разделяемых ресурсов, доступ к которым ОС должна контролировать. Кроме файлов существуют другие виды ресурсов, с которыми пользователи работают в режиме совместного использования. Во всех случаях действует общая схема: пользователи пытаются выполнить с разделяемым ресурсом некоторые операции, а ОС должна решить имеют ли пользователи на это право. Пользователи являются субъектами доступа, а разделяемые ресурсы – объектами.
Пользователь осуществляет доступ к объектам ОС не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени. Для каждого типа объектов существует набор операций, которые с ними можно выполнять.
Система контроля доступа должна предоставлять средства для задания прав пользователей по отношению к объектам дифференцированно по операциям. Во многих ОС реализованы механизмы, которые позволяют управлять доступом к объектам различного типа с единичных позиций.
В качестве субъектов доступа могут выступать как пользователи, так и группы пользователей. У каждого объекта доступа существует владелец, владельцем может быть отдельный пользователь или группа.
Во многих ОС существует особый пользователь, который имеет все права по отношению к объектам системы. необязательно являясь их владельцем.
Различают два основных подхода к определению прав доступа:
1) Избирательный доступ, когда для каждого объекта сам владелец может определить допустимые операции с ним. Этот подход также называется произвольным или дискреционным. Дискреционная модель одно из самых распространенных. В соответствии с ней, каждый объект является собственностью соответствующего пользователя. Этот пользователь имеет все права доступа к объекту, а иногда и права передавать часть или все права другим пользователям. Кроме того, собственник объекта определяет права доступа других субъектов к этому объекту, т.е. модель безопасности в отношение этого объекта. Указанные права записываются в виде матрицы доступа:
O1 |
| O2 | … | On | объекты | ||||||
S1 | Х,Ч | З | |||||||||
S2 | Ч,В | ||||||||||
… | |||||||||||
Sm | |||||||||||
с
у б ъ е к т ы |
Элементы матрицы доступа могут поддерживать указатели на специальные процедуры, которые должны выполняться при обращении субъекта к объекту.
Решение о доступе в данном случае принимается на основании результатов выполнения процедур.
Примеры:
1. Решение о доступе в данный момент времени основывается на анализе предыдущих доступов к другим объектам;
2. Решение о доступе в данный момент времени основывается на динамике состояния системы, т.е. права доступа субъекта зависят от текущих прав доступа других субъектов;
3. Решение о доступе в данный момент времени основывается на значениях определенных переменных.
Существует несколько вариантов задания матрицы доступа:
- листы возможности- для каждого субъекта создается лист всех объектов к которому имеет доступ данный субъект;
- листы контроля доступа – для каждого объекта создается список всех субъектов имеющих право доступа к этому объекту.
- не выдерживает атак «троянского коня»;
- не автоматическое создание матрицы доступа;
- проблема контроля распространения прав доступа Владелец файла может передать содержимое файла другому пользователю, и тот приобретает права собственника на информацию, далее права могут распространяться не зависимо от первого владельца.
Размерность матрицы зависит от количества объектов и субъектов в системе и может динамически изменяться. Для уменьшения размерности матрицы доступа могут применяться способы:
1. Установление групп субъектов каждое, из которых представляет собой группу субъектов с одинаковыми правами;
2. Установление групп терминалов по классам полномочий;
3. Группировка объектов по уровням категорий;
4. Хранение списка пар вида (o,f), где o- защищаемый объект, f-разрешение на использование его субъектом.
Существует множество моделей дискреционной модели, но все они обладают проблемой защиты. Недостатки:
Расширением дискреционной модель доступа является многоуровневая модель доступа (мандатный доступ) – это такой подход к определению прав доступа при котором система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу в зависимости от того к какой группе пользователь отнесен.
От имени системы выступает администратор, а владельцы объектов лишены возможности управлять доступом к ним по- своему усмотрению. Все группы пользователей в такой системе образуют строгую иерархию, причем каждая группа пользуется всеми правами группы более низкого уровня иерархии к которым добавляются права донного уровня. Любому пользователю из группы не разрешается предоставлять свои права пользователям группы более низкого уровня иерархии.
Мандатные система доступа считаются более надежными, но менее гибкими и обычно применяются в специализированных вычислительных системах с повышенными требованиями к защите информации.
Мандатный контроль реализуется подсистемой защиты на самом низком аппаратно- программном уровне, что позволяет эффективно строить защитную среду для механизма мандатного контроля.
Мандатный контроль называется обязательным т.к. его проходит каждое обращение субъекта к объекту если субъект и объект находятся под защитой системы безопасности. Для реализации мандатного контроля каждый субъект C(S) и объект C(O) имеет метку. Субъект имеет метку содержащую информацию о том какой класс доступа он имеет.
Мандатный контроль сравнивает метки и удовлетворяет запрос субъекта S к объекту О на чтение, если C(S)>C(O) и удовлетворяет запрос на запись, если C(S)<C(O).