Page 348 - 《软件学报》2021年第12期
P. 348
4012 Journal of Software 软件学报 Vol.32, No.12, December 2021
运行时作用域增强(run-time scope enforcement,简称 RSE)的方法,通过增强编译时内存安全性约束(如变量可见
性规则),有效地减轻所有当前已知的 DOP 攻击.在此基础上,给出了一种 RISC-V 硬件辅助 RSE 的概念实现
Hardscope.硬件方式如,2017 年 Menon 等人 [133] 提出了一个处理内存攻击的统一硬件框架,并将之与 RISC-V 微
架构结合,形成了 Shakti-T 原型系统.这一方案通过为系统提供额外的硬件支持,可以保护敏感应用(如电子商务
交易等)的信息免受基于时间或空间的内存攻击.
2020 年,De 等人 [126] 为他们所提出的硬件生成堆栈金丝雀字引擎 PUFCanary,设计了一个专用的嵌入式
RISC-V 安全协处理器流完整性扩展——FIXER.除缓冲区溢出攻击外,FIXER 还可以帮助 RISC-V 架构对抗代
码注入、代码重用等类型的攻击.
其他有代表性的研究成果还包括:Wong 等人 [134] 在 2018 年将内存保护单元(memory protection unit,简称
MPU)集成到 RISC-V 可信 SoC 中的设计,并以此实现了一个设计框架 SMARTS,以实现对已知攻击向量的轻量
级但健壮的对抗.该框架可以为 SoC 提供完整性和保密性,并允许根据需求进行灵活的部分加密.2020 年,
Kokologiannakis 等人 [135] 提出了一种高效的无状态模型检查(Stateless model checking,简称 SMC)算法——
HMC 算法,用于在任意硬件内存模型下,以合理、完整和最优的方式验证程序.
4.3.4 侧信道攻击的防御
(1) 威胁分析
侧信道攻击是指攻击者从系统的物理实现出发,通过测量、统计、物理观察等手段推测和获取系统敏感信
息的攻击手段.侧信道攻击是密码系统安全的主要威胁之一,因此长期受到业界关注.早在 2011 年,Persial 等
人 [136] 便总结了可能的侧信道攻击种类,他们根据所依托介质的不同,将侧信道攻击划分为基于时间、功率、电
磁、错误注入、光学、流量、声学、热成像的八种具体的攻击形式,并重点分析了基于功率的攻击和基于错误
注入的攻击.在 2017 年,Guo 等人 [137] 分析了针对密码设备的侧信道攻击,讨论了在面对不同加密算法(AES、
DES、RSA、ECC)时的具体攻击过程,并重点研究了应对差分能量分析(differential power analysis,简称 DPA)的
保护策略.Saxena 等人 [138] 在 2018 年调研了基于缓存的侧信道攻击,总结了一些可以应用于云计算环境中的防
御方法.Devi 等人 [139] 在 2021 年对物联网环境中的侧信道攻击进行了分析,将其划分为简单攻击、差分攻击、
功率分析攻击、故障攻击、时间攻击五类.
此外,侧信道攻击还可能与其他攻击手段相结合,作为组合攻击的一个环节发起其他攻击.例如,2019 年,
Van Bulck 等人 [140] 揭示了几个在应用程序二进制接口(ABI)和应用程序编程接口(application programming
interface,简称 API)级别上的侧信道漏洞,攻击者可以通过这些漏洞发起对内存安全和编译包的进一步攻击.他
们对 TEE 的漏洞空间进行了分析,论证了最先进的缓解技术,如 Intel 的 edger8r 等,都无法完全消除这种攻击
面.2020 年,Spruyt 等人 [141] 也发现了现有的侧信道攻击可以直接应用于纯错误注入(fault injection,简称 FI)攻击
的设置,并提出了一种对故障概率轨迹执行相关功耗分析(correlation power analysis,简称 CPA)的技术方案——
故障相关性分析(fault correlation analysis,简称 FCA).
Ahmadi 等人 [142] 在 2020 年讨论了针对 RISC-V 处理器的侧信道攻击问题.他们认为,RISC-V 处理器作为一
种开放式硬件,在功率、时间和温度 3 个指标上最易受到利用而泄露信息.其中,功率侧信道攻击和时间侧信道
攻击是最主要的两种可由软件发起的攻击方式.但是,对于如何应对这些威胁,文中并没有给出太多的分析,仅
列举了一种已有的安全解决方案 [143] .
(2) 解决方案
经前文分析可知,侧信道攻击可能通过多种渠道发起,以基于功率、时间、电磁等为主.现有的解决方案,也
都是适用于其中一种或几种渠道的针对性防御方法.
例如,2019 年,De Mulder 等人 [143] 将侧信道分析攻击对策集成到 RISC-V 中实现,发现这种做法可以防止
first-order 功率或电磁攻击,同时尽可能地降低实现成本.
同年,Deng 等人 [144] 针对从转换检测缓冲区(translation lookaside buffer,简称 TLB)到基于时间的侧信道攻
击,研究了一种自动生成测试 TLB 漏洞的微安全基准方法,并提出了两种安全 TLB 的设计方案:静态分区(static-