OSDev
http://osdev.ru/

Express OS
http://osdev.ru/viewtopic.php?f=4&t=178
Страница 19 из 19

Автор:  pavia [ 25 янв 2017, 21:42 ]
Заголовок сообщения:  Re: Express OS

Там целая система. Которая организует доверенную зону. Для этого требуется соблюдения ряда простых условий порядка 10-20 но есть нюансы в том смысле что доказательство носит сложный и запутанный характер. Поэтому для правильности применяют математические методы но они не дают гарантий, поэтому привлекают специальные лаборатории.

Хотя в виндоусе это сделано через одно место.

После запуска от администратора система снимает ряд ограничений. Делается это по классической виндоуской схеме User-space API далее API-сервиса далее ядро. Хотя такое должно делаться через ядро. Но по факту вызываеьтя CredUIPromptForCredentials().

Потоки хранят свою информацию в ядре. Поэтому из User-space до неё не добраться. Каждый поток имеет имя пользователя и его привилегии. Думаю можно начинать рыть от LPSECURITY_ATTRIBUTES lpSecurityAttributes. Насколько помню каждый объект-ядра имеет уровень привилегий.

1)
При снятии ограничений ряд объектов в ядре и user-space получают разрешения на чтение и запись функция VirtualProtect. Делается это обычно через страницы. Ничего сверх естественного. Но какие участки разумеется засекречено.
Отслеживания какой участок имеет какие права делается через списки. Скорее всего хранятся в User-spase в одной из системных куч.

2)
Что касается исключений, то ядерные функции просто проверяют привилегии и вызывают исключение. Исключение бросается аналогично тому как вызывается функция. Хотя по форме выглядит как магия аппаратной защиты. Дело в том что установка привилегий и проверка разнесена в пространстве и времени.
В прикладном уровне такого кода нет. Так как если бы он был то это бы нарушает понятие доверенной зоны.
Шифрование находиться в User-space поэтому там и применяют методы для закрытия от записи и чтения. Но защиту они там используют по мнимому.

Страница 19 из 19 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/