论文部分内容阅读
随着大数据时代的到来,海量数据的处理对底层基础设施的要求越来越高,企业逐渐将各种服务转移到具备充足计算和存储资源的云平台。云平台给其租户提供了便利,但是由于多个租户共享底层的硬件资源,恶意租户可以利用共享的处理器发起Cache攻击,绕过系统提供的隔离机制,窃取其他租户的隐私数据,造成信息泄露。而且,在Cache攻击的帮助下,Spectre和Meltdown漏洞甚至能提取内存中的任何数据。因此,Cache攻击的存在对云平台的安全构成严重威胁。为了应对Cache攻击,本文对攻击的典型案例进行了深入的研究和分析,然后根据攻击的特征从硬件事件和软件指令两个角度设计并实现了检测机制CBA-Detector。CBA-Detector首先利用机器学习技术创建模型来识别具有异常硬件行为的可疑程序,再对可疑程序进行指令层面的分析以确定真正的攻击并提供反馈,根据反馈更新模型可以进一步提高模型的预测准确率。此外,本文从实时性、准确性和性能三方面对检测机制进行了评估,实验结果表明,CBA-Detector能够实时且准确地识别Cache攻击,同时引入的开销较低。本文的主要工作包括:(1)基于硬件事件的检测方法:Cache攻击在泄露信息时会频繁地操作共享的高速缓存,导致一些异常的硬件行为,比如较高的缓存加载缺失率。所以本文提出基于硬件事件的检测方法,利用机器学习技术创建模型以实时预测程序是否具有异常的硬件行为。该方法可以实时快速地发现潜在的威胁,并且不会干预程序的正常执行。(2)基于软件指令的检测方法:Cache攻击泄露信息的主要循环涉及到一些特殊的操作,比如计时,导致某些特殊指令随着攻击循环频繁而有规律地被使用。所以本文提出了基于软件指令的检测方法来分析程序执行期间特殊指令的使用情况。该方法不受运行环境的影响,可以精准地识别攻击。(3)反馈机制:由于硬件行为可能会受到系统负载、运行环境等多方面的影响,所以基于硬件事件的检测方法容易产生误报;而基于软件指令的检测方法不受运行环境干扰,能准确地辨别攻击。所以后者能够为前者减少甚至消除误报,并提供有效的反馈。而根据反馈为诊断异常硬件行为的分类器创建和更新修正模型,可以进一步提高前者的检测准确率。(4)检测机制的架构实现和优化:本文结合了基于硬件事件和软件指令的检测方法,并整合反馈机制,设计并实现了CBA-Detector的整体架构。为了减轻检测机制的负担,本文提出了增量式监视、白名单设置和双队列策略三个优化方案。这些优化也减少了检测的性能开销。