基于操作码序列的恶意软件检测方法解析
1. 引言
恶意软件是指任何可能对计算机或网络造成损害的恶意代码。随着互联网的发展,恶意软件的数量、威力和种类每年都在增加,并且恶意软件编写者会使用代码混淆技术来躲避传统的语法恶意软件检测器。目前,基于签名的检测是商业杀毒软件中最常用的方法,但这种方法只有在病毒已经造成损害并被注册后才能实现检测,无法检测已知恶意软件的新变种。
为解决这一问题,本文提出了两种改进方法:
- 提出一种挖掘操作码(opcode)相关性的新方法,通过计算操作码在恶意软件和良性软件中的出现频率,并基于统计计算判别比率,最终为每个操作码赋予权重。
- 提出一种基于操作码序列频率计算两个可执行文件相似度的新方法,利用挖掘得到的操作码相关性对操作码序列频率进行加权,以平衡每个序列的判别能力。
2. 挖掘操作码相关性
操作码可以作为检测混淆或变形恶意软件的预测指标,但一些操作码(如mov或push)在恶意软件和良性可执行文件中出现的频率都很高,可能会扭曲基于操作码频率计算的文件相似度。因此,需要为每个操作码赋予其真正的相关性。
具体步骤如下:
1. 数据集收集 :
- 从VxHeavens网站收集了13189个恶意软件可执行文件,组成恶意软件数据集,该数据集仅包含PE可执行文件,涵盖了计算机病毒、特洛伊木马、间谍软件等不同类型的恶意软件。
- 从本地计算机收集了13000个可执行文件,组成良性软件数据集,包括文字处理器、绘图工具、Windows游戏、互联网浏览器、PDF查看器等。
2. 计算操作码相关性 : <
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



