APP下载

可保留可用性和功能性的对抗样本

2022-10-16肖茂郭春申国伟蒋朝惠

计算机与生活 2022年10期
关键词:可用性区段字节

肖茂,郭春+,申国伟,蒋朝惠

1.贵州大学 计算机科学与技术学院,贵阳550025

2.公共大数据国家重点实验室,贵阳550025

恶意软件作为网络空间安全的主要威胁之一,主要分为病毒、蠕虫、特洛伊木马、间谍软件以及勒索软件等。AV-TEST 在2020 年报告指出,近十年来恶意软件的数量在不断增加,其新变种数量将近3.75亿,其中占比不到1%的勒索软件从2016 年至今就已造成了高达几十亿美元的经济损失。因此,安全研究人员针对恶意软件提出了多种自动化检测方法,其中,基于灰度图的检测方法通过将恶意软件转化为灰度图,无需执行软件或反汇编源文件,且通过引入深度学习模型在节省人工构造高阶特征工作量的情况下仍能获取较高的检测精度,在恶意软件检测领域得到了广泛关注和应用。恶意软件检测与反检测的对抗博弈是一场永无止境的斗争,伴随着基于灰度图的恶意软件检测方法的提出及应用,国内外研究者围绕能够欺骗该方法给出错误检测结果的对抗样本(adversarial example)开展了一系列研究工作。

现阶段国内外研究者针对恶意软件检测技术的对抗样本研究成果主要包括基于恶意软件字节码分类的对抗样本生成方法和面向恶意软件灰度图检测方法的对抗样本生成方法两类。前者大多是针对MalConv字节码检测模型进行的攻击,主要使用快速梯度符号(fast gradient sign method,FGSM)、C&W(Carlini and Wagner attacks)等对抗算法迭代修改PE 文件间隙空间或尾部空间的字节码生成对抗样本,此类方法生成对抗样本耗时相对较长且目前并未被应用于对抗基于灰度图的恶意软件检测方法;后者大多无法确保所生成对抗样本的可用性(指PE 文件能够正常运行)或功能性(指PE 文件所包含的程序功能可以正常使用)不被破坏,例如对PE 文件转化的灰度图进行无区域限定的像素更改的方法或对某些具有功能的区段进行更改的方法均会导致原PE 文件的可用性或功能性受损。为使所生成的对抗样本保留原PE 文件的可用性和功能性,部分国内外研究者提出了在PE 文件尾部进行字节添加的对抗样本,但这类对抗样本可通过文件头信息进行准确检测。

针对上述问题,本文从PE 文件的结构和对齐机制入手,提出了一种可保留PE 文件可用性和功能性的字节码攻击方法(bytecode attack remaining availability and functionality,BARAF),用于生成针对基于灰度图的恶意软件检测方法的对抗样本。

本文的主要工作如下:

(1)分析PE 文件的格式与对齐机制,对不破坏PE 文件可用性和功能性的字节码可添加/修改区域进行分析,发现可供添加/修改字节码的区域有尾部空间、间隙空间以及“模拟拉伸”的扩展空间。后续分析发现对尾部空间的字节追加通过文件头信息便能进行准确检测,而对间隙空间以及扩展空间的字节修改或添加较难通过文件头信息准确检测。

(2)基于扩展空间和间隙空间提出一种可保留PE 文件可用性和功能性的字节码攻击方法BARAF。该方法通过在PE 文件的扩展空间、间隙空间以及两者组成的混合空间内添加或修改字节码生成对抗样本,能够欺骗基于灰度图的恶意软件检测方法。

(3)在VX-Heaven、Virusshare 以及360 安全软件管家收集的4 688 个样本上进行实验测试,对BARAF所生成不同对抗样本的攻击性能、生成成功率以及检测准确性进行评估与分析。

1 背景知识

1.1 基于灰度图的恶意软件检测方法

将一个待检测软件判别为恶意软件或正常软件可以视为一个分类问题。现有研究表明,利用深度学习从恶意软件转化的灰度图中自动提取特征,再结合机器学习进行分析的框架能够获得较高的恶意软件分类准确率。该框架将恶意软件可视化为灰度图的流程如图1 所示,在将恶意软件的PE 文件以二进制形式读取后,将二进制序列中每8 bit 视作一个单元,转化为单个数值范围为0 到255 的无符号整型数值列表,之后将列表转换为256×维的二维数组并导出为灰度图,其中为灰度图的高,值视文件字节尺寸而定。在该框架中深度学习与机器学习算法的选择上,国内外研究者运用VGG16 与支持向量机(support vector machine,SVM)组合(后续简称为灰度图+VGG16+SVM)在恶意软件检测/分类上获得了很高的准确率。

图1 恶意软件可视化为灰度图流程Fig.1 Process of visualizing malware as gray image

灰度图+VGG16+SVM 检测方法框架如图2 所示,在将软件灰度图化后,利用VGG16 自动提取特征,再进一步将提取的特征通过SVM构建检测模型以判断待检测PE文件为良性软件还是某一类恶意软件。

图2 灰度图+VGG16+SVM 检测方法框架Fig.2 Gray+VGG16+SVM detection method framework

在灰度图+VGG16+SVM 方法完成检测模型构建之后,可以使用对抗样本干扰其检测准确性。对抗样本被灰度图+VGG16+SVM 方法作为输入的待检测样本,将执行可视化、特征提取和检测等步骤以判断其类别。由于对抗样本是对原始PE 文件中部分字节针对性修改后所得,其对应生成的灰度图与原始PE 文件所生成的灰度图也会存在不同,从而影响检测方法的判别准确性。本文将围绕针对灰度图+VGG16+SVM 方法的对抗样本展开研究。

1.2 针对基于灰度图的恶意软件检测方法的对抗样本

基于灰度图的恶意软件检测方法以灰度图化的软件作为分析对象。基于Jacobian的显著性图攻击、DeepFool、生成对抗网络和FGSM 等多种对抗算法被用于生成对抗样本来欺骗图片识别方法。在基于灰度图的恶意软件检测方法的对抗样本研究领域,Liu 等人运用FGSM、C&W 等对抗算法对恶意软件转化的灰度图直接进行像素点扰动来生成对抗样本。Vi 等人提出的对抗样本则是通过FGSM算法对PE 文件的资源段进行扰动而得到。Khormali等人提出的对抗样本是通过在PE 文件转化的灰度图尾部拼接其被Cleverhans库扰动后的灰度图或其他类别软件转化的灰度图来形成。

分析上述相关工作,若将PE 文件转化的灰度图进行无区域限定的像素修改或将PE 文件资源段区域对应的像素点进行修改,将会影响所对应PE 文件的可用性或功能性;而针对尾部空间进行字节添加的对抗样本,由于未修改任何头部信息而易通过文件头信息进行准确检测。针对相关工作存在的问题,本文重点分析PE 文件的结构和对齐机制,研究能够保留PE 文件的可用性和功能性的可添加/修改字节区域和相应的字节码攻击方法。

2 面向基于灰度图的恶意软件检测方法的字节码攻击可添加/修改区域分析

PE 文件的可用性和功能性与PE 文件的结构密切相关。若想在不破坏PE 文件可用性及功能性情况下修改其部分字节来生成对抗样本,需分析PE 文件的结构特点。因此,本文从PE 文件的结构特点出发,寻找能够保留PE 文件的可用性和功能性的可添加/修改字节区域。PE 文件结构如图3 所示,其主要由文件头(file header,)以及区段数据(section,)两部分组成。的NT 头(NT header,)中包含此文件拥有的区段数、此文件的文件对齐因子(file alignment,)以及区段对齐因子(section alignment,)。因为软件运行需要至少一个代码段,所以≥1。区段头(section header,)包含此文件的个区段标志信息,即=[,,…,SH]。文件中任意区段S均可由SH的区段段首地址(Pointer-ToRawDataPD)以及区段尺寸(SizeOfRawDataSD)进行定位,∈[1,],S中包含的实际数据或代码的量由虚拟尺寸(VirtualSizeVS)表示。如图3中PE 文件示例所示,PD为指向区段的段首地址,VS为区段的实际字节码量,例如为图3 灰色部分字节码“00 0E...6F FF”的字节总量。 SD为区段的区段总大小,其值为一个区段的间隙字节码量与其实际字节码量之和。

图3 PE 文件结构示意图Fig.3 Diagram of PE file structure

对一个包含个区段的PE 文件,在如图3 中所示的文件尾部追加任意量的字节码均不会破坏的可用性和功能性。当前已有研究者在PE 文件尾部追加字节码来形成对抗样本。文件尾部可以通过文件尾部地址定位,可由式(1)计算得到。

但通过在的尾部追加数据所形成的对抗样本,以的文件头判断后是否存在数据即可准确检测。

为寻找能够保留PE 文件的可用性和功能性且难以通过文件头信息准确检测的可添加/修改字节区域,本文着眼于PE 文件的结构以及加载机制中的文件对齐与区段对齐,发现如图3 中用黑色标识的间隙空间以及后续介绍的扩展空间能够满足上述要求。间隙空间因文件对齐机制而存在——为便于存储与读取数据,PE 文件每个区段需为磁盘区块尺寸(其值等于)的整数倍,对不足整数倍部分将填充“0x00”字节码从而形成该空间。各间隙空间可由各区段S的开始地址PD以及其间隙空间尺寸_gap进行定位,∈[1,],两者可分别由式(2)和式(3)计算。

由于一个区段S间隙空间量由文件对齐机制中的磁盘区块尺寸决定,而该尺寸主流情况下最大为“0x1000”(4 KB),此时一个区段S的间隙空间的最小与最大空间分别为0 Byte 与4 095 Byte,其中可修改字节为0 对应区段S的尺寸SD恰好为整数倍而没有填充字节的情况。

本文所指的扩展空间源于区段对齐机制,即在系统中运行PE 文件需要将其加载到内存中,此过程中PE 文件每个区段需要与加载系统的内存单位(其尺寸等于)进行对齐,致使各个区段将填充“0x00”字节码以进行相应扩展。本文通过填充字节码的方式增加各区段S区段的尺寸SD并修改区段段首地址PD数值,将PE 文件在文件态下各区段S的尺寸等同于该文件内存态下′,从而扩展出如图4 中用黑色标识的扩展空间。区段S的扩展空间可由增加量_expandPD所定位,PD即为下一个区段的段首地址PD。区段S的扩展空间的_expand以及其首地址PD可由式(4)、式(5)计算。

图4 PE 文件加载示意图Fig.4 Diagram of PE file loading

其中,SA为区段对齐机制中用于加载样本的系统内存页尺寸SA主流情况下为64 位操作系统的内存页尺寸“0x2000”(8 KB),此时一个区段S扩展空间的最小与最大空间分别为0 Byte与8 191 Byte,其中扩展空间为0对应区段S的尺寸SD恰好为整数倍。

综上所述,在上述间隙空间和扩展空间中进行字节码添加或修改可以生成针对基于灰度图的恶意软件检测方法的对抗样本,且该对抗样本不会破坏原PE 文件的可用性和功能性。因此,本文从间隙空间、扩展空间以及两者的混合空间出发,提出一种可保留可用性和功能性的对抗样本,并将生成该对抗样本的方法命名为BARAF。

3 可保留PE 文件可用性和功能性的字节码攻击方法

BARAF 方法框架如图5 所示,在待检测PE 文件转化为灰度图之前进行文件修改,可自主选择修改或添加字节码的空间及字节码内容形成不同的对抗样本。这些对抗样本通过改变灰度图区段纹理的方式影响基于灰度图的恶意软件检测方法对其检测的准确性。

图5 BARAF 框架图Fig.5 BARAF framework chart

BARAF 生成的对抗样本根据攻击区域的不同可分为基于扩展空间添加的对抗样本、基于间隙空间修改的对抗样本与基于混合空间增改的对抗样本。三种对抗样本的生成算法本文分别命名为扩展字节码攻击(expanded byte-code attack,EBCA)、间隙字节码攻击(gap byte-code attack,GBCA)以及混合字节码攻击(mixed byte-code attack,MBCA)。

3.1 基于扩展空间添加的对抗样本

基于扩展空间添加的对抗样本以PE 文件的扩展空间为攻击区域。对包含个区段的PE 文件进行基于扩展空间添加的对抗样本生成过程如算法1所示,其中∈N,其关键点包含区段空间拉伸与区段内容添加。区段空间拉伸如第2 章所述,通过数值修改来增大当前区段SD以及后续区段PD PD数值以扩展S的空间,所得′~′S扩展后其后续区段的段首地址;添加内容BCT为在扩展空间进行字节添加时选择的字节码,可选字节范围为“0x00~0xFF”中任意字节。

EBCA

3.2 基于间隙空间修改的对抗样本

基于间隙空间修改的对抗样本以PE 文件的间隙空间为攻击区域。对含有个区段的PE 文件进行基于间隙空间修改的对抗样本生成过程如算法2所示,其中∈N,其关键点包含间隙空间定位和字节码修改。如第2 章所述,区段S的间隙空间可由_gapPD定位;修改内容BCT为在间隙空间进行字节修改时选择的字节码,可选字节范围为“0x00~0xFF”中任意字节。

GBCA

3.3 基于混合空间增改的对抗样本

基于混合空间增改的对抗样本同时以PE 文件的扩展和间隙空间作为攻击区域。对包含个区段的PE 文件进行基于混合空间增改的对抗样本生成过程如算法3 所示,其中∈N,其关键点为3.1 节与3.2节所述的间隙空间定位、字节码修改、区段空间拉伸、区段内容添加,添加内容BCT、修改内容BCT均在“0x00~0xFF”范围内选择。由基于混合空间增改的对抗样本定义可知,在主流情况下(和分别为4 KB 和8 KB),中一个区段S可增改空间大小为0~12 286 Byte。

MBCA

4 实验

4.1 数据预处理

为评估BARAF 所生成的对抗样本对基于灰度图的恶意软件检测方法的欺骗效果,本文收集了4 688个PE 文件,其中588 个良性软件来源于360 安全管家并归为1 个家族(benign),4 100 个分属16 个家族的恶意软件采集于VX-heaven和Virusshare。实验中随机抽取这17 个家族中每个家族的70%作为训练集,剩余30%用作测试集。实验数据分布如表1所示。

表1 实验数据集详情Table 1 Detail of experimental dataset

在实验中,训练集用于训练基于灰度图的恶意软件检测方法(在本实验中为Gray+VGG16+SVM 方法),测试集中各样本将被BARAF 进行攻击。由BARAF 攻击前后的样本所转化的部分灰度图如图6所示,共有12 个家族的软件能够生成基于混合空间增改的对抗样本。图6中为“0x80”,每个家族中的左图为PE 文件转化的原始图像,右图为同一文件进行混合空间增改所生成的对抗样本所转化图像。图6 显示BARAF 攻击生成的对抗样本所转化图像相比于原始图像皆进行了长度拉伸且产生了一定程度的图像纹理变化。

图6 原始灰度图与灰度图化的对抗样本对比Fig.6 Comparison of original gray image and image-based adversarial example

4.2 评估指标

为评估BARAF 对Gray+VGG16+SVM 方法的影响情况,本文使用准确率(accuracy)、真阳率(true positive rate,TPR)、假阳率(false positive rate,FPR)、误分类率(misclassification rate,MR)、对抗样本生成成功率(success rate,SR)以及平均可添加量(average additive volume,AAV)作为评估指标。其中Accuracy用来评估Gray+VGG16+SVM 方法的检测性能,TPR和FPR 用于评估检测对抗样本的准确性,AAV 为不同家族在单种攻击下可供添加或修改的平均字节数。Accuracy、TPR 与FPR 通过式(6)~(8)计算,其中,TP(true positive)和TN(true negetive)表示正确预测正/负例样本数量,FN(false negetive)和FP(false positive)表示正/负例样本被错误预测的数量。

指标用于衡量BARAF 所生成的对抗样本对检测准确率的影响,可由式(9)计算,其中表示检测方法的原始准确率,Accuracy表示检测方法在攻击后的测试集上得到的准确率。

指标用于衡量BARAF 生成对抗样本的成功率,通过式(10)计算,其中表示测试样本总数,表示成功生成对抗样本的数量。

4.3 实验结果

Gray+VGG16+SVM 对原始测试集和BARAF 攻击后的测试集检测结果如表2 所示。由于BARAF 选择不同字节码(选择范围为“0x00~0xFF”)将生成不同的对抗样本,表2 给出了Gray +VGG16+SVM 对BARAF 分别 使用“0x00”“0x80”“0xFF”三组 字节码进行间隙字节码攻击、扩展字节码攻击与混合字节码攻击后的测试集的检测结果。

表2 BARAF 对Gray+VGG16+SVM 的性能影响Table 2 Impact of BARAF on performance of Gray+VGG16+SVM

如表2 所示,Gray+VGG16+SVM 方法在原始测试集上获得的Accuracy 为90.33%,而在三种攻击方法攻击后的测试集中,产生最大MR 值的攻击方法为选择“0xFF”字节码的MBCA,其MR 值达到31.58%(即使得检测方法的Accuracy 下降31.58 个百分点);其次是选择“0xFF”字节码的EBCA,其攻击后的测试集产生了26.67%的MR 值;MR 值最低的攻击方法为GBCA,最多仅能获得13.57%的MR。在不同字节码对攻击方法的影响方面,除GBCA 选择“0x00”时由于攻击前后的灰度图未发生变化而未影响检测准确性外,不同攻击均是在使用“0xFF”时获得最佳的MR值,因此可以将“0xFF”作为BARAF所用字节码的推荐值。表2还显示了GBCA 的AAV 值最小(2 702 Byte),而EBCA的AAV值为7 743 Byte,约为GBCA的2.87倍。

为进一步分析BARAF,本小节首先将对其进行对抗样本生成成功率分析,然后通过文件头信息对其攻击后的测试集中样本进行检测准确性分析。由于MBCA 的攻击区域是GBCA 和EBCA 攻击区域的叠加,仅对GBCA 和EBCA 攻击后的测试集进行检测准确性分析,最后将BARAF 与其他文章所提出的攻击方法进行对比分析。

(1)对抗样本生成成功率分析

BARAF 在测试集样本上生成三种不同对抗样本的成功率及各家族对抗样本生成情况分别如表3、表4所示。表3显示GBCA对应的对抗样本生成成功率最高(SR值为73.76%),而MBCA的SR值仅为41.04%。具体到各个家族,表4 显示EBCA 在“B.Small”和“TG.OnLineGames”家族上成功生成的对抗样本数量为0,这是因为这两个家族的样本中所有区段皆已区段对齐。而“B.Shark”“TB.Banker”与“TS.Zbot”家族的样本由于存在实际字节码量与区段实际功能代码量不相等的情况,GBCA 难以准确定位间隙空间而导致GBCA 在这三个家族的样本上成功生成对抗样本的数量较少。最后,由于GBCA 与MBCA 两者皆可成功生成的样本重合率过低,导致MBCA 在本文测试集上生成对抗样本的成功率低于50%。

表3 对抗样本生成成功率Table 3 Creation success rate of adversarial examples 单位:%

表4 各家族对抗样本生成结果Table 4 Generation result of adversarial examples of each family

(2)对抗样本检测准确性分析

本小节将选定为“0xFF”,通过文件头信息对GBCA 和MBCA 攻击后的测试集进行对抗样本检测,检测结果分别如图7、图8 所示,图中“No.A”表示GBCA 或MBCA 在各家族测试样本上成功生成对抗样本的数量,“No.B”表示通过文件头信息判断为各家族对抗样本的数量。从图7 和图8 可以看到,在多个家族中通过文件头信息判别为对抗样本的数量超过了该家族测试样本中对抗样本的实际数量。

图7 通过文件头信息检测GBCA 攻击后的测试集的结果Fig.7 Detection result obtained by file header information on test set attacked by GBCA

图8 通过文件头信息检测EBCA 攻击后的测试集的结果Fig.8 Detection result obtained by file header information on test set attacked by EBCA

表5 给出了GBCA 和EBCA 攻击后的测试集经由基于文件头信息检测所得到的检测结果。如表5所示,GBCA 和EBCA 的FPR 值分别为17.07%和59.81%,说明通过文件头信息检测这两种攻击后的测试集均会得到较多的误报。出现高FPR 值的原因同对抗样本生成成功率低的原因一致,即区段的实际字节码量与区段的实际功能代码量不相等而导致通过文件头信息定位相应空间不准确。

表5 通过文件头信息检测不同攻击后的测试集的结果Table 5 Detected results obtained by file header information on test sets attacked by different attacks 单位:%

(3)对比研究

为比较BARAF 与其他针对基于灰度图的恶意软件检测方法的对抗攻击所生成对抗样本,本小节以不同方法所生成对抗样本通过文件头信息进行检测的准确性高低、能否保留PE 文件的可用性和功能性等方面进行定性比较。如表6 所示,ATMPA方法通过对PE 文件转化的灰度图进行无区域限定的像素修改来生成对抗样本,不易被文件头信息检测方法准确检测,但该方法生成的对抗样本可能会因文件结构所对应字节码被修改而破坏PE 文件的可用性和功能性;RSRC+FGSM方法在生成对抗样本时将扰动的区域限制为PE 文件的资源段,该方法生成的对抗样本不易通过文件头信息准确检测,且由于其未修改文件的代码段而使得对抗样本具有可用性,但资源段中字节码的修改会破害PE 文件的功能性;COPYCAT方法通过在PE 文件转化的灰度图尾部拼接其他类别软件转化的灰度图来生成对抗样本,未对PE 文件原有区段进行修改而不会破害其可用性和功能性,但该方法生成的对抗样本由于未更改文件头信息而较易通过文件头信息进行准确检测;本文提出的BARAF 由于未修改PE 文件的实际功能代码,所生成的对抗样本能保留原始PE 文件的可用性和功能性,并且由于攻击时修改了文件头的相应信息而不易通过文件头信息准确检测。

表6 不同攻击方法所生成的对抗样本对比Table 6 Comparison of adversarial examples generated by different attack methods

5 结束语

基于灰度图的恶意软件检测方法由于具有高准确率的特点逐渐被广泛应用。本文从迭代和完善的意图出发研究基于灰度图的恶意软件检测方法的对抗样本,分析PE 文件的结构以及对齐机制,发现了一个能够保留PE 文件的可用性和功能性的可添加字节区域——扩展空间,并进一步提出了一种可保留PE文件可用性和功能性的字节码攻击方法BARAF。BARAF 通过在特定的间隙空间和扩展空间内修改或添加字节码来生成可保留原PE 文件可用性和功能性的对抗样本。实验结果表明BARAF 所生成的对抗样本最多能使基于灰度图的恶意软件检测方法Gray+VGG16+SVM 的Accuracy 降低31.58 个百分点,并且不易通过文件头信息进行准确检测。

在后续工作中将重点研究针对基于灰度图的恶意软件检测方法的对抗样本的防御方法,尝试提出可抵御现有对抗样本干扰的基于图像的恶意软件检测方法。

猜你喜欢

可用性区段字节
一种改进的列车进路接近锁闭区段延长方法
核电站DCS可用性测试应用研究
高速铁路设施管理单元区段动态划分方法
中老铁路双线区段送电成功
No.8 字节跳动将推出独立出口电商APP
面向移动应用的软件可用性研究综述
机构知识库网站可用性评价指标的计量学分析
铀浓缩厂区段堵塞特征的试验研究
No.10 “字节跳动手机”要来了?
关于数字图书馆网站的可用性框架研究