T1553.006: Изменение политики подписи кода

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

Некоторые из таких механизмов включены по умолчанию, например проверка подписи драйвера (DSE) в Windows или защита целостности системы (SIP) в macOS. Другие подобные механизмы по умолчанию отключены, однако их можно настроить с помощью средств управления приложениями, чтобы, например, разрешить выполнение только подписанных DLL-библиотек. Разработчикам иногда требуется изменять используемые по умолчанию политики проверки подписи на этапах разработки и тестирования приложений, поэтому отключение этих проверок может быть разрешено при наличии повышенных привилегий.

Злоумышленники могут изменять политики подписи кода различными способами, в том числе с помощью утилит командной строки или графического интерфейса, техники Изменение реестра, перезагрузки компьютера в режиме отладки/восстановления или изменения значений переменных в памяти ядра. Для изменения политики подписи кода могут использоваться такие команды, как bcdedit.exe -set TESTSIGNING ON в Windows и csrutil disable в macOS. Некоторые методы требуют перезагрузки скомпрометированной системы для успешного изменения политики подписи кода. Кроме того, в результате применения некоторых вариантов данной техники в системе могут появляться заметные пользователю артефакты (например, надпись в углу экрана, указывающая, что система работает в тестовом режиме). Злоумышленники могут пытаться удалить такие артефакты.

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

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

— Мониторинг событий запуска процесса, в командной строке которых содержится фрагмент «bcdedit.exe -set TESTSIGNING ON» или «bcdedit -set TESTSIGNING ON». — Мониторинг событий изменения ключей реестра в HKCU\Software\Policies\Microsoft\Windows NT\Driver Signing.

Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»

Способы обнаружения

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте выполнение команд, которые могут использоваться для изменения системной политики подписи кода, таких как bcdedit.exe -set TESTSIGNING ON .

IDDS0024Источник и компонент данныхРеестр Windows: Изменение ключа реестра WindowsОписание

По возможности отслеживайте модификации ключей реестра, связанных с политиками подписи кода, такими как HKCU\Software\Policies\Microsoft\Windows NT\Driver Signing. Модификация политики подписи кода в системе должна проводиться редко.

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Отслеживайте процессы и аргументы командной строки, которые могут использоваться для изменения системной политики подписи кода, такие как bcdedit.exe -set TESTSIGNING ON .

Меры противодействия

IDM1026НазваниеУправление привилегированными учетными записямиОписание

Ограничьте использование учетных записей локального администратора и администратора домена для выполнения повседневных операций, которые могут подвергнуть их опасности со стороны потенциальных злоумышленников.

IDM1046НазваниеПроверка целостности загрузкиОписание

Использование безопасной загрузки может помешать некоторым техникам изменения политик подписания кода.

IDM1024НазваниеОграничение прав доступа к рееструОписание

Проследите, чтобы для реестра были установлены надлежащие разрешения, которые не позволяют пользователям изменять ключи, связанные с политиками подписания кода.