Концепция безопасности системы защиты
Концепция безопасности разрабатываемой системы - «это набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть концепция безопасности. В зависимости от сформулированной концепции можно выбирать конкретные механизмы, обеспечивающие безопасность системы. Концепция безопасности - это активный компонент защиты, включающий в себя анализ возможных угроз и выбор мер противодействия» [12].
Концепция безопасности разрабатываемой системы согласно Оранжевой книге должна включать в себя следующие элементы:
· произвольное управление доступом;
· безопасность повторного использования объектов;
· метки безопасности;
· принудительное управление доступом,
Рассмотрим содержание перечисленных элементов.
1.1. Произвольное управление доступом - это метод ограничения доступа к объектам, основанный на учете личности субъекта или группы, в которую субъект входит. Произвольность управления состоит в том, что некоторое лицо (обычно владелец объекта) может по своему усмотрению давать другим субъектам или отбирать у них права доступа к объекту.
С концептуальной точки зрения текущее состояние прав доступа при произвольном управлении описывается матрицей, в строках которой перечислены субъекты, а в столбцах - объекты. В клетках, расположенных на пересечении строк и столбцов, записываются способы доступа, допустимые для субъекта по отношению к объекту (например, чтение, запись, выполнение, возможность передачи прав другим субъектам и т.п.).
Очевидно, прямолинейное представление подобной матрицы невозможно, поскольку она очень велика и разрежена (т.е. большинство клеток в ней пусты). В операционных системах более компактное представление матрицы доступа основывается или на структурировании совокупности субъектов (например, владелец/группа/прочие), или на механизме списков управления доступом, т.е. на представлении матрицы по столбцам, когда для каждого объекта перечисляются субъекты вместе с их правами доступа. За счет использования метасимволов можно компактно описывать группы субъектов, удерживая тем самым размеры списков управления доступом в разумных рамках.
Большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Главное его достоинство - гибкость, главные недостатки - рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.
1.2. Безопасность повторного использования объектов - важное на практике дополнение средств управления доступом, предохраняющее от случайного или преднамеренного извлечения секретной информации из «мусора». Безопасность повторного использования должна гарантироваться для областей оперативной памяти (в частности, для буферов с образами экрана, расшифрованными паролями и т.п.), для дисковых блоков и магнитных носителей в целом.
1.3. Метки безопасности ассоциируются с субъектами и объектами для реализации - принудительного управления доступом. Метка субъекта описывает его благонадежность, метка объекта - степень закрытости содержащейся в нем информации.
Согласно Оранжевой книге метки безопасности состоят из двух частей - уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так:
· совершенно секретно;
· секретно;
· конфиденциально;
· несекретно.
Главная проблема, которую необходимо решать в связи с метками, - это обеспечение их целостности. Во-первых, не должно быть непомеченных субъектов и объектов, иначе в меточной безопасности появятся легко используемые бреши. Во-вторых, при любых операциях с данными метки должны оставаться правильными.
Одним из средств обеспечения целостности меток безопасности является разделение устройств на многоуровневые и одноуровневые. На многоуровневых устройствах может храниться информация разного уровня секретности (точнее, лежащая в определенном диапазоне уровней). Одноуровневое устройство можно рассматривать как вырожденный случай многоуровневого, когда допустимый диапазон состоит из одного уровня. Зная уровень устройства, система может решить, допустимо ли записывать на него информацию с определенной меткой. Например, попытка напечатать совершенно секретную информацию на принтере общего пользования с уровнем несекретно потерпит неудачу.
1.4. Принудительное управление доступом основано на сопоставлении меток безопасности субъекта и объекта. Этот способ управления доступом называется принудительным, поскольку он не зависит от воли субъектов (даже системных администраторов).
Субъект может читать информацию из объекта, если уровень секретности субъекта не ниже, чем у объекта, а все категории, перечисленные в метке безопасности объекта, присутствуют в метке субъекта. В таком случае говорят, что метка субъекта доминирует над меткой объекта. Смысл сформулированного правила понятен: читать можно только то, что положено.
Субъект может записывать информацию в объект, если метка безопасности объекта доминирует над меткой субъекта. В частности, конфиденциальный субъект может писать в секретные файлы, но не может - в несекретные (разумеется, должны также выполняться ограничения на набор категорий).
После того как зафиксированы метки безопасности субъектов и объектов, оказываются зафиксированными и права доступа. В терминах принудительного управления нельзя выразить предложение разрешить доступ к объекту X еще и для пользователя Y. Конечно, можно изменить метку безопасности пользователя Y, но тогда он, скорее всего, получит доступ ко многим дополнительным объектам, а не только к X.
Принудительное управление доступом реализовано во многих вариантах операционных систем и СУБД, отличающихся повышенными мерами безопасности. Независимо от практического использования принципы принудительного управления являются удобным методологическим базисом для начальной классификации информации и распределения прав доступа. Удобнее проектировать в терминах уровней секретности и категорий, чем заполнять неструктурированную матрицу доступа. На практике произвольное и принудительное управление доступом сочетается в рамках одной системы, что позволяет использовать сильные стороны обоих подходов.
Если понимать систему безопасности узко, т.е. как правила разграничения доступа, то механизм подотчетности является дополнением подобной системы. Цель подотчетности - в каждый момент времени знать, кто работает в системе и что он делает. Средства подотчетности делятся на три категории:
· идентификация и аутентификация;
· предоставление надежного пути;
· анализ регистрационной информации.
Рассмотрим эти категории подробнее.
Идентификация и аутентификация. Прежде чем получить право совершать какие-либо действия в системе, каждый пользователь должен идентифицировать себя. Обычный способ идентификации - ввод имени пользователя при входе в систему. В свою очередь, система должна проверить подлинность личности пользователя, т.е. что он является именно тем, за кого себя выдает. Стандартное средство проверки подлинности (аутентификации) - пароль, хотя в принципе могут использоваться также разного рода личные карточки, биометрические устройства (сканирование роговицы или отпечатков пальцев) или их комбинация.
Предоставление надежного пути. Надежный путь связывает пользователя непосредственно с надежной вычислительной базой, минуя другие, потенциально опасные компоненты системы. Цель предоставления надежного пути - дать пользователю возможность убедиться в подлинности обслуживающей его системы.
Задача обеспечения надежного пути становится чрезвычайно сложной, если пользователь общается с интеллектуальным терминалом, персональным компьютером или рабочей станцией, поскольку трудно гарантировать, что пользователь общается с подлинной программой login, а не с «троянским конем».
Анализ регистрационной информации - аудит имеет дело с действиями (событиями), затрагивающими безопасность системы. К таким событиям относятся:
· вход в систему (успешный или нет);
· выход из системы;
· обращение к удаленной системе;
· операции с файлами (открыть, закрыть, переименовать, удалить);
· смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т.п.).
Полный перечень событий, потенциально подлежащих регистрации, зависит от избранной системы безопасности и от специфики ЭИС. Протоколирование помогает следить за пользователями и реконструировать прошедшие события. Реконструкция событий позволяет проанализировать случаи нарушений, понять, почему они стали возможны, оценить размеры ущерба и принять меры по недопущению подобных нарушений в будущем. При протоколировании события записывается следующая информация:
· дата и время события;
· уникальный идентификатор пользователя - инициатора действия;
· тип события;
· результат действия (успех или неудача);
· источник запроса (например, имя терминала);
· имена затронутых объектов (например, открываемых или удаляемых файлов);
· описание изменений, внесенных в базы данных защиты (например, новая метка безопасности объекта);
· метки безопасности субъектов и объектов события.
Необходимо подчеркнуть важность не только сбора информации, но и ее регулярного и целенаправленного анализа. В плане анализа выгодное положение занимают средства аудита СУБД, поскольку к регистрационной информации могут естественным образом применяться произвольные SQL-запросы. Следовательно, появляется возможность для выявления подозрительных действий применять сложные эвристики.