Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Сторожевых Сергей Николаевич

Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы
<
Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Сторожевых Сергей Николаевич. Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы : Дис. ... канд. техн. наук : 05.13.19 СПб., 2006 104 с. РГБ ОД, 61:06-5/1712

Содержание к диссертации

Введение

Глава 1. Недостатки механизмов идентификации современных ОС 11

1.1. Принципы построения систем защиты от НСД 11

1.2. Формализация ПРД к ресурсам ВС 13

1.3. Недостатки существующих механизмов идентификации 14

1.4. Уязвимость механизмов идентификации по отношению к угрозам расширения привилегий 18

1.5. Выводы 19

Глава 2. Методы обеспечения корректности идентификации субъекта доступа 20

2.1. Подход к решению задачи. Обоснование эффективности подхода 20

2.2. Альтернативные методы обеспечения корректности идентификации субъекта доступа 27

2.2.1. Разграничение доступа к сервисам олицетворения 27

2.2.2. Контроль корректности олицетворения 29

2.2.2.1. Синхронный контроль 30

2.2.2.2. Асинхронный контроль 31

2.3. Сравнительная оценка предложенных методов 32

2.4. Результаты и выводы 34

Глава 3. Механизмы обеспечения корректности идентификации субъекта доступа 36

3.1. Механизмы разграничения доступа к сервисам олицетворения 36

3.1.1. Основополагающие принципы управления доступом к ресурсам .36

3.1.1.1. Каноническая модель управления доступом 36

3.1.1.2. Избирательный и полномочный принципы управления доступом 38

3.1.2. Реализация диспетчера доступа к сервисам олицетворения 41

3.1.2.1. Дискреционный механизм управления доступом 43

3.1.2.2. Мандатный механизм управления доступом 44

3.2. Механизмы контроля корректности идентификации при доступе к ресурсам ВС 47

3.3. Сравнительный анализ предложенных механизмов 49

3.4. Условия совместного применения дискреционного и мандатного механизмов 51

3.5. Результаты и выводы 52

Глава 4. Реализация системы обеспечения корректности идентификации пользователя 54

4.1. Архитектура системы 55

4.2. Интерфейс администратора 56

4.3. Модуль контроля корректности олицетворения 57

4.4. Диспетчер доступа к ресурсам как элемент системы обеспечения корректности идентификации 59

4.4.1. Диспетчер доступа к файловым объектам 61

4.4.2. Диспетчер доступа к ключам реестра 64

4.5. Альтернативная реализация диспетчера доступа к ресурсам 65

4.6. Результаты и выводы 68

Глава 5. Исследование влияния средств обеспечения корректности идентификации субъекта доступа на производительность ВС 70

5.1. Цели и задачи 70

5.2. Модель рабочей станции без системы защиты 71

5.2.1. Система массового обслуживания НЖМД 75

5.2.2. СМО процессор - оперативная память 76

5.2.3. Сетевая модель рабочей станции 77

5.2.4. Модель рабочей станции с системой защиты 80

5.3. Исследование падения производительности 87

5.4. Проверка адекватности модели 94

5.5. Выводы 96

Заключение 98

Литература

Введение к работе

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

Одним из основных элементов безопасности является операционная система (ОС) компьютера, так как, по большому счету, именно она аккумулирует в себе подавляющую часть используемых механизмов защиты. Однако, даже при использовании последних версий ОС и прикладного программного обеспечения, нельзя гарантировать полную защиту от НСД, что подтверждается большим количеством известных атак на механизмы защиты ОС. Так, по данным компании US-CERT, в 2005 году в существующих ОС было выявлено 5198 уязвимостей. Эксперты, специализирующиеся в области обеспечения безопасности компьютерных технологий, прогнозируют, что количество новых уязвимых мест в компьютерных ОС будет неуклонно расти. Принимая во внимание тот факт, что появление исправлений, направленных на устранение обнаруженных уязвимостей ОС, происходит со значительными задержками, а также то, что основным принципом противодействия угрозам безопасности информации, является превентивность принимаемых мер защиты, актуальной становится задача создания средств добавочной защиты вычислительных систем (ВС).

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

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

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

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

В соответствии с поставленной целью основными задачами являются:

• исследование известных методов и механизмов идентификации, в том числе применяемых в современных ОС, с целью обнаружения причин уязвимостей, позволяющих производить атаки на расширение привилегий;

• разработка и исследование эффективности подхода к обеспечению корректности идентификации субъекта доступа к ресурсам ВС;

• разработка альтернативных методов реализации подхода на основе принципов разграничения доступа и контроля;

• разработка механизмов обеспечения корректности идентификации пользователя на основе избирательного и полномочного принципов управления доступом;

• реализация системы (разработка технических средств) обеспечения корректности идентификации субъекта доступа к ресурсам ВС для ОС семейств Windows и Unix;

• исследование влияния разработанных средств обеспечения корректности идентификации на производительность ВС.

Методы исследований основаны на теории вероятностей, теории массового обслуживания и математической статистики.

Научная новизна работы. В ходе выполнения работы получены следующие новые научные результаты:

• разработаны требования к корректности идентификации субъекта доступа и критерий оценки эффективности;

• проведено исследование известного подхода к обеспечению корректности идентификации субъекта доступа, сделан вывод о том, что его эффективность не превышает 75% (невозможно одновременно запретить все некорректные и разрешить все корректные варианты смены идентификаторов доступа);

• в соответствии с разработанными требованиями, предложен новый подход, позволяющий решить задачу обеспечения корректности идентификации субъекта доступа в общем виде (эффективность подхода 100%);

• разработаны альтернативные методы реализации предложенного подхода, основанные на разграничении доступа к сервисам олицетворения и на контроле корректности идентификации пользователя при доступе к ресурсам ВС;

• разработаны математические модели ВС и ВС с системой защиты, реализующей предложенный метод контроля корректности идентификации;

• проведено исследование влияния средств контроля корректности идентификации на производительность ВС, в результате которого сделан вывод о том, что при увеличении количества контролируемых субъектов доступа и процессов в списке правил олицетворения потери производительности могут достигать десятков процентов (при задании более 250 правил);

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

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

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

• определены условия совместного применения в ВС разработанных механизмов защиты на основе мандатного и дискреционного методов назначения и обработки ПРД;

• разработаны технические (программные) средства обеспечения корректности идентификации субъекта доступа к ресурсам ВС для ОС семейств Windows и Unix;

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

• комплексной системе защиты информации (КСЗИ) «Панцирь» для ОС Windows 95/98/NT/2000;

• системе защиты данных (СЗД) «Панцирь» для ОС Windows 2000/ХР/2003;

• КСЗИ «Панцирь» для ОС Windows 2000/ХР/2003;

• КСЗИ «Блокада — HP» для ОС HP-UX 11.0;

• учебном процессе на кафедре ВТ СПбГУИТМО. Основные положения, выносимые на защиту:

• требования к корректности идентификации субъекта доступа и критерий оценки эффективности;

• подход к обеспечению корректности идентификации субъекта доступа к ресурсам ВС.

• альтернативные методы и механизмы защиты, реализованные на основе предложенного подхода;

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

Апробация работы. Научные и практические результаты диссертации доложены и обсуждены на:

• XXXIII научной и учебно-методической конференции СПбГУИТМО,

2004 г.

• XXXIV научной и учебно-методической конференции СПбГУИТМО,

2005 г.

• научно-практических семинарах «Компьютерные сетевые решения и оборудование», проводимых центром научно-технической информации «Прогресс» (7-11 февраля, 13-17 июня, 10-14 октября 2005 г.). Программные решения, при разработке которых были использованы

научные и практические результаты диссертации, удостоены следующих наград:

• золотая медаль на 4 Всероссийском форуме «Банковская безопасность: состояние и перспективы развития» в конкурсе «Гарантии качества и безопасности» за КСЗИ «Панцирь» для ОС Windows 95/98/NT/2000, Москва, 2003 г.;

• золотая медаль на Международном форуме «Охрана и безопасность» в конкурсе «Эталон безопасности» за КСЗИ «Панцирь» для ОС Windows 95/98/NT/2000, Санкт-Петербург, 2003 г.;

• золотая медаль на Международном форуме «Охрана и безопасность» в конкурсе «Эталон безопасности» за СЗД «Панцирь» для ОС Windows 2000/ХР/2003, Санкт-Петербург, 2004 г.;

• диплом 14 Международной конференции и тематической выставки «Информатизация и информационная безопасность

правоохранительных органов» в конкурсе «Лучший инновационный продукт» за КСЗИ «Панцирь-К» для ОС Windows 2000/ХР/2003, Москва, 2005 г.

Публикации. По теме диссертации опубликовано 6 работ. Структура и объем диссертации. Диссертация состоит из введения, пяти глав, заключения и списка литературы. Рукопись содержит 104 страницы текста, 23 рисунка и 5 таблиц. Список литературы включает 60 наименований.

Недостатки существующих механизмов идентификации

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

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

Определим условия, при которых смену идентификатора доступа можно считать корректной. Для этого представим все возможные варианты заимствования прав (О) в виде равенства 0 = P-F, (2.1) где Р — количество программ, выполняющихся в системе; F — количество возможных олицетворений пользователя.

При этом все программы Р можно разделить на доверяемые, которые априори не содержат ошибок или закладок, представляющих угрозу безопасному функционированию ВС, и не доверяемые, подлежащие контролю со стороны системы защиты. Соответственно (2.1) можно представить как 0 = PrF + Ps-F, где Р/ — доверяемое программное обеспечение; Ps — недоверяемое программное обеспечение. Контролю со стороны защиты должны подвергаться только те варианты заимствования прав (0С), которые запрашиваются кодом недоверяемых программ. Oc=Ps-F

Представим возможные варианты олицетворения в виде матрицы олицетворения /, отображающей варианты заимствования прав. Введем следующие обозначения. Пусть множество S — {S]...Sn} — линейно упорядоченное множество субъектов доступа. В качестве субъекта доступа Sk,k= \...п рассматривается как отдельный субъект, так и группа субъектов, обладающих одинаковыми правами доступа. Введем следующую иерархию субъектов доступа: чем меньше порядковый номер (идентификатор) к субъекта, тем большими правами доступа к информации он обладает. Обозначим Хк — исходный идентификатор субъекта доступа 5 , Г — олицетворяющий идентификатор субъекта доступа.%.

Модель управления олицетворением контекстов защиты формально может быть описана следующим образом: элемент (//,) матрицы олицетворения / назначается следующим образом: Ц- 1, если iuj; Iy = О, если і j; где / - порядковый номер исходного идентификатора субъекта доступа (номер строки в матрице олицетворения), j - порядковый номер олицетворяющего идентификатора субъекта доступа (номер столбца в матрице олицетворения). Т.е. разрешенными считаются олицетворения, не приводящие к повышению привилегий субъекта доступа.

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

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

Отметим, что при проектировании СЗИ, важно не только решить собственно задачу защиты, устанавливая запрет на выполнение тех или иных операций, также существенно, чтобы внедрение средств защиты не мешало разрешенным действиям пользователей и программ. Т.е., применительно к системе обеспечения корректности идентификации субъекта доступа, одинаково важно не только запретить некорректные олицетворения контекстов защиты, но и предусмотреть возможность осуществления санкционированных олицетворений согласно сформулированным выше условиям корректности смены идентификаторов доступа. Таким образом, поход к обеспечению корректности идентификации субъекта доступа может считаться эффективным, если он: а) позволяет запретить все некорректные олицетворения; б) предусматривает возможность осуществления всех корректных вариантов заимствования прав.

Альтернативные методы обеспечения корректности идентификации субъекта доступа

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

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

Исходный маркер доступа — это, пользуясь терминологией Unix, маркер, описывающий эффективный идентификатор пользователя, взятый до олицетворения. Например, для ОС Windows NT это может быть как маркер доступа процесса (первичный), так и маркер доступа потока (олицетворяющий), — в зависимости от того, имело ли место олицетворение до момента проверки. Для этого можно пользоваться правилом, которое использует эта ОС при авторизации: если поток имеет олицетворяющий маркер, то использовать для проверки его, если нет — использовать первичный маркер доступа.

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

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

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

Исходными данными для принятия решения о корректности олицетворения являются первичный и олицетворяющий маркер доступа. Причем олицетворяющий маркер может отсутствовать, если до момента проверки олицетворение не производилось. Отметим, что набор входных данных для анализа в методах разграничения и контроля различается. Если при разграничении можно оперировать понятием исходного маркера доступа, то при контроле эксплуатация этого понятия становится не совсем корректной, т.к. в общем случае нельзя с уверенностью утверждать, что первичный маркер доступа является исходным по отношению к олицетворяющему маркеру доступа. Первичный маркер процесса можно рассматривать как исходный, только если до момента проверки олицетворение либо не производилось, либо производилось один раз. Это существенно сужает возможности, которые может предоставить контроль корректности олицетворения. Например, при проведении атаки на расширение привилегий, использующей уязвимость IIS, смена идентификаторов происходит дважды. Сначала процесс IIS, выполняющийся в контексте защиты привилегированного пользователя SYSTEM, олицетворяет поток обработки пользовательского запроса непосредственно с пользователем, а затем уже поток предпринимает попытку некорректного олицетворения с контекстом защиты процесса. Для предотвращения подобной ситуации расширения привилегий необходимо для процесса ISS запретить олицетворения типа «пользователь - SYSTEM». Результаты же, которые в этом случае даст процедура контроля, будут отрицательными для обоих случаев заимствования прав: «SYSTEM - пользователь» и «SYSTEM -SYSTEM» соответственно. Таким образом, в общем случае, контроль корректности олицетворения не решает проблему несанкционированного расширения привилегий, ввиду не совсем достоверного определения исходного идентификатора доступа.

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

Важным вопросом реализации предлагаемого подхода является выбор режима запуска процедуры контроля. В общем случае процедура может запускаться синхронно (по расписанию либо с заданным интервалом) и асинхронно - по какому-либо событию. В связи с этим предлагаются методы синхронного и асинхронного контроля корректности олицетворения.

Основополагающие принципы управления доступом к ресурсам

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

Пусть множества S = {S\...Sk} и О = {0\...Ok} - соответственно линейно упорядоченные множества субъектов и объектов доступа. В качестве субъекта доступа S{, г = l...k рассматривается как отдельный субъект, так и группа субъектов, обладающих одинаковыми правами доступа, соответственно, в качестве объекта доступа 9„ і = 1...к может также рассматриваться как отдельный объект, так и группа объектов, характеризуемых одинаковыми к ним правами доступа. Пусть G = {0,1} — множество прав доступа, где «0» обозначает отсутствие доступа субъекта к объекту, «1» — разрешение полного доступа. Тогда каноническую модель управления доступом можно представить матрицей доступа Д имеющей следующий вид:

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

Модель управления доступом формально может быть описана следующим образом - элемент (Ду) матрицы Ду = 1, если / =j, иначе Ду = 0.

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

Объекты доступа могут по своей сути существенно различаться — файловые объекты, ветви и ключи реестра ОС (для ОС Windows), принтеры, разделяемые сетевые ресурсы, устройства, ресурсы внешней сети и т.д. К ним могут различаться типы доступа (например, файловые объекты и принтеры), в том числе и образующие полный доступ, на практике может быть ограничение на число ресурсов (например, принтеров в системе, к которым разграничивается доступ, может быть существенно меньше, чем субъектов доступа к ним). Однако все это не противоречит общности сформулированного утверждения, требования которого должны выполняться механизмом управления доступом при соответствующих настройках системы и диспетчера доступа к объекту любого вида. Например, диспетчер доступа к принтерам должен, при включении в систему принтеров по числу субъектов доступа (в частности, пользователей), обеспечивать реализацию канонической модели управления доступом, где элементами матрицы доступа D будут «1» - доступ субъекту к принтеру разрешен, «О» - доступ субъекту к принтеру запрещен.

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

Итак, механизм управления доступом ресурсу реализован корректно только в том случае, если настройками диспетчера доступа реализуемая им модель доступа может быть приведена к каноническому виду.

Диспетчер доступа к ресурсам как элемент системы обеспечения корректности идентификации

Рассмотрим основные принципы построения диспетчера доступа к ресурсам, который, с одной стороны, выполнял бы требования к корректной реализации разграничительной политики доступа, а с другой — был бы легко встраиваем в систему обеспечения корректности идентификации субъекта доступа. Другими словами, рассмотрим диспетчер доступа как элемент системы контроля корректности олицетворения.

Диспетчер доступа к ресурсам — это ключевой компонент системы защиты информации от НСД. От того насколько стабильно работает программа, реализующая управление доступом к ресурсам, зависит надежность системы защиты в целом. Поэтому, как правило, диспетчер доступа реализуется в виде резидентного модуля режима ядра. Таким образом, диспетчер доступа не может быть подвержен неблагоприятному воздействию (преднамеренному или случайному) со стороны программ пользовательского режима. Т.к. злоумышленник, не обладая привилегией на загрузку драйверов режима ядра, пытается преодолеть систему защиты с помощью запуска собственной программы или путем поиска ошибок (закладок) в уже установленном ПО, функционирующем в режиме пользователя, то диспетчер доступа, реализованный в виде драйвера режима ядра, не чувствителен к атакам подобного рода.

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

Модель защиты ОС семейства Windows NT требует, чтобы поток заранее — еще до открытия объекта — указывал, какие операции он собирается выполнять над этим объектом [36]. Таким образом, диспетчер доступа должен проверять тип доступа, запрошенный потоком, и, если такой доступ ему разрешен, поток получает описатель, позволяющий ему (и другим потокам того же процесса) выполнять операции над объектом. Диспетчер объектов ОС, в свою очередь, регистрирует права доступа, предоставленные для данного описателя, в таблице описателей, принадлежащей процессу.

Впоследствии, если поток попытается произвести какую-либо операцию над этим объектом (например, операцию записи), передав в качестве параметра описатель объекта, то системный сервис, реализующий запрошенную операцию, обратится к функции диспетчера объектов ObReferenceObjectByHandle, чтобы получить указатель на объект по его описателю. Функция ObReferenceObjectByHandle принимает тип доступа, соответствующий запрошенной операции, как параметр. Найдя в таблице описателей элемент, соответствующий нужному описателю, ObReferenceObjectByHandle сравнит запрошенный тип доступа с тем, который был предоставлен при открытии файла. Если типы доступа не совпадают, операция завершается неудачно. Поэтому, для корректной реализации диспетчера доступа к ресурсам достаточно контролировать только операцию открытия объекта по имени, сравнивая запрашиваемый потоком тип доступа с правами доступа пользователя, в контексте защиты которого выполняется поток, и, возможно, процесса, если используется расширенная модель контроля доступа к ресурсам с учетом процесса как самостоятельного субъекта доступа. Соответственно, проверку корректности олицетворения следует выполнять только один раз в момент получения описателя объекта, к которому производиться попытка доступа. Для этого диспетчер доступа должен вызвать процедуру проверки корректности идентификации, экспортируемую МККО.

Рассмотрим технические аспекты реализации подобного механизма управления доступом на примере диспетчеров доступа к файловым объектам и реестру ОС.

Похожие диссертации на Методы и средства обеспечения корректности идентификации субъекта доступа к ресурсам вычислительной системы