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-
   343   344   345   346   347   348   349   350   351   352   353