Устранение уязвимости обхода ASLR в Windows

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik. В ранних публикациях я вас знакомил с Dell PERC H330 Adapter на серверах PowerEdge R740/750, а так же подробным образом разобрал шаги по созданию на нем RAID групп несколькими методами. Двигаемся далее и сегодня я хочу с вами поделиться опытом по устранению одной уязвимости CVE-2015-6161 связанную со всеми современными операционными системами Windows, которая позволяет делать обход функции безопасности ASLR в браузерах Internet Explorer и MS Edge. 

Что такое ASLR и в чем проблема CVE-2015-6161

ASLR (Address Space Layout Randomization) — это технология безопасности, используемая в операционных системах и приложениях, включая браузеры, такие как Microsoft Edge. Она предназначена для затруднения эксплуатации уязвимостей в программном обеспечении.

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

CVE-2015-6161 — это уязвимость в Windows, связанная с обработкой объектов в памяти. Она может позволить удалённому злоумышленнику выполнить произвольный код на целевой системе, если пользователь откроет специально подготовленный файл или посетит вредоносный веб-сайт. Уязвимость возникает из-за неправильной обработки объектов в памяти, что может привести к повреждению памяти и выполнению произвольного кода. Это может быть использовано для установки программного обеспечения, просмотра, изменения или удаления данных, а также для создания новых учетных записей с полными правами.

Сам  обход технологии Address Space Layout Randomization не позволяет злоумышленникам выполнить некий произвольный код, но если это совместить с  другой уязвимость, которая позволяет выполнять удаленный код, то в такой химере система будет поражена. Ждя того, что злоумышленник мог применить данную дыру, от пользователя необходим интеративный или удаленный RDP вход, в его рамках запустить уязвимую версию Microsoft Edge и перейти на вредоносный сайт

Как устранить уязвимость ASLR

Хоть Microsoft и выпустила обновление безопасности (Например, в Windows 10 KB3116869), их все же недостаточно, чтобы гарантировать 100% защиту, вам необходимо сделать дополнительные действия. Если у вас доменная инфраструктура Active Directory, то у вас для централизованного решения должна использоваться групповая политика на уровне домена,   работающая по умолчанию, как вариант SCCM при его наличии.

Устранение CVE-2015-6161 с помощью групповой политики

Запустите редактор групповой политики, выберите нужную OU, кликните по ней правым кликом и выберите создать новую политику.

Создание политики ASLR

Совет: Всегда тестируйте новые политики на пилотной группе. Если политика планируется на весь домен, то ее можно создать в самом верху, единственное поменять там при создании фильтрацию, удалив там группу прошедшие проверку и заменив на свою, в которую вы наполните нужные объекты

Задайте нужно имя для вашей политики исходя из ваших шаблонов, в моем примере это GPO_ROOT_ASLR_CVE-2015-6161

Указание название GPO для ASLR

Перейдите к ее редактированию.

Настройка GPO CVE-2015-6161

Нам необходимо создать два ключа реестра, что включить функцию защиты обработчика исключений User32. Перейдите в раздел:

Конфигурация компьютера - Настройка - Конфигурация Windows - Реестр (Computer Configuration - Preferences - Windows Settings - Registry)

Щелкаем правым кликом по пустой области и выбираем создать новый объект "New - Registry Item".

Создание ключа реестра в GPO CVE-2015-6161

  • Action - Create (Нам нужно создать ключ и раздел)
  • Hive - HKEY_LOCAL_MACHINE (Туту задается нужный куст)
  • Key Path - SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING
  • Value Name - iexplore.exe (Имя конечного ключа)
  • Value Type - REG_DWORD
  • Value data - 1

Полный путь будет такой в реестре - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING\iexplore.exe

FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING

Далее создадим второй ключ:

  • Action - Create (Нам нужно создать ключ и раздел)
  • Hive - HKEY_LOCAL_MACHINE (Туту задается нужный куст)
  • Key Path - SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING
  • Value Name - iexplore.exe (Имя конечного ключа)
  • Value Type - REG_DWORD
  • Value data - 1

Полный путь будет такой в реестре - HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING\iexplore.exe

Политика для защиты ASLR

Далее вам необходимо дождаться фонового обновления групповых политик или же выполнить принудительное обновление. Выборочно проверьте, что в реестре Windows появились нужные ключи. Если политика не отработала, то изучайте почему не применилась GPO.

Устранение CVE-2015-6161 с помощью PowerShell

Если вам необходимо точечно создать данные ключи. то лучше всего воспользоваться PowerShell. Откройте ISE в режиме администратора и введите команды:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING" -Name "iexplore.exe" -Value 1 -ErrorAction SilentlyContinue

Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ALLOW_USER32_EXCEPTION_HANDLER_HARDENING" -Name "iexplore.exe" -Value 1 -ErrorAction SilentlyContinue

Создание ключей реестра в PowerShell

Используя эти команды. вы можете создать PowerShell скрипт, который можно запускать через SCCM.

Дополнительные ссылки

  • https://docs.microsoft.com/en-us/security-updates/securitybulletins/2015/ms15-124
  • https://docs.microsoft.com/en-us/security-updates/securitybulletins/2015/ms15-125
  • https://support.microsoft.com/kb/3125869
Оцените статью
Настройка серверов windows и linux
Добавить комментарий