T1553.006: 代码签名策略修改

Defense Impairment

摘要

攻击者可能修改代码签名策略,以允许执行未签名或自签名代码。代码签名提供了程序来自开发人员的一定程度的真实性,以及程序未被篡改的保证。安全控制可以包括强制机制,以确保只有有效的、已签名的代码才能在操作系统上运行。 其中一些安全控制可能默认启用,例如 Windows 上的驱动程序签名强制(DSE)或 macOS 上的系统完整性保护(SIP)。(Citation: Microsoft DSE June 2017)(Citation: Apple Disable SIP) 其他此类控制可能默认禁用,但可通过应用程序控制进行配置,例如仅允许已签名的动态链接库(DLL)在系统上执行。由于在应用程序开发和测试期间修改默认签名强制策略对开发人员可能有用,因此可能可以通过提升的权限禁用这些功能。(Citation: Microsoft Unsigned Driver Apr 2017)(Citation: Apple Disable SIP) 攻击者可能以多种方式修改代码签名策略,包括使用命令行或 GUI 实用工具、[修改注册表](https://attack.mitre.org/techniques/T1112)、在调试/恢复模式下重启计算机,或通过更改内核内存中变量的值。(Citation: Microsoft TESTSIGNING Feb 2021)(Citation: Apple Disable SIP)(Citation: FireEye HIKIT Rootkit Part 2)(Citation: GitHub Turla Driver Loader) 可以修改系统代码签名策略的命令示例包括 Windows 上的 <code>bcdedit.exe -set TESTSIGNING ON</code> 和 macOS 上的 <code>csrutil disable</code>。(Citation: Microsoft TESTSIGNING Feb 2021)(Citation: Apple Disable SIP) 根据实现情况,成功修改签名策略可能需要重启受感染的系统。此外,某些实现可能为用户引入可见的痕迹(例如屏幕一角的水印,表明系统处于测试模式)。攻击者可能尝试移除此类痕迹。(Citation: F-Secure BlackEnergy 2014) 为了访问内核内存以修改与签名检查相关的变量(例如修改 <code>g_CiOptions</code> 以禁用驱动程序签名强制),攻击者可能使用已签名但存在漏洞的驱动程序进行[为权限提升而利用](https://attack.mitre.org/techniques/T1068)。(Citation: Unit42 AcidBox June 2020)(Citation: GitHub Turla Driver Loader)

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • macOS
  • Windows

战术

Defense Impairment

参考来源