В Windows 8 и 10 есть недостаток ASLR, вот как его исправить
2 минута. читать
Опубликовано
Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее
В Windows 8 и более поздних версиях обнаружена новая ошибка безопасности, которая делает ASLR бесполезным. Ошибка была обнаружена исследователем безопасности по имени Уилл Дорманн. Он объяснил проблему в подробном посте на CERT:
И EMET, и Exploit Guard в Защитнике Windows включают общесистемный ASLR, но не включают общесистемный ASLR снизу вверх. Хотя защита от эксплойтов в Защитнике Windows имеет общесистемный параметр для общесистемного восходящего ASLR, значение графического интерфейса по умолчанию «Включено по умолчанию» не отражает базовое значение реестра (не задано). Это приводит к перемещению программ без /DYNAMICBASE, но без какой-либо энтропии. В результате такие программы будут перемещаться, но каждый раз по одному и тому же адресу при перезагрузке и даже в разных системах.
Для тех, кто не знает, Microsoft впервые внедрила ASLR (рандомизация адресного пространства) в Windows Vista, которая помогает предотвратить атаки с повторным использованием кода. ASLR использует случайный адрес памяти для выполнения кода, но в Windows 8, Windows 8.1 и Windows 10 эта функция не всегда применяется должным образом. В Windows 8, 8.1 и Windows 10 ASLR не использует случайные адреса памяти, что, по сути, делает его бесполезным.
На самом деле, в Windows 7 и общесистемном ASLR EMET загруженный адрес для eqnedt32.exe меняется при каждой перезагрузке. Но в Windows 10 с EMET или WDEG базой для eqnedt32.exe является 0x10000 КАЖДЫЙ РАЗ.
Вывод: Win10 не может применять ASLR так же хорошо, как Win7! pic.twitter.com/Jp10nqk1NQ- Уилл Дорманн (@wdormann) 15 ноября 2017
Однако хорошо то, что Уилл поделился ручным редактированием реестра, чтобы решить эту проблему. Для этого нужно сделать следующее.
- Создайте текстовый файл со следующим: Редактор реестра Windows версии 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
«MitigationOptions»=hex:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00 - Сохраните файл с расширением реестра (.reg)
- Откройте редактор реестра, введя «regedit» в меню «Пуск».
- Выберите «Файл»> «Импорт» и выберите только что созданный файл .reg.
Это должно решить проблему, пока Microsoft не отправит обновление, чтобы полностью исправить ее.
Via: Bit-тек