基于熵图像静态分析技术的勒索软件分类研究.pdf
《基于熵图像静态分析技术的勒索软件分类研究.pdf》由会员分享,可在线阅读,更多相关《基于熵图像静态分析技术的勒索软件分类研究.pdf(14页珍藏版)》请在咨信网上搜索。
1、随着人工智能、5G、物联网等技术的快速发展,我国在网络安全领域遭受境外攻击的现象也愈发严重,勒索软件攻击事件已显著增加,给国家、企业和个人造成巨大的数据损失和经济损失。为了有效地对勒索软件家族进行分类,本文提出一种基于熵图像静态分析技术的勒索软件分类方法,直接利用从勒索软件二进制文件中提取的熵特征进行分类,同时提出一种名为 Ran-GAN 的数据增强方法以解决勒索软件家族间数据不平衡问题。本文提出的方法将注意力机制引入 VGG16 神经网络架构中,用于提升网络的特征提取能力。实验结果表明,本文提出的方法在 14 种勒索软件家族上可达 97.16%的准确率以及 97.12%的加权平均 F1-sc
2、ore。与传统可视化方法相比,本文提出的方法在 4 种评价指标下均明显优于传统的可视化方法,同时,与其他神经网络方法相比,勒索软件的检测性能都有显著提升。关键词:勒索软件;勒索软件可视化;熵特征;静态分析;注意力机制中图分类号:TP309 文献标志码:A 文章编号:1001-6600(2023)03-0091-14随着互联网技术和加密货币市场的火爆,勒索软件针对我国的攻击次数呈现指数级增长。勒索软件最早出现于 1989 年1,由2021 年勒索攻击特征与趋势研究白皮书2可知,勒索软件攻击是当今网络安全的主要威胁之一,如何有效防范勒索软件攻击已经成为各国网络安全方面关注和讨论的焦点。勒索软件攻击
3、与其他形式的网络攻击大相径庭,可通过多种隐蔽方式进行,使得传统的防护措施在应对勒索软件攻击时变得低效。此外,勒索软件还具有变体多、传播快的特点。对勒索软件进行快速并且正确地分类有助于安全分析师提升工作效率,实现勒索软件的快速检测。目前,针对勒索软件的分类工作较少,现有的勒索软件分类常使用可视化的方法进行3-11。常用的勒索软件可视化方法是将勒索软件二进制文件转换成灰度图像或者彩色图像。然而,使用这种形式的图像进行分类存在着分类性能差、抗混淆能力弱、信息丢失等缺点。针对这些问题,本文分析多种勒索软件家族的熵特征,提出一种基于熵特征的勒索软件分类方法,可以准确快速地实现勒索软件家族分类。本文的主要
4、贡献包括 4 个方面:1)提出一种新的勒索软件分类框架。本文提出的框架可以直接从勒索软件二进制文件中提取熵特征,不需要进行拆解、解压缩和解密等逆向工程,改进了传统使用灰度图像进行分类造成信息丢失和准确率下降的缺陷。2)为了解决勒索软件家族间数据不平衡的问题,本文基于 Cycle-GAN 网络12提出 Ran-GAN 网络进行数据增强,降低类别不平衡现象对分类结果带来的影响。3)为了更好地提取图像细粒度特征以及不同勒索软件家族之间的差异性,将注意力机制引入到本文提出的框架中,提升勒索软件家族的分类效果。4)在 14 个勒索软件家族的 1 758 个勒索软件样本上进行大量实验,结果表明,本文提出的
5、框架可以达到 97.16%的准确率,优于其他模型。收稿日期:2022-10-08 修回日期:2022-10-29基金项目:国家自然科学基金(61762018);广西重点研发基金(2019AB35004,GuiKeAB20238030)通信作者:岑明灿(1987),男,广西北流人,广西师范大学讲师。E-mail:广西师范大学学报(自然科学版),2023,41(3)1 相关研究当前,针对勒索软件的分类方法主要有静态分析方法和动态分析方法。静态分析方法通常使用 IDAPro、OllyDbg 等反汇编工具对勒索软件进行逆向工程以提取勒索软件的静态特征,如操作码、PE header等。动态分析方法在一个
6、虚拟环境中运行勒索软件,并在运行过程中提取特征,但这种方法自动化程度低,可以被反探测技术规避且具有泄露的风险。1.1 动态分析方法Vinayakumar 等13首次提出利用动态分析的方法对勒索软件进行分类,通过在沙箱中运行勒索软件,在 7 个勒索软件家族以及一个良性软件家族上共提取了 131 个 API 序列作为特征进行分类。陈长青等14提出一种基于 API 短序列的勒索软件早期检测方法,提取了勒索软件的 API 短序列,然后使用N-grams和 TF-IDF 算法从收集到的 API 短序列中选择最有效的特征进行检测。然而,动态分析方法存在着一定的缺陷:首先,需要运行勒索软件才能获取特征,因此
7、在特征提取方面消耗大量的时间且存在勒索软件泄露的风险;其次,勒索软件样本可能使用反虚拟化技术,检测并阻止其在虚拟环境(如 Sandbox、Cuckoo)中执行,因此不能提取到有效的动态特征(如 API 序列)来进行分类。1.2 静态分析方法相比于动态分析方法,静态分析15-21不需要运行勒索软件,它从勒索软件的二进制可执行文件或经过逆向工程分解的源代码中提取结构特征用于检测和分类15。这些结构特征大致可分为 3 类:1)原始特性,如原始字节和二进制图像等;2)基于字符串的特性,如操作码序列、API 调用等;3)基于图的特征,如控制流程图(CFG)或函数调用图(FCG)16等。杨望等17提出一种
8、基于多特征集成学习的恶意代码检测框架,通过提取恶意软件的多种静态特征并使用集成学习的方法进行检测。Zhang 等18提出一种利用静态操作码作为特征,使用结合自注意力机制的 CNN 网络进行分类的勒索软件分类方法。Zhang 等19将原始操作码序列转换为基于 N-gram 的输入特征,然后用随机森林算法进行分类,最终在 8 个勒索软件家族上达到 91.43%的准确率。然而,这几种静态分析方法都需要进行逆向工程才能获取其操作码特征,且实现同样的功能操作码并不唯一,不适用于大规模的勒索软件分类14。因此,研究人员考虑寻找一种不使用逆向工程的静态分析技术来进行勒索软件检测及分类。Conti等22在 2
9、008 年首次提出将恶意软件可视化用于快速分析恶意软件结构的思想。Nataraj 等3首次提出一种简单的且不需要逆向工程的恶意软件分类方法,并在 25 个恶意软件家族上取得较好的分类效果。Kancherla 等4利用 SVM 算法对提取的恶意软件灰度特征和纹理特征进行分类,最终达到 95%的准确率。Saxe 等5引入信息熵的概念,提取恶意软件的字节熵直方图进行检测。郭春等6首先用 VGG16 神经网络提取特征,然后使用 SVM 机器学习算法进行分类,最终在 26 个分类家族上达到 96.7%的分类效果。2020 年,Xiao 等7提出一种基于深度神经网络的恶意软件分类框架,达到比较好的分类效果
10、。现有的基于恶意软件可视化的静态分析方法基本上都基于灰度图像,且使用单一的低阶特征,不利于发现恶意软件家族中隐藏的特征。因此,杨春雨等8提出一种基于三通道图像的恶意软件分类方法,并在 20 种恶意软件家族上进行分类。上述研究虽然可以解决勒索软件的检测和分类问题,但其解决方法往往需要复杂的特征工程或先验知识。文献3-4,6,9使用传统的可视化方法进行分类,存在抗混淆能力差、容易出现信息丢失的问题。本文提出的基于熵图像的勒索软件分类方法可在一定程度上解决这些问题,实现快速且高效的分类。2 研究方法本文提出一种新的勒索软件可视化的分类方法,该方法从勒索软件二进制文件中提取熵特征再生成熵图进行分类,其
11、流程图如图 1 所示。该分类方法由 3 个部分组成:勒索软件可视化、数据增强以及神经29http:网络的训练和测试。在勒索软件可视化阶段,从勒索软件二进制文件中生成熵图用于后续数据增强及分类。在数据增强阶段,由于勒索软件家族之间存在的样本数量不平衡性,本文采用一种新的名为 Ran-GAN 的数据增强方式来处理勒索软件家族之间样本不平衡问题。在神经网络训练和测试阶段,本文采用迁移学习和微调之后的 VGG-1623神经网络模型进行训练。为了使勒索软件分类模型在关注重要特征区域的同时兼顾全局特征,引入注意力机制来改善分类模型。2DE2D.344E=1Ran-GANE=图 1 基于熵图像的勒索软件分类
12、流程Fig.1 Flowchart of ransomware classification based on entropy map2.1 勒索软件可视化熵图为了提取图像形式的特征进行分类,勒索软件二进制文件需要首先转换成可视化图像,其转换过程如图 2 所示。本文提出的可视化方法不需要执行任何勒索软件,并且不需要特征工程和专家知识就可以直观地观察到相同勒索软件家族内部相似性以及不同勒索家族之间的差异性。传统的勒索软件可视化方法3-4,6,9将勒索软件转换成灰度图像或者彩色图像进行分类,然而,使用灰度图像作为特征进行分类存在一定的缺陷。例如,用于生产勒索软件变体的混淆和打包技术在创建灰度图像时
13、被看作是一种噪声,这使得无法准确分类来自同一勒索软件家族的多种变体。此外,勒索软件二进制文件转换为灰度图像后,其大小和形状都不相同,在输入神经网络过程中需要对其进行下采样转换成相同的形状才能进行分类,这导致了一定程度的信息丢失。最后,基于灰度图像和彩色图像的模型训练成本较高,训练时间长。因此,本文提出一种基于熵特征的勒索软件可视化分类方法。与灰度图像方法相比,本文直接从原始勒索软件二进制文件中提取熵特征,更好地保留了勒索软件家族中的独特特征。此外,转换后的熵图具有统一的大小,减少了图像处理过程中的信息丢失。通过使用熵特征,本文训练的模型具有更强的鲁棒性,这是因为灰度图像容易受白噪声和复杂纹理特
14、征的影响,而熵特征对微小变化的空间分布并不敏感,对于混淆技术具有很好的辨别能力。D bitF8 bitFD4343*M7*N)0&U*&%7&2DE0100110101001110001001001图 2 勒索软件可视化Fig.2 Ransomware visualization为了生成熵图,每个勒索软件的二进制文件都需要分 3 个步骤进行处理:文件分割、段落熵值计算和生成熵图。勒索软件二进制文件转化为熵图如算法 1 所示。首先读取勒索软件二进制文件的字节流信息,然后将整个勒索软件分成多段,每段由 256 字节(Byte)组成,每字节有 8 bit 的子串,8 bit
15、子串可以看作是 0255 的无符号整数。接着进一步计算一个段内不同字节值出现的频率,使用香农公式(1)计算每个段落的熵值。Ent=-ijM(i,j)logM(i,j)。(1)算法 1 勒索软件二进制文件生成熵图算法。Input:勒索软件二进制文件 f,段落长度 ls,文件总长度 lf;39广西师范大学学报(自然科学版),2023,41(3)Output:勒索软件二进制文件的熵图。while epoch 0L#Ms00L#图 6 CBAM 注意力机制Fig.6 CBAM attention modeCBAM 注意力机制由通道注意力模块和空间注意力模块 2 部分组成,可以用式(7)、式(8)来概括
16、。F=Mc(x)x,(7)F=Ms(F)F。(8)式中:x 是神经网络结构中的中间特征图,输入 CBAM 模块;Mc是通道上的一维注意力图;Ms是空间上的二维注意力图。通道注意力模块关注的是什么样的特征具有意义,它利用平均池化和最大池化 2 种池化方式来处理输入特征,使神经网络通过训练之后可以获得每个特征通道的重要程度。通道注意力机制的引入提高了勒索软件分类模型提取全局纹理特征的能力。输入 x 是一个勒索软件样本的 HWC 三维特征图,然后利用平均池化和最大池化提取特征信息,得到 2 个 11C 的通道描述。接着,特征信息被送入多层感知机 MLP 中得到 2 个维度相等的特征图,将这 2 个特
17、征图融合送入激活函数就可以得到权重系数Mc。最后,用权重系数 Mc与原始输入特征 x 相乘即可获得缩放后的新特征,其公式为Mc(x)=(MLP(AvgPool(x)+MLP(MaxPool(x)。(9)空间注意力模块关注特征图上哪些位置的特征具有意义,使神经网络通过训练之后可以获得特征图上不同位置的重要性,使勒索软件分类模型获得关注关键局部特征的能力。与通道注意力类似,将 HWC 三维特征图输入到 2 种池化层中得到通道描述,然后进行拼接,拼接后的特征送入 sigmoid 激活函数得到权重系数 Ms。最后,用特征系数 Ms与输入特征相乘得到缩放后的新特征,其处理公式为Ms(F)=(Conv(A
18、vgPool(F),MaxPool(F)。(10)2.4 神经网络训练模型VGG1623是由牛津大学提出的神经网络分类模型,该模型已被广泛用于各种分类和定位任务中。本文利用迁移学习对 VGG16 网络进行微调,将其最后全连接层通道数调整为勒索软件家族的种类数,并在神经网络中加入注意力机制来增强特征提取能力。勒索软件熵特征图像经过卷积、池化、注意力机制等一系列操作,最后通过 Softmax 激活函数输出每一种勒索软件家族对应的概率,其微调之后的网络结构如图7 所示。由于本文中勒索软件数量有限,本文在预训练的 ImageNet 数据集上使用熵特征作进一步训练和优化。经过迁移学习,可以有效减少训练样
19、本缺乏对勒索软件分类结果带来的影响,并减少训练时间,加速收敛过程。79广西师范大学学报(自然科学版),2023,41(3)46,vnoc,3333,conv,64t upnI33,conv,12833,conv,128Pool33,conv,25633,conv,25633,conv,256Pool33,conv,51233,conv,51233,conv,512Pool33,conv,51233,conv,51233,conv,512PoolFC 512FC 256FC num_classesCBAMPoolSoftmax图 7 微调之后的 VGG16 结构Fig.7 Architectur
20、e of fine-tuning VGG163 实验评估3.1 数据集和实验环境本文实验参考了文献25-27中使用的勒索软件样本,并对其进行筛选与扩充,最终从 VirusShare(https: MalwareBazzar(https:bazaar.abuse.ch/browse/)网站上获取了 14 个勒索软件家族中的 1 203 个样本,并使用 VirusTotal(http: 个勒索软件家族样本分布如表 1 所示。本文实验均在 Intel Core i7-10700KF CPU 3.8 GHz,16 GiBRAM,运行 Windows10 操作系统的 PC 上进行。数据集按照 7 3 的
21、比例分成训练集和测试集,并使用Scikit-learn、Numpy、Pandas 以及 Pytorch 等机器学习库进行编程。本文分类实验的相关参数设置如表 2所示。表 1 勒索软件家族分布Tab.1 Distribution of ransomware family勒索软件家族数目勒索软件家族数目Babuk(B)47Matsnu(M)54Conti(CO)84Reveton(R)86Crowti(CR)263Ryuk(RY)27Cryptowall(CW)99Sodinokibi(S)110CTB-Locker(CL)52Teslacrypt(T)99Darkside(D)47Virlock
22、(V)17Locky(L)157Wannacry(W)61表 2 模型参数Tab.2 Model parameters参数数值学习率510-4Batch_size16优化器Adam分类器Softmax损失函数交叉熵损失函数、中心损失函数3.2 评价指标本文实验使用 Accuracy、Precision、Recall、F1-score 作为评价指标来衡量单个家族识别的有效性,并结合混淆矩阵来观察模型对每一类勒索软件家族的分类能力,从而评估模型的可靠性。评价指标 Accuracy(Acc)、Precision(P)、Recall(R)、F1-score(F1)公式如下:Acc=NTP+NTNNTP
23、+NFP+NTN+NFN;(11)P=NTPNTP+NFP;(12)R=NTPNTP+NFN;(13)F1=2PRP+R。(14)式中:NTP表示样本属于正类,并且预测为正类;NFP表示预测样本属于正类,而错判样本为负类;NTN表示预测样本为负类,正确判别成负类的样本;NFN表示样本被判别为负类,而实际属于正类的样本。在多分类和89http:数据不平衡的情况下,模型的性能通常使用 Precision、Recall 和 F1-score 的加权平均或者微平均来评估。本文使用加权平均来衡量模型的整体分类性能,公式如下:Rweighted=mi=1nimj=1njRi;(15)Pweighted=m
24、i=1nimj=1njPi;(16)Fweighted=mi=1nimj=1njFi。(17)3.3 勒索软件分类实验传统的勒索软件分类方法通常将勒索软件转换成灰度图像或者彩色图像,然后使用神经网络进行分类。然而使用灰度图像或彩色图像进行训练时会造成一定的信息丢失且模型训练时间长,因此本文提出一种新的勒索软件可视化方法,该方法通过提取勒索软件的熵值并将其转换成熵图进行分类。表 1 中勒索软件样本被用在 ImageNet 数据集预训练以及微调下的 VGG16 模型进行分类,其分类结果和训练消耗时间如表 3 所示。表 3 不同可视化方法分类结果及训练时间对比Tab.3 Comparison of
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 图像 静态 分析 技术 勒索 软件 分类 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。