将论文中内容精简了一下,并做了下总结。
目录
[EAGLE 自动生成的扫描器的效果](#EAGLE 自动生成的扫描器的效果)
摘要
从传统的网络攻击中,指出取证技术是一种重要的防御手段,用于调查和追踪攻击的来源以及方法。
新型模型后门取证技术的提出 :
论文中提出了一种新的取证技术,该技术旨在通过少量带有后门触发器的样本来分析和拆解攻击:
分解攻击样本 :技术能够自动将攻击样本(即带有后门触发器的输入)分解为干净的输入(没有恶意触发器的正常输入)和相应的触发器。触发器可能表现为两种形式:一种是类似补丁的输入模式,另一种是输入空间的转换函数
触发器聚类与分类:这些触发器会根据它们的属性进行聚类,帮助自动分类和总结不同类型的后门攻击。
在分析后,技术可以自动生成后门扫描器,这些扫描器可以用于检测其他模型中相同类型的后门攻击实例。这提供了一种自动化的机制来应对不同类型的后门攻击。
背景介绍
网络攻击过程以及防御阶段与DL中后门攻击与防御类似:
网络攻击模型(图1):在传统的网络攻击中,攻击者(Adversary)通过利用应用程序中的漏洞(bug),通过特定的恶意输入(exploit input)触发系统的错误行为(如系统崩溃、数据泄露等)。攻击后会产生某种负面后果(consequence)。
网络取证的流程(图2):在传统网络攻击中,取证技术的目的是:
识别攻击的根本原因:包括漏洞的来源、恶意输入的类型。
评估损害:了解攻击所造成的破坏范围。
构建工具:通过取证得出的信息,可以开发出漏洞检测工具或恶意软件扫描器,从而更好地检测类似的攻击实例以及同类型的漏洞。
现有的研究集中于取证中的某些子问题,比如检测后门输入或者清理有毒样本。相当于整个取证技术的基础。
Contribution :
- 提出了一种新的深度学习后门攻击取证技术,包含自动化的攻击根因分析、攻击总结与扫描器合成。
- 引入了一个循环优化流程,能够将带有后门的输入分解为干净的输入和触发器。
- 通过两种数学形式来表达现有的攻击方法,使得不同的攻击可以通过不同的系数分布进行建模,实现自动分类和扫描器合成。
提出的方法:BEAGLE的核心目标
原理:
首先检测到了发生后门攻击,然后根据已有的攻击实例也就是后门样本进行分解,得到干净的样本和触发器,然后结合分解的结果分析后门样本的共性,进行聚类,每一个类表示一种后门攻击方法。然后根据不同类型的攻击通过数学模型中的系数分布进行建模来合成扫描器,扫描器可以无需后门输入就可以判断模型是否被植入后门,会通过损失函数反向推导出模型中的后门触发器。推导成功则被认为存在后门。
讨论了论文提出的解决方案,称为"攻击取证"(Attack Forensics),并解释了它相对于传统触发器反转(trigger inversion)方法的改进。论文中的核心思路是通过对少量攻击实例进行逆向工程,反向提取攻击的具体信息,如触发器的形态以及如何注入的。这些信息被用于生成额外的损失项,以改变损失函数的"地形",从而使梯度能够引导触发器反转到被破坏的子空间。
该方法旨在通过分析少量攻击实例,来自动化地分解这些攻击输入,过程包括:
1.将带有后门的输入(trojaned input)分解为干净的输入和触发器。
2. 触发器可能表现为两种形式:一种是类似补丁的输入模式,另一种是输入空间的转换函数
分解的要求:
1.分解后的干净输入应当与原始的干净输入非常接近,即便BEAGLE并不知道原始的干净输入。
2.分解出来的触发器应与注入的真实触发器十分相似,尽管BEAGLE也不知道实际的注入触发器。
- 该触发器应具有较强的普适性------即当应用于其他大量干净输入时,它也能使模型输出相同的错误目标标签。这类似于传统网络攻击取证中的根本原因分析,在这类分析中,需要识别导致攻击的根源因素。
聚类与归纳:
将分解的结果自动对这些攻击实例进行聚类:
每个聚类代表一种特定类型的后门攻击。
对于每个聚类,BEAGLE进一步总结出一组分布(distributions),这些分布代表该类型后门的特征。
根据这些分布,BEAGLE能够自动合成对应的扫描器,以便在其他模型中找到相同类型的后门。
解决一个难点:可以应对不同形式的同类攻击
后门攻击实例的差异性:不同模型上的后门攻击实例(即相同类型的后门攻击在不同模型上的表现)可能存在较大的差异:
比如,补丁攻击在不同模型上可能表现为不同的形状、大小、像素模式,甚至补丁的贴图位置也可能不同。
因此,仅仅依赖于直接利用取证分析得到的触发器很难检测到其他类似的攻击实例。
它能够抽象出攻击实例的共性,而不是直接依赖于分解得到的原始触发器。通过这种抽象,它可以检测到其他模型上相同类型的后门攻击。
这种方法类似于传统网络安全中的做法:通过取证结果构建漏洞和恶意软件检测工具,从而有效识别相同或类似的攻击。
简化的具体步骤:
将攻击分解 的步骤设计为一个循环优化问题:
1在最初,分解得到的干净输入和触发器的质量非常低,比如可能只是随机分解的结果。
2循环优化确保每次对干净输入的改进都会带来触发器的改进,反之亦然。
3随着这个过程的迭代,当循环优化收敛时,能够得到高质量的分解结果。
该方法将后门攻击形式化为两种数学表达:
1.Patching attacks:这种攻击引入局部的输入扰动,类似于补丁攻击,触发器只影响输入的一小部分区域。
2.Transforming attacks:这种攻击引入全局性的输入扰动,可能改变整个输入空间的特性。
不同类型的攻击可以通过这些数学模型中的系数分布 来进行建模,从而实现自动攻击分类。
使用这些数学模型和它们的系数分布,BEAGLE 能够为扫描器合成损失函数。
扫描器 的作用类似于传统的漏洞或恶意软件扫描工具,可以无需恶意输入就判断模型是否包含后门。
- BEAGLE 会通过损失函数反向推导出模型中的后门触发器。
- 如果这种反向推导成功,则模型被认为是存在后门的。
- 反向推导过程本质上是通过梯度下降法生成能够引发模型误分类的小型扰动模式或变换函数。
ThreatModel :
主要应用场景是用户观察到模型出现了一些异常的错误分类 ,这些错误分类可能通过手动检查或使用特定工具(如后门输入检测工具)被发现,然后攻击样本被检测和保存以供取证分析(类似于首次发现缓冲区溢出的情况)。
用户可以提供一小部分的干净输入,例如每个模型提供100个干净样本,以辅助分析过程。
除了用户提供的信息外,分析员还可以使用生成对抗网络(GAN)来表示输入分布:这种假设是合理的,因为现实中的深度学习模型通常遵循物理世界的分布,而预训练的高质量GAN可以很好地代表这些分布。
方法限制:
攻击者可能注入的后门只会将非常相似的类(例如类A 与类B )的样本相互转换,而这些类别对人类来说是难以区分的。虽然这类攻击是否对攻击者有利尚存争议,因为这些类别本身的决策边界已经非常模糊,但处理这种类型的攻击超出了本文的范围。
就是说这篇文章处理的是较为明显的后门攻击,例如像不同国家的短脚猫会有些差距,但是视觉上基本看不出来,像这种本身决策边界模糊的后门攻击没有去分析。
此外,一个模型可能包含多个后门攻击实例,但在这个威胁模型中,假设所有的中毒输入样本都利用了同一个后门。(取样分析然后分解的时候是一种种后门攻击方法去处理的,不能同时处理多种)
过程中遇到的问题及解决方案
问题:
不同的攻击会影响输入空间的不同部分,而这些被破坏的子空间可能非常小。传统的触发器反转方法依赖于交叉熵损失函数的梯度,但在输入空间中的这些小且孤立的子空间中,梯度可能无法提供有效的指引,导致无法找到触发器。举例来说,当攻击实例的分布较为稀疏时,从干净的输入样本开始,梯度会无法引导模型找到触发器对应的区域。
解决方案:
论文提出了一个新的方法,通过"攻击取证"来解决上述问题。具体来说,BEAGLE系统通过对少量攻击样本的逆向工程,提取触发器的形态及其注入方式,并基于这些信息生成额外的损失项。这些新生成的损失项改变了损失函数的地形,使得梯度能够引导触发器反转找到被破坏的子空间。
案例分析:
BEAGLE 系统通过攻击取证 (forensics) 生成有针对性的扫描器,以有效检测不同类型的后门攻击。通过对几个攻击实例的分析,BEAGLE可以从这些实例中逆向提取出干净的图像和触发器的相关特征。以下是对图7 中三个案例的具体说明:
图 7(A) - 补丁攻击的取证 (Patch Attack Forensics)
图7(A) 主要展示了 TrojAI 中补丁攻击 的取证过程。BEAGLE 从两个带有触发器的攻击样本出发,这些触发器位于图像的不同位置。通过其技术,BEAGLE 将攻击实例分解为干净的图像和触发器,尽管原始的干净图像是未知的。通过对这些分解实例的分析,BEAGLE 能够总结出触发器的位置 、大小 、以及触发器区域的像素值等特征的分布。利用这些分布,系统自动合成了一个新的损失函数来检测相同类型的后门攻击。
图八介绍了 BEAGLE 系统的设计,通过图8展示了整体技术流程的概述。系统的工作流程主要分为三个步骤:
1. 攻击样本分解(Attack Sample Decomposition)
- 目的:将带有后门触发器的图像分解为干净的图像和触发器。这是 BEAGLE 系统的第一个关键步骤。
- 操作:从带有触发器的图像入手,BEAGLE 使用其技术将输入样本分解成两个部分:一个是干净的图像(没有触发器),另一个是攻击中使用的触发器。这个步骤为后续的攻击总结和扫描器生成提供了基础数据。
2. 攻击总结(Attack Summarization)
- 目的:提取和总结多个攻击样本的关键信息,这些样本可能来自不同的模型或包含各种后门。
- 操作 :BEAGLE 分析和总结攻击样本的多个关键分布,包括:
- 触发器的大小和形状分布:描述触发器的几何特征。
- 变换系数分布:如果触发器是通过某种变换注入的,则分析变换系数的分布。
这个步骤的重要特点是:不需要假设所有攻击实例都属于同一类型的后门攻击,因为 BEAGLE 会自动将不同的攻击进行聚类和总结。但假设大多数攻击实例的输入是利用相同的后门。
3. 扫描器合成(Scanner Synthesis)
- 目的:生成一个扫描器,通过调节触发器反转过程中的损失函数项来检测相同类型的后门。
- 操作:BEAGLE 使用在前两个步骤中总结出的攻击特征,自动合成新的损失函数项。这些损失项可以改变反转过程中损失函数的地形,使得触发器反转能够有效找到类似的后门触发器。这一步骤的目标是生成一种通用的扫描器,它能够检测同类攻击,即使这些攻击的触发器细节不同。
EAGLE 自动生成的扫描器的效果
表1最后一行显示了通过 BEAGLE 自动合成的扫描器的扫描结果。BEAGLE 使用了每种攻击类型的3个受攻击模型来进行取证,这些模型与用于扫描评估的模型是分离的。结果表明,基于这些扫描器,BEAGLE 能够准确地检测出被植入后门的模型。
然而,仅仅依靠 BEAGLE 逆向工程提取的触发器来判断模型是否具有类似的后门并不有效。这是因为不同模型在后门攻击的具体表现上有所差异,因此直接使用触发器作为检测依据的方式不具备通用性,这一点可以从表1第四行的结果中看出。
通过这些例子,BEAGLE 系统展示了其强大的攻击取证能力,能够对不同类型的攻击进行分析,并合成针对性的扫描器来检测后门模型。
总结
BEAGLE 的整体设计由三个核心步骤组成,分别是攻击样本分解 、攻击总结 和扫描器合成。这些步骤使得系统能够从少量的攻击实例中总结出关键信息,并生成有效的扫描器,用于检测其他模型中的类似后门攻击。