本发明专利技术公开了一种基于马尔科夫图和深度学习的恶意软件分类方法,首先统计恶意软件字节转移频率,将其转换为马尔科夫图像,然后使用深度卷积神经网络完成恶意软件分类;其中设计的深度卷积神经网络结构是基于VGG16重新设计而成,其卷积层和池化层的深度与VGG16相同,一共包含13个卷积层、5个池化层;与VGG16不同的是,本发明专利技术设计的深度卷积神经网络只有一个全连接层,其输出维度为1024。本发明专利技术方法适用性广,且能有效减小字节信息的冗余;不依赖于预先训练模型,具有更高的分类准确率。
A classification method of malware based on Markov graph and deep learning
【技术实现步骤摘要】
一种基于马尔科夫图和深度学习的恶意软件分类方法
本专利技术涉及恶意软件分类和深度学习
,具体为一种基于马尔科夫图和深度学习的恶意软件分类方法。
技术介绍
恶意软件是指在未经用户同意的情况下渗透和损坏计算机的计算机程序。根据其行为特征可以分为病毒,间谍软件,蠕虫,特洛伊木马,rootkit等。随着互联网的普及,恶意软件已沦为不法分子的盈利工具及政治武器。例如,2010年6月被卡巴斯基实验室首次检测出来的工业界蠕虫病毒“震网”(Stuxnet)已经感染了全球超过45000个网络,并使伊朗近20%的原子离心机遭到破坏。2017年4月份,全球爆发的勒索病毒软件“永恒之蓝”(WannaCry)波及至少150个国家,超过23万台计算机被感染,造成损失达80亿美元。2019年3月,全球最大铝生产商之一挪威海德鲁(NorskHydro)公司遭到一款新型勒索软件(LockerGoga)攻击,被迫临时关闭多个工厂。恶意软件攻击已经对正常的工业生产造成严重安全威胁并酿成了巨大的经济损失。在巨大经济利益的驱动下,恶意软件越来越多的用到加壳、变形、多态等快速生成技术。大多数恶意软件经过混淆或修改小部分代码后就可被重复利用,导致恶意软件变种数量呈现爆发式增长趋势。据瑞星公司2018年年度报告显示,瑞星云安全系统共截获病毒样本总量7786万个,发现病毒感染次数11.25亿次,病毒总体数量比2017年同期上涨55.63%。尤其是在挖矿恶意软件、勒索软件等流行的恶意攻击领域,恶意软件数量显著增长。据统计,目前国际上有数万种病毒,而变种病毒却有成百上千万。这种低成本、大批量的恶意软件生成模式,使得恶意软件与杀毒引擎的对抗愈发激烈,对恶意软件的分析带来了巨大的挑战。绝大多数的新型恶意软件都是由已知的恶意软件变异而得,恶意软件变种之间只有不到2%的代码差异。这给安全研究人员提供了变种检测依据,通过计算恶意代码的相似度来对进行恶意软件变种检测。恶意软件变种检测技术的研究,不仅能在一定程度上降低检测及人工分析成本,也能通过变种增长趋势获取互联网威胁态势以及时采取应对措施。面对层出不穷的恶意软件变种,如何快速、准确地识别和分类恶意软件变种对网络安全至关重要。当前,恶意软件变种识别和分类的研究,主要以静态分析和动态分析获取恶意软件特征的方式为主。这类方法大多数通过对恶意软件的字节码、汇编码、文件结构或动态行为等进行分析,然后用机器学习算法对恶意软件进行分类。然而,由于软件保护机制,提取恶意软件静态反汇编代码往往遇到逆向分析困难的问题。恶意软件经过加壳、加密等变形技术处理后,其文件结构将发生巨大的变化。甚至难以找到程序入口点来进行后续分析。在静态分析难以奏效的时候,大多数研究者使用动态分析方法,直接分析恶意软件的动态行为。但基于动态分析的方法,只能分析恶意软件一条执行路径的行为特征,难以遍历所有执行路径的行为特征。同时,动态分析消耗大量时间,难以适应对海量恶意软件变种快速识别和分类的需求。基于特征的启发式方法不仅受限于逆向分析和时间消耗,而且非常依赖研究者的手动构建特征的经验。因此,无法适用于大规模恶意软件样本,难以应对恶意软件变种爆发式增长的实际需求。随着深度学习技术的发展及其在计算机视觉、语音识别、文字翻译等领域的成功应用,基于恶意软件图像和深度学习的分类方法成为一个重要的研究方向。由于省去了传统恶意软件分析中大量的特征工程工作,这种基于端到端的方法是一种十分有效的解决方案。然而,现有的基于恶意软件图像和深度学习的分类方法,直接将二进制代码字节转换为灰度图像。当使用深度神经网络进行训练时,必须将灰度图像转成统一大小。由于恶意软件大小存在差异,一般使用字节截断或图像缩放将恶意软件灰度图像大小统一。在该过程中,原始的二进制信息存在部分缺失,对恶意软件分类准确率有一定的影响。此外,二进制中并非所有的字节信息都有利于恶意软件分类。当直接把二进制转换成灰度图像时,存在大量冗余信息。当使用恶意软件灰度图像作为输入数据进行深度学习训练时,必须依赖于大量已标记的训练数据才能取得较好的分类准确率。因此,当前的恶意软件变种检测技术依然存在不足。
技术实现思路
针对传统的机器学习算法受特征工程限制,难以快速处理海量恶意样本,并且现有的基于恶意软件灰度图像和深度学习的分类方法的准确率并不高的问题,本专利技术提供了一种基于马尔科夫图和深度学习的恶意软件分类方法,具有较高的分类准确率。为解决上述技术问题,本专利技术采用的技术方案是:一种基于马尔科夫图和深度学习的恶意软件分类方法,包括以下步骤:步骤1:将恶意软件字节视为具有时序特性的字节流,每个字节作为一个特定的状态,将这种恶意软件字节流视为一个随机过程,即字节bytei,i∈{0,1,...,N-1},其中,N表示恶意软件字节数;遍历恶意软件所有字节的取值,统计每种取值出现的频率;步骤2:以频率估计概率,计算各个状态之间相互转移概率;若用Pi,j表示字节bytei后续字节为bytej的转移概率,则其计算公式为:其中,frequency(i,j)表示字节bytei后续字节为bytej的频率;步骤3:计算各个状态之间相互转移概率,形成马尔科夫概率转移矩阵,即:在马尔科夫图中,每一个像素点与Mm,m对应一个转移概率Pm,n的值;步骤4:基于VGG16设计新的深度卷积神经网络结构,所述深度卷积神经网络结构的卷积层和池化层的深度与VGG16相同,一共包含13个卷积层、5个池化层,所述深度卷积神经网络结构只有一个全连接层,其输出维度为1024,全连接层直接与输入层相连接,最后通过softmax函数输出恶意软件的类别标签;所述深度卷积神经网络结构的输入层维度是256*256的二维矩阵;步骤5:选择超参数来训练深度卷积神经网络结构模型,训练深度卷积神经网络得到深度卷积神经网络参数的合理值,包括深度卷积神经网络的卷积核权重;步骤6:使用深度学习工具包载入已训练的模型,然后将待测恶意软件样本通过步骤1、步骤2和步骤3进行图像化处理,得到相应的恶意软件马尔科夫图,以该图像为输入,在载入已训练的模型中预测恶意软件家族类型对应的标签值,对恶意软件家族进行分类。进一步地,在所述步骤4中,使用深度学习工具包构建新的深度卷积神经网络模型。进一步地,在步骤5中,所述超参数具体设置为:将批尺寸设置为32,将训练次数设置为250。与现有技术相比,本专利技术的有益效果是:1)本专利技术恶意软件分类方法是字节级的,仅使用了恶意软件的二进制信息,无逆向分析及动态分析过程,适用于多种恶意软件文件类型如PE、ELF、APK等。2)本专利技术方法能生成固定大小的恶意软件图像,能有效减小字节信息的冗余。3)本专利技术方法与基于灰度图像和深度学习的恶意软件分类相比具有更高的分类准确率,而且不依赖于预先训练模型。即使训练数据集较小,也具有较高的准确率。附图说明图1是基于马尔科夫图和深度学习的恶意软件分类框架。图2是恶意软件转换为马尔科夫图像示意图。
...
【技术保护点】
1.一种基于马尔科夫图和深度学习的恶意软件分类方法,其特征在于,包括以下步骤:/n步骤1:将恶意软件字节视为具有时序特性的字节流,每个字节作为一个特定的状态,将这种恶意软件字节流视为一个随机过程,即字节byte
【技术特征摘要】
1.一种基于马尔科夫图和深度学习的恶意软件分类方法,其特征在于,包括以下步骤:
步骤1:将恶意软件字节视为具有时序特性的字节流,每个字节作为一个特定的状态,将这种恶意软件字节流视为一个随机过程,即字节bytei,i∈{0,1,...,N-1},其中,N表示恶意软件字节数;遍历恶意软件所有字节的取值,统计每种取值出现的频率;
步骤2:以频率估计概率,计算各个状态之间相互转移概率;若用Pi,j表示字节bytei后续字节为bytej的转移概率,则其计算公式为:
其中,frequency(i,j)表示字节bytei后续字节为bytej的频率;
步骤3:计算各个状态之间相互转移概率,形成马尔科夫概率转移矩阵,即:
在马尔科夫图中,每一个像素点与Mm,m对应一个转移概率Pm,n的值;
步骤4:基于VGG16设计新的深度卷积神经网络结构,所述深度卷积神经网络结构的卷积层和池化层的深度与VGG16相同,一共包含13个卷积层、5个池化层,所述深度卷积神经...
【专利技术属性】
技术研发人员:王俊峰,袁保国,青先国,刘东,
申请(专利权)人:四川大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。