Microsoft добавила в Windows 10 очередную функцию защиты от эксплойтов

Microsoft добавила в Windows 10 очередную функцию защиты от эксплойтов

Microsoft добавила в Windows 10 очередную функцию защиты от эксплойтов

В новом билде Windows 10, Microsoft добавила в ядро новый объект под названием RegistryTransaction с соответствующими API-функциями для работы с ним, вроде [NtCommit/NtCreate/NtOpen/NtRollback] RegistryTransaction. Как не трудно догадаться, речь идет об атомарных операциях с данными реестра.

Другим улучшением стало появление долгожданной функции под названием Win32k syscalls filtering на уровне ядра Windows. Так как она все еще находится в предварительной сборке Windows 10, о ней известно не так много. Основное ее предназначение заключается в том, что она позволит полностью закрыть sandbox для процессов соответствующих приложений, типа браузеров и снимет вопрос эксплуатации LPE-уязвимостей в win32k.sys для них. На сегодняшний день такие уязвимости являются основной возможностью получения эксплойтом максимальных прав SYSTEM при проникновении в систему через веб-браузер.

 

Общая схема работы Win32k syscalls filtering на примере AppContainer-sandboxed веб-браузера Edge, который сможет полностью закрыть AppContainer от внешнего воздействия

 

Стоит отметить, что авторы веб-браузера Google Chrome еще в прошлом году добавили в него функцию, которая защищает sandboxed-процессы (renderer-процессы по терминологии Google) от пагубного воздействия win32k.sys. Так как Chrome делегирует работу с графикой и окнами на основной родительский процесс, дочерние sandboxed-процессы полностью освобождаются от необходимости осуществления GUI-операций, например, прорисовки окон и прочего GUI. Ранее для этого использовалась настройка веб-браузера -enable_win32k_renderer_lockdown, пишет habrahabr.ru.

Полное отключение win32k.sys является достаточной мерой обеспечения безопасности только для такого веб-браузера как Chrome, который имеет четко определенную модель распределения функций между родительским и renderer-процессами (GUI-функции не пересекаются с sandboxed). Microsoft предлагает более гибкий путь, функция Win32k syscalls filtering (PsAttributeWin32kFilter) поможет выборочно фильтровать те функции, которые не нужны процессу, например, Edge, и оставлять только самые необходимые.

Функция Win32k syscalls filtering органично дополняет другую функцию безопасности Windows 10, которая впервые была добавленаMicrosoft для защиты от LPE-эксплойтов. Речь идет о функции Block Untrusted Fonts, которая также появилась и в EMET (см.kernel32!SetProcessMitigationPolicy с аргументом ProcessFontDisablePolicy).

 

EMET позволяет принудительно включать функцию Block Untrusted Fonts для выбранного процесса, таким образов перекрыв другую поверхность атаки LPE-эксплойтами, которые используют specially crafted файлы шрифтов для эксплуатации уязвимостей в Win32k.sys

 

Microsoft известна своим внимательным подходом к функциям защиты от эксплойтов, которые интегрированы в Windows. Там последовательно появлялись DEP, SEHOP, ASLR, IE11-EPM, IE11-64bit_tabs, HEASLR. Бесплатный инструмент EMET позволял принудительно включать такие настройки для процессов. В то же время, только с Windows 10 Microsoft стала предпринимать указанные выше шаги по закрытию уязвимых мест, которые используются LPE-эксплойтами.

Уязвимость в Steam позволяет получить максимальные права в Windows

В клиенте Steam для Windows обнаружили уязвимость, позволяющую обычному пользователю получить права NT AUTHORITY\SYSTEM. Опубликованный исследователем эксплойт BrokenPipe заставляет системную службу Steam запустить выбранный файл с максимальными привилегиями, при этом без пароля администратора, обхода UAC и даже входа в аккаунт Steam.

Проблема затрагивает службу steamservice.exe, которая работает от имени SYSTEM и отвечает за установку, обновление и восстановление компонентов платформы.

Автор BrokenPipe опубликовал код и техническое описание на GitHub, протестировав атаку на Steam Client 10.96.30.42 в полностью обновлённых 64-битных Windows 10 и 11.

Уязвимость связана с обработкой установочных скриптов в формате VDF. Служба принимает легитимный файл, подписанный Valve, но, по данным исследователя, подпись недостаточно жёстко связывает его с корневым каталогом установки.

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

После добавления скрипта в белый список steamservice.exe запускает подложенный файл уже от имени SYSTEM. В демонстрации процесс получил SID S-1-5-18, соответствующий учётной записи Local System.

Сами файлы Steam и подпись Valve при этом не изменяются, доверенный механизм просто используют не так, как рассчитывали разработчики. Для атаки уже требуется локальный доступ к системе, поэтому одним кликом снаружи Steam не взломать.

Но для вредоноса, проникшего через фишинг или скомпрометированную непривилегированную учётку, BrokenPipe может стать быстрым лифтом на верхний этаж Windows. Дальше идёт отключение защиты, кража учётных данных, закрепление в системе или запуск шифровальщика.

Администраторам рекомендуют отслеживать необычные дочерние процессы steamservice.exe, особенно PowerShell, командные интерпретаторы и неподписанные файлы из нестандартных каталогов.

RSS: Новости на портале Anti-Malware.ru