缓存侧信道防御研究综述
2021-04-09王崇魏帅张帆宋克
王 崇 魏 帅 张 帆 宋 克
(国家数字交换系统工程技术研究中心(战略支援部队信息工程大学) 郑州 450003)
随着Spectre[1],Meltdown[2],Foreshadow[3],ZombieLoad[4]等一系列CPU硬件漏洞的发现,人们在研究应用软件和操作系统漏洞的同时,也开始重视硬件层面,尤其是由于硬件架构特点而引发的安全威胁.侧信道攻击是利用计算机硬件的一种主要的攻击方式,它利用微架构状态开展攻击,可能会造成用户的信息泄露;同时,它也具有较高的隐蔽性,对用户信息和设备安全带来极大的安全威胁.
侧信道攻击[5](side channel attack, SCA),是指对软件在物理设备上执行过程中暴露出来的某些特征,如声音、电磁辐射、温度等侧信道信息(side channel information)分析,得出设备内部的执行情况,推断出用户信息的一种攻击方式.这种攻击方式常用来绕过加密算法等安全机制提供的安全性,造成用户信息泄露.一般而言,侧信道攻击具有3个方面特点[6]:1)难以检测,大部分侧信道攻击不需要特殊的权限,只要能够完成对侧信道信息的采集,就可以开展后续分析;2)防御成本高,减缓侧信道攻击会对系统的性能带来很大影响;3)平台依赖性高,侧信道攻击利用的不是算法或程序本身存在的问题,而是程序的实现及运行过程中存在的问题进行攻击,严重依赖于程序的执行环境以及硬件架构等.而基于微架构的侧信道攻击是近年来新兴的一种侧信道攻击方式,它对处理器缓存(cache)[1-4,6-24]、内存管理单元(memory management unit, MMU)[25]、快表(translation lookaside buffer, TLB)[26]、总线(bus)[27]等微架构进行监控,并根据一些先验知识获取……
