I. Концепция безопасности системы защиты
Концепция безопасности разрабатываемой системы - «это набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть концепция безопасности. В зависимости от сформулированной концепции можно выбирать конкретные механизмы, обеспечивающие безопасность системы. Концепция безопасности - это активный компонент защиты, включающий в себя анализ возможных угроз и выбор мер противодействия» [12].
Концепция безопасности разрабатываемой системы согласно «Оранжевой книге» должна включать в себя следующие элементы:
• произвольное управление доступом;
• безопасность повторного использования объектов;
• метки безопасности;
• принудительное управление доступом.
Рассмотрим содержание перечисленных элементов.
1.1. Произвольное управление доступом - это метод ограничения доступа к объектам, основанный на учете личности субъекта или группы, в которую субъект входит. Произвольность управления состоит в том, что некоторое лицо (обычно владелец объекта) может по своему усмотрению давать другим субъектам или отбирать у них права доступа к объекту.
С концептуальной точки зрения текущее состояние прав доступа при произвольном управлении описывается матрицей, в строках которой перечислены субъекты, а в столбцах - объекты. В клетках, расположенных на пересечении строк и столбцов, записываются способы доступа, допустимые для субъекта по отношению к объекту (например, чтение, запись, выполнение, возможность передачи прав другим субъектам и т.п.).
Очевидно, прямолинейное представление подобной матрицы невозможно, поскольку она очень велика и разрежена (т.е. большинство клеток в ней пусты). В операционных системах более компактное представление матрицы доступа основывается или на структурировании совокупности субъектов (например, владелец/группа/прочие), или на механизме списков управления доступом, т.е. на представлении матрицы по столбцам, когда для каждого объекта перечисляются субъекты вместе с их правами доступа. За счет использования метасимволов можно компактно описывать группы субъектов, удерживая тем самым размеры списков управления доступом в разумных рамках.
Большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Главное его достоинство - гибкость, главные недостатки -рассредоточенность управления и сложность централизованного контроля, а также оторванность прав доступа от данных, что позволяет копировать секретную информацию в общедоступные файлы.
1.2. Безопасность повторного использования объектов - важное на практике дополнение средств управления доступом, предохраняющее от случайного или преднамеренного извлечения
секретной информации из «мусора». Безопасность повторного использования должна гарантироваться для областей оперативной памяти (в частности, для буферов с образами экрана, расшифрованными паролями и т.п.), для дисковых блоков и магнитных носителей в целом.
1.3. Метки безопасности ассоциируются с субъектами и объектами для реализации принудительного управления доступом. Метка субъекта описывает его благонадежность, метка объекта - степень закрытости содержащейся в нем информации.
Согласно «Оранжевой книге» метки безопасности состоят из двух частей - уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так:
• совершенно секретно;
• секретно;
• конфиденциально;
• несекретно.
Главная проблема, которую необходимо решать в связи с метками, - это обеспечение их целостности.
Во-первых, не должно быть непомеченных субъектов и объектов, иначе в меточной безопасности появятся легко используемые бреши. Во-вторых, при любых операциях с данными метки должны оставаться правильными.
Одним из средств обеспечения целостности меток безопасности является разделение устройств на многоуровневые и одноуровневые. На многоуровневых устройствах может храниться информация разного уровня секретности (точнее, лежащая в определенном диапазоне уровней). Одноуровневое устройство можно рассматривать как вырожденный случай многоуровневого, когда допустимый диапазон состоит из одного уровня. Зная уровень устройства, система может решить, допустимо ли записывать на него информацию с определенной меткой. Например, попытка напечатать совершенно секретную информацию на принтере общего пользования с уровнем «несекретно» потерпит неудачу.
1.4. Принудительное управление доступом основано на сопоставлении меток безопасности субъекта и объекта. Этот способ управления доступом называется принудительным, поскольку он не зависит от воли субъектов (даже системных администраторов). Субъект может читать информацию из объекта, если уровень секретности субъекта не ниже, чем у объекта, а все категории, перечисленные в метке безопасности объекта, присутствуют в метке субъекта. В таком случае говорят, что метка субъекта доминирует над меткой объекта. Смысл сформулированного правила понятен: читать можно только то, что положено.
Субъект может записывать информацию в объект, если метка безопасности объекта доминирует над меткой субъекта. В частности, конфиденциальный субъект может писать в секретные файлы, но не может - в несекретные (разумеется, должны также выполняться ограничения на набор категорий).
После того как зафиксированы метки безопасности субъектов и объектов, оказываются зафиксированными и права доступа. В терминах принудительного управления нельзя выразить предложение «разрешить доступ к объекту X еще и для пользователя У». Конечно, можно изменить метку безопасности пользователя Y, но тогда он, скорее всего, получит доступ ко многим дополнительным объектам, а не только к X.
Принудительное управление доступом реализовано во многих вариантах операционных систем и СУБД, отличающихся повышенными мерами безопасности. Независимо от практического использования принципы принудительного управления являются удобным методологическим базисом для начальной классификации информации и распределения прав доступа. Удобнее проектировать в терминах уровней секретности и категорий, чем заполнять неструктурированную матрицу доступа. На практике произвольное и принудительное управление доступом сочетается в рамках одной системы, что позволяет использовать сильные стороны обоих подходов.
Если понимать систему безопасности узко, т.е. как правила разграничения доступа, то механизм подотчетности является дополнением подобной системы. Цель подотчетности - в каждый момент времени знать, кто работает в системе и что он делает. Средства подотчетности делятся на три категории:
• идентификация и аутентификация;
• предоставление надежного пути;
• анализ регистрационной информации.
Рассмотрим эти категории подробнее.
Идентификация и аутентификация. Прежде чем получить
право совершать какие-либо действия в системе, каждый пользователь должен идентифицировать себя. Обычный способ идентификации - ввод имени пользователя при входе в систему. В свою очередь, система должна проверить подлинность личности пользователя, т.е. что он является именно тем, за кого себя выдает. Стандартное средство проверки подлинности (аутентификации) - пароль, хотя в принципе могут использоваться также разного рода личные карточки, биометрические устройства (сканирование роговицы или отпечатков пальцев) или их комбинация.
Предоставление надежного пути. Надежный путь связывает пользователя непосредственно с надежной вычислительной базой, минуя другие, потенциально опасные компоненты системы. Цель предоставления надежного пути - дать пользователю возможность убедиться в подлинности обслуживающей его системы. Задача обеспечения надежного пути становится чрезвычайно сложной, если пользователь общается с интеллектуальным терминалом, персональным компьютером или рабочей станцией, поскольку трудно гарантировать, что пользователь общается с подлинной программой login, а не с «троянским конем».
Анализ регистрационной информации - аудит имеет дело с действиями (событиями), затрагивающими безопасность системы. К таким событиям относятся:
• вход в систему (успешный или нет);
• выход из системы;
• обращение к удаленной системе;
• операции с файлами (открыть, закрыть, переименовать, уда
лить);
• смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т.п.).
Полный перечень событий, потенциально подлежащих регистрации, зависит от избранной системы безопасности и от специфики ЭИС. Протоколирование помогает следить за пользователем и сконструировать прошедшие события. Реконструкция событий позволяет проанализировать случаи нарушений, понять, почему они стали возможны, оценить размеры ущерба и принять меры по недопущению подобных нарушений в будущем. При протоколировании события записывается следующая информация:
• дата и время события;
• уникальный идентификатор пользователя - инициатора действия;
• тип события;
• результат действия (успех или неудача);
• источник запроса (например, имя терминала);
• имена затронутых объектов (например, открываемых или удаляемых файлов);
• описание изменений, внесенных в базы данных защиты (например, новая метка безопасности объекта);
• метки безопасности субъектов и объектов события.
Необходимо подчеркнуть важность не только сбора информации, но и ее регулярного и целенаправленного анализа. В плане анализа выгодное положение занимают средства аудита СУБД,
поскольку к регистрационной информации могут естественным образом применяться произвольные SQL-запросы. Следовательно, появляется возможность для выявления подозрительных действий применять сложные эвристики.
2. Гарантированность системы защиты
Гарантированность - «мера доверия, которая может быть оказана архитектуре и реализации системы. Гарантированность может проистекать как из тестирования, так и из проверки (формальной или нет) общего замысла и исполнения системы в целом и ее компонентов. Гарантированность показывает, насколько корректны механизмы, отвечающие за проведение в жизнь выбранной концепции безопасности. Гарантированность можно считать пассивным компонентом защиты, надзирающим за самими защитниками» [12].
Гарантированность - это мера уверенности, с которой можно утверждать, что для проведения в жизнь сформулированной концепции безопасности выбран подходящий набор средств, и что каждое из этих средств правильно исполняет отведенную ему роль. В «Оранжевой книге» рассматриваются два вида гарантированности - операционная и технологическая. Операционная Гарантированность относится к архитектурным и реализационным аспектам системы, в то время как технологическая - к методам построения и сопровождения.
2.1. Операционная гарантированность - это способ убедиться в том, что архитектура системы и ее реализация действительно проводят в жизнь избранную концепцию безопасности и включают в себя проверку следующих элементов:
• архитектуры системы;
• целостности системы;
• анализа тайных каналов передачи информации;
• надежного администрирования;
• надежного восстановления после сбоев.
Архитектура системы должна способствовать реализации мер безопасности или прямо поддерживать их. Примеры подобных архитектурных решений в рамках аппаратуры и операционной системы - разделение команд по уровням привилегированности, защита различных процессов от взаимного влияния за счет выделения каждому своего виртуального пространства, особая защита ядра ОС. В принципе меры безопасности не обязательно должны быть заранее встроены в систему - достаточно принципиальной возможности дополнительной установки защитных продуктов надежности компонентов.
Целостность системы в данном контексте означает, что аппаратные и программные компоненты надежной вычислительной базы работают должным образом и что имеется аппаратное и программное обеспечение для периодической проверки целостности.
Анализ тайных каналов передачи информации - тема, специфичная для режимных систем, когда главное - обеспечить конфиденциальность информации. Тайным называется канал передачи информации, не предназначенный для обычного использования. Обычно тайные каналы используются не столько для передачи информации от одного злоумышленника к другому, сколько для получения злоумышленником сведений от внедренного в систему «троянского коня».
Надежное администрирование в трактовке «Оранжевой книги» означает, что должны быть логически выделены три роли - системного администратора, системного оператора и администратора безопасности. Физически эти обязанности может выполнять один человек, но в соответствии с принципом минимизации привилегий в каждый момент времени он должен выполнять только одну из трех ролей. Конкретный набор обязанностей администраторов и оператора зависит от специфики организации.
Надежное восстановление после сбоев - метод обеспечения гарантированности, при котором должна быть сохранена целостность информации, в частности целостность меток безопасности. Надежное восстановление включает в себя два вида деятельности - подготовку к сбою (отказу) и собственно восстановление. Подготовка к сбою - это и регулярное выполнение резервного копирования, и выработка планов действий в экстренных случаях, и поддержание запаса резервных компонентов. Восстановление, вероятно, связано с перезагрузкой системы и выполнением ремонтных и/или административных процедур.
2.2. Технологическая гарантированность охватывает весь жизненный цикл системы, т.е. этапы проектирования, реализации, тестирования, внедрения и сопровождения. Все перечисленные действия должны выполняться в соответствии с жесткими стандартами, чтобы обезопаситься от утечки информации и нелегальных «закладок».
Критерии, изложенные в «Оранжевой книге», позволили специалистам ранжировать информационные системы защиты информации по степени надежности. В этом документе определяются четыре уровня безопасности (надежности) - D, С, В и А. Уровень D предназначен для систем, признанных неудовлетворительными. В настоящее время он содержит две подсистемы управления доступом. По мере перехода от уровня С к А к надежности систем предъявляются все более жесткие требования. Уровни С и В подразделяются на классы (Cl, C2, Bl, B2, ВЗ) с постепенным возрастанием надежности. Таким образом, всего имеется шесть классов безопасности - С1, С2, В1, В2, ВЗ, А1. Чтобы система в результате процедуры сертификации могла быть отнесена к некоторому классу, ее концепция безопасности и Гарантированность должны удовлетворять разработанной системе требований, соответствующей этому классу.
Гармонизированные критерии Европейских стран (ITSEC)
Следуя по пути интеграции, Европейские страны приняли согласованные (гармонизированные) критерии оценки безопасности информационных технологий (Information Technology Security Evaluation Criteria, ITSEC), опубликованные в июне 1991 г. от имени соответствующих органов четырех стран - Франции, Германии, Нидерландов и Великобритании.
Принципиально важной чертой европейских критериев является отсутствие априорных требований к условиям, в которых должна работать информационная система. Организация, запрашивающая сертификационные услуги, формулирует цель оценки, т.е. описывает условия, в которых должна работать система, возможные угрозы ее безопасности и предоставляемые ею защитные функции. Задача органа сертификации - оценить, насколько полно достигаются поставленные цели разработанными функциями, т.е. насколько корректны и эффективны архитектура и реализация механизмов безопасности в описанных разработчиком условиях.
Таким образом, в терминологии «Оранжевой книги» европейские критерии относятся к оценке степени гарантированности безопасной работы спроектированной системы.
Европейские критерии рассматривают следующие основные понятия, составляющие базу информационной безопасности:
• конфиденциальность, т.е. защиту от несанкционированного получения информации;
• целостность, т.е. защиту от несанкционированного изменения информации;
• доступность, т.е. защиту от несанкционированного удержания информации и ресурсов.
В европейских критериях средства, имеющие отношение к информационной безопасности, предлагается рассматривать на трех уровнях детализации. Наиболее абстрактный взгляд касается лишь целей безопасности. На этом уровне получают ответ на вопрос: зачем нужны функции безопасности? Второй уровень содержит спецификации функций безопасности, т. е. здесь выявляется, какая функциональность на самом деле обеспечивается. На третьем уровне содержится информация о механизмах безопасности, показывающих, как реализуется указанная функция.
Критерии рекомендуют выделить в спецификациях реализуемых функций обеспечения безопаснос-ти более расширенный по сравнению с «Оранжевой книгой» состав разделов или классов функций.
- Идентификация и аутентификация.
- Управление доступом.
- Подотчетность.
- Аудит.
- Повторное использование объектов.
- Точность информации.
- Надежность обслуживания.
- Обмен данными.
Чтобы облегчить формулировку цели оценки, европейские критерии содержат в качестве приложения описание десяти примерных классов функциональности, типичных для правительственных и коммерческих систем. Пять из них (F-C1, F-C2, F-B1, F-B2, F-B3) соответствуют классам безопасности «Оранжевой книги».
Кроме того, в критериях определены три уровня мощности механизмов защиты - базовый, средний и высокий. Согласно критериям мощность можно считать базовой, если механизм способен противостоять отдельным случайным атакам. Мощность можно считать средней, если механизм способен противостоять злоумышленникам с ограниченными ресурсами и возможностями. Наконец, мощность можно считать высокой, если есть уверенность, что механизм может быть побежден только злоумышленником с высокой квалификацией, набор возможностей и ресурсов которого выходит за пределы практичности.
Важной характеристикой является простота использования продукта или системы. Должны существовать средства, информирующие персонал о переходе объекта в небезопасное состояние (что может случиться в результате сбоя, ошибок администратора или пользователя).
Эффективность защиты признается неудовлетворительной, если выявляются слабые места, они не исправляются до окончания процесса оценки. В таком случае объекту оценки присваивается уровень гарантированности Е0.
При проверке корректности объекта оценки - разработанной системы защиты применяются две группы критериев. Первая группа относится к конструированию и разработке системы или продукта, вторая - к эксплуатации разработанной системы.