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 + эксперт»
Способы обнаружения
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Monitor for the execution of commands that could modify the code signing policy of a system, such as |
---|
ID | DS0024 | Источник и компонент данных | Реестр Windows: Изменение ключа реестра Windows | Описание | Consider monitoring for modifications made to Registry keys associated with code signing policies, such as |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Monitor processes and command-line arguments for actions that could be taken to modify the code signing policy of a system, such as |
---|
Меры противодействия
ID | M1026 | Название | Управление привилегированными учетными записями | Описание | Limit the usage of local administrator and domain administrator accounts to be used for day-to-day operations that may expose them to potential adversaries. |
---|
ID | M1046 | Название | Проверка целостности загрузки | Описание | Use of Secure Boot may prevent some implementations of modification to code signing policies. |
---|
ID | M1024 | Название | Ограничение прав доступа к реестру | Описание | Ensure proper permissions are set for the Registry to prevent users from modifying keys related to code signing policies. |
---|