【技术实现步骤摘要】
一种恶意代码检测方法、系统、设备及存储介质
本专利技术属于软件安全防护
,涉及一种恶意代码检测方法、系统、设备及存储介质。
技术介绍
随着网络信息技术的不断发展,恶意代码已成为网络空间安全领域面临的最重要威胁之一,特别是变种、混淆、加壳、加密等手段的应用,对恶意代码检测技术提出了更高的要求。机器学习已被广泛应用于恶意代码检测,但是传统的基于机器学习的恶意代码检测技术严重依赖于特征工程,需要依据大量专家知识构建能有效表征恶意代码行为的特征,然后使用分类器进行检测。近年来,随着深度学习技术的发展,出现了大量端到端的恶意代码检测方法,端到端的检测方法将特征提取与分类整合成一个学习过程,避免了特征难构建及需要人工参与的不足。目前,使用灰度图表示恶意代码,然后利用深度神经网络进行端到端检测受到广泛关注,但是由于不同恶意代码大小差异显著,如何将不同大小的恶意代码转换为相同大小的灰度图像,进而更好的应用深度神经网络进行检测是亟需解决的一个重要问题。同时,如何同时使用不同的特征对恶意代码进行表示,然后使用合适的深度学习框架以便获得更好的检测效果也是恶意代码检测领域面临的重要难题。
技术实现思路
针对现有技术的不足,本专利技术提供了一种恶意代码检测方法;本专利技术还提供了一种恶意代码检测系统、计算机存储设备及存储介质。术语解释:软件动态分析和静态分析方法,软件静态分析是指不执行软件程序,通过反汇编等方式获得字符串、操作码、头文件和控制流图等静态特征;动态分析是指在沙箱或虚拟机等 ...
【技术保护点】
1.一种恶意代码检测方法,其特征在于,该方法包括;/n(1)训练阶段:利用已知软件样本训练多模态深度神经网络模型;/n(2)检测阶段:利用训练阶段训练好的多模态深度神经网络模型对未知软件样本进行检测。/n
【技术特征摘要】
1.一种恶意代码检测方法,其特征在于,该方法包括;
(1)训练阶段:利用已知软件样本训练多模态深度神经网络模型;
(2)检测阶段:利用训练阶段训练好的多模态深度神经网络模型对未知软件样本进行检测。
2.根据权利要求1所述的一种恶意代码检测方法,其特征在于,步骤(1),利用已知软件样本训练多模态深度神经网络模型,包括步骤如下:
步骤1.1:提取已知软件样本的API函数调用序列、指令序列、字节流;
步骤1.2:分别将提取的已知软件样本的API函数调用序列、指令序列、字节流转换成相应的灰度图像;
步骤1.3:使用步骤1.2中得到的由API函数调用序列、指令序列、字节流转换成的灰度图像训练多模态深度神经网络模型。
3.根据权利要求2所述的一种恶意代码检测方法,其特征在于,步骤1.1,提取已知软件样本的API函数调用序列、指令序列、字节流,包括步骤如下:
步骤1.1.1:利用软件动态分析和静态分析方法获得所有已知软件样本的API函数调用序列、指令序列、字节流,统计在所有已知软件样本中出现频次最高的前M个API函数API1,API2,…,APIM与前N个指令INS1,INS2,…,INSN,将M个API函数组成集合A={API1,API2,…,APIM},将N个指令组成集合I={INS1,INS2,…,INSN},M和N为可调参数;
步骤1.1.2:将已知软件样本中不属于集合A的API函数都标记为API0,不属于集合I的指令都标记为INS0,进而获得包括M+1种API函数的API函数调用序列即API0,API1,API2,…,APIM和包括N+1种指令的指令序列即INS0,INS1,INS2,…,INSN,以及只有256种字节的字节流BY0,BY1,BY2,…,BY255。
4.根据权利要求3所述的一种恶意代码检测方法,其特征在于,步骤1.2,分别将提取的已知软件样本的API函数调用序列、指令序列、字节流转换成相应的灰度图像;是指:
针对API函数调用序列,构建一个长、宽均为M+1个像素的灰度图,其中第i行,第j列的像素点的取值记作p(APIi,APIj),此取值的计算方法如式(Ⅰ)所示:
式(Ⅰ)中,q(APIi,APIj)表示在API函数调用序列中相邻出现且API函数APIi在前API函数APIj在后的函数对的数量;
针对指令序列,构建一个长、宽均为N+1个像素的灰度图,其中第i行,第j列的像素点的取值记作p(INSi,INSj),此取值的计算方法如式(Ⅱ)所示:
式(Ⅱ)中,q(INSi,INSj)表示在指令序列中相邻出现且指令INSi在前指令INSj在后的指令对的数量;
针对字节流,构建一个长、宽均为25...
【专利技术属性】
技术研发人员:赵大伟,吴晓明,杨美红,徐丽娟,张磊,杨淑棉,唐勇伟,陈川,周洋,
申请(专利权)人:山东省计算中心国家超级计算济南中心,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。