lecture#4
Под разграничением доступа принято понимать установление полномочий субъектов для полследующего контроля санкционированного использования ресурсов, доступных в системе. Принято выделять два основных метода разграничения доступа: дискреционное и мандатное.
Дискреционным называется разграничение доступа между поименованными субъектами и поименованными объектами. На практике дискреционное разграничение доступа может быть реализовано, например, с использованием матрицы доступа (рис. 1.3.4).
Как видно из рисунка, матрица доступа определяет права доступа для каждого пользователя по отношению к каждому ресурсу.
Очевидно, что вместо матрицы доступа можно использовать списки полномочий: например, каждому пользователю может быть сопоставлен список доступных ему ресурсов с соответствующими правами, или же каждому ресурсу может быть сопоставлен список пользователей с указанием их прав на доступ к данному ресурсу.
Мандатное разграничение доступа обычно реализуется как разграничение доступа по уровням секретности. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. При этом
все ресурсы АС должны быть классифицированы по уровням секретности.
Принципиальное различие между дискреционным и мандатным разграничением доступа состоит в следующем: если в случае дискреционного разграничения доступа права на доступ к ресурсу для пользователей определяет его владелец, то в случае мандатного разграничения доступа уровни секретности задаются извне, и владелец ресурса не может оказать на них влияния. Сам термин «мандатное» является неудачным переводом слова mandatory – «обязательный». Тем самым, мандатное разграничение доступа следует понимать как принудительное.
Разграничение доступа в ОС Windows
ОС Microsoft являются на сегодняшний день одной из наиболее распространенных в мире. В тоже время штатные средства разграничения доступа, основанные на дискреционной модели, не позволяют решить проблему потенциальной утечки конфиденциальной информации.
Защита от несанкционированного доступа и воздействия на информацию в компьютерных системах решается с помощью методов аутентификации (подтверждения подлинности субъектов доступа), авторизации (разграничения прав субъектов) и администрирования (определения и реализации адекватной угрозам политики безопасности). Для разграничения прав доступа к объектам в компьютерных системах применяются различные модели безопасности. Наиболее распространенными на сегодняшний день являются дискреционное и мандатное управление доступом.
Дискреционная модель разграничения доступа предполагает назначение каждому объекту списка контроля доступа, элементы которого определяют права доступа к объекту конкретных пользователей или групп. Эта модель отличается простотой реализации, но ее недостатком является отсутствие механизмов слежения за безопасностью потоков информации. Это означает, что права на доступ к объекту проверяются только при первом обращении к объекту. При этом возникает опасность переноса информации из защищенного объекта в общедоступный.
Мандатная модель разграничения доступа предполагает назначение объекту грифа секретности, а субъекту – уровня допуска. Доступ субъектов к объектам в мандатной модели определяется на основании правил «не читать выше» и «не записывать ниже». Это означает, что пользователь не может прочитать информацию из объекта, гриф секретности которого выше, чем его уровень допуска. Также пользователь не может перенести информацию из объекта с большим грифом секретности в объект с меньшим грифом секретности. Использование мандатной модели предотвращает утечку конфиденциальной информации, но снижает производительность компьютерной системы.
В наиболее распространенных сегодня ОС Windows и UNIX используется дискреционное разграничение доступа. Это означает, что им присуща описанная выше проблема возможной утечки конфиденциальной информации. Пользователь, имеющий право работать с защищенным объектом может перенести содержащуюся в нем информацию в другой общедоступный объект. Причем это может произойти как преднамеренно, если это делает сам пользователь, так и непреднамеренно, например, через вредоносное или шпионское ПО, запущенной от его имени.
Можно предложить метод, позволяющий контролировать возможность утечки конфиденциальной информации в операционных системах, использующих дискреционную модель разграничения доступа к объектам для защищенных систем семейства Microsoft Windows. Тем самым защищенность подобных систем будет существенно повышена без ущерба для производительности и простоты определения прав доступа.
Необходимыми условиями реализации мандатной модели в системах с дискреционным контролем доступа являются:
отслеживание (мониторинг) доступа к объектам системы;
реакция на попытку получения несанкционированного доступа;
защищенное хранение информации о грифе секретности объектов и уровне допуска субъектов системы;
наличие механизмов слежения за работой с буфером обмена.
Проведенное исследование системы безопасности ОС семейства Windows показало, что наиболее подходящим механизмом мониторинга событий обращений к объектам файловой системы является перехват системных вызовов. Технология перехвата системных вызовов SCH (System Call Hooking) позволяет в реальном времени перехватывать обращения к системным объектам. Эта технология предполагает написание низкоуровневого драйвера режима ядра, осуществляющего мониторинг функций, через которые происходит взаимодействие с объектами системы. Недостатком этого подхода является высокая сложность реализации. Одной из причин этого является закрытость операционной системы и не документированность архитектуры файловой системы NTFS, а также системных функций работы с ней. Безусловным плюсом является возможность прямого блокирования доступа к объекту.
Предполагается реализация следующих вариантов реакций на попытки получения несанкционированного доступа:
блокирование доступа к объекту;
вывод на экран сообщения о возникшей опасности утечки конфиденциальной информации;
запись в журнал аудита;
закрытие приложения, осуществившего несанкционированный доступ;
завершение сеанса работы пользователя (с возможностью блокирования данной учетной записи).
При этом администратору будет предоставлена возможность выбора необходимого варианта, а также их комбинации.
Информации о грифах секретности предлагаются хранить в системных списках аудита объектов системы. При этом предполагается создание в системе групп безопасности соответствующих каждому использующемуся уровню конфиденциальности. Для хранения информации об уровнях допуска субъектов используются групп безопасности ОС Windows (локальных или уровня домена).
В операционных системах Windows существует универсальный инструмент, позволяющий перемещать информацию между приложениями – буфер обмена. Безусловно, если не учитывать эту особенность, то вся предлагаемая модель разграничения доступа теряет смысл, т.к. пользователь может открыть документ, содержащий конфиденциальную информацию, скопировать его фрагмент в буфер обмена, и закрыть документ. После этого он может использовать содержимое буфера обмена в своих целях, например, поместить его в общедоступный объект. Для решения этой проблемы предлагается вариант шифрования содержимого буфера обмена. Это позволить полностью контролировать работу пользователя с буфером обмена. При этом возможность корректного расшифрования содержимого буфера будет предоставлена только авторизованным приложениям.
Предложенный метод позволяет реализовать мандатный принцип разграничения доступа к ресурсам в ОС семейства Microsoft Windows. Разработанное программное средство позволяет отслеживать обращение пользователей (и инициируемых ими процессов) к объектам системы и предотвращать несанкционированный доступ к информации на основе правил мандатной модели управления доступом.
Система, в которой установлено разработанное программное средство, является намного более защищенной, по сравнению со стандартными настройками, хотя и теряет небольшую честь функциональности. Безусловно, эффективная работа в такой системе подразумевает хорошее понимание пользователем правил, которых он должен придерживаться в соответствии со своим уровнем допуска, иначе работа для него будет проблематична.
Разграничение доступа к объектам в ос Windows.
Разграничение доступа к объектам
С объектом разграничения доступа связывается дескриптор безопасности SD (security descriptor), содержащий следующую информацию:
идентификатор безопасности (SID) владельца объекта;
идентификатор безопасности первичной группы владельца;
дискреционный список контроля доступа (discretionary access control list, DACL);
системный список контроля доступа (system access control list, SACL).
Списки управления доступом
Список SACL управляется администратором системы и предназначен для аудита безопасности.
Список DACL управляется владельцем объекта и предназначен для идентификации пользователей и групп, которым предоставлен или запрещен определенный тип доступа к объекту. Каждый элемент списка DACL (access control entry, ACE) определяет права доступа к объекту одному пользователю или группе.
Каждый ACE содержит следующую информацию:
идентификатор безопасности SID субъекта, для которого определяются права доступа;
маска доступа (access mask, AM), которая специфицирует контролируемые данным ACE права доступа;
признак наследования прав доступа к объекту, определенных для родительского объекта.
Разграничение доступа к объектам
Элементы списка DACL могут быть двух типов – элементы, запрещающие специфицированные в них права доступа (Access-allowed ACE), и элементы, запрещающие определенные в них права доступа (Access-denied ACE). Элементы для запрещения субъектам использования определенных прав доступа должны размещаться в «голове» списка, до первого из элементов, разрешающих использование субъектом тех или иных прав доступа.
Права доступа в Windows
Различаются специальные, стандартные и общие (generic) права доступа к объектам. Специальные определяют возможность обращения к объекту по свойственному только данной категории объектов методу – чтение данных из объекта, запись данных в объект, чтение атрибутов объекта, выполнение программного файла и т.д.
Стандартные определяют возможность доступа к объекту по методу, применимому к любому объекту (изменение владельца, изменение списка DACL, удаление и т.д.).
Специальные права для файлов и папок
Каждое из них представляет собой комбинацию специальных и стандартных прав и предоставляет возможность обращения к объекту с помощью некоторого набора методов доступа. Примеры общих прав доступа:
Чтение (чтение DACL, чтение данных, чтение атрибутов и расширенных атрибутов, использование объекта для синхронизации);
Запись (чтение DACL, запись и добавление данных, запись атрибутов и расширенных атрибутов, использование объекта для синхронизации).
Разграничение доступа к объектам
Маркер доступа субъекта, обращающегося к некоторому объекту, поступает в локальную службу безопасности LSA. От LSA маркер доступа поступает к монитору безопасных ссылок (security reference monitor, SRM), который просматривает DACL из дескриптора безопасности SD соответствующего объекта и принимает решение R о предоставлении доступа субъекту или отказе в доступе. Получив от SRM результат R, LSA передает его субъекту, запросившему доступ к объекту.
Алгоритм проверки прав доступа к объекту
Если SID из маркера доступа субъекта AT не совпадает с SID, содержащемся в элементе ACE списка контроля доступа к объекту, то осуществляется переход к следующему ACE, иначе переход к п. 2.
Если в элементе ACE запрещается доступ к объекту для субъекта с данным SID, но этот субъект является владельцем объекта и запрашиваемая маска доступа содержит только попытку доступа к объекту по методу «чтение (или) изменение дискреционного списка контроля доступа к объекту», то доступ субъекта к объекту разрешается, иначе осуществляется переход к п.3.
Если в элементе ACE запрещается доступ к объекту для субъекта с данным SID, то сравниваются запрашиваемая маска доступа и маска доступа, определенная в ACE. Если при сравнении находится хотя бы один общий метод доступа, то попытка доступа субъекта к объекту отклоняется, иначе происходит переход к следующему ACE.
Если в элементе ACE разрешается доступ к объекту для субъекта с данным SID, то также сравниваются запрашиваемая маска доступа и маска доступа, определенная в ACE. Если при этом маски доступа полностью совпадают, то доступ субъекта к объекту разрешается, иначе происходит переход к следующему ACE.
Если достигнут конец списка DACL из дескриптора безопасности объекта, то попытка доступа субъекта к объекту отклоняется.
Если DACL объекта пуст, то любой доступ к нему запрещен всем субъектам, за исключением владельца объекта, которому разрешены чтение и (или) изменение списка контроля доступа к объекту.
Если у объекта нет дескриптора безопасности (например, у папок и файлов, размещенных на дисках под управлением файловой системы FAT), то любые пользователи и группы могут получить любые права доступа к данному объекту.
Контейнерные и неконтейнерные объекты
Контейнерный объект (папка, раздел реестра) имеет логические связи с вложенными объектами, которые могут наследовать права доступа от своего родительского объекта.
По умолчанию, изменение прав доступа к папке распространяется на права доступа к файлам этой папки, но не на вложенные в нее другие папки. При наследовании права доступа, установленные для дочерних объектов, могут добавляться к правам доступа, установленным для родительского объекта, или полностью заменяться ими.
Назначение дескрипторов безопасности вновь создаваемым объектам
На основе явно заданного дескриптора безопасности (например, при вызове системной функции CreateFile).
На основе механизма наследования (если при создании объекта дескриптор безопасности не задается).
Из маркера доступа субъекта, создающего объект (если наследование невозможно).
A.2. разграничение доступа к объектам в ос windows.
Лекция 9A. Средства защиты информации в операционных системах
A.1 Архитектура подсистемы безопасности операционной системы Windows.
Основные компоненты подсистемы безопасности операционной системы Microsoft Windows представлены на рис. 9.1.
Рис.9.1. Подсистема безопасности ОС Windows
(ID и Р — имя и аутентификатор пользователя, Н — функция хеширования, SID — идентификатор безопасности учетной записи пользователя, AT— маркер безопасности, SD — дескриптор безопасности объекта доступа, R — результат проверки прав доступа процесса пользователя к объекту).
Ядром подсистемы безопасности является локальная служба безопасности (Local Security Authority — LSA), размещающаяся в файле lsass.exe. После загрузки операционной системы автоматически запускается процесс входа (winlogon.exe), который остается активным до перезагрузки операционной системы или выключения питания компьютера.
После нажатия пользователем комбинации клавиш Ctrl+Alt+ +Delete процесс входа обращается к провайдеру аутентификации (динамически компонуемой библиотеке функций — DLL) для приема от пользователя его логического имени (ID) и аутентифицирующей информации (Р). Стандартный провайдер аутентификации размещается в файле msgina.dll (Graphical Identification and Authentication dynamic-link library — динамически компонуемая библиотека GINA) и в качестве аутентифицирующей информации использует пароли пользователей, введенные с клавиатуры или считанные со смарт-карты.
Путь к используемому процессом входа в систему провайдеру аутентификации записан в разделе реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\ WindowsNT\CurrentVersion \WinLogonкак значение параметра GinaDLL.
Владельцем всех рабочих столов в операционной системе Windows (Graphic User Interface — GUI) является процесс входа. Сам процесс входа выполняется на отдельном рабочем столе, активизируемом после нажатия пользователем клавиш Ctrl+Alt+ +Delete.
Сообщение о нажатии Ctrl+Alt+Delete посылается только процессу входа, который остается активным до завершения работы операционной системы.
Для процессов прикладных программ, запущенных пользователем нажатие этой комбинации клавиш совершенно незаметно.
Введенный пользователем пароль провайдером аутентификации передается в службу LSA, которая обращается к пакету аутентификации (динамически компонуемой библиотеке функций) для подтверждения подлинности введенного имени пользователя.
Для аутентификации локальной учетной записииспользуется пакет аутентификации MSV10 (из файла msvl_0.dll).
Пакет аутентификации вычисляет хеш-значение пароля Н(Р) и обращается к диспетчеру учетных записей (Security Account Manager — SAM) для проверки правильности введенного пароля .
SAM обращается к базе данных учетных записей (базе данных SAM) для извлечения информации из учетной записи пользователя .
База данных учетных записей содержится в разделе реестра HKEY_LOCAL_MACHINE\SAM (в файле Windows\System32\ Config\SAM).
К базе данных SAM не может быть получен доступ для чтения или изменения даже администратором (файл с базой данных открывается ядром операционной системы во время ее загрузки в монопольном режиме). Для редактирования базы данных SAM предназначены специальные функции из набора Windows API и специальное системное программное обеспечение (оснастки «Управление компьютером» и «Локальная политика безопасности»).
Пароль пользователя в базе данных SAM хранится в виде двух хеш-значений, каждое из которых имеет длину 128 бит. Первое из этих хеш-значений формируется по алгоритму Windows NT:
1.Строка символов пароля Р усекается до 14 знаков (при необходимости) и преобразуется в кодировку Unicode, в которой каждый символ представляется двумя байтами.
3.Полученное хеш-значение зашифровывается по алгоритму DES с помощью ключа, выводимого из относительного номера учетной записи пользователя, ERW(H
4.Результат шифрования записывается в базу данных учетных записейSAM.
Второе хеш-значение пароля пользователя вычисляется по алгоритму LAN Manager:
1.Все буквенные символы (латинского алфавита) строки пароля Рпреобразуются к верхнему регистру.
2.Строка символов пароля дополняется нулями, если она короче 14 байтов, и делится на две семибайтовые половины Р1 и Р2.
3.Каждое из значений Р1 и Р2 используется в качестве ключа для шифрования по алгоритму DES магической строки М= «KGS!@#$%», в результате которого получаются два значения из 64 бит каждое :
Н1 = ЕР1(М)и Н2 = Е Р2 (М).
4.Выполняется шифрование по алгоритму DES на ключе, равном относительному номеру учетной записи, результата сцепления Н1 и Н2 :
5.Результат шифрования помещается в базу данных учетных данных SAM.
Алгоритм получения хеш-значения LAN Manager является значительно менее стойким (разделение пароля на две половинки облегчает его подбор в том случае, если длина пароля не превышает семи знаков, так как результат шифрования магической строки на нулевом ключе заранее известен нарушителю). Относительный номер учетной записи может быть получен нарушителем ( встроенная учетная запись администратора всегда имеет относительный номер 500).
Доступ к базе данных SAM с помощью штатных средств Windows практически невозможен, тем не менее можно скопировать содержащий ее файл на подготовленный носитель после загрузки на компьютере другой операционной системы с заранее подготовленного съемного диска.
Администратор безопасности Windows может дополнительно зашифровать хеш-значения паролей пользователей в базе данных SAM с помощью системной программы syskey. Программа syskey обеспечит шифрование хеш-значений паролей с помощью первичного ключа длиной 128 бит, хранящегося в реестре также в зашифрованном на системном ключе виде.
После запуска программы syskey администратор должен выбрать способ хранениясистемного ключа длиной также 128 бит, который будет использован для шифрования первичного ключа:
-в системном реестре (преимущество этого варианта — отсутствие необходимости присутствия привилегированного пользователя при загрузке или перезагрузке операционной системы, а недостаток — наименьшая защищенность хранения системного ключа);
-в файле startup.key (длиной 16 байт) в корневом каталоге специальной дискеты (в этом случае придется отдельно позаботиться о защищенном хранении этой дискеты и ее резервной копии);
-без физического сохранения системного ключа, который будет генерироваться из специальной парольной фразы длиной не менее 12 символов.
Если пользователь пытается войти в систему под именем глобальной учетной записи, зарегистрированной в домене (объединении компьютеров, разделяющих общую политику безопасности и информацию об учетных записях пользователей ), то пакет аутентификации MSV1_0 отправляет логическое имя и хеш-значение пароля пользователя сервису NetLogon для аутентификации пользователя на контроллере домена (сервере аутентификации). Далее выпол-няется аутентификация пользователя по протоколам LM, NTLM и NTLM v2 .
Но основным пакетом аутентификации при входе пользователя под именем глобальной учетной записи в современных версиях ОС Windows является пакет аутентификации Kerberos SSP/AP (Security Support Provider/Authentication Packages, провайдер поддержки безопасности/пакет аутентификации), использующий более защищенный протокол непрямой аутентификации Kerberos.
Если результат аутентификации пользователя отрицателен — пакет аутентификации возвращает LSA код ошибки, который локальная служба безопасности передает процессу входа для выдачи пользователю сообщения об отказе в доступе к системе.
При подтверждении подлинности пользователя пакет аутентификации получает идентификатор безопасности пользователя SID(security identifier), который затем передается b LSA.
Идентификатор безопасности представляет собой структуру переменной длины, которая однозначно определяет пользователя или группу и сохраняется в его учетной записи в регистрационной базе данных.
В SID содержится следующая информация:
— идентификатор авторизации (48 бит), состоящий из идентификатора домена КС и относительного номера учетной записи (RID) в его регистрационной базе данных (32 бита);
— переменное количество идентификаторов субавторизации.
Для записи SID применяется специальная нотация:
S-R-I-S-S… (первая S определяет эту запись как SID, R задает уровень пересмотра, I— идентификатор авторизации, вторая и последующие буквы S— идентификаторы субавторизации). Некоторые значения SID являются предопределенными в системе,:
S-1-0-0 (группа без пользователей-членов), S-1-1-0 (группа, включающая всех пользователей), S-1-2-0 (группа, включающая пользователей, которые входят локально), S-1-5-2 (группа, включающая пользователей, осуществляющих доступ по сети), S-1-5-18 ( операционная система).
Получив идентификатор безопасности пользователя, локальная служба безопасности LSA создает для него маркер доступа AT (access token), который идентифицирует пользователя во всех его действиях с объектами КС.
В маркере доступа содержится следующая информация:
— идентификаторы безопасности его групп;
— права (привилегии) пользователя в системе;
— идентификаторы безопасности пользователя и его первичной группы, которые будут использованы при создании пользователем новых объектов в КС;
— дискреционный список контроля доступа по умолчанию для вновь создаваемого объекта;
— источник выдачи маркера доступа;
— тип маркера доступа — первичный (созданный при входе пользователя в КС) или используемый для олицетворения (impersonation);
— текущий уровень олицетворения.
В маркер доступа не помещаются сведения о правах входа пользователей в КС, которые проверяются пакетом аутентификации на этапе их авторизации в системе:
— локальный вход в систему;
— доступ к компьютеру из сети;
— вход в качестве пакетного задания;
— вход в качестве службы;
— вход в систему через службу терминалов.
Созданный LSA маркер доступа AT передается процессу входа, который с помощью провайдера аутентификации завершает процесс авторизации пользователя, запуская процесс его инициализации (userinit.exe) и передавая ему AT. Процесс инициализации на основе содержащегося в AT идентификатора безопасности пользователя загружает из реестра Windows его локальный профиль или из службы активного каталога на контроллере домена его перемещаемый профиль и загружает программную оболочку — проводник Windows (explorer.exe), передавая ему маркер доступа и профиль пользователя. Процесс инициализации завершает свою работу.
При запуске в сеансе пользователя любой программы создаваемому процессу передается копия маркера безопасности пользователя, что обеспечивает передачу процессу и всех прав пользователя в системе.
Для запуска приложения с правами другого пользователя, если известны его имя и пароль, предназначена команда контекстного меню файла приложения «Запуск от имени». Эту возможность следует использовать для сокращения времени работы в системе с правами привилегированного пользователя.
В операционной системе Windows Vista любое приложение по умолчанию запускается с правами непривилегированного пользователя. Для запуска программы с административными полномочиями следует использовать соответствующую команду контекстного меню файла приложения.
A.2. Разграничение доступа к объектам в ОС Windows.
Для разграничения доступа субъектов к объектам КС в защищенных версиях операционной системы Windows используется дискреционное управление доступом. С каждым объектом разграничения доступа связывается дескриптор безопасности SD(security descriptor), содержащий следующую информацию:
-идентификатор безопасности (SID) владельца объекта;
— идентификатор безопасности первичной группы владельца (в Windows это поле не используется в алгоритме проверки прав доступа субъекта к объекту);
-дискреционный список контроля доступа (discretionary access control list — DACL);
-системный список контроля доступа (system access control list — SACL).
Список SACL управляется администратором системы.
Список DACL предназначен для идентификации пользователей и групп, которым предоставлен или запрещен определенный тип доступа к объекту. Список редактируется владельцем объекта, но и члены группы администраторов по умолчанию имеют право на смену разрешений на доступ к любому объекту, которое может быть у них отнято владельцем объекта.
Каждый элемент списка DACL (access control entry — АСЕ) определяет права доступа к объекту одного пользователя или группы.
АСЕ содержит следующую информацию:
-идентификатор безопасности SID субъекта, для которого определяются права доступа;
— маску доступа (access mask — AM), которая специфицирует контролируемые данным АСЕ права доступа;
— признак наследования прав доступа к объекту, определенных для родительского объекта.
Элементы списка DACL могут быть двух типов:
— элементы, разрешающие специфицированные в них права доступа (Access-allowed АСЕ);
— элементы, запрещающие определенные в них права доступа (Access-denied АСЕ).
Элементы для запрещения субъектам использования определенных прав доступа должны размещаться в «голове» списка, до первого из элементов, разрешающих использование субъектом тех или иных прав доступа.
Право доступа субъекта к объекту означает возможность обращения субъекта к объекту с помощью определенного метода (типа) доступа. В операционной системе Windows различаются:
— специальные права доступа к объектам;
— стандартныеправа доступа к объектам(общие);
— родовые (generic) права доступа к объектам.
Специальные права доступа определяют возможность обращения к объекту по свойственному только данной категории объектов методу — чтение данных из объекта, запись данных в объект, чтение атрибутов объекта, выполнение программного файла.
Стандартные права доступа определяют возможность доступа к объекту по методу, применимому к любому объекту, — изменение владельца объекта, изменение списка DACL объекта, удаление объекта.
Родовые права доступа представляет собой комбинацию специальных и стандартных прав и предоставляет возможность обращения к объекту с помощью некоторого набора методов доступа.
Маска доступа, содержащаяся в элементе DACL, представляет собой значение длиной 32 бита. Первые 16 битов определяют специальные права доступа, биты с 16 до 23 — стандартные права доступа, бит 24 — право ACCESS_SYSTEM_SECURITY, бит 25 — право MAXIMUM_ALLOWED, биты 26 и 27 зарезервированы для дальнейшего использования и биты с 28 по 31 определяют родовые права доступа, отображаемые в специальные и стандартные права при попытке доступа к объекту.
Маркер доступа субъекта, обращающегося к некоторому объекту КС, поступает в локальную службу безопасности LSA. От LSA маркер доступа поступает к монитору безопасных ссылок (security reference monitor — SRM), который просматривает DACL из дескриптора безопасности SD соответствующего объекта и принимает решение R о предоставлении доступа субъекту или отказе в доступе. Получив от SRM результат R, LSA передает его субъекту, запросившему доступ к объекту.
При проверке прав доступа субъекта к объекту монитором безопасных ссылок строятся две маски — требуемых и разрешенных прав доступа (desired access mask и granted access mask).
В первой маске установлены биты, соответствующие запрашиваемым субъектом видам доступа. Во второй маске все биты первоначально сброшены.
Монитор безопасных ссылок использует специальный алгоритм проверки запрошенных субъектом прав доступа к объекту:
1. Если в дескрипторе безопасности объекта нет DACL, то биты в маске разрешенных прав доступа устанавливаются в соответствии с маской требуемых прав и проверка завершается. Субъект получает все запрошенные им права доступа.
2.Если маска требуемых прав пуста, то проверка завершается, а попытка доступа субъекта отклоняется.
Из приведенного алгоритма ясно, что если DACL объекта пуст, то любой доступ к нему запрещен всем субъектам, за исключением владельца объекта. Если требуется получить действительно необходимый доступ к данному объекту его владелец сможет снова внести изменения в DACL этого объекта.
Если у объекта КС нет дескриптора безопасности (у папок и файлов, размещенных на дисках под управлением файловой системы FAT), то любые пользователи и группы могут получить любые права доступа к данному объекту.
Назначение дескрипторов безопасности вновь создаваемым объектам в защищенных версиях операционной системы Windows производится по следующим правилам:
1. на основе явно заданного субъектом и корректного по форме дескриптора безопасности (при вызове системных функций CreateFile или CreateDirectory при создании файлов или папок, при вызове системной функции RegCreateKeyEx при создании раздела реестра);
2. на основе механизма наследования (если при создании объекта дескриптор безопасности не задается);
3. из маркера доступа субъекта, создающего объект (если наследование невозможно).
В Windows возможно разграничение доступа к следующим объектам:
— файлам и папкам на дисках под управлением файловой системы NTFS;
— процессам и потокам (нитям, threads);
Способы аппаратной защиты инициированных субъектами процессов в операционной системе Windows. Ядро и драйверы устройств выполняются в нулевом кольце защиты, а весь остальной системный код и приложения пользователей — в третьем кольце защиты. Первое .и второе кольца защиты не используются. Каждый процесс получает адресное пространство размером 4 гигабайта, рассматриваемое как шесть совпадающих друг с другом сегментов — код, данные и стек для третьего кольца защиты, код, данные и стек для нулевого кольца защиты.
В операционной системе Windows реализован подход, в соответствии с которым каждому процессу выделяется индивидуальное адресное пространство, которое аппаратно изолировано от адресных пространств других процессов. В этом случае, какой бы адрес оперативной памяти не использовался в процессе, невозможно обращение к памяти, выделенной другому процессу.
Статьи к прочтению:
WS | 2. Права учетной записи и группа безопасности
Похожие статьи:
Цель работы: освоение средств защищенных версий операционной системы Windows, предназначенных для: — разграничения доступа субъектов к папкам и файлам; -…
После выполнения идентификации и аутентификации необходимо установить полномочия (совокупность прав) субъекта для последующего контроля…