安全顶刊 | InstPro: 基于指令执行追踪和溯源的CPU漏洞利用攻击检测和调查

原文标题:InstPro: Provenance-Based Transient Execution Attack Detection and Investigation on Instruction Execution Traces

原文链接:https://ieeexplore.ieee.org/document/11053669

发表期刊:IEEE Transactions on Dependable and Secure Computing (TDSC)

摘要

CPU漏洞利用攻击对现代计算系统构成严重威胁。虽然已经提出了软硬件加固技术来缓解该威胁,但开发检测技术仍然势在必行,因为它们有望灵活扩展以应对新变种、易于部署且对系统影响最小。现有的检测技术面临以下三个局限性:信息源不稳定、缺乏对攻击场景的解释以及训练数据有限。为解决这些局限性,我们提出了InstPro,一种基于指令执行追踪的CPU漏洞利用攻击检测系统,能够在识别攻击程序的同时提供攻击场景的解释。具体而言,InstPro首先提取原则性线索 ,这些线索代表在语义上接近攻击抽象描述的指令序列。这些线索提供了攻击步骤的高级可视化。然后,InstPro通过推理这些线索的因果依赖关系,将线索关联成线索溯源图 ,从而提供一个简洁的溯源表示。最后,InstPro通过使用**信息流子图****(**表示原则性线索之间信息流的子图)来重建场景图。这些信息流子图更有可能捕获一组协同工作以表示攻击场景的关键原则性线索。基于5个数据集的评估表明,InstPro能够有效执行攻击检测和调查。

关键词 --- 攻击检测与调查、CPU漏洞利用攻击、数据溯源、指令执行追踪

一、研究背景

CPU漏洞利用攻击对现代计算系统的安全构成严重威胁。这些攻击可以从CPU的微架构状态(如缓存)中泄露敏感数据。这些攻击的潜在影响是巨大的,因为它们可能破坏个人数据、密码、加密密钥、凭证和其他秘密的机密性和完整性。自2018年以来,已经发现并披露了这些攻击的多个变种,如Spectre和Meltdown,它们可能影响各种类型的计算设备,如台式机、笔记本电脑、服务器、云平台和手机,并绕过各种安全机制,如加密、隔离和访问控制。

最近,已经提出了软硬件加固技术来缓解CPU漏洞利用攻击的威胁。通过修补操作系统或修复底层CPU漏洞,这些技术有望防御这种攻击。然而,开发检测技术仍然势在必行。修补技术通常是临时性解决方案,因为我们对不断演变的CPU漏洞利用攻击的残余攻击面了解有限。此外,硬件补丁经常带来兼容性问题,而软件补丁则经历较大的性能开销。最重要的是,完全修复漏洞需要重新设计CPU和指令集架构,这在可预见的未来是一项极其困难且几乎不可能完成的任务。相反,CPU漏洞利用攻击检测有望灵活扩展以应对新变种、易于部署且对系统影响最小。

二、研究现状

认识到开发检测技术的必要性,已经提出了各种CPU漏洞利用攻击检测方法,如基于硬件性能计数器(HPC)追踪的、基于CPU模拟器计数器追踪的、基于指令总线观察的、基于混合二进制控制流图(CFG)和HPC追踪的,以及基于能耗追踪的。这些方法要么观察指令执行行为和状态统计,要么将这些统计信息组合到CFG中作为信息源。通过将机器学习(ML)模型或启发式规则应用于这些信息源,这些方法可以识别攻击程序或攻击的发生。尽管CPU漏洞利用攻击检测取得了进展,但现有的检测方法面临以下三个局限性:

信息源不稳定 。HPC追踪和能耗追踪容易受到系统工作负载变化引起的波动影响。这经常导致相关信息源的概念漂移问题,破坏了ML模型或启发式规则进行可靠检测的有效性;

缺乏解释 。这些方法不通过展示攻击活动(如攻击相关的CPU指令)来解释攻击场景。这种解释对于攻击调查和响应是不可或缺的,如适当的风险评估、针对攻击变种的定制缓解措施,以及开发针对新出现的攻击的稳健修复方案;

训练数据有限 。CPU漏洞利用攻击是一类相对较新的攻击,迄今为止可用的训练数据有限。ML模型通常需要大量标记数据集进行稳健训练,但收集足够的攻击样本构成了重大挑战。

三、研究动机

在本文中,我们旨在开发一种CPU漏洞利用攻击检测系统,基于指令执行追踪识别攻击程序,同时向安全分析师提供攻击场景的解释。更具体地说,我们旨在通过利用CPU模拟器追踪运行程序的指令执行来采集指令执行追踪数据。这些追踪数据记录动态执行的指令流以及相关的内存访问、执行状态和其他相关信息,是分析攻击活动、重建攻击场景和产生检测信号的绝佳信息源。特别是,由于模拟器对运行程序执行环境的完全控制,这些追踪数据是稳定的信息源。然后,我们在追踪数据中识别攻击相关指令,最后将这些指令拼凑起来恢复场景。据我们所知,我们的系统是首次尝试在指令执行追踪数据统一实现CPU漏洞利用攻击的检测和调查。此外,通过利用CPU模拟器,我们实现了对CPU漏洞利用攻击的事前检测 ,即在真实硬件上启动之前主动识别攻击程序。

四、技术挑战

指令执行追踪数据分析技术已被证明在许多分析任务中是有效的,如性能诊断、调试、恶意软件检测和其他任务。然而,关于指令执行追踪数据用于CPU漏洞利用攻击检测和调查的研究甚少。特别是,CPU漏洞利用攻击及其指令执行追踪数据的独特特征给InstPro检测攻击带来了三个主要挑战:

攻击相关指令稀少且难以区分 。CPU漏洞利用攻击程序的指令执行追踪数据通常包含数百万条指令,但其中真正与攻击场景相关的只有很小一部分------通常远低于8%。同时,这些攻击相关指令也可能出现在攻击程序本身的良性行为和其他良性程序中。现有的指令执行追踪分析技术通常由于观察指令的非语义信息(如执行频率、运行时间、资源利用率和动态依赖)而难以区分这些细微差别,因此无法有效检测攻击相关指令。此外,直接检测单个指令容易导致高误报率。

需要关联成有意义的整体 。已识别的攻击相关指令需要被关联成一个有意义的整体,以导航指令恢复攻击场景。现有的指令执行追踪分析技术通常认为指令具有许多因果依赖关系,如通过执行顺序的控制依赖,以及通过某些资源单元(如内存单元)的数据依赖。这些依赖形成了关于指令的特定数据溯源,这里称为指令溯源 。基于指令溯源,指令执行追踪被表示为各种指令溯源图,如动态依赖图、并发溯源图。然而,这些图通常关联单个指令或计算块(如直到分支指令的指令序列),忽略了攻击相关指令的独特性和重要性,同时引入了大量攻击无关指令,因此这些技术无法提供有效的攻击场景表示。

需要恢复攻击场景摘要 。基于可能仍包含误报和不重要信息的已识别攻击相关指令,需要还原总结其攻击向量的攻击场景,以便安全分析师快速理解攻击类型、风险等级和其他攻击相关信息。现有的指令执行追踪分析技术通常在数据收集期间通过删除冗余来压缩数据,以减少存储空间和运行时开销,在分析期间不提供此类攻击摘要以进行攻击调查。此外,系统审计日志上的攻击摘要技术,即使设计为在分析期间工作,也很可能是针对特定数据的解决方案。

五、研究思路

为解决指令执行追踪上CPU漏洞利用攻击检测和调查中的上述挑战,我们提出了InstPro,一种基于溯源图的CPU漏洞利用攻击检测和调查方法,提取在语义上接近攻击抽象描述(描述攻击的高级行为)的指令序列(简称为原则性线索 ),将这些线索关联成线索溯源图*,并通过使用表示线索之间信息流的排名靠前的子图来恢复图中的攻击场景。在高层次上,InstPro在攻击抽象的指导下创造性地扩展了指令执行追踪上的溯源分析技术。****InstPro**的设计由以下关键见解驱动。*

第一 ,Claudio Canella等人提出的攻击抽象表明,CPU漏洞利用攻击是一种典型的多步骤攻击,包括状态准备(state preparation)瞬态触发(transient triggering)信息编码(information encoding)信息恢复(information recovery) 。此外,在指令执行追踪中,我们观察到某些指令序列可能形成攻击的步骤,并且比单个指令具有更强的攻击信号。例如,信息恢复步骤很可能由以时间测量指令(如rdtscp指令)开始和结束、中间有内存访问相关指令(如mov指令)的指令序列指示。因此,为解决挑战❶,InstPro从程序的指令执行轨迹中提取在语义上接近攻击抽象的指令序列(即原则性线索)

第二 ,通过仔细检查现有的指令溯源图,我们观察到原则性线索作为指令的超集,自然地继承了每个指令中涉及的因果依赖关系。因此,为解决挑战❷,基于指令溯源,我们引入了一个新概念,称为线索溯源 ,可以直接推理原则性线索之间的因果依赖关系。然后将线索溯源表示为线索溯源图 ,这避免了在整个程序的指令执行追踪数据上构建完整溯源图的高成本,同时通过对低级追踪数据进行抽象而提供了更简洁的溯源表示。

第三 ,通过仔细检查各种CPU漏洞利用攻击的线索溯源图 ,攻击场景可以表示为原则性线索之间的信息流。此类信息流在线索溯源图中表示为遵循某些模式的子图,称为信息流子图****。此外,线索溯源图中可能有许多信息流子图**,并非所有信息流子图对攻击场景都很重要。因此,为解决挑战❸,** InstPro线索溯源图中提取信息流子图***,并将更有可能表示攻击场景的信息流子图排在前面。***

六、研究 方案

基于这些见解,InstPro提供了提取原则性线索将线索关联成线索溯源图 以及在图中恢复攻击场景的新技术。特别是,这些技术依赖于专家知识,因此不需要训练数据。

提取原则性线索 :我们基于Canella TEA抽象构建线索模式,并使用这些模式从程序的指令执行追踪数据中匹配相关的原则性线索。特别是,我们通过使用关键指令和条件构建基于指令和基于状态的模式,这有助于精确定位追踪数据中原则性线索的位置。

将原则性线索关联成线索溯源图: InstPro执行因果分析以跟踪这些线索之间的因果依赖关系。特别是,InstPro的因果分析认为原则性线索通过其连续执行顺序具有彼此之间的控制依赖,或通过某些资源单元(如内存单元)具有数据依赖。

恢复攻击场景**** **:**InstPro使用排名靠前的信息流子图恢复攻击场景。具体而言,我们首先利用CPU漏洞利用攻击的信息流模式图从线索溯源图中提取信息流子图。然后,InstPro根据每个信息流子图表示攻击场景的置信度为其分配优先级分数。最后,InstPro根据优先级对这些信息流子图进行排序,并将排名靠前的信息流子图组合成场景图。虽然前4个信息流子图可以揭示大多数攻击程序的攻击场景,但安全分析师可以根据自己的需要决定场景中显示的顶部信息流子图数量。

大模型学社致力于分享和解读最新的大模型前沿技术与研究动态,推动大模型在各行业的实际应用。我们涵盖了自然语言处理、计算机视觉、多模态学习、大模型安全等领域的最新进展。通过深入的学术研究成果和实际案例分析,我们为科研工作者、技术开发者及行业从业者提供高质量的知识平台,帮助大家迅速掌握大模型的核心技术及未来趋势。关注大模型学社,与我们一起探索和推动大模型的创新与实践!

相关推荐
yaoxin5211232 小时前
329. Java Stream API - 打开 Optional 的正确方式:如何安全提取值?
java·安全·rpc
执行部之龙2 小时前
HTTP常见面试题总结
网络·网络协议·http
tod1134 小时前
Reactor反应堆模式
网络·网络协议·tcp/ip·reactor·多路转接·tcpdump
IT研究所11 小时前
IT 资产管理 (ITAM) 与 ITSM 协同实践:构建从资产到服务的闭环管理体系
大数据·运维·人工智能·科技·安全·低代码·自动化
Codefengfeng11 小时前
分辨压缩包的真加密与伪加密
linux·运维·网络
白太岁11 小时前
通信:(3) 高并发网络通信:epoll + 边沿触发 + 非阻塞 IO + tcp
c语言·网络·c++·网络协议·tcp/ip
duration~13 小时前
DHCP 协议详解
网络·网络协议·tcp/ip
代码改善世界16 小时前
【C语言】线性表之顺序表、单链表、双向链表详解及实现
c语言·网络·链表
诸葛务农17 小时前
iPhone Face ID的安全隔离区和神经网络引擎及其用于人形机器人的实践(下)
神经网络·安全·iphone