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НазваниеУправление привилегированными учетными записямиОписание

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

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

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

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

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