Внимание: 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, и Windows Defender Exploit Guard позволяват ASLR за цялата система, без също така да активират ASLR отдолу нагоре за цялата система. Въпреки че защитата от експлоатиране на Windows Defender има опция за цялата система за ASLR за цялата система отдолу нагоре, стойността на GUI по подразбиране „Включено по подразбиране“ не отразява основната стойност на системния регистър (ненастроена). Това кара програми без /DYNAMICBASE да бъдат преместени, но без никаква ентропия. Резултатът от това е, че такива програми ще бъдат премествани, но на един и същ адрес всеки път при рестартиране и дори в различни системи.
За щастие е лесно да се отстрани проблема.
Поправете ASLR в Windows 8, Windows 8.1 и Windows 10
- Отвори Приложение за редактор на системния регистър.
- Отидете до следния ключ на системния регистър.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
Вижте как да отидете до ключ на системния регистър с едно щракване.
- Вдясно създайте нова стойност REG_BINARY с име MitigationOptions и задайте нейните стойностни данни на
00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
- За да влязат в сила промените, извършени от настройката на системния регистър, рестартирайте Windows 10.
За да спестите времето си, можете да изтеглите следната настройка на системния регистър:
Изтеглете настройката на системния регистър
Това е.