ПредишенСледващото

разрешенията се проверяват

модел за сигурност на Windows изисква потокът предварително - преди откриването на обекта - показва какво операции той ще извърши върху обекта. Системата проверява вида на достъп, поискана от потока, и ако е такъв достъп е позволил тази функция, той получава манипулатор, който позволява на него (и другите нишки на един и същ процес), за да извършват операции на обекта. Както бе посочено в глава 3, управителят на обекта регистрира правата за достъп, предоставени за дескриптора в ЕВРОВОК маса, собственост на процеса.

Едно от събитията, принуждавайки управителя на обекта, за да проверите правата за достъп - откриването на процеса на съществуващ обект по име. Когато отворите обект на име обект мениджър търси го в своето пространство от имена. Ако този обект не е вторичен пространство от имена (например име пространство регистър принадлежност конфигурация на контролера, или името на файловата система пространство, принадлежащо към шофьора на файлова система), управителят на обекта призовава вътрешна функция ObpCreateHandle. Както подсказва името му, той създава един елемент в таблицата с дръжка, която е свързана с обекта. Въпреки ObpCreateHandle призовава системата на изпълнителната власт ExCreateHandle и създава ЕВРОВОК само ако друга функция обект мениджър, ObpIncrementHandleCount, съобщава, че потокът има право на достъп до обекта. Въпреки това, истинската проверка на правата за достъп за извършване на друга функция обект мениджър, ObCheckObjectAccess, която връща резултатите от функцията за проверка ObpIncrementHandleCount.

ObpIncrementHandleCount предава ObCheckObjectAccess поток защита идентичност видове отваряне на обектите те поискали достъп (четене, писане, изтриване, и така нататък. D.) и показалеца на обекта. ObCheckObjectAccess първата защита на обекти блокове и контекст на сигурността поток. Lock обект защита предотвратява неговото изменение от друга нишка по време на проверката на правата за достъп и заключване защита конец контекст предотвратява друга тема от същия или друг процес за промяна на идентичността на първата защита на потока при проверка на неговите права на достъп. Допълнителна метод ObCheckObjectAccess защита причинява обекта, за да получите настройките за сигурност на даден обект (описание обект на методите виж гл. 3). метод Call защита може да доведе до функцията обаждане от друг компонент на поправителния система, но много от обектите на изпълнителните системи разчитат на стандартна поддръжка за управление на сигурността, предложената система.

Ако изпълнителната компонент на системата, определяне на обекта, е няма да замени стандартната политика за сигурност, тя бележи типа на тези обекти, като се използва стандартна защита. Всеки път, когато SRM е обект на метод на защита, той първо се проверява дали обектът е стандартна защита. Обект със стандартна защита съхранява информация за сигурност в своята заглавна и осигурява метод за предпазване на името SeDefaultObjectMethod. Един обект, който не използва стандартен отбрана, ако той поддържа информационната сигурност и да осигурят собствения си метод сигурност. Стандарт за защита на такива обекти, използвани като mutexes, събития и семафори. Един пример за обект с нестандартен защита - файл. Контролерът IO, определя обект тип "файл", там е шофьор на файловата система, която управлява защитата на файловете си (или да не реши да го приложат). По този начин, когато системата изисква информация за опазване на обект "файл", който представлява файл в обем на NTFS, той получава тази информация от водача на система NTFS файл, което от своя страна, която получава от начина на защита на обект "файл", принадлежащ към контролера IO. Имайте предвид, че когато отворите ObCheckObjectAccess файл не е като обекти на "файл" са вторични именни пространства; системата нарича обект на метод защита "файл", само ако potokyavno въпроси или задава настройките за сигурност на файла (например, чрез SetFileSecurity на Windows-функция или GetFileSecurity).

След получаване на информация за защита на обекта, ObCheckObjectAccess причинява SRM-функция SeAccessCheck, който поддържа целия модел за сигурност на Windows. Това отнема поточни данни, защита опазване параметри на обектите за самоличност (формата, в която са получили ObCheckObjectAccess) и типа достъп поиска поток. SeAccessCheck връща Вярно или невярно зависимост от това дали те действително осигури притока на заявения тип на достъп до обекта.

Впоследствие, на потока може да се опита да напише нещо във файла чрез WriteFile на Windows-функция, която минава като параметър на файлов дескриптор. Система за обслужване NtWriteFile, което предизвика WriteFile чрез ntdll.dll, ще се хареса на мениджъра на функция обект ObReferenceObjectByHandle, за да получите указател към обект "файла" в своята ЕВРОВОК. ObReferenceObjectByHandle получава заявения тип достъп, като параметър. Намирането на дескрипторите в таблица елемент, съответстващи на изискваните дескриптора, ObReferenceObjectByHandle сравнява заявения тип достъп до това, което е дадено при отваряне на файла. В този случай ObReferenceObjectByHandle посочи, че операцията за запис е да се провали, тъй като се обадите нишка, отваряне на файлове, не е получил правото да я запишете.

функции за сигурност на Windows също дават възможност на Windows-приложения, за да определят свои собствени затворени обекти и да причини SRM-услуги, които се прилагат към тези обекти със защитата на Windows. Много функции на ядрото режим, използван от управителя на обекта и други компоненти на изпълнителната система за защита на неговите съоръжения, се изнасят под формата на Windows потребител режим функции. Например, еквивалентен SeAccessCheck потребителски режим е AccessCheck. По този начин, Windows-приложения могат да използват модел за сигурност на Windows и се интегрират с удостоверяване и администрация интерфейсите на операционната система.

Същността на модела на SRM сигурност представлява математически израз на трите входни параметри: поток защита на идентичността искания тип достъп и информацията за сигурност на обекта. В този резултат - ценности "да" или "не", които определят дали да предостави модел за защита заявения тип на достъп. В следващите секции ще говорим за тези входни параметри и разрешения за проверка алгоритъм в модела за сигурност.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!