【技术实现步骤摘要】
一种基于特征融合的静态恶意代码分类方法
[0001]本专利技术属于静态恶意代码特征提取和融合领域,具体涉及一种基于特征融合的静态恶意代码分类方法。
技术介绍
[0002]随着信息和通信技术的发展使人们可以随时随地从网络上获取信息,提高了工作的效率,也使得日常生活更加方便。但是信息泄露、勒索软件等各种网络攻击也在不断增加,这些网络攻击大多是由恶意代码引起的。由于计算机技术的发展,恶意软件变得越来越复杂,黑客在网页上、软件等植入恶意软件,或者黑客入侵工业设备,给工控网络造成瘫痪,这样给用户、企业甚至国家层面造成巨额的损失。
[0003]传统的静态恶意代码检测主要是从被测软件的源程序或者二进制码进行扫描(例如字节码、字符串等),从语法、语义的层面理解程序的行为,从而获取程序在运行过程中的信息。机器学习在恶意代码检测上的应用也受到了广泛的关注,越来越多的学者使用机器学习的方法对恶意软件进行检测和分类。有的学者通过提取操作码序列特征,之后在操作码特征上使用逻辑回归、人工神经网络、朴素贝叶斯、决策树、随机森林和支持向量机等机器学 ...
【技术保护点】
【技术特征摘要】
1.一种基于特征融合的静态恶意代码分类方法,其特征在于,所述方法具体包括以下步骤:步骤一、对静态恶意代码二进制文件进行反编译,再从反编译结果中提取出操作码序列;步骤二、对提取出的操作码序列进行预处理后,再计算预处理后的操作码序列中每位操作码的哈希值,根据计算出的哈希值获得操作码序列对应的SimHash值序列;步骤三、根据操作码序列对应的SimHash值序列生成灰度图;步骤四、采用SIFT算法提取灰度图的局部纹理特征,采用GIST算法提取灰度图的全局纹理特征;再对灰度图的局部纹理特征和灰度图的全局纹理特征进行融合,将融合结果作为灰度图的纹理特征;步骤五、利用IDA Pro从静态恶意代码二进制文件中得到函数的调用关系,再将得到的函数调用关系利用控制流程图的逻辑关系表示;再根据控制流程图从静态恶意代码二进制文件中提取操作码,提取的操作码组成操作码序列;步骤六、设置滑动窗口长度,将滑动窗口在步骤五提取的操作码序列上滑动,得到步骤五中提取出的操作码序列的各个操作码子序列,将各个操作码子序列组成的子序列集合记为S;再根据子序列集合S提取出静态恶意代码二进制文件的操作码特征;步骤七、将步骤四获得的灰度图纹理特征和步骤六获得的操作码特征进行融合,将融合结果作为静态恶意代码二进制文件的特征;将获得的静态恶意代码二进制文件的特征和静态恶意代码二进制文件所属的类别作为机器学习模型的训练数据集;再利用训练好的机器学习模型对待分类的静态恶意代码二进制文件的类别进行检测。2.根据权利要求1所述的一种基于特征融合的静态恶意代码分类方法,其特征在于,所述步骤一的具体过程为:采用反编译工具IDA Pro对静态恶意代码二进制文件进行反编译,生成asm编译文件;再利用正则表达式分别从asm编译文件的每行中提取操作码,提取出的全部操作码顺序排列形成操作码序列。3.根据权利要求2所述的一种基于特征融合的静态恶意代码分类方法,其特征在于,所述步骤二的具体过程为:步骤二一、对操作码序列进行预处理若操作码序列中某一位操作码的值为1,则将1与该位操作码的权值相加,将相加结果作为预处理后操作码序列中该位操作码的值,否则,若操作码序列中某一位操作码的值为0,则将0与该位操作码的权值相减,将相减结果作为预处理后操作码序列中该位操作码的值;对操作码序列中的每一位操作码分别进行处理后,获得预处理后的操作码序列;步骤二二、分别计算出预处理后的操作码序列中每位操作码的哈希值;步骤二三、对于预处理后的操作码序列中的第n位操作码,若第n位操作码的哈希值中1
的数量大于0的数量,则将第n位操作码的SimHash值置为1,...
【专利技术属性】
技术研发人员:徐丽,黄若文,申林山,付小晶,江粤,张新玉,
申请(专利权)人:哈尔滨工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。