Обережно: 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, значення графічного інтерфейсу за замовчуванням «Увімкнено за замовчуванням» не відображає базове значення реєстру (не встановлено). Це призводить до переміщення програм без /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.
Щоб заощадити свій час, ви можете завантажити наступну настройку реєстру:
Завантажте налаштування реєстру
Це воно.