25.2. Концепция безопасности системы защиты

Концепция безопасности разрабатываемой системы ─ "это набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть концепция безопасности. В зависимости от сформулированной концепции можно выбирать конкретные механизмы, обеспечивающие безопасность системы. Концепция безопасности ─ это активный компонент защиты, включающий в себя анализ возможных угроз и выбор мер противодействия" [12 ].

Концепция безопасности разрабатываемой системы согласно "Оранжевой книге" должна включать в себя следующие элементы:

∙  произвольное управление доступом;

∙  безопасность повторного использования объектов;

∙  метки безопасности;

∙  принудительное управление доступом.

Рассмотрим содержание перечисленных элементов.

1.1. Произвольное управление доступом ─ это метод ограничения доступа к объектам, основанный на учете личности субъекта или группы, в которую субъект входит. Произвольность управления состоит в том, что некоторое лицо (обычно владелец объекта) может по своему усмотрению давать другим субъектам или отбирать у них права доступа к объекту.

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

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

Большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Главное его достоинство ─ гибкость, главные недостатки ─ рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.

1.2. Безопасность повторного использования объектов ─ важное на практике дополнение средств управления доступом, предохраняющее от случайного или преднамеренного извлечения секретной информации из "мусора". Безопасность повторного использования должна гарантироваться для областей оперативной памяти (в частности, для буферов с образами экрана, расшифрованными паролями и т.п.), для дисковых блоков и магнитных носителей в целом.

1.3. Метки безопасности ассоциируются с субъектами и объектами для реализации принудительного управления доступом. Метка субъекта описывает его благонадежность, метка объекта ─ степень закрытости содержащейся в нем информации.

Согласно "Оранжевой книге" метки безопасности состоят из двух частей ─ уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так:

∙  совершенно секретно;

∙  секретно;

∙  конфиденциально;

∙  несекретно.

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

Одним из средств обеспечения целостности меток безопасности является разделение устройств на многоуровневые и одноуровневые. На многоуровневых устройствах может храниться информация разного уровня секретности (точнее, лежащая в определенном диапазоне уровней). Одноуровневое устройство можно рассматривать как вырожденный случай многоуровневого, когда допустимый диапазон состоит из одного уровня. Зная уровень устройства, система может решить, допустимо ли записывать на него информацию с определенной меткой. Например, попытка напечатать совершенно секретную информацию на принтере общего пользования с уровнем "несекретно" потерпит неудачу.

1.4. Принудительное управление доступом основано на сопоставлении меток безопасности субъекта и объекта. Этот способ управления доступом называется принудительным, поскольку он не зависит от воли субъектов (даже системных администраторов).

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

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

После того как зафиксированы метки безопасности субъектов и объектов, оказываются зафиксированными и права доступа. В терминах принудительного управления нельзя выразить предложение "разрешить доступ к объекту X еще и для пользователя Y". Конечно, можно изменить метку безопасности пользователя Y, но тогда он, скорее всего, получит доступ ко многим дополнительным объектам, а не только к X.

Принудительное управление доступом реализовано во многих вариантах операционных систем и СУБД, отличающихся повышенными мерами безопасности. Независимо от практического использования принципы принудительного управления являются удобным методологическим базисом для начальной классификации информации и распределения прав доступа. Удобнее проектировать в терминах уровней секретности и категорий, чем заполнять неструктурированную матрицу доступа. На практике произвольное и принудительное управление доступом сочетается в рамках одной системы, что позволяет использовать сильные стороны обоих подходов.

Если понимать систему безопасности узко, т.е. как правила разграничения доступа, то механизм подотчетности является дополнением подобной системы. Цель подотчетности ─ в каждый момент времени знать, кто работает в системе и что он делает. Средства подотчетности делятся на три категории:

∙  идентификация и аутентификация;

∙  предоставление надежного пути;

∙  анализ регистрационной информации.

Рассмотрим эти категории подробнее.

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

Предоставление надежного пути. Надежный путь связывает пользователя непосредственно с надежной вычислительной базой, минуя другие, потенциально опасные компоненты системы. Цель предоставления надежного пути ─ дать пользователю возможность убедиться в подлинности обслуживающей его системы.

Задача обеспечения надежного пути становится чрезвычайно сложной, если пользователь общается с интеллектуальным терминалом, персональным компьютером или рабочей станцией, поскольку трудно гарантировать, что пользователь общается с подлинной программой login, а не с "Троянским конем".

Анализ регистрационной информации ─ аудит имеет дело с действиями (событиями), затрагивающими безопасность системы. К таким событиям относятся:

∙  вход в систему (успешный или нет);

∙  выход из системы;

∙  обращение к удаленной системе;

∙  операции с файлами (открыть, закрыть, переименовать, удалить);

∙  смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т.п.).

Полный перечень событий, потенциально подлежащих регистрации, зависит от избранной системы безопасности и от специфики ЭИС. Протоколирование помогает следить за пользователями и реконструировать прошедшие события. Реконструкция событий позволяет проанализировать случаи нарушений, понять, почему они стали возможны, оценить размеры ущерба и принять меры по недопущению подобных нарушений в будущем. При протоколировании события записывается следующая информация:

∙  дата и время события;

∙  уникальный идентификатор пользователя ─ инициатора действия;

∙  тип события;

∙  результат действия (успех или неудача);

∙  источник запроса (например, имя терминала);

∙  имена затронутых объектов (например, открываемых или удаляемых файлов);

∙  описание изменений, внесенных в базы данных защиты (например, новая метка безопасности объекта);

∙  метки безопасности субъектов и объектов события.

Необходимо подчеркнуть важность не только сбора информации, но и ее регулярного и целенаправленного анализа. В плане анализа выгодное положение занимают средства аудита СУБД, поскольку к регистрационной информации могут естественным образом применяться произвольные SQL-запросы. Следовательно, появляется возможность для выявления подозрительных действий применять сложные эвристики.