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 поэтому там и применяют методы для закрытия от записи и чтения. Но защиту они там используют по мнимому.

Автор:  poly [ 18 июл 2018, 09:39 ]
Заголовок сообщения:  Re: Express OS (2012)

Himik писал(а):
В данный момент планирую переход на 64-битный режим, совместно с 32-битным и виртуальным 16-битным (потому что ОС использует BIOS).
16-битный режим несовместим с 64-битным, поэтому системе нужен 2х-ядерный процессор, на первом ядре проца будет постоянно работать 64-битное ядро системы, на втором проце тоже будет работать 64-битное ядро, но периодически переходить на 32-битное ядро с виртуальной 16-битной задачей (по мере вызова BIOS процедур).

Я до такого, к сожалению, не додумался. Жаль, что сейчас не на всех 64битных устройствах есть полноценный 16-битный BIOS!

Автор:  Himik [ 18 июл 2018, 19:42 ]
Заголовок сообщения:  Re: Express OS

От 32-битного ядра и виртуального режима VM86 я отказался, поэтому для вызова BIOS делается сразу переключение из 64-битного в реальный режим и обратно в 64-битный.
Да, в режиме UEFI нет BIOSа, поэтому надо будет переделывать.

Автор:  poly [ 19 июл 2018, 08:21 ]
Заголовок сообщения:  Re: Express OS

Можно попробовать и не ради BIOSа отключить на одном из логических процессоров Long mode, и планировать на него 32-разрядные, 16-разрядные и V86 задачи.

Автор:  poly [ 19 июл 2018, 08:36 ]
Заголовок сообщения:  Re: Express OS

Где, кстати, сейчас можно смотреть последние изменения?
На Яндекс.Диске?
Ссылки в начале темы протухли за прошедшие годы.

Автор:  Himik [ 19 июл 2018, 20:59 ]
Заголовок сообщения:  Re: Express OS

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

Автор:  poly [ 20 июл 2018, 08:55 ]
Заголовок сообщения:  Re: Express OS

То есть, всё сейчас тут
https://yadi.sk/d/RJ_W8nEqctQuJ

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