Windows 8 и более поздние версии ОС некорректно используют защиту ASLR

Исследователь обнаружил ошибку, из-за которой технология, фактически, не работает на системах Windows и дает злоумышленникам возможность использовать ее. Однако также было найдено и решение этой проблемы.
Windows+ASLR

Windows 8 и последующие версии Windows не могут правильно применять ASLR, что делает эту важную функцию безопасности Windows бесполезной. Аналитик по уязвимостям из CERT/CC Уилл Дорман, изучая недавно обнаруженную уязвимость редактора уравнений Microsoft Office, обнаружил, что ASLR в определенных условиях не выделяла память для двоичных файлов приложений случайным образом.

ASLR выходит из строя из-за измененного значения реестра

Согласно словам Дормана, когда пользователи включили общесистемную защиту ASLR, ошибка в реализации этой функции на Windows 8 и более поздних версиях не привела бы к созданию достаточной энтропии (случайных данных) для запуска бинарных файлов приложений в случайных ячейках памяти. Дорман сообщил:

В результате такие программы будут перемещаться в памяти, но «маршрут» останется неизменным даже после перезагрузок и на разных системах.

Это означает, что функция не работает и пользователи открыты для атак повторного использования кода. Такие атаки читают пространство памяти приложения и создают небольшой код, который постоянно нацелен на одно и тоже место.

Исследователь говорит, что эта проблема затрагивает только Windows 8 и более поздние версии, поскольку именно в них Microsoft изменила значения реестра, используемые для запуска ASLR.

Устранение ошибки

Дорман настоятельно рекомендует пользователям исправить эту проблему, чтобы ASLR функционировала в правильном режиме.

Ожидается, что Microsoft исправит эту проблему в будущем патче. В настоящее время единственным способом запуска ASLR в правильной конфигурации является изменение некоторых функций в реестре Windows. Вот пошаговая инструкция для исправления ошибки:

  1. Создайте текстовый файл и введите туда следующий текст:
    Windows Registry Editor Version 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
  2. Сохраните файл с расширением .reg, например, ASLR.reg.
  3. Откройте редактор реестра Windows.
  4. Выберите пункт меню «Файл» и выберите для импорта .reg-файл, который вы только что создали.

Также вы можете скачать такой файл, созданный редакцией Bleeping Computer.

Хотя это и сильно улучшит положение дел на вашем устройстве, следует все равно сохранять бдительность. ASLR не так надежна, как считалось раньше. В начале года был обнаружен эксплойт, который давал возможность злоумышленникам обходить ее защиту.

ASLR — это технология компьютерной безопасности, которая случайным образом изменяет расположение в адресном пространстве процесса важных структур данных. Технология была представлена в 2003 году в OpenBSD. С тех пор она была добавлена во все основные ОС, включая Linux, Android, macOS и Windows.

Источник: Bleeping Computer