[发明专利]一种基于图卷积网络的恶意软件检测方法有效
申请号: | 202110289916.3 | 申请日: | 2021-03-18 |
公开(公告)号: | CN112966271B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 金舒原;李维龙 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/53;G06N3/04;G06N3/08 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 刘俊 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 图卷 网络 恶意 软件 检测 方法 | ||
本发明为克服恶意软件检测技术中未考虑程序文件中的语义特征,或存在文件语义信息丢失,导致恶意软件检测准确率低的缺陷,提出一种基于图卷积神经网络的恶意软件检测方法,包括以下步骤:采集二进制文件并进行预处理,从中得到函数的汇编指令序列;构造汇编指令语料库,在汇编指令语料库的基础上训练汇编指令的词向量模型;构建训练样本库;对训练样本库进行预处理,从中抽取函数调用图及其每个函数的汇编指令序列;构建基于图卷积网络的恶意软件检测模型,将从样本库中获得的汇编指令序列作为输入,并根据对应的词向量模型及函数调用图对所述恶意软件检测模型进行训练;将所述完成训练的恶意软件检测模型对待检测的软件进行检测,输出检测结果。
技术领域
本发明涉及网络安全技术领域,更具体地,涉及一种基于图卷积网络的恶意软件检测方法。
背景技术
在现代互联网中,恶意软件层出不穷。根据MalwareBytes实验室的调查,截至2019年,全球恶意软件总数增加至5.05亿。利用多态技术,同一个恶意软件可以产生数十个甚至上百个不同的变种。因此,在实践中,手工检测恶意软件是不现实的,开发自动化恶意软件检测技术是极其重要的。
目前研究者们提出了许多自动化的检测技术。这些技术主要可以分为两类:静态检测与动态检测。静态检测是指在不运行软件的条件下,通过分析程序的文件头、文件内容等来实现恶意软件检测;动态检测则是通过收集软件运行时的行为来实现恶意行为的检测。由于静态检测并不执行文件,已有的方法主要是从文件中提取一些静态特征来进行分析。现有静态特征主要包括文件头特征、字符熵、字符串特征、opcode n-gram等。其中,大多数特征主要关注了可执行文件在文件结构上的特征,并未考虑文件中的语义特征;而opcode n-gram特征虽然能在一定程度上保留文件的语义信息,但是由于其未考虑指令的操作数,语义信息会有一定的丢失;此外,绝大多数方法都没有考虑函数之间的调用关系。
发明内容
本发明为克服上述现有技术所述的未考虑程序文件中的语义特征,或存在文件语义信息丢失,导致恶意软件检测准确率低的缺陷,提供一种基于图卷积网络的恶意软件检测方法。
为解决上述技术问题,本发明的技术方案如下:
一种基于图卷积网络的恶意软件检测方法,包括以下步骤:
S1:采集二进制文件并进行预处理,从二进制文件中得到函数的汇编指令序列;
S2:将所述汇编指令序列作为语料库,在汇编指令语料库上训练汇编指令的词向量模型;
S3:采集大量的恶意软件样本和正常软件样本,构建训练样本库;
S4:对训练样本库样本进行预处理,从每个样本中抽取函数调用图及每个函数的汇编指令序列;
S5:构建基于图卷积网络的恶意软件检测模型,将从样本库中获得的汇编指令序列作为输入,并根据对应的词向量模型及函数调用图对所述恶意软件检测模型进行训练;
S6:将所述完成训练的恶意软件检测模型对待检测的软件进行检测,输出检测结果。
作为优选方案,所述S1步骤中,对二进制文件进行预处理的步骤包括利用反汇编工具分析所述二进制文件,抽取所述二进制文件中每个函数的汇编指令序列。
作为优选方案,所述S11步骤中还包括以下步骤:对抽取的汇编指令序列进行以下替换操作:
(1)将汇编指令序列中的立即数替换为IMM;
(2)将汇编指令序列中的直接内存访问替换为MEM;
(3)将汇编指令序列中的函数名引用替换为FUNC。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110289916.3/2.html,转载请声明来源钻瓜专利网。