热门问题
时间线
聊天
视角
DMA攻击
来自维基百科,自由的百科全书
Remove ads
DMA攻击是电脑安全领域中的一种旁路攻击,攻击者利用允许直接存储器存取(DMA)的高速扩展端口来侵入电脑或其他装置。
![]() | 此条目翻译自英语维基百科,需要相关领域的编者协助校对翻译。 |
DMA技术允许与电脑相连的装置(例如摄录一体机、网卡、存储装置,或其他附件或内建的PC卡)使用直接硬件访问来读写主内存,无需操作系统的任何监督或交互,得以最大化数据传输速度。采用DMA技术的正当用途配件和连接已广泛存在,但攻击者可以用同样方式制作一个与端口连接的恶意附件,然后可能直接访问电脑物理内存的部分或全部地址空间,进而绕过一切操作系统安全机制和锁定屏幕,读取电脑执行的所有操作,窃取数据或密钥,安装或运行间谍软件,或侵入其他漏洞,以及修改系统来允许软件后门或其他形式的恶意软件。
对此类端口进行物理连接防护可预防DMA攻击。许多电脑的BIOS或UEFI中可以禁用DMA连接,以减少或消除此类攻击。
使用DMA技术且可能存在漏洞的连接包括FireWire、CardBus、ExpressCard、Thunderbolt、USB 4.0、PCI、PCI-X和PCI Express等。
Remove ads
概述
现代操作系统中,非系统级(即用户模式)的应用程式不能访问任何未被虚拟内存控制器(即内存管理单元,MMU)明确授权的内存位置。除预防可能因软件缺陷造成的损害,并提升物理内存使用效率外,这种架构也是操作系统安全性的一部分。但是,内核模式驱动程式、许多硬件装置以及用户模式中的漏洞,都能允许直接、无障碍地访问物理内存地址空间。物理地址空间包括全部的主系统内存,以及内存映射总线和硬件装置(由操作系统通过类似普通内存读写的方式控制)。
OHCI 1394规范允许装置出于性能原因绕过操作系统并直接访问物理内存,没有任何安全限制。[1][2]而SBP2装置能被轻易伪造,从而欺骗操作系统,攻击者能够读取和写入物理内存,进而未经授权地访问内存中的敏感数据。[3]
具有FireWire、ExpressCard、Thunderbolt或其他扩展端口(如司空见惯的PCI和PCI Express)的系统均可能容易受到外部装置的DMA攻击,连接到系统的装置可能直接访问物理内存地址空间,而非安全的虚拟内存地址空间。即便系统本身没有FireWire端口,如果它允许通过PCMCIA/CardBus/PC Card或ExpressCard端口安装FireWire端口装置,也可能受到此攻击。
Remove ads
用途
攻击者可能使用社会工程学攻击向“中奖者”发送恶意的Thunderbolt装置。连接到电脑后,装置能直接、毫无阻碍地访问物理地址空间,绕过操作系统的几乎全部安全措施,并能读取加密密钥、安装恶意软件或控制其他系统装置。如果攻击者可以物理访问目标电脑,同样可以轻松展开攻击。
名为Inception[5]的工具可发起这种攻击。知名间谍软件FinFireWire也能对运行中的Windows、Mac OS或Linux电脑进行非授权访问。[6]
缓解措施
防护潜在恶意装置的物理安全措施可以避免DMA攻击。
内核模式驱动程式有许多可能危及系统安全性的权限,因此仅应加载受信任、无缺陷的驱动程式。例如,较新版本的64位Microsoft Windows要求驱动程式必须经过微软测试并获取数码签名,且防止安装任何没有数码签名的驱动程式。
输入输出内存管理单元(IOMMU)是一种将“虚拟内存”概念应用于此类系统总线的技术,可用于杜绝此类安全漏洞,并能提高系统稳定性。英特尔的IOMMU技术命名为VT-d,AMD的IOMMU技术命名为AMD-Vi。Linux和Windows 10支持上述IOMMU技术[7] [8] [9]并运用它们来阻止非授权的I/O事务。
较新的操作系统本身也可能提供预防DMA攻击的措施。近年的Linux内核包含禁用FireWire装置DMA的选项,且不会影响其他功能。[10]Microsoft Windows 8.1会阻止访问无人值守、控制界面已锁定的装置的DMA端口。[11]但截至2019年,主流操作系统尚未考虑可能被恶意装置利用的,多个模拟外围装置之间复杂交互方式所产生的漏洞。[12]
另一个抵御DMA攻击的缓解方案是,不在未加密的内存中存储敏感数据。但禁止读取内存内容的措施并不周全,通过DMA写入内存可能实现代码注入,进而损害看似安全的内存外存储装置。其中一个例子是TRESOR-HUNT,通过覆盖操作系统的某些部分,它能暴露出从未存储于物理内存、仅存在于特定CPU寄存器中的加密密钥。[13]
对于有忧虑的用户,微软建议更改Windows的默认配置。[14]
参见
- 冷启动攻击
- 引脚控制攻击
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads