Операционные системы. Курс лекций

       

Контроль доступа к файлам


Файлы – частный вид разделяемых ресурсов, доступ к которым ОС должна контролировать. Кроме файлов существуют другие виды ресурсов, с которыми пользователи работают в режиме совместного использования. Во всех случаях действует общая схема: пользователи пытаются выполнить с разделяемым ресурсом некоторые операции, а ОС должна решить имеют ли пользователи на это право. Пользователи являются субъектами доступа, а разделяемые ресурсы – объектами.

Пользователь осуществляет доступ к объектам ОС не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени. Для каждого типа объектов существует набор операций, которые с ними можно выполнять.

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

В качестве субъектов доступа могут выступать как пользователи, так и группы пользователей. У каждого объекта доступа существует владелец, владельцем может быть отдельный пользователь или группа.

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

Различают два основных подхода к определению прав доступа:

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).


      Содержание раздела