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 | Источник и компонент данных | Команда: Выполнение команд | Описание | Отслеживайте выполнение команд, которые могут использоваться для изменения системной политики подписи кода, таких как |
---|
ID | DS0024 | Источник и компонент данных | Реестр Windows: Изменение ключа реестра Windows | Описание | По возможности отслеживайте модификации ключей реестра, связанных с политиками подписи кода, такими как |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Отслеживайте процессы и аргументы командной строки, которые могут использоваться для изменения системной политики подписи кода, такие как |
---|
Меры противодействия
ID | M1026 | Название | Управление привилегированными учетными записями | Описание | Ограничьте использование учетных записей локального администратора и администратора домена для выполнения повседневных операций, которые могут подвергнуть их опасности со стороны потенциальных злоумышленников. |
---|
ID | M1024 | Название | Ограничение прав доступа к реестру | Описание | Проследите, чтобы для реестра были установлены надлежащие разрешения, которые не позволяют пользователям изменять ключи, связанные с политиками подписания кода. |
---|
ID | M1046 | Название | Проверка целостности загрузки | Описание | Использование безопасной загрузки может помешать некоторым техникам изменения политик подписания кода. |
---|