Интересно, есть ли возможность настроить NT так, чтобы она загружала ядро и hal не в одну большую 4М-страницу, а в много маленьких по 4К?
Просто тут возникает проблема с безопасностью: и код и данные лежат в одной и той же странице с разрешением на запись
Т.е. микрософт сэкономил 4 килобайта в таблице страниц и создал брешь в защите ядра.
Re: загрузка ntoskrnl.exe b hal в страницы по 4К
От:
Аноним
Дата:
05.12.07 09:56
Оценка:
А>Интересно, есть ли возможность настроить NT так, чтобы она загружала ядро и hal не в одну большую 4М-страницу, а в много маленьких по 4К? А>Просто тут возникает проблема с безопасностью: и код и данные лежат в одной и той же странице с разрешением на запись А>Т.е. микрософт сэкономил 4 килобайта в таблице страниц и создал брешь в защите ядра.
и что это даст? дырка то останется в защите данных и ее можно будет эксплуатировать. И вообще имея доступ к памяти ядра будет куча других способов записать код туда. А исправив скажем 99 способов из 100 вы ни на сколько не увеличите безопасность системы.
Здравствуйте, Аноним, Вы писали:
А>Просто тут возникает проблема с безопасностью: и код и данные лежат в одной и той же странице с разрешением на запись А>Т.е. микрософт сэкономил 4 килобайта в таблице страниц и создал брешь в защите ядра.
А что изменить бит WP так трудно? Это я про то, что если бы были старницы по 4К.
Re[2]: загрузка ntoskrnl.exe b hal в страницы по 4К
От:
Аноним
Дата:
05.12.07 14:58
Оценка:
Здравствуйте, Аноним,
И все-таки, есть ли возможность настроить винду на загрузку ядра в 4К-страницах?
(Будем условно предполагать что это и есть оставшийся 1 вариант)
А>Просто тут возникает проблема с безопасностью: и код и данные лежат в одной и той же странице с разрешением на запись А>Т.е. микрософт сэкономил 4 килобайта в таблице страниц и создал брешь в защите ядра.
А где брешь-то? защита ядра _от кернел модного_ кода — задача все равно неразрешимая (кроме как требованием цифровой подписи на все кернеловские бинари , потому использование read-only PTE bit в кернеле вообще малоосмыслено, да и не на всех процессорах x86 поддерживается.