Содержание к диссертации
Введение
1 Анализ конфигурационных параметров защиты операционных систем 9
1.1 Архитектура подсистемы контроля доступа ОС семейства Windows 10
1.2 Конфигурационные параметры защиты 18
1.3 Схема взаимного влияния конфигурационных параметров защиты 24
1.3.1 Права доступа субъектов 26
1.3.2 Членство пользователей в группах 30
1.3.3 Общие права доступа 34
1.3.4 Взаимное влияние разрешений и запретов 36
1.3.5 Владелец объекта 38
1.3.6 Привилегии субъектов 38
1.3.7 Права доступа к родительскому объекту 42
1.3.8 Замещение прав доступа 44
1.3.9 Предопределенные права субъектов 45
1.3.10 Действующая политика безопасности 48
1.3.11 Параметры ключей реестра 49
1.4 Критерии безопасности 50
2 Имитационное моделирование подсистем контроля доступа компьютерных систем 52
2.1 Построение имитационной модели 52
2.1.1 Состав модели 54
2.1.2 Уровни анализа 55
2.1.3 Уровни синтеза 56
2.1.4 Уровни свойств 58
2.1.5 Проекции модели для различных типов объектов 59
2.1.6 Применение модели 62
2.2 Подход к оценке эффективности настройки безопасности КС 63
2.3 Формальное представление конфигурационных параметров защиты ОС и критериев безопасности 65
3 Подход к автоматизации процесса настройки безопасности компьютерных систем 80
3.1 Оптимизация настройки безопасности 81
3.2 Алгоритм автоматизированной настройки безопасности 100
3.3 Методика автоматизированной настройки безопасности 105
4 Система автоматизированной настройки безопасности 108
4.1 Архитектура системы автоматизированной настройки безопасности компьютерных систем 108
4.2 Экспериментальные результаты работы системы 126
Заключение 130
Список использованной литературы 132
Приложение 141
- Права доступа субъектов
- Предопределенные права субъектов
- Проекции модели для различных типов объектов
- Алгоритм автоматизированной настройки безопасности
Введение к работе
Актуальность. Обеспечение безопасности компьютерных систем (КС) в наши дни становится все более актуальным в связи с постоянным развитием информационных технологий и появлением новых способов хищения, искажения информации, нарушения работоспособности КС. При этом штатное функционирование государственных и коммерческих КС становится невозможным без постоянного поддержания их конфиденциальности и целостности. Наряду с развитием информационных технологий растут и требования к поддержанию безопасности. Одновременно статистика свидетельствует о росте количества инцидентов, основными причинами которых являются недостатки в разработке и эксплуатации средств защиты. Эта проблема особенно остро стоит в критических КС: в системах управления производством, движением, финансовыми операциями, обработки категорированной информации.
Настройка безопасности КС "вручную" влечет множество проблем. Количество конфигурационных параметров защиты в современных операционных системах (ОС) (пользователей, файлов, каталогов, ключей реестра и др.) исчисляется сотнями тысяч, а при настройке безопасности локальной сети — ещё многократно возрастает. Поэтому для задания всех необходимых параметров "вручную" администратору требуется очень большое количество времени. Также в этом случае не существует механизма гарантии того, что администратор настроил систему в соответствии с предъявляемыми требованиями по безопасности (например, согласно корпоративной политике безопасности (ПБ)). Даже при высокой квалификации администратора безопасности сохраняется высокая вероятность возникновения ошибок, связанных с "человеческим фактором". Поэтому актуальна задача автоматизации процесса настройки безопасности КС.
Настройке безопасности КС посвящено множество исследований российский и иностранных ученых, таких как А. И. Щеглов, Д. П. Зегжда, Л. М. Ухлинов, В. И. Будзко, Ф. Шнейдер, М. Сломан, Р. Сандху, В. Клиффорд. Также существуют различные программные средства для автоматизированного применения ПБ и проверки её выполнения (Microsoft Baseline Security Analyzer, Symantec Enterprise Security Manager, Positive
Technologies MaxPatrol и др.) при настройке безопасности ОС. Основными недостатками существующих решений являются неполная (частичная) настройка ПБ и отсутствие комплексного подхода, учитывающего взаимоувязанность различных конфигурационных параметров защиты. Как правило, существующие средства лишь копируют настройки безопасности из собственных предустановленных шаблонов.
Таким образом, необходим автоматизированный подход к настройке безопасности ОС, применение которого позволит взаимоувязано настроить все правила ПБ и при этом исключить ошибки "человеческого фактора", существенно ускорить процесс настройки, сократить затраты на обслуживание и поддержание безопасности.
Целью работы является разработка подхода к автоматизации процесса настройки безопасности КС на основе моделей, обеспечивающих взаимосвязь требований по безопасности и конфигурационных параметров защиты ОС.
Для достижения поставленной цели в работе решались следующие задачи:
-
Разработка имитационной модели подсистемы контроля доступа современных КС, связывающих значения конфигурационных параметров защиты ОС и установленных требований по безопасности.
-
Построение алгоритма автоматизированной настройки безопасности КС, результаты которой удовлетворяют требованиям по безопасности.
-
Разработка подхода к оценке эффективности настройки безопасности КС путем вычисления сложности изменения конфигурационных параметров защиты, обеспечивающих выполнение требований по безопасности.
-
Разработка методики автоматизированной настройки КС с соблюдением заданных требований по безопасности и показателей эффективности на основе решения оптимизационной задачи.
-
Построение архитектуры и разработка прототипа системы, реализующей предложенную методику автоматизации настройки безопасности КС.
Методы исследования. Для решения поставленных задач использовались системный анализ, теория алгоритмов, теория множеств, теория вычислений, методы математического моделирования, математической логики и оптимизации.
Научная новизна диссертационной работы состоит в следующем:
-
Построена имитационная модель подсистемы контроля доступа КС на базе ОС семейства Microsoft Windows, связывающая и формализующая представление значений конфигурационных параметров защиты ОС и заданных требований по безопасности.
-
Предложен подход к автоматизации процесса настройки безопасности современных КС на основе имитационных моделей подсистем контроля доступа ОС.
-
Предложен подход к оценке эффективности настройки безопасности КС путем вычисления сложности изменения конфигурационных параметров защиты.
-
Разработан алгоритм и предложена методика автоматизированной настройки КС, обеспечивающая нахождение области устойчивых решений в отношении безопасности путем решения оптимизационной задачи.
Практическая ценность работы определяется возможностью использования полученных результатов для автоматизированной настройки современных ОС, согласно действующей ПБ и с учетом показателей качества настройки. Разработанные средства автоматизации используются во ФГУП "НИИ "Квант" и ЗАО "Голлард" для администрирования корпоративных сетей. Теоретические и экспериментальные результаты работы используются для подготовки специалистов в области защиты вычислительных систем по дисциплине "Безопасность современных информационных технологий" в ГОУ ВПО "СПбГПУ".
Апробация работы. Основные теоретические и практические результаты диссертационной работы доложены и обсуждены: на Российской научно-технической конференции "Методы и технические средства обеспечения безопасности информации" (СПбГПУ, 2004-2010 гг.), на Санкт-Петербургской межрегиональной конференции
"Информационная безопасность регионов России (ИБРР)" (Институт информатики и автоматизации РАН, 2003-2009 гг.), на Межвузовской конкурс-конференции студентов, аспирантов и молодых ученых Северо-Запада "Технологии Microsoft в теории и практике программирования" (СПбГПУ, 2005-2009 гг.), на Всероссийской научной конференции "Проблемы информационной безопасности в системе высшей школы" (МИФИ, 2007-2009 гг.), на Международной научно-практической конференции "Информационная безопасность" (ТТИ ЮФУ, 2007, 2008 гг.), на Первой молодежной конференции по проблемам информационной безопасности "ПЕРСПЕКТИВА-2009" (ТТИ ЮФУ, 2009 г.), на Всероссийской межвузовской научно-технической конференции студентов и аспирантов (СПбГПУ, 2007 г.), на Седьмой общероссийской научной конференции "Математика и безопасность информационных технологий" (МГУ, 2008 г.), на международной конференции "Региональная информатика" (СПИИРАН, 2008, 2010 гг.). Результаты работы использовались при выполнении аналитической ведомственной целевой программы "Развитие научного потенциала высшей школы (2009-10 гг.)".
Публикации. По теме диссертации опубликовано 43 научные работы, в том числе заявка о выдаче патента РФ.
Основные положения, выносимые на защиту:
-
Имитационная модель подсистемы контроля доступа ОС семейства Windows, позволяющая связать конфигурационные параметры защиты ОС и заданные требования по безопасности.
-
Решение оптимизационной задачи, позволяющей определить область конфигурационных параметров защиты, удовлетворяющих заданным требованиям по безопасности.
-
Методика автоматизированной настройки КС, обеспечивающая нахождение области устойчивых решений в отношении безопасности путем оптимизации значения показателя эффективности настройки безопасности КС.
4. Прототип системы автоматической настройки безопасности КС.
Объем и структура. Диссертация состоит из введения, четырех глав,
заключения и списка литературы из 72 наименований.
Права доступа субъектов
Права доступа субъектов к объектам хранятся в виде масок доступа в записях АСЕ списков ACL. Маска доступа состоит из 32 битов (рисунок 1.5) [1].
Биты 0...15 представляют права доступа, характерные для каждого типа защищаемого объекта, т.е. некоторый бит соответствует разным правам доступа для разных объектов. Например, для файлов установка бита 0 влияет на чтение данных, а для процессов — на прерывание выполнения.
Биты 16...20 несут смысловую нагрузку, общую для большинства защищаемых объектов, т.е. для разных объектов установка такого бита соответствует одному и тому же праву доступа. Например, и для файлов, и для-процессов бит 19 отвечает за1 возможность смены владельца объекта. Бит 16 (DELETE) предоставляет право на удаление объекта; бит 17 (READ_CONTROL) — право на чтение информации, содержащейся в дескрипторе защиты, исключая информацию SACL; бит 18 (WRITE_DAC) — право на модификацию списка DACL объекта; бит 19 (WRITE_0WNER) — право на смену пользователя (группы), являющегося владельцем объекта; бит 20 (SYNCHRONIZE) — право на использование объекта для синхронизации (позволяет потоку ждать, пока объект находится в сигнальном состоянии). Бит 24 (AS — от словосочетания "Access SACL") — бит права доступа к системному ACL (system access control list), т.е. к записям системного аудита. Данный бит выполняет единую функцию для всех типов защищаемых объектов, но он не играет никакой роли при организации доступа к объекту. Биты 21...23 и 25...27 не используются в настоящее время при организации доступа, они зарезервированы для расширения ОС. Биты 28...31 выполняют общие функции, не зависящие от типа защищаемого объекта. Они носят название общие биты. Бит 28 (GA, Generic All) — общее право полного доступа. Бит 29 (GE, Generic Execute) — общее право исполнения. Бит 30 (GW, Generic Write) — общее право записи. Бит 31 (GR, Generic Read) — общее право чтения. Каждая запись АСЕ помимо маски доступа содержит набор специальных флагов, которые определяют, на какие объекты будут действовать права, хранимые в маске доступа (таблица 1.3). Наследование прав доступа также характерно для объектов системного реестра Windows. Ключи реестра являются аналогами каталогов файловой системе. Аналогами файлов являются параметры ключей реестра. Однако к параметрам ключей нельзя задавать права доступа. Поэтому для системного реестра множество возможных зон распространения прав доступа включает в себя только tnn, tsn и-nsn. Для выделения прав доступа, некоторого субъекта из ACL объекта необходимо сначала выписке ACL сгруппировать по субъектам все записи АСЕ. При этом- права, заданные для одногос и того же субъекта в разрешающих и запрещающих записях АСЕ, не объединяются. Все записи АСЕ одного типа (разрешающие и запрещающие отдельно) и для одного субъекта складываются в одну суммарную запись АСЕ субъекта. При этом в суммарную запись АСЕ попадают только права из тех АСЕ, которые действуют на данный объект, т.е. чья зона распространения прав включает обрабатываемый объект (например, записи АСЕ с зонами tnn и tsf попадают в суммарную АСЕ, а с зоной nsf— не попадает. В первом случае зона действия прав содержит данный объект, во втором — нет. Чтобы быть включенной в суммарную АСЕ субъекта запись должна иметь зоной с первой буквой "t"). Полученные в итоге две "суммарные" записи АСЕ содержат разрешающие и запрещающие права доступа, действующие для данного субъекта на данный объект. 1.3.2 Членство пользователей группах Если субъект (пользователь) являетсячленом некоторой группы, то в дополнение к своим записям АСЕ, содержащимся в списке ACL, он получает все права, указанные в записях АСЕ групп, членом которых он является. Например, если на объект О пользователь U имеет разрешения Rv, а группа G, в которой он состоит, — разрешения RG, то к множеству разрешений пользователя U добавляются права группы G (рисунок 1.6). При этом множество (Ru+ RG) является объединением прав.
Предопределенные права субъектов
Важнейшими конфигурационными параметрами защиты в ОС Windows, являются атрибуты "владелец" объекта (за исключением разделяемых ресурсов, поскольку этот атрибут для них не определен) и "дискреционный список контроля доступа". Эта информация хранится в так называемом описателе безопасности {security descriptor) объекта [2,31]. Общая структура описателя безопасности представлена на рис. 4.10. Описатель безопасности состоит из полей, содержащих информацию о владельце, первичной группе, системном списке контроля доступа и дискреционном списке контроля доступа. Поле "владелец" содержит идентификатор защиты (SID) субъекта (пользователя, группы или встроенной учетной записи), который является владельцем объекта. Поле "первичная группа" служит для совместимости с POSIX-системами и в контроле доступа ОС Windows не участвует. Так называемый системный список контроля доступа содержит информацию, необходимую для функционирования подсистемы аудита, и, соответственно, в разрешении/запрещении доступа к объектам ОС Windows не участвует. В этой связи записи "первичная труппа" и "системный список контроля доступа" в дальнейшем не рассматриваются. Дискреционный список контроля доступа (DACL) содержит сведения, необходимые для организации контроля доступа к объекту [68]. Он состоит из записей контроля доступа (АСЕ),, каждая из которых содержит информацию об идентификаторе защиты (SID) субъекта, правах доступа, зоне (области) их распространения и типе (разрешение/запрет). Права доступа задаются в виде маски доступа, представляющей собой 32-разрядную битовую маску. Каждый бит этой маски соответствует какому-либо праву доступа и зависит от типа объекта [31].
Флаги описателя безопасности (security descriptor control) могут содержать информацию об отсутствии дискреционного списка контроля доступа (эта ситуация означает полный доступ всем), а также информацию о том, что описатель безопасности был наследован от родительского объекта.
Подробно информация о структуре дискреционного списка контроля доступа и о составах масок прав доступа для каждого типа объектов приведена в главе 1. При разборе описателя безопасности каждого защищаемого объекта используется алгоритм, приведенный на рис. 4.11. Выполнение данного алгоритма может быть автоматизировано [69]. Входными данными алгоритма является описатель безопасности защищаемого системного объекта. Алгоритм выделяет идентификатор защиты Sro владельца и записи контроля доступа АСЕ в списке контроля доступа. Для всех записей контроля доступа АСЕ выполняется определение типа записи, маски прав доступа, зоны их распространения и идентификатора защиты (SID) субъекта, которому соответствует запись и выделение. Алгоритм завершается, когда разобраны все записи контроля доступа. Описатель безопасности объекта, исследованный этим алгоритмом в дальнейшем может использоваться для сравнения с другими описателями безопасности или печати в файл состояния системы. Расчет контрольной суммы CRC32 описателя безопасности используется для быстрого вероятностного сравнения описателей безопасности в других алгоритмах, используемых при сборе состояния системы. Контрольная сумма описателя безопасности; рассчитываемая АНБ, представляет собой пару двух 32-разрядных чисел. Два описателя безопасности могут сравниваться не по содержимому, а по значению их контрольных сумм. При этом вероятность ошибки составит не более 2"64. CRC32 - широко используемый- алгоритм вычисления контрольной суммы, который используется во многих популярных архиваторах и протоколах передачи данных по сети. Вычисление контрольной суммы в АНБ основано на следующем полиноме:
Проекции модели для различных типов объектов
Метод эпсилон-ограничений — метод сведения задачи многокритериальной оптимизации к задаче однокритериальной оптимизации, основанный на выделении из всех частных критериев одного наиболее важного, по которому будет производиться дальнейшая оптимизация и ограничении всех остальных критериев константами. Дополнительной информацией в методе эпсилон ограничений является номер самого важного критерия и значения констант, которые используются для ограничения остальных критериев. Основными достоинствами этого метода является сведение задачи многокритериальной оптимизации к задаче однокритериальной оптимизации и простота этого метода. Основными недостатками этого метода является сложность выбора максимально допустимых значений частных критериев и жесткость ограничений, накладываемых на эти частные критерии.
Поскольку взаимосвязь частных критериев обычно неизвестна, заранее назначить величины уступок Дк, fcf[l,s], как правило, не удается. Поэтому изучение взаимосвязи частных критериев и назначение величин уступки приходится производить в процессе решения задачи. Практически, для этого вначале оценивают взаимосвязь частных критериев фг (X), ф7 (X) . Для этого задают несколько величин уступок А1Ъ Д12 , ... и определяют соответствующие значения второго по важности критерия фж v Ф12, ... На основе анализа этой информации лицо, принимающее решение, принимает решение о величине первой уступки Аг Затем аналогично оценивают взаимосвязь частных критериев ф (X), ф (_Х), и назначают величину второй уступки А2. И так далее до критериев. Ф3_1О0,Ф500 , и уступки Aj-i- Таким образом, фактически приходится" решать каждую из задач (3.11), (3.13), (3.14), (3.15) не однократно, как в изложенной схеме, а многократно. Изложенная схема метода последовательных уступок предполагает, что каждый частный» критерий (pk(X),k[l,s]настолько существенно более важен, чем последующий частный критерий, что можно ограничиться учетом только парных связей критериев и выбирать величину уступки для данного критерия с учетом поведения лишь одного следующего критерия. Сложной самостоятельной проблемой является отыскание в явном виде Метод последовательных уступок — метод решения задачи многокритериальной оптимизации, основанный на расположении частных критериев в порядке убывания их важности и назначении уступок допустимых для каждого критерия. Иными словами, значения уступок означают максимальное отклонение каждого критерия от оптимального значения. Достоинством метода последовательных уступок является то, что он легко позволяет контролировать, ценой какой уступки в одном частном критерии приобретается выигрыш в другом частном критерии. Заметим также, что свобода выбора решения, приобретаемая ценой даже незначительных уступок, может оказаться существенной, так как в окрестностях минимума обычно эффективность решений меняется слабо. Не смотря на идейную простоту метода последовательных уступок, практическое применение этого метода сопряжено со значительными трудностями. Метод последовательных уступок применим для решения лишь тех задач многокритериальной оптимизации, в которых все частные критерии естественнымобразом упорядочены по степени важности. Справедливым компромиссом будем называть такой компромисс, при котором относительный уровень снижения качества по одному или нескольким частным критериям не превосходит относительного уровня повышения качества по остальным частным критериям (меньше или равен). Для формализации понятия справедливого компромисса нам понадобится ввести отношение превосходства на множестве Парето. Пусть во множестве Парето задачи (3.18) даны две точки Xі є D Х2є D% и значения всех частных критериев оптимальности в них фк(Х± )/фк(Х2 ), ke[l,s]. Введем меру относительного изменения (снижения — знак "минус" или повышения — знак "плюс") качества решения по каждому из этих критериев
Алгоритм автоматизированной настройки безопасности
При осуществлении настройки безопасности КС администратором безопасности вручную или с помощью существующих средств автоматизации возникают следующие проблемы: - большое множество конфигурационных параметров защиты, из-за чего требуется много времени для настройки «вручную» [34]; - отсутствие гарантий адекватности настройки безопасности — при ручной или автоматизированной с помощью существующих средств, работающих на основе написанных скриптов, настройке безопасности не возможно гарантировать соответствие конфигурационных параметров защиты предъявляемым требованиям по безопасности [35]; - ошибки в настройке — даже при высокой квалификации администратора безопасности сохраняется высокая вероятность возникновения ошибок, связанных с «человеческим фактором» [36].
Для решения перечисленных проблем предлагается подход к автоматизации процесса настройки безопасности на основе имитационного моделирования. На рисунке 3.1 показаны основные этапы предлагаемого подхода.
Построенная и описанная в главе 2 имитационная модель позволяет вычислить значения конфигурационных параметров защиты ОС, соответствующие требованиям критериев безопасности. Однако полученное решение неоднозначно. На выходе имитационной модели получается большое множество векторов значений конфигурационных параметров защиты, каждый из которых удовлетворяет предъявляемым требованиям по безопасности. Поэтому необходимо выбрать наиболее эффективный вариант настройки безопасности [37]. В п. 2.2 данной работы бьїло принято решение, что наиболее эффективным будет считаться вектор, обладающий наибольшим показателем устойчивости. Для нахождения такого вектора необходимо решить оптимизационную задачу.
В общем случае оптимизационная задача нахождения наиболее эффективного вектора настройки безопасности имеет следующий вид: Таким образом, при выполнении настройки безопасности КС имеются два критерия: - требования по безопасности (критерии безопасности); - показатель устойчивости. Поэтому для выбора вектора настроек необходимо использовать математические методы многокритериальной оптимизации. Проанализируем основные из них. Масштабирование целевых функций Прежде чем применить один из существующих методов многокритериальной оптимизации необходимо обеспечить одинаковый масштаб всех целевых функций [38]. Существуют три подхода к изменению масштаба целевых функций [23-24]: a) Нормализация b) Применение числа 10 в соответствующей степени c) Применение ранжирующих выравнивающих множителей Последнее выражение имеет такой вид, так как наибольшая по модулю компонента вектора V доминирует над остальными при возведении в степень р = со. Деление каждой компоненты вектора на его норму нормализует вектор. Длина нормализованного вектора равна единице. Использование числа 10 в соответствующей степени Предположим, требуется, чтобы все коэффициенты целевых функций были одного порядка. Каждую целевую функцию можно масштабировать с помощью степеней числа 10, не прибегая к нормализации. Тогда как нормализация, скорее всего, изменит коэффициенты до полной неузнаваемости, применение числа 10 в соответствующей степени позволит сохранить распознаваемость каждого коэффициента, так как при этом только сдвинется десятичная точка. Применение множителей, выравнивающих диапазоны изменения критериев Предположим, требуется выровнять диапазоны изменения критериев на множестве эффективных точек. Один из способов — умножить каждый критерий на его характерный выравнивающий множитель Рассмотрим задачу многокритериальной оптимизации — частные критерии оптимальности (скалярные), — множество допустимых значений вектора варьируемых параметров. Для решения задачи многокритериальной оптимизации (3.2) широко используются методы, основанные на сведении задачи многокритериальной оптимизации к задаче однокритериальной оптимизации. Рассмотрим один из методов этой группы методов — метод весовых множителей. В методе весовых множителей дополнительной информацией (относительно информации, заданной в постановке задачи (3.2)) является информация об относительной важности частных критериев. Метод требует, чтобы эта информация была формализована в значениях весовых множители. В этом случае в качестве скалярного критерия используется критерий