基于N-gram特征提取的恶意代码聚类分析方法研究
发布时间:2021-11-08 12:20
随着网络的普及、计算机技术的日益进步,如今计算机信息安全面临着很大的威胁,恶意代码是其中主要的攻击手段。数目不断增长、技术不断发展恶意代码给人们的生活带来了很多困扰,也导致了个人及企业的经济损失,甚至威胁到国家安全。随着恶意代码的检测技术和反检测技术的不断对抗发展,日益增多的恶意代码给分析人员带来巨大的压力和严峻的挑战。本文采用静态分析的方法进行恶意代码检测。首先,引入基于N-gram语义特征提取方法对恶意代码进行多元语义切分,映射为恶意代码的Opcode操作码特征。由于传统N-gram方法进行特征提取的过程中,得到的特征序列长度固定,会丢失一些语义特征丰富的特征序列。因此,本文提出了一种基于混合N-gram的恶意代码特征提取方法,将固定长度的特征短序列基于信息增益的方法进行多维特征组合,并选取其中最优数据维度得到恶意代码特征子集。针对传统的特征选择算法在选择特征时数据维度过多,特征代表性不强,运行较长的局限性,本文引入皮尔逊相关系数特征选择方法,并结合机器学习中的K-means聚类算法,提出一种面向多融合特征选择的恶意代码聚类检测方法。并通过微软数据集加以验证,通过多融合特征选择方法...
【文章来源】:沈阳理工大学辽宁省
【文章页数】:67 页
【学位级别】:硕士
【部分图文】:
基于混合N-gramFig.3.1featureextractionmetho
-21-程序是由一条条指令组成的,但是直观上并不能分辨出每条指令的具体内容。因此需要对程序进行反汇编,将恶意代码的程序由二进制形式转化为可阅读的汇编形式。如下图3.2所示,通过一个恶意样本在经过反汇编得到恶意代码汇编文件,从左到右三列分别为地址、Opcode操作码、汇编语言。图3.2恶意代码的汇编文件结构Fig.3.2assemblyfilestructureofmaliciouscode3.2.2操作码提取本文通过Opcode操作码对恶意代码进行聚类。为了对恶意代码进行有效地聚类,通过将恶意代码的操作码转换为特征向量的方法来提取操作码的相关信息。首先需要从恶意代码的文件中提取出操作码序列。操作码的提取主要是从一条完整的指令中提取出操作符。在指令中,操作符有很多类型,如数据传输指令、算术运算指令、逻辑运算指令、程序转移指令等。由于本文使用的恶意代码数据集中的操作码太多,本文通过随机抽样的方法选出部分数据集,并设定K值(每一类恶意代码抽取的数量),没有达到K值的类别,取出该类全部数据。本文使用的数据集已通过反编译的过程,可直接从反编译后生成的文件中提取Opcode序列。“.ASM”文件中仅仅在以“.text”开头的代码段中含有操作码,因此,提取操作码序列时仅仅按行读取汇编源程序“.ASM”文件中以“.text”开始的文件内容,并用十六进制的形式表示出所读取的内容。通过正则表达式来与每行的内容进行匹配,利用表达式得到的内容包括一条完整的指令,指令包括两个部分,分别是操作数和操作码。利用从得到的指令中选取出Opcode,一直持续到将恶意代码中所有的Opcode全部提取才结束,最后从一个恶意样本中提取出它的Opcode序列。操作码序列提取的流程如图3.3所示。
-28-使用上述熵中的ijP定义,我们将聚类i的纯度定义为iijP=max(P)。整个聚类划分的纯度为1KiiimpurityPm==,其中K是聚类的数目,m是整个聚类划分所涉及到的成员个数。F-Measue即F值是常用的一种,其中包括查准率或者准确率(precision)和查全率或者召回率(recall)。F-Measue是信息检索中常用的评价标准。F-Measue的公式如下:22(1)PRFPRβββ+=+(3-6)其中是β参数,P是查准率,R是召回率。通常β取1,即:2PRFPR=+(3-7)设人工标记的分类簇为jP,聚类算法分类簇为iC,则:查准率:jiiiPCP(P,C)C∩=(3-8)召回率:jiijPCR(P,C)P∩=(3-9)F-Measure:2jijiijijiP(P,C)R(P,C)F(P,C)P(P,C)R(P,C)=+(3-10)通过图3.7,可以清晰直观的得出F值。jPjiP∩CiC图3.7F值的示意图Fig.3.7schematicdiagramofFvalue然后对所得到的F值进行加权平均,得到最终的一个直观的F值。
【参考文献】:
期刊论文
[1]半监督聚类综述[J]. 秦悦,丁世飞. 计算机科学. 2019(09)
[2]反调试技术综述[J]. 吴极,王逍,肖植灿. 信息技术与网络安全. 2019(09)
[3]基于GPU加速的恶意代码字节码特征提取方法研究[J]. 周紫瞻,王俊峰. 四川大学学报(自然科学版). 2019(02)
[4]基于归一化文档频率的文本分类特征选择方法[J]. 赵鸿山,范贵生,虞慧群. 华东理工大学学报(自然科学版). 2019(05)
[5]N-gram模型综述[J]. 尹陈,吴敏. 计算机系统应用. 2018(10)
[6]Windows恶意代码动态通用脱壳方法研究[J]. 郭文,王俊峰. 四川大学学报(自然科学版). 2018(02)
[7]软件与网络安全研究综述[J]. 刘剑,苏璞睿,杨珉,和亮,张源,朱雪阳,林惠民. 软件学报. 2018(01)
[8]Software Backdoor Analysis Based on Sensitive Flow Tracking and Concolic Execution[J]. XU Xin,WANG Jiajie,CHENG Shaoyin,ZHANG Tao,JIANG Fan. Wuhan University Journal of Natural Sciences. 2016(05)
[9]一种基于明可夫斯基距离的加壳PE文件识别方法[J]. 吴丽娟,李阳,梁京章. 现代电子技术. 2016(19)
[10]采用互信息与随机森林算法的用户用电关联因素辨识及用电量预测方法[J]. 赵腾,王林童,张焰,田世明. 中国电机工程学报. 2016(03)
博士论文
[1]隐蔽式网络攻击检测关键问题研究[D]. 曹自刚.北京邮电大学 2015
[2]僵尸网络对抗关键技术研究[D]. 王颖.北京邮电大学 2014
[3]移动应用程序检测与防护技术研究[D]. 董航.北京邮电大学 2014
[4]恶意代码行为挖掘关键技术研究[D]. 解培岱.国防科学技术大学 2013
[5]机器学习中特征选问题研究[D]. 孙鑫.吉林大学 2013
[6]程序恶意行为识别及其恶意性判定研究[D]. 张一弛.解放军信息工程大学 2012
[7]网络蠕虫传播与控制研究[D]. 张运凯.西安电子科技大学 2005
硕士论文
[1]勒索软件追踪溯源技术研究[D]. 王梓晗.北京邮电大学 2019
[2]主动半监督K-means聚类算法研究及应用[D]. 吕峰.河北地质大学 2018
[3]基于恶意代码API的静态检测技术研究[D]. 张玮康.西安电子科技大学 2018
[4]基于网络欺骗的网站防护技术研究[D]. 林建宝.北京邮电大学 2018
[5]基于自动化特征的恶意软件检测方法[D]. 查涛.大连理工大学 2018
[6]基于操作码序列和机器学习的恶意程序检测技术研究[D]. 李鹏飞.北京邮电大学 2017
[7]中文文本关键词提取和文本聚类中聚类中心点选取算法研究[D]. 刘云.江苏大学 2016
[8]用斯皮尔曼系数衡量网络的度相关[D]. 张文耀.中国科学技术大学 2016
[9]恶意代码聚类分析研究[D]. 汪姝玮.国防科学技术大学 2016
[10]PE病毒文件聚类技术研究与实现[D]. 王忠珂.北京邮电大学 2016
本文编号:3483681
【文章来源】:沈阳理工大学辽宁省
【文章页数】:67 页
【学位级别】:硕士
【部分图文】:
基于混合N-gramFig.3.1featureextractionmetho
-21-程序是由一条条指令组成的,但是直观上并不能分辨出每条指令的具体内容。因此需要对程序进行反汇编,将恶意代码的程序由二进制形式转化为可阅读的汇编形式。如下图3.2所示,通过一个恶意样本在经过反汇编得到恶意代码汇编文件,从左到右三列分别为地址、Opcode操作码、汇编语言。图3.2恶意代码的汇编文件结构Fig.3.2assemblyfilestructureofmaliciouscode3.2.2操作码提取本文通过Opcode操作码对恶意代码进行聚类。为了对恶意代码进行有效地聚类,通过将恶意代码的操作码转换为特征向量的方法来提取操作码的相关信息。首先需要从恶意代码的文件中提取出操作码序列。操作码的提取主要是从一条完整的指令中提取出操作符。在指令中,操作符有很多类型,如数据传输指令、算术运算指令、逻辑运算指令、程序转移指令等。由于本文使用的恶意代码数据集中的操作码太多,本文通过随机抽样的方法选出部分数据集,并设定K值(每一类恶意代码抽取的数量),没有达到K值的类别,取出该类全部数据。本文使用的数据集已通过反编译的过程,可直接从反编译后生成的文件中提取Opcode序列。“.ASM”文件中仅仅在以“.text”开头的代码段中含有操作码,因此,提取操作码序列时仅仅按行读取汇编源程序“.ASM”文件中以“.text”开始的文件内容,并用十六进制的形式表示出所读取的内容。通过正则表达式来与每行的内容进行匹配,利用表达式得到的内容包括一条完整的指令,指令包括两个部分,分别是操作数和操作码。利用从得到的指令中选取出Opcode,一直持续到将恶意代码中所有的Opcode全部提取才结束,最后从一个恶意样本中提取出它的Opcode序列。操作码序列提取的流程如图3.3所示。
-28-使用上述熵中的ijP定义,我们将聚类i的纯度定义为iijP=max(P)。整个聚类划分的纯度为1KiiimpurityPm==,其中K是聚类的数目,m是整个聚类划分所涉及到的成员个数。F-Measue即F值是常用的一种,其中包括查准率或者准确率(precision)和查全率或者召回率(recall)。F-Measue是信息检索中常用的评价标准。F-Measue的公式如下:22(1)PRFPRβββ+=+(3-6)其中是β参数,P是查准率,R是召回率。通常β取1,即:2PRFPR=+(3-7)设人工标记的分类簇为jP,聚类算法分类簇为iC,则:查准率:jiiiPCP(P,C)C∩=(3-8)召回率:jiijPCR(P,C)P∩=(3-9)F-Measure:2jijiijijiP(P,C)R(P,C)F(P,C)P(P,C)R(P,C)=+(3-10)通过图3.7,可以清晰直观的得出F值。jPjiP∩CiC图3.7F值的示意图Fig.3.7schematicdiagramofFvalue然后对所得到的F值进行加权平均,得到最终的一个直观的F值。
【参考文献】:
期刊论文
[1]半监督聚类综述[J]. 秦悦,丁世飞. 计算机科学. 2019(09)
[2]反调试技术综述[J]. 吴极,王逍,肖植灿. 信息技术与网络安全. 2019(09)
[3]基于GPU加速的恶意代码字节码特征提取方法研究[J]. 周紫瞻,王俊峰. 四川大学学报(自然科学版). 2019(02)
[4]基于归一化文档频率的文本分类特征选择方法[J]. 赵鸿山,范贵生,虞慧群. 华东理工大学学报(自然科学版). 2019(05)
[5]N-gram模型综述[J]. 尹陈,吴敏. 计算机系统应用. 2018(10)
[6]Windows恶意代码动态通用脱壳方法研究[J]. 郭文,王俊峰. 四川大学学报(自然科学版). 2018(02)
[7]软件与网络安全研究综述[J]. 刘剑,苏璞睿,杨珉,和亮,张源,朱雪阳,林惠民. 软件学报. 2018(01)
[8]Software Backdoor Analysis Based on Sensitive Flow Tracking and Concolic Execution[J]. XU Xin,WANG Jiajie,CHENG Shaoyin,ZHANG Tao,JIANG Fan. Wuhan University Journal of Natural Sciences. 2016(05)
[9]一种基于明可夫斯基距离的加壳PE文件识别方法[J]. 吴丽娟,李阳,梁京章. 现代电子技术. 2016(19)
[10]采用互信息与随机森林算法的用户用电关联因素辨识及用电量预测方法[J]. 赵腾,王林童,张焰,田世明. 中国电机工程学报. 2016(03)
博士论文
[1]隐蔽式网络攻击检测关键问题研究[D]. 曹自刚.北京邮电大学 2015
[2]僵尸网络对抗关键技术研究[D]. 王颖.北京邮电大学 2014
[3]移动应用程序检测与防护技术研究[D]. 董航.北京邮电大学 2014
[4]恶意代码行为挖掘关键技术研究[D]. 解培岱.国防科学技术大学 2013
[5]机器学习中特征选问题研究[D]. 孙鑫.吉林大学 2013
[6]程序恶意行为识别及其恶意性判定研究[D]. 张一弛.解放军信息工程大学 2012
[7]网络蠕虫传播与控制研究[D]. 张运凯.西安电子科技大学 2005
硕士论文
[1]勒索软件追踪溯源技术研究[D]. 王梓晗.北京邮电大学 2019
[2]主动半监督K-means聚类算法研究及应用[D]. 吕峰.河北地质大学 2018
[3]基于恶意代码API的静态检测技术研究[D]. 张玮康.西安电子科技大学 2018
[4]基于网络欺骗的网站防护技术研究[D]. 林建宝.北京邮电大学 2018
[5]基于自动化特征的恶意软件检测方法[D]. 查涛.大连理工大学 2018
[6]基于操作码序列和机器学习的恶意程序检测技术研究[D]. 李鹏飞.北京邮电大学 2017
[7]中文文本关键词提取和文本聚类中聚类中心点选取算法研究[D]. 刘云.江苏大学 2016
[8]用斯皮尔曼系数衡量网络的度相关[D]. 张文耀.中国科学技术大学 2016
[9]恶意代码聚类分析研究[D]. 汪姝玮.国防科学技术大学 2016
[10]PE病毒文件聚类技术研究与实现[D]. 王忠珂.北京邮电大学 2016
本文编号:3483681
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3483681.html