Начиная с Vista, для защиты системного API в Windows используется технология распределения адресного пространства Address Space LayoutRandomization или ASLR. Чтобы предотвратить атаки, адреса загрузки системных библиотек, начальные указатели стека и кучи распределяются в случайном порядке, но как оказалось впоследствии, метод этот не столь уже и надежен, а всё потому, что в самой Windows имеется маленькая уязвимость.
Из-за одной неправильной настройки в недрах системы, функция ASLR не выполняет свою задачу, то есть не распределяет адреса компонентов случайным образом. Лазейка присутствует в Windows 8, 8.1 и 10 и это немного странно, ведь по идее в Microsoft уже давно должны были её закрыть. К счастью, можно не ждать момента, когда разработчики всё исправят, а сделать всё самому.
Чтобы задействовать ASLR как должно, необходимо применить небольшой твик реестра.
Откройте командой regedit редактор реестра и разверните эту ветку:
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.
На первые четыре нуля в окошке изменения значения параметра не обращайте внимания, они указывают на позицию данных. Чтобы изменения вступили в силу, перезагрузите компьютер. Теперь функция распределения адресного пространства будет работать правильно.
Добавить комментарий