Виртуальное адр. пространство. Связывание адресов.



В 32-битных системах процессор может сгенерировать 32-битный адрес. Это означает, что каждому процессу выделяется диапазон виртуальных адресов от 0x00000000 до 0xFFFFFFFF. Эти 4 Гб адресов система делит примерно пополам, и для кода и данных пользовательского режима отводятся 2 Гб в нижней части памяти. Если быть более точным, то речь идет об виртуальных адресах, начиная с 0x00010000 и кончая 07FFEFFFF. Таким образом, система управления памятью позволяет пользовательской программе с помощью Win32 API записать нужный байт в любую виртуальную ячейку из этого диапазона адресов. Адреса верхней части виртуальной памяти используется для кода и данных режима ядра и других системных нужд.

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

 

Вирт адр прос-во. Сегментно-стран память Windows.

В 32-битных системах процессор может сгенерировать 32-битный адрес. Это означает, что каждому процессу выделяется диапазон виртуальных адресов от 0x00000000 до 0xFFFFFFFF. Эти 4 Гб адресов система делит примерно пополам, и для кода и данных пользовательского режима отводятся 2 Гб в нижней части памяти. Если быть более точным, то речь идет об виртуальных адресах, начиная с 0x00010000 и кончая 07FFEFFFF. Таким образом, система управления памятью позволяет пользовательской программе с помощью Win32 API записать нужный байт в любую виртуальную ячейку из этого диапазона адресов. Адреса верхней части виртуальной памяти используется для кода и данных режима ядра и других системных нужд.

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

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

В большинстве современных реализаций сегментно-страничной организации памяти в отличие от набора виртуальных диапазонов адресов при сегментной организации памяти все виртуальные сегменты образуют одно непрерывное линейное виртуальное адресное пространство.

Преобразование виртуального адреса в физический происходит в два этапа:

1. Сегментация.

2. Страничный механизм.

 

Безоп Windows. Ролевая модель. Дескриптор защиты.

РОЛЕВАЯ МОДЕЛЬ. В системе есть по меньшей мере 1 пользователь администратор с неограниченными правами, а также множество пользователей объединенных в группы. Цель системы защиты – следить за тем кто и к каким объектам осуществляет доступ. Хранится вся инфа, относящаяся к безопасности для пользователей, объектов и субъектов. Обеспечивается единообразие контроля доступа к различным объектам за счет связанного с каждым объектом дескриптора защиты.

Все объекты Windows защищены единообразно. Во время создания объекта с ним связывается так называемый дескриптор защиты. Он содержит: Sid владельца и Sid группы данного объекта и 2 указателя на списки: dacl и sacl.

Dacl и sacl содержат в себе разрешающие и запрещающие доступ в списке пользователей и групп\списки пользователей, чьи попытки доступа подлежат аудиту.

Acl состоит из набора ACE . ACE содержит sid и перечень прав в виде маски 32-разрядной маски доступа, определяющей набор операций, которые разрешены либо запрещены данному субъекту.

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


Дата добавления: 2018-05-31; просмотров: 313; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!