Защита информации достигается комплексом мер безопасности, включающим в себя как обеспечение сохранности информации, так и контроль доступа к ней. Требования к безопасности - сохранности и конфиденциальности пользовательских и системных программ и данных, а также к потреблению ресурсов пользователями в пределах установленных им бюджетов всегда являлось одним из важнейших в вычислительных системах. В настоящее время все сколько-нибудь серьезные пользователи в производственной сфере готовы платить за гарантии безопасность в своей работе.
В США, а де-факто и во всем мире, требования безопасности к компьютерным системам в бизнесе определяются стандартным классом C2. (Правительственные стандарты США определяют несколько классов безопасности: от самого высокого - A до самого низкого - D, с дополнительной градацией в классах B и C). Основные требования класса C2 сводятся к следующим:
· владелец ресурса должен управлять доступом к ресурсу;
· ОС должна защищать объекты от несанкционированного использования другими процессами (в том числе и после их удаления);
· перед получением доступа к системе каждый пользователь должен идентифицировать себя, введя уникальное имя входа в систему и пароль; система должна быть способной использовать эту уникальную информацию для контроля действий пользователя;
· администратор системы должен иметь возможность контроля связанных с безопасностью событий, доступ к этим контрольным данным должен ограничиваться администратором;
· система должна защищать себя от внешнего вмешательства типа модификации выполняющейся системы или хранимых файлов.
Модель защиты
Модель защиты рассматривает объекты - элементы системы, которым требуется защита, и субъекты - активные элементы, стремящиеся получить доступ к объектам. Механизмы защиты должны обеспечивать ограничение доступа субъектов к объектам: во-первых, доступ к объекту должен быть разрешен только для определенных субъектов, во-вторых, даже имеющему доступ субъекту должно быть разрешено выполнение только определенного набора операций. Для обеспечения защиты могут применяться: кодирование объектов; сокрытие местоположения объектов; инкапсуляция объектов. Для каждого объекта определено множество допустимых для него операций. Применительно к файлам, например, возможны в общем случае следующие операции:
· получение информации из объекта;
· обновление информации в объекте;
· добавление в объект новой информации (без изменения старой);
· интерпретация объекта как исполняемого кода;
· уничтожение объекта;
· получение информации об объекте;
· установка информации об объекте;
· установка прав доступа к объекту.
Перечень всех операций, допустимых для данной пары субъект-объект составляет возможности или право доступа данного субъекта к данному объекту. Каждая пара субъект-объект при каждом акте доступа взаимодействует в определенном режиме доступа. Условием разрешения доступа является совпадение запрошенного субъектом режима доступа с его возможностями по отношению к запрошенному объекту.
Полный набор прав доступа для всех субъектов и всех объектов может быть представлен в виде матрицы доступа, строки которой соответствуют субъектам, а столбцы - объектам (или наоборот). На пересечениях строк и столбцов указываются права доступа для данной пары. В многопользовательских системах с большим количеством, как объектов, так и субъектов, во-первых, размер матрицы может быть чрезвычайно большим, во-вторых, сама матрица наверняка будет очень сильно разрежена. Поэтому матричное представление прав доступа является неэффективным. Матрица может быть представлена либо в виде списков возможностей, либо в виде списков управления доступом. В первом случае в системе существует таблица субъектов и с каждым элементом этой таблицы связывается список объектов, к которым субъект имеет доступ. Во втором случае имеется таблица объектов, с элементами которой связаны списки субъектов. Для сокращения списков субъекты могут объединяться в группы пользователей, а объекты – в группы доступа.
Реализация системы защиты
Простейшим примером реализации защиты является защита файлов в традиционной ФС s5 ОС Unix. В дескрипторе каждого файла хранится идентификатор владельца файла и битовые тройки вида rwx (читать, писать, выполнять). Первая тройка определяет права доступа к файлу его владельца, вторая – пользователей, входящих в ту же группу, что и владелец, третья – всех остальных пользователей.
В наиболее последовательном виде объектная модель доступа м.б. реализована в объектно-ориентированных системах. Во-первых, в таких системах объектами являются не только файлы, но и любые ресурсы. Доступ к любому ресурсу сопровождается процедурой проверки прав доступа – одинаковой для любого типа объектов. Инкапсуляция и определение методов для объектов просто не дают возможности выполнить над объектом непредусмотренную для него операцию.
В современных системах вводятся также классы или роли пользователей: принадлежность пользователя к тому или иному классу разрешает пользователю работать с теми или иными объектами. Обычно в возможности класса входят объекты и соответствующие возможности, позволяющие выполнять управление системой, например, выполнять те или иные команды. Роль привилегированного пользователя охватывает все объекты системы со всеми правами доступа к ним. Предустановленная роль обычного пользователя разрешает ему доступ к такому подмножеству объектов и возможностей, оперируя которыми он не может вывести из строя ОС или повредить другим пользователям. Дополнительные права обычного пользователя обеспечиваются персональными разрешениями.
Связанную с пользователем информацию, относящуюся к системе защиты, называют бюджетом. Дескриптор пользователя в ОС обычно называют профилем пользователя. Помимо бюджетной информации в профиль могут входить настройки интерфейса рабочего места, процедура, автоматически выполняемая при начале пользователем сеанса, установки библиотек и каталогов для поиска и т.д. и т.п. Независимо от того, используются в системе списки возможностей или списки управления доступом, некоторые данные бюджета все равно содержатся в профиле пользователя: его имя и пароль (последний - обычно в закодированном виде), его класс, список групп, к которым он принадлежит. Бюджеты пользователей должны быть одними из наиболее строго защищаемых объектов в системе.