Осторожно: Windows неправильно реализует ASLR, исправление доступно
Начиная с Vista, Windows поставляется с рандомизацией разметки адресного пространства (ASLR). ASLR - это метод компьютерной безопасности, используемый для предотвращения эксплуатации уязвимостей, связанных с повреждением памяти. Чтобы злоумышленник не мог надежно перейти, например, к определенной эксплуатируемой функции в памяти, ASLR случайным образом размещает позиции адресного пространства областей ключевых данных процесса, включая базу исполняемого файла и позиции стека, кучи и библиотеки. В Windows 8 и более поздних версиях есть ошибка, которая делает этот метод бесполезным, но вы можете ее исправить.
Функция ASLR (рандомизация разметки адресного пространства) была впервые представлена в Windows Vista. Это позволяет предотвратить атаки с повторным использованием кода. ASLR предоставляет случайный адрес памяти для выполнения кода.
Рекламное объявление
В Windows 8, Windows 8.1 и Windows 10 функция ASLR не работает должным образом. Из-за неправильной конфигурации по умолчанию ASLR не использует случайные адреса памяти.
Обновление: на Technet есть официальный пост в блоге, в котором объясняется суть. Прочтите это здесь: Уточнение поведения обязательного ASLR.
В сообщении говорится:
Проблема конфигурации не является уязвимостью, не создает дополнительного риска и не ослабляет существующее состояние безопасности приложений.
Сообщение на CERT подробно объясняет проблему.
И EMET, и Exploit Guard в Защитнике Windows включают общесистемную ASLR без включения общесистемной восходящей ASLR. Хотя защита от эксплойтов Защитника Windows имеет общесистемную опцию для общесистемной восходящей ASLR, значение GUI по умолчанию «Включено по умолчанию» не отражает базовое значение реестра (не задано). Это приводит к перемещению программ без / DYNAMICBASE, но без энтропии. В результате такие программы будут перемещаться, но на один и тот же адрес каждый раз при перезагрузке и даже в разных системах.
К счастью, проблему легко исправить.
Исправить ASLR в Windows 8, Windows 8.1 и Windows 10
- Открыть Приложение "Редактор реестра".
- Перейдите к следующему ключу реестра.
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ ядро
Узнайте, как перейти к ключу реестра одним щелчком.
- Справа создайте новое значение REG_BINARY с именем MitigationOptions и установите его данные значения на
00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
- Чтобы изменения, внесенные настройкой реестра, вступили в силу, перезапустить Windows 10.
Чтобы сэкономить время, вы можете загрузить следующую настройку реестра:
Скачать твик реестра
Вот и все.