Microsoft: поведение ASLR в новых версиях Windows — не баг, а фича

Компания Microsoft заявила, что система защиты ASLR работает именно так, как было задумано разработчиками.
Microsoft ASLR

Напомним, что аналитик по уязвимостям из CERT/CC Уилл Дорман обнаружил некорректную работу ASLR. В определённых условиях она просто не выделяет память для двоичных файлов приложений случайным образом. Таким образом, Дорман предположил, что ASLR неисправна в новых версиях Windows и пользователи открыты для атак повторного использования кода.

Не баг, а фича!

Но Microsoft, получив жалобу на ошибку в работе ASLR, сообщила, что функция работает именно так, как и было задумано:

ASLR работает так, как и предполагалось. Проблема конфигурации, описанная Уиллом Дорманом, затрагивает только те приложения, для exe-файлов которых ASLR не используется (выделены жёлтым). Найденная проблема не является уязвимостью, не создаёт дополнительного риска и не ослабляет существующие системы безопасности приложений.

Microsoft ASLR Представитель Microsoft также добавил, что CERT/CC действительно идентифицировали проблему с интерфейсом конфигурации «Защитника Windows» (Windows Defender Exploit Guard, WDEG), которая в настоящее время препятствует общесистемной активации рандомизации снизу-вверх. Команда разработчиков WDEG активно исследует найденную проблему и постарается решить её в кратчайшие сроки.

Принудительное включение рандомизации снизу-вверх

Для тех же пользователей, кто действительно желает включить рандомизацию снизу-вверх для процессов, для exe-файлов которых ASLR не используется, Microsoft советует следующее. Первый способ решения описан подробно в нашей статье. Второй способ — принудительное включение ASLR и рандомизации снизу-вверх с помощью программной конфигурации WDEG или EMET:

Microsoft ASLR

Что такое ASLR?

ASLR — это критически важная система защиты, используемая во всех современных ОС: Windows, Linux, macOS, Android и BSD. Вкратце, ASLR — это механизм защиты памяти, который рандомизирует место исполнения программы в памяти. Это усложняет загрузку зловредов в конкретные места в памяти при эксплуатации переполнений или схожих багов.

Источник: MSPoweruser