Page 148 - 《软件学报》2020年第10期
P. 148
3124 Journal of Software 软件学报 Vol.31, No.10, October 2020
[5]
芯片中增加了内存加扰(memory scrambling)技术,该技术的有效性已经被相关研究人员的实验所证实 .德
国埃尔朗根-纽伦堡大学的研究人员通过实验分析证明了内存加扰机制一般实现为线性反馈移位寄存器
(linear-feedback shift registers,简称 LFSR),然后设计了一种已知明文攻击攻破了内存加扰技术.该攻击最多需要
128B 的内存明文,并且在双通道内存系统中利用 LFSR 密钥流的数学关系可将攻击提升到只需要 50B 内存明
文.操作系统大量内存数据被初始化为 0,因此这种攻击是实际可行的,该团队利用这种方法成功攻击了 4 种
Intel 计算机设备.
总线攻击 [6−10] 通过在系统总线上挂载探针,并借助逻辑分析仪等数字信号解析工具对 CPU 与片外 RAM 之
间的传输数据进行监听和注入,从而达到窃取密钥等机密信息以及篡改运行代码的攻击目标.MIT 研究人员通
过在微软 Xbox 电子设备的南北桥总线上挂载总线探针,使用 Xilinx Virtex-E 高速 FPGA 设备分析探针截取的
[7]
总线信号,成功破解了 Xbox 南北桥信息传输所采用的高速总线协议 HyperTransport ,最终获取了 Xbox 用于数
字版权保护的 RC4 密钥,使得攻击者可以随意安装非授权软件,而整个攻击成本仅需几十美元.文献[8]证明即
使设备配备了总线加密机制也可能遭受总线攻击.该文献提出的密文指令搜索攻击通过总线向 CPU 发送密文
指令并观察 CPU 的响应来推测实际 CPU 指令,在推测出足够多的密文指令后利用这些密文指令构建攻击程序,
最终成功将受保护的内存内容发送给攻击者.该攻击方法成功应用在安全芯片 DS5002FP 微控制器上,破解了
其内部的加密密钥.英国信息安全公司 NCC Group 成功对可信计算技术的硬件安全基础 TPM(trusted platform
[9]
module)芯片实施了总线攻击,并开发了配套的攻击工具 TPM Genie .基于该攻击工具可实施 3 种类型的攻击:
篡改 TPM 芯片内部的完整性度量值,影响计算机系统的信任链、远程证明和数据封装等可信计算功能;修改
TPM 返回结果以减弱 TPM 芯片内部的随机数发生器的安全性,该攻击可影响主机上基于 TPM 随机数的密码
学操作的安全性;通过在总线上伪造 TPM 返回结果影响主机上 TPM 软件栈的安全性,基于该攻击找到了 30 多
个 TPM 驱动的内存安全隐患,影响到 Linux 内核、U-boot 和 tboot 等多个重要计算机系统软件.总线攻击由于
实施容易、成本低,因而很容易与其他攻击结合形成新的攻击,加州大学伯克利分校的研究团队结合总线攻击
与内存侧信道攻击提出了针对 Intel SGX 的新型侧信道攻击方法 [10] ,他们称其为片外侧信道.Intel SGX 虽然对
处理器芯片外部的 DRAM 内存进行了加密和完整性保护,即数据总线上的数据都是密文,但是未对地址总线进
行加密,因此攻击者可以通过总线探针获得地址总线的信号,利用后台的信号分析仪获得要访问的内存地址,从
而得知内存的访问模式,即可进一步实施侧信道攻击.该攻击方法比较适合攻击数据量大的程序,因此对大数据
平台以及云平台上的人工智能算法具有较大的安全威胁.
DMA 攻击是一种利用 DMA 传输机制绕过内存管理单元(memory management unit,简称 MMU)和 CPU 而
直接访问物理内存的攻击方法.法国国家网络安全局基于网卡控制器的一个漏洞提出了一种远程攻击方法 [11] :
通过远程向网卡发送一些定制攻击包就能远程控制网卡.基于该方法攻击者可通过网卡的 DMA 访问能力进一
步访问计算机的全部内存并控制整个计算机系统.随后该团队提出了对应的安全解决方案 [12] .瑞士研究人员基
于网卡和声卡的 DMA 能力提出了一种内存探测方法 [13] ,该攻击具体实现为一个安全 shell 工具,通过远程固件
刷新将该 shell 安装到网卡或声卡上.德国柏林高等工业学校的研究团队提出了一种基于 DMA 的恶意软件
DAGGER [14] .DAGGER 实现在 Intel 的管理引擎(manageability engine,简称 ME)上,该攻击利用 ME 的 DMA 硬
件获得对主机内存的访问权限,通过搜索主机内存空间获得键盘缓存区地址,然后通过监控该缓存区获取用户
的键盘输入信息.该团队同时在 Windows 和 Linux 操作系统上实现了原型系统,实验结果表明该攻击能够快速
获得用户的键盘输入信息,并且在平台启动早期就能够获取键盘输入信息,譬如 Linux 系统的硬盘加密口令.
2 抗板级物理攻击相关技术
2.1 片上内存
片上内存(on-chip memory,简称 OCM)已经是嵌入式领域处理器芯片(又称为片上系统)的一个基础组件,基
本上所有的嵌入式处理器芯片都配备了片上内存.文献[49]调研了智能终端领域十几款主流的片上系统,统计
结果表明大部分芯片都配备有 100KB 以上的片上内存.