- PVSM.RU - https://www.pvsm.ru -

Microsoft совершенствует механизмы безопасности ядра Windows 10

Известный гуру внутреннего устройства Windows, Alex Ionescu [1], раскрыл новые особенности ядра Windows 10, которые появились в новом билде Windows 10 Insider Preview 14332. Ранее в нашем блоге мы неоднократно упоминали Insider Preview версии Windows 10, которые используются разработчиками программ и драйверов для тестирования. Появляющиеся в них обновления затем будут выпущены для всех пользователей Windows 10 в качестве одного большого обновления этой ОС.

Microsoft совершенствует механизмы безопасности ядра Windows 10 - 1

На сей раз речь идет об ASLR в режиме ядра (Kernel ASLR), о котором известно не так много, в отличие от его аналога [2] для Ring3 компонентов Windows. До Windows 10 14332 Windows использовала лишь частичную реализацию KASLR только [3] для системных образов (драйверов) и начиная с Windows Vista SP1. Теперь с каждой перезагрузкой Windows будет изменять виртуальные адреса размещения не только драйверов, но и, практически, всех структур ОС и компонентов, работающих в системном виртуальном адресном пространстве.

Главная цель, которую преследует Windows (как и Apple OS X, iOS, Google Android) при реализации ASLR заключается в перемещении важных структур данных и системных образов в системной части виртуального адресного пространства по новым адресам с каждой перезагрузкой. Кроме этого, структуры данных ядра Windows, которые она, в том или ином виде, может передавать в Ring3, не должны содержать прямых или косвенных указателей на объекты ядра. Это также является требованием к реализации ASLR.

Microsoft совершенствует механизмы безопасности ядра Windows 10 - 2
Рис. По данным Ионеску, для диспетчера виртуальной памяти Windows произойдет ранее невиданное, адреса проецирования каталогов и таблиц страниц будут динамическими. Эксплойты Local Privilege Escalation (LPE), которые опирались на фиксированные адреса в системном виртуальном адресном пространстве перестанут корректно работать. Исключение составят только используемые HAL регионы памяти, а также все еще актуальные [4] указатели в PEB.GdiSharedHandleTable. Данная лазейка все еще может быть использована для частичного обхода KASLR в эксплойтах.

Начиная с Win10 14332, Windows сможет менять виртуальные адреса базирования таких критичных структур данных диспетчера виртуальной памяти как каталог таблиц страниц (PDE), таблицы страниц (PTE), адреса системных PTE, гиперпространства, базы данных PFN и т. д. В концепциях распределения виртуального адресного пространства ядра Windows всегда подразумевался базовый стартовый адрес начала таблиц страниц и вышеперечисленных структур, адреса были зашиты еще на этапе компиляции ядра и могли различаться только в случае 32-битного или 64-битного виртуального адресного пространства, а также использования PAE-адресации.

Новая мера Microsoft существенно повысит иммунитет Windows к LPE-эксплойтам, которые опираются на фиксированные виртуальные адреса в виртуальном адресном пространстве ядра. Ранее мы писали [5] про добавленную Microsoft меру по защите от LPE-эксплойтов, которая разрешит приложениям фильтровать доступ к системным сервисам Win32k ( Win32k syscalls filtering), часто используемым эксплойтами при срабатывании уязвимостей в win32k.sys. Обе эти функции станут доступны пользователям Windows 10 в новом большом обновлении ОС.

Автор: ESET NOD32

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/security/119638

Ссылки в тексте:

[1] Alex Ionescu: https://twitter.com/aionescu

[2] аналога: https://habrahabr.ru/company/eset/blog/206244/

[3] только: http://www.osronline.com/showthread.cfm?link=235951

[4] актуальные: https://twitter.com/NicoEconomou/status/725772271512604676

[5] писали: https://habrahabr.ru/company/eset/blog/281481/

[6] Источник: https://habrahabr.ru/post/282744/