【恶意软件检测】【防】On Training Robust PDF Malware Classifiers

论文链接:https://arxiv.org/pdf/1904.03542.pdf
开源项目地址:https://github.com/surrealyz/pdfclassifier本文发表在USENIX Security 2020,第一作者是来自哥伦比亚大学的Yizheng Chen.这篇论文的成果来自Suman Jana老师领衔的研究组。该组在机器学习安全领域有很多优秀的成果。

主要内容:

本篇工作针对PDF恶意软件提出了新的鲁棒训练方法。本篇工作采用Verifiably Robust Training,利用有效PDF必须能被解析为树结构的特点,提出了一种针对PDF树结构的新距离指标,并借助这种距离指标指定了两类鲁棒属性,子树插入和删除。只要攻击者符合鲁棒属性,再强的攻击者也无法产生可逃避分类器检测的变种。比如,指定鲁棒属性为插入1棵子树,任何通过插入1棵子树生成的PDF恶意软件变种都无法逃避检测。

设计实现

1.特征选择

作者使用了前人工作Hidost使用的Bag-of-Path features特征,它将PDF根节点到每个对象的最短结构化路径的二进制计数作为特征。它的好处在于,攻击者修改输入产生新变种的操作不会让特征值产生大的波动,可以有效限制分类器输入的范围,降低FPR.
【恶意软件检测】【防】On Training Robust PDF Malware Classifiers

2.训练目标

鲁棒训练的目标,是让分类器对逃避攻击有足够的鲁棒性,即对攻击者通过修改恶意软件生成的新恶意变种,分类器也要能将新变种正确分类为恶意软件。
具体来说,对于一个输入x,我们首先需要找到对于每一个x˜ ∈ Dk(x),模型产生的最大损失,称为鲁棒损失。然后以鲁棒损失最小化为目标,更新模型参数。其中Dk(x)指以距离指标D表示的距离k范围内,所有可以产生的与x距离为k的新变种集合。我们将寻找鲁棒损失的过程称为内部最大化问题,将减小鲁棒损失,更新参数的过程称为外部最小化问题。由于外部最小化问题与常规的神经网络训练目标相同,因此鲁棒训练主要问题在于内部最大化问题。

【恶意软件检测】【防】On Training Robust PDF Malware Classifiers

3.距离指标和鲁棒属性

为了获取训练所需的鲁棒区域Dk(x),需要距离指标D描述和限制恶意软件与其变种的相似度。
作者发现,所有能保留恶意功能的PDF恶意软件变种,都必须满足正确的PDF语法,即可以被解析为树结构。为了能够系统,高效的生成变种,攻击者必然使用子树插入和子树删除操作恶意软件生成变种。只要分类器对这两种操作有鲁棒性,那么它对逃避攻击也就有了鲁棒性。
作者据此提出了子树距离作为距离指标:两个PDF软件的子树距离,即它们根节点下不同子树的数量。无论在x的根节点下插入1棵怎样的子树,x与生成的变种x˜的子树距离都是1。这样可以更好的限制鲁棒区域,降低FPR.
借助子树距离的限制,作者指定了子树距离为1时,子树插入和子树删除两种基础鲁棒属性。鲁棒属性具体是:对恶意软件进行任意子树插入(删除)操作生成的子树距离为1的变种,分类器不会将其分类为良性。这些属性都可以推广到子树距离为N的情况。

4. 训练方法

由于外部最小化问题与常规的神经网络训练目标相同,因此鲁棒训练主要问题在于内部最大化问题。
本篇工作采用的Verifiably Robust Training方法则通过sound over-approximation,获取鲁棒损失的上界。这种方法对未知攻击也具有一定的鲁棒性,只要给予适当的限制,就能将FPR控制在合理范围内。作者在神经网络上使用Symbolic Interval Analysis获取鲁棒损失上界。即通过恶意软件和其变种间特征向量的间隔(interval)来限制输入范围,即Dk(x),并进行训练。最终获取输出范围,将其上界作为鲁棒损失。

对大多数静态分析而言,都是牺牲complete来保证sound,要进行over-approximation,即may分析,这种时候分析出的错误中可能有误报,但是涵盖了要分析的所有错误。
还有一些静态分析是must分析,要进行under-approximation,要求报出的错误必须是真实存在的。例如,对于编译优化就需要进行must分析,如果使用may分析,那么对于那些误报的地方就会导致错误的优化。

什么样的SA(软件分析)是完美的呢?
定义是既overapproximate又underapproximate的SA是完美的。overapproximate也叫sound,underapproximate也叫complete,他们之间的关系可以用一个图很好的表示。
【恶意软件检测】【防】On Training Robust PDF Malware Classifiers
complete表示报告包含的错误都是真实的错误,但可能并未包含全部的错误,造成了漏报;
sound表示报告包含了所有的真实错误,但可能包含了误报的错误,导致误报; completeness: true - complete = false negative ->漏报
soundness: sound - true = false positive -> 误报

总结评价

文章首次提出并训练了PDF恶意软件分类器的鲁棒属性,并取得了不错的效果。不过实验中使用的一些攻击并不能生成真实环境中的恶意软件,虽然仅存在于特征空间的恶意软件对评价也有一定的意义,但这种方法在真实环境中的FPR可能会略高一些。总的来说,这篇文章对逃避攻击的防御是有不错的启发意义的。

学到的点:
鲁棒训练(鲁棒训练的目标,是让分类器对逃避攻击有足够的鲁棒性,即对攻击者通过修改恶意软件生成的新恶意变种,分类器也要能将新变种正确分类为恶意软件),
鲁棒损失(对于一个输入x,我们首先需要找到对于每一个x˜ ∈ Dk(x),模型产生的最大损失,称为鲁棒损失。然后以鲁棒损失最小化为目标,更新模型参数),

静态分析中的complete、sound、over-approximation等概念