[发明专利]一种二进制程序恶意代码检测方法、终端设备及存储介质在审
申请号: | 202110092695.0 | 申请日: | 2021-01-25 |
公开(公告)号: | CN112948828A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 姚刚;陈奋;陈荣有;孙晓波;龚利军 | 申请(专利权)人: | 厦门服云信息科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 何家富 |
地址: | 361000 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 程序 恶意代码 检测 方法 终端设备 存储 介质 | ||
本发明涉及一种二进制程序恶意代码检测方法、终端设备及存储介质,该方法中包括:S1:提取待检测程序与已知恶意程序样本的动态指令流;S2:生成基本块集合并进行预处理;S3:计算基本块集合间的相似度;S4:构建待检测程序与已知恶意程序样本的控制流图;S5:计算控制流图间的相似度;S6:根据基本块集合间的相似度和控制流图间的相似度,计算待检测程序与已知恶意程序样本间的相似度;S7:根据待检测程序与已知恶意程序样本间的相似度与阈值的大小关系,判断待检测程序是否为恶意代码程序。本发明从程序结构和代码语义两个方面综合考虑代码的相似度,对代码相似度的衡量更全面更准确,能够有效的识别同源的恶意代码。
技术领域
本发明涉及网络安全领域,尤其涉及一种二进制程序恶意代码检测方法、终端设备及存储介质。
背景技术
目前,互联网上各种代码资源越来越多,软件复用技术也日益成熟,开发人员能够快速的在原有程序基础上开发出新的程序,从而大大缩短程序开发周期,大幅降低软件开发成本,也大大降低了程序开发门槛。尤其是在恶意程序开发领域,在已有代码基础上进行二次开发或对已有代码进行集成已变得十分普遍,恶意程序开发者往往使用复用的手段完成恶意代码的快速更新和开发。因此,可以通过比较未知程序与已知恶意程序的相似性来对恶意程序进行检测,同时也可以通过相似性检测对程序进行溯源和家族分类。恶意程序开发者为了躲避安全软件检测、对抗杀软,往往通过混淆、加壳、自压缩等操作改变恶意程序特征。因此,仅通过特征码、散列值、软件指纹等信息难以识别变形后的恶意软件与原有恶意程序的相似性,需要综合考虑恶意软件的各种特征来进行相似性分析。
发明内容
为了解决上述问题,本发明提出了一种二进制程序恶意代码检测方法、终端设备及存储介质。
具体方案如下:
一种二进制程序恶意代码检测方法,包括以下步骤:
S1:提取待检测程序与已知恶意程序样本的动态指令流;
S2:根据提取的动态指令流生成基本块集合,并进行预处理;
S3:根据预处理后的基本块集合,计算待检测程序与已知恶意程序样本的基本块集合间的相似度;
S4:构建待检测程序与已知恶意程序样本的控制流图;
S5:计算待检测程序与已知恶意程序样本的控制流图间的相似度;
S6:根据待检测程序与已知恶意程序样本的基本块集合间的相似度和控制流图间的相似度,计算待检测程序与已知恶意程序样本间的相似度;
S7:根据待检测程序与已知恶意程序样本间的相似度与阈值的大小关系,判断待检测程序是否为恶意代码程序。
进一步的,动态指令流的提取通过PinFWSand Box进行,在对PinFWSand Box中的pintools工具进行调整后,以基本块为单位提取动态指令流,并在提取动态指令流的同时,采用基本块索引库的方式存储基本块执行序列,为每个基本块设定一唯一编号,在基本块执行序列中通过唯一编号表示基本块,基本块内容记录在基本块索引库内,基本块执行序列记录在基本块执行序列文件中。
进一步的,动态指令流提取的具体过程包括以下步骤:
S101:程序准备执行一个基本块时,触发该基本块的插桩函数;
S102:在基本块索引库中查询该基本块对应的唯一编号,如果查询到,进入S105;否则,进入S103;
S103:设定该基本块对应的唯一编号;
S104:在基本块索引库中记录该基本块的内容;
S105:将该基本块的唯一编号添加至基本块执行序列内;
S106:程序执行该基本块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门服云信息科技有限公司,未经厦门服云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110092695.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大面积高精度木饰面建筑施工方法
- 下一篇:一种精准计量的快速配料系统