基于深度学习的恶意代码检测方法、设备与存储介质技术

技术编号:33124741 阅读:11 留言:0更新日期:2022-04-17 00:32
本发明专利技术公开了一种基于深度学习的恶意代码检测方法、设备与存储介质,属于信息安全技术领域。本发明专利技术通过获取待检测代码,并将待检测代码输入预处理模块进行数据处理,得到数据处理后的特征数据,然后将特征数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果。实现了通过检测模型对待检测代码进行检测,并自动生成恶意代码检测结果,提高了恶意代码检测的准确率。代码检测的准确率。代码检测的准确率。

【技术实现步骤摘要】
基于深度学习的恶意代码检测方法、设备与存储介质


[0001]本专利技术涉及信息安全
,尤其涉及基于深度学习的恶意代码检测方法、设备与存储介质。

技术介绍

[0002]随着Web应用以浏览器/服务器(B/S)架构占领主流市场,浏览器和网页已成为恶意代码传播的重要渠道。攻击者利用网站代码漏洞、第三方应用漏洞、浏览器漏洞、操作系统漏洞对网站进行跨站脚本攻击、注入网络木马、篡改网页、钓鱼、窃取个人信息等。
[0003]JavaScript(JS)是一种动态的轻量级脚本语言,用于添加更多功能和增强用户体验。它是一种无处不在的技术,它允许客户端脚本与用户交互并使网站具有动态性和交互性,从而实现无服务器

客户端交互、即时反馈和丰富的界面。尽管有各种优势,JS已被用于执行各种网络攻击。攻击者利用恶意JavaScript代码执行击键记录、浏览器cookie窃取、黑客攻击、网站篡改和特洛伊木马等功能。此外,还可以通过社会工程诱使用户下载恶意软件来创建僵尸网络。
[0004]现有技术,通过防病毒和入侵检测系统(IDS)来进行恶意代码检测,具体使用签名、模式匹配和基于启发式的方法来检测攻击。签名特征码检测方法通过维护一个已知的恶意代码库,将待检测代码样本的特征码与恶意代码库中的特征码进行比对;启发式规则检测方法通过专业的分析人员对现有的恶意代码进行规则提取,并依照提取出的规则对代码样本进行检测。然而,这些方法有许多缺点,比如针对新漏洞发起0

day攻击或其他类型的攻击,根据已有检测规则无法有效检测。

技术实现思路

[0005]本专利技术的主要目的在于提供一种基于深度学习的恶意代码检测方法、设备与存储介质,旨在解决现有技术无法有效检测出恶意代码的问题。
[0006]为实现上述目的,本专利技术提供一种基于深度学习的恶意代码检测方法,所述基于深度学习的恶意代码检测方法包括以下步骤:
[0007]获取待检测代码,对所述待检测代码进行预处理,得到数据处理后的待检测数据;
[0008]将所述待检测数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果,所述检测模型是基于词元级词向量表示和字符级独热编码构建得到的。
[0009]可选地,所述将所述待检测数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果,所述检测模型是基于词元级词向量表示和字符级独热编码构建得到的步骤之前,所述方法还包括:
[0010]获取有标签数据集和无标签数据集,并将所述有标签数据集划分为有标签训练集和有标签测试集;
[0011]划分所述无标签数据集和所述有标签训练集中的样本代码,得到对应的样本词元,将所述样本词元输入预训练模型,得到样本词元的词向量表示数据集。
[0012]可选地,所述划分所述无标签数据集和所述有标签训练集中的代码,得到对应的样本词元,将所述样本词元输入预训练模型,得到样本词元的词向量表示数据集的步骤之后,所述方法还包括:
[0013]将所述词向量表示数据集作为第一层深度学习模型的参数;
[0014]划分所述有标签训练集,得到所述有标签训练集对应的训练词元;
[0015]并将所述训练词元输入所述深度学习模型,得到所述训练词元的第一词向量表示;
[0016]对所述有标签训练集中的字符进行独热编码转换,得到第一独热编码数据集;
[0017]将所述第一词向量表示和所述第一独热编码数据集输入深度学习模型进行监督训练,并通过所述有标签测试集计算准确率,构建得到检测模型。
[0018]可选地,所述获取待检测代码,对所述待检测代码进行预处理,得到数据处理后的数据的步骤包括:
[0019]获取待检测代码,对所述待检测代码进行数据处理,得到数据处理后的目标代码;
[0020]划分所述目标代码,得到对应的目标词元;
[0021]将所述目标代码转换为独热编码格式,得到第二独热编码数据集;
[0022]将所述目标词元和所述第二独热编码数据集作为待检测数据。
[0023]可选地,所述对所述待检测代码进行数据处理,得到数据处理后的目标代码的步骤包括:
[0024]获取所述待检测代码中的数值数据;
[0025]对所述数值数据进行规范化处理,得到所述目标代码。
[0026]可选地,所述划分所述目标代码,得到对应的目标词元的步骤包括:
[0027]获取预设数量的特殊字符作为分隔符,将所述目标代码划分为第一词元;
[0028]筛选所述第一词元中长度不小于预设阈值的第一词元,得到第二词元;
[0029]将所述第二词元转换为小写,得到目标词元。
[0030]可选地,所述将所述目标代码转换为独热编码格式,得到第二独热编码数据集的步骤包括:
[0031]获取所述目标代码中预设数量的字符;
[0032]将所述字符转化为独热编码格式,得到第二独热编码数据集。
[0033]此外,为实现上述目的,本专利技术还提供一种基于深度学习的恶意代码检测装置,所述装置包括:
[0034]获取模块,用于获取待检测代码,对所述待检测代码进行预处理,得到数据处理后的待检测数据;
[0035]检测模块,用于将所述待检测数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果,所述检测模型是基于词元级词向量表示和字符级独热编码构建得到的。
[0036]可选地,所述检测模块还用于:
[0037]获取有标签数据集和无标签数据集,并将所述有标签数据集划分为有标签训练集和有标签测试集;
[0038]划分所述无标签数据集和所述有标签训练集中的样本代码,得到对应的样本词
元,将所述样本词元输入预训练模型,得到样本词元的词向量表示数据集。
[0039]可选地,所述检测模块还用于:
[0040]将所述词向量表示数据集作为第一层深度学习模型的参数;
[0041]划分所述有标签训练集,得到所述有标签训练集对应的训练词元;
[0042]并将所述训练词元输入所述深度学习模型,得到所述训练词元的第一词向量表示;
[0043]对所述有标签训练集中的字符进行独热编码转换,得到第一独热编码数据集;
[0044]将所述第一词向量表示和所述第一独热编码数据集输入深度学习模型进行监督训练,并通过所述有标签测试集计算准确率,构建得到检测模型。
[0045]可选地,所述获取模块还用于:
[0046]获取待检测代码,对所述待检测代码进行数据处理,得到数据处理后的目标代码;
[0047]划分所述目标代码,得到对应的目标词元;
[0048]将所述目标代码转换为独热编码格式,得到第二独热编码数据集;
[0049]将所述目标词元和所述第二独热编码数据集作为待检测数据。
[0050]可选地,所述获取模块还用于:
[0051]获取所述待检测代码中的数值数据;
[0052本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的恶意代码检测方法,其特征在于,所述基于深度学习的恶意代码检测方法包括以下步骤:获取待检测代码,对所述待检测代码进行预处理,得到数据处理后的待检测数据;将所述待检测数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果,所述检测模型是基于词元级词向量表示和字符级独热编码构建得到的。2.如权利要求1所述的基于深度学习的恶意代码检测方法,其特征在于,所述将所述待检测数据输入预构建的检测模型,由所述检测模型输出恶意代码判断结果,所述检测模型是基于词元级词向量表示和字符级独热编码构建得到的步骤之前,所述方法还包括:获取有标签数据集和无标签数据集,并将所述有标签数据集划分为有标签训练集和有标签测试集;划分所述无标签数据集和所述有标签训练集中的样本代码,得到对应的样本词元,将所述样本词元输入预训练模型,得到样本词元的词向量表示数据集。3.如权利要求2所述的基于深度学习的恶意代码检测方法,其特征在于,所述划分所述无标签数据集和所述有标签训练集中的代码,得到对应的样本词元,将所述样本词元输入预训练模型,得到样本词元的词向量表示数据集的步骤之后,所述方法还包括:将所述词向量表示数据集作为第一层深度学习模型的参数;划分所述有标签训练集,得到所述有标签训练集对应的训练词元;并将所述训练词元输入所述深度学习模型,得到所述训练词元的第一词向量表示;对所述有标签训练集中的字符进行独热编码转换,得到第一独热编码数据集;将所述第一词向量表示和所述第一独热编码数据集输入深度学习模型进行监督训练,并通过所述有标签测试集计算准确率,构建得到检测模型。4.如权利要求1所述的基于深度学习的恶意代码检测方法,其特征在于,所述获取待检测代码,对所述待检测代码进行预处理,得到...

【专利技术属性】
技术研发人员:于金龙卯路宁王智民王高杰
申请(专利权)人:北京六方云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1