СПОСОБ СОПОСТАВЛЕНИЯ СОСТОЯНИЙ БЕЗОПАСНОСТИ ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВА WINDOWS
METHOD OF COMPARING SECURITY STATUS OF WINDOWS FAMILY OPERATING SYSTEMS

Изобретение относится к области управления безопасностью операционных систем семейства Windows (в т.ч. Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows XP Professional, Microsoft Windows Server 2003, Microsoft Windows Server 2008, Microsoft Windows Vista Ultimate, Enterprise и Business 32-х и 64-х разрядных версий любой локализации), а именно к сопоставлению характеристик конфигураций операционных систем с точки зрения оценки их безопасности.
Известны системы и методы обеспечения безопасности операционных систем, основанные на анализе характеристик конфигурации, например, US 2007136578, H04L 9/00, опубл. 2007-06-14, WO 2007021949, G06F 12/14, опубл. 2007-02-22, система и способы обеспечения улучшенной модели безопасности, заявка на изобретение РФ №2005120655, H04L 9/32, опубл. 2006-01-20. Однако ни в одном из указанных материалов не содержится описание способа сопоставления двух и более состояний безопасности операционных систем семейства Windows.
Известен способ идентификации параметров конфигурации, являющихся причиной нежелательного поведения системы, который содержит процедуру мониторинга параметров операционной системы (US 2007300103, G06F 9/445; G06F 11/34; G06F 11/07; H04L 12/24, опубл. 2007-12-27). Однако в этом способе не предусмотрено сопоставление конфигураций операционных систем семейства Windows с точки зрения безопасности.
В основу изобретения положена задача создания способа сопоставления состояний безопасности операционных систем семейства Windows, в котором обеспечено повышение эффективности оценки безопасности систем за счет предоставления возможностей сопоставления конфигурационных параметров, отслеживания динамики происходящих изменений состояний и выявления отклонений от заданного "эталонного" состояния в операционных системах семейства Windows вследствие предложения процедуры сопоставления состояний безопасности и включения в анализируемое множество полного набора конфигурационных параметров безопасности ресурсов пользовательского уровня.
Решение поставленной технической задачи обеспечивается тем, что в способе сопоставления состояний безопасности операционных систем семейства Windows, включающем фиксацию и сопоставление конфигурационных параметров безопасности субъектов и объектов операционных систем семейства Windows, выбирают файлы и каталоги файловой системы, которые войдут в первое сопоставляемое состояние; при этом по умолчанию в сопоставляемое состояние включают все каталоги файловой системы, кроме системных каталогов Windows, Program Files, Documents and Settings, съемных, сетевых и виртуальных дисков;
затем выполняют обход выбранной части иерархии файловой системы, фиксируя для каждого объекта файловой системы его абсолютный путь, имя и идентификатор безопасности его владельца, дискреционный список эффективных прав доступа и значения атрибутов безопасности "Флаг наследования прав" и "Область распространения прав"; при этом, если объект является каталогом файловой системы, фиксируют состав вложенных в него подкаталогов и файлов;
затем фиксируют имена субъектов системы (пользователей, групп пользователей и встроенных участников безопасности), их идентификаторы безопасности, наборы назначенных привилегий и наборы групп, членами которых является субъект; при этом, если субъект является группой пользователей, фиксируют имена и идентификаторы безопасности ее членов;
затем сохраняют зафиксированное состояние в файле состояния;
поскольку сопоставление выполнимо для пары состояний, все выше изложенные действия, включая сохранение в файле состояния, повторно выполняют необходимое количество раз (минимум - один раз) в произвольные моменты времени в той же системе или в разных системах для того, чтобы образовать множество сопоставляемых состояний;
затем выбирают для сопоставления два зафиксированных состояния, сохраненных в файлах состояний, выбирают условия сопоставления состояний и производят их сопоставление с учетом выбранных условий; при этом условия сопоставления ограничивают множества сопоставляемых субъектов, объектов и их конфигурационных параметров безопасности и определяют выполнение последующих действий процедуры сопоставления, что позволяет обрабатывать часть параметров и тем самым ускорять процесс;
извлекают из сохраненных файлов состояний и производят сопоставление составов субъектов; при этом в каждом состоянии отмечают субъектов, которые отсутствуют в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление составов групп; при этом в каждом состоянии для каждой группы в наборе ее членов отмечают субъектов, которые отсутствуют в таком наборе этой группы в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление наборов групп, членами которых являются субъекты, присутствующие в обоих состояниях; при этом в каждом состоянии для каждого субъекта в его наборе групп отмечают группы, которые отсутствуют в таком наборе этого субъекта в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление наборов привилегий, которыми обладают субъекты, присутствующие в обоих состояниях; при этом в каждом состоянии для каждого субъекта в его наборе привилегий отмечают привилегии, которые отсутствуют в таком наборе этого субъекта в другом состоянии;
извлекают из сохраненных файлов состояний и производят сопоставление составов каталогов файловой системы в двух сопоставляемых состояниях, выполняя в каждом состоянии рекурсивный обход зафиксированного множества каталогов; при этом, если некоторый каталог присутствует только в одном состоянии, обход и сопоставление состояний относительно множества его подкаталогов не выполняют;
затем извлекают из сохраненных файлов состояний и производят сопоставление файловых составов каталогов, присутствующих в обоих состояниях; при этом в каждом состоянии для каждого каталога в наборе файлов, содержащихся в нем, отмечают файлы, которые отсутствуют в таком наборе этого каталога в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление атрибутов безопасности "Флаг наследования прав" и "Область распространения прав" каталогов, присутствующих в обоих состояниях; при этом в каждом состоянии для каждого каталога отмечают значение атрибута, которое отлично от значения атрибута этого каталога в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление идентификаторов безопасности владельцев каталогов и файлов, присутствующих в обоих состояниях; при этом в каждом состоянии для каждого каталога или файла отмечают идентификатор безопасности владельца, который отличен от идентификатора безопасности владельца этого каталога или файла в другом состоянии;
затем извлекают из сохраненных файлов состояний и производят сопоставление дискреционных списков эффективных прав доступа каталогов и файлов, присутствующих в обоих состояниях; при этом в каждом состоянии для каждого каталога или файла отмечают права, которые отсутствуют в таком дискреционном списке эффективных прав доступа этого каталога или файла в другом состоянии.
Результат сопоставления состояний сохраняют в виде файла отчета, содержащего описания зафиксированных состояний и выявленных различий, и представляют в виде двух деревьев, перечисляющих множества зафиксированных субъектов, объектов и их конфигурационных параметров безопасности, на которых отмечены выявленные различия.
Повышение эффективности оценки безопасности операционных систем семейства Windows обеспечивается за счет предоставления возможностей по фиксации состояний безопасности операционных систем семейства Windows, отслеживания динамики их изменений, выявления отклонений от заданного "эталонного" состояния, что является результатом предложения процедуры сопоставления состояний безопасности операционных систем и обработки полного набора конфигурационных параметров безопасности ресурсов пользовательского уровня, к которым относятся субъекты доступа (пользователи и группы пользователей), объекты доступа (файлы и каталоги файловой системы), их атрибуты безопасности (членство в группах, состав групп, владелец, привилегии, дискреционный список эффективных прав доступа).
Изобретение поясняется с помощью чертежа, на котором представлен результат сопоставления двух состояний в виде двух деревьев, на которых представлены зафиксированные субъекты и объекты, а также дискреционные списки эффективных прав доступа и отмечены выявленные различия прав.
При осуществлении способа выполняется интеллектуальное сопоставление состояний; при этом процедура сопоставления выполняется над парой состояний, зафиксированных в одной и той же системе в разные моменты времени, или над парой состояний, зафиксированных в разных системах в произвольные моменты времени.
В состояние системы включены следующие конфигурационные параметры безопасности операционных систем семейства Windows:
1. Множество субъектов, представленное в виде совокупности имен и идентификаторов безопасности пользователей, групп пользователей и встроенных участников безопасности.
2. Множество субъектов-членов для групп пользователей.
3. Множество групп для субъектов.
4. Множество привилегий, назначенных пользователям, группам пользователей и встроенным участникам безопасности.
5. Множество объектов, представленное в виде совокупности абсолютных путей и иерархии файлов и каталогов файловой системы.
6. Множество атрибутов безопасности "Флаг наследования прав" и "Область распространения прав" для объектов файловой системы.
7. Множество имен и идентификаторов безопасности владельцев для объектов файловой системы.
8. Множество дискреционных списков эффективных прав доступа. Дискреционный список эффективных прав доступа для пары "субъект-объект" представляет собой дискреционный список прав доступа объекта (discretionary access control list, DACL), заданный для конкретного субъекта, с учетом наследованных и прямых разрешений и запретов, общих прав доступа, групповых прав, прав владения и прав, замещающих привилегии субъекта.
При осуществлении способа выбирают файлы и каталоги файловой системы, которые войдут в первое сопоставляемое состояние; при этом по умолчанию в сопоставляемое состояние включают все каталоги файловой системы, кроме системных каталогов Windows, Program Files, Documents and Settings, съемных, сетевых и виртуальных дисков.
Затем выполняют обход выбранной части иерархии файловой системы, фиксируя для каждого объекта файловой системы его абсолютный путь, имя и идентификатор безопасности его владельца, дискреционный список эффективных прав доступа и значения атрибутов безопасности "Флаг наследования прав" и "Область распространения прав". При этом проход по символическим ссылкам не осуществляют, файлы с несколькими жесткими ссылками обрабатывают только один раз. Если объект является каталогом файловой системы, фиксируют состав вложенных в него подкаталогов и файлов.
Затем фиксируют имена субъектов системы (пользователей, групп пользователей и встроенных участников безопасности), их идентификаторы безопасности, наборы назначенных привилегий и наборы групп, членами которых является субъект. Если субъект является группой пользователей, фиксируют имена и идентификаторы безопасности ее членов.
Зафиксированное состояние сохраняют в файле состояния.
Поскольку сопоставление выполнимо для пары состояний, все выше изложенные действия, включая сохранение в файле состояния, повторно выполняют необходимое количество раз (минимум - один раз) в произвольные моменты времени в той же системе или в разных системах для того, чтобы образовать множество сопоставляемых состояний.
Выбирают для сопоставления два зафиксированных состояния, сохраненных в файлах состояний, выбирают условия сопоставления состояний и производят их сопоставление с учетом выбранных условий. При этом условия сопоставления ограничивают множества сопоставляемых субъектов, объектов и их конфигурационных параметров безопасности и определяют выполнение последующих действий процедуры сопоставления, что позволяет обрабатывать часть параметров и тем самым ускорять процесс.
Извлекают из сохраненных файлов состояний и производят сопоставление составов субъектов. Сопоставление пользователей и групп, имеющих постоянные ("well-known") идентификаторы безопасности, выполняется по их идентификатору, остальных - по имени. При этом в каждом состоянии отмечают субъектов, которые отсутствуют в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление составов групп. При этом в каждом состоянии для каждой группы в наборе ее членов отмечают субъектов, которые отсутствуют в таком наборе этой группы в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление наборов групп, членами которых являются субъекты, присутствующие в обоих состояниях. При этом в каждом состоянии для каждого субъекта в его наборе групп отмечают группы, которые отсутствуют в таком наборе этого субъекта в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление наборов привилегий, которыми обладают субъекты, присутствующие в обоих состояниях. При этом в каждом состоянии для каждого субъекта в его наборе привилегий отмечают привилегии, которые отсутствуют в таком наборе этого субъекта в другом состоянии.
Извлекают из сохраненных файлов состояний и производят сопоставление составов каталогов файловой системы в двух сопоставляемых состояниях, выполняя в каждом состоянии рекурсивный обход зафиксированного множества каталогов. При этом, если некоторый каталог присутствует только в одном состоянии, обход и сопоставление состояний относительно множества его подкаталогов не выполняют.
Затем извлекают из сохраненных файлов состояний и производят сопоставление файловых составов каталогов, присутствующих в обоих состояниях. При этом в каждом состоянии для каждого каталога в наборе файлов, содержащихся в нем, отмечают файлы, которые отсутствуют в таком наборе этого каталога в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление атрибутов безопасности "Флаг наследования прав" и "Область распространения прав" каталогов, присутствующих в обоих состояниях. При этом в каждом состоянии для каждого каталога отмечают значение атрибута, которое отлично от значения атрибута этого каталога в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление идентификаторов безопасности владельцев каталогов и файлов, присутствующих в обоих состояниях. При этом в каждом состоянии для каждого каталога или файла отмечают идентификатор безопасности владельца, который отличен от идентификатора безопасности владельца этого каталога или файла в другом состоянии.
Затем извлекают из сохраненных файлов состояний и производят сопоставление дискреционных списков эффективных прав доступа каталогов и файлов, присутствующих в обоих состояниях. При этом в каждом состоянии для каждого каталога или файла отмечают права, которые отсутствуют в таком дискреционном списке эффективных прав доступа этого каталога или файла в другом состоянии.
В предлагаемом изобретении под дискреционным списком эффективных прав доступа для пары "субъект-объект" понимается дискреционный список прав доступа объекта (discretionary access control list, DACL), заданный для конкретного субъекта, с учетом наследованных и прямых разрешений и запретов, общих прав доступа, групповых прав, прав владения и прав, замещающих привилегии субъекта.
Результат сопоставления состояний сохраняют в виде файла отчета, содержащего описания зафиксированных состояний и выявленных различий, и представляют в виде двух деревьев, перечисляющих множества зафиксированных субъектов, объектов и их конфигурационных параметров безопасности, на которых отмечены выявленные различия. Использование условий, учитываемых при сопоставлении состояний, позволяет получать результат в минимизированной форме, учитывающей только множества сопоставленных параметров.
1
2
Пояснение предлагаемого изобретения приведем на примере сопоставления двух состояний S и S (см. чертеж).
1. Сопоставление субъектов.
1.1. Сопоставление составов субъектов.
1
2
2
1
Все встроенные участники безопасности, имеющие постоянные ("well-known") идентификаторы безопасности, присутствуют в обоих состояниях. В состоянии S присутствует пользователь Alex, который отсутствует в состоянии S. В состоянии S перечислены пользователь Peter и группа Experts, которых нет в состоянии S.
Переход к следующему шагу сопоставления выполняется после фиксации различий состояний по составу субъектов.
1.2. Сопоставление составов групп.
2
В состоянии S пользователь Peter состоит в группе Experts.
Переход к следующему шагу сопоставления выполняется после фиксации различий состояний по составу групп.
1.3. Сопоставление наборов групп, членами которых являются субъекты.
Все одинаковые пользователи состоят в одинаковых группах.
1.4. Сопоставление наборов привилегий.
1
2
Пользователь Nick, который присутствует в обоих состояниях, в S обладает привилегией "Архивирование файлов и каталогов", которой у него нет в состоянии S.
Переход к следующему шагу выполняется после фиксации различий состояний по наборам привилегий, назначенных субъектам.
2. Сопоставление объектов.
2.1. Сопоставление составов каталогов.
2
Объекты файловой системы, отмеченные оператором для сопоставления, указаны в обоих состояниях, то есть области сопоставления пересекаются. В состоянии S отсутствует каталог CurrentProject.
Переход к следующему шагу сопоставления выполняется после фиксации различий состояний по составу каталогов файловой системы.
2.2. Сопоставление файловых составов каталогов.
1
В состоянии S отсутствует файл secure.doc в каталоге Private.
2.3. Сопоставление параметров безопасности каталогов.
1
2
Значения атрибутов безопасности "Флаг наследования прав" и "Область распространения прав" каталогов совпадают. У всех объектов файловой системы владельцы совпадают. На файл boot.ini в состоянии S пользователю JohnWalker установлено полное множество эффективных прав доступа, а в состоянии S - не установлены эффективные права "Исполнение" и "Запись".
Изобретение позволяет повысить эффективность оценки безопасности систем за счет предоставления возможностей сопоставления конфигурационных параметров, отслеживания динамики происходящих изменений состояний и выявления отклонений от заданного "эталонного" состояния в операционных системах семейства Windows вследствие предложения процедуры сопоставления состояний безопасности и включения в анализируемое множество полного набора настроек безопасности пользовательского уровня.