本发明涉及网络安全,尤其涉及一种恶意url识别方法、装置、设备及存储介质。
背景技术:
1、现有的恶意url识别的技术方案主要分为两种,一种是通过分析url所指定位置的内容,通过对文字、图片、音频、视频等信息进行处理来判断url是否属于恶意url;另一种是基于url本身进行判断,其中又可细分出三种方案,通过黑名单进行匹配;通过人的先验知识构建出特征,再使用传统的机器学习方法进行判断;直接使用神经网络同步完成特征的提取和结果的判断工作。
2、但是,现有的恶意url检测方法存在以下的不足:基于内容的恶意url检测方法要处理的信息元素多、计算量大、检测效率低。基于黑名单的检测方法虽然检测效率很高,但可以通过变更关键词、更改网站地址来逃避,无法对新生的不良网站进行有效的识别。其余现有的基于神经网络的恶意url检测方法为了将url转化成现有神经网络模型能够直接处理的结构,往往引入了复杂的预处理操作,如将一维的url字符串转化为二维的图像,再使用卷积神经网络进行判别,这些方法由于引入了额外的步骤,往往会降低恶意url的识别效率。
技术实现思路
1、针对现有技术存在的问题,本发明实施例提供一种恶意url识别方法、装置、设备及存储介质,其能有效提高恶意url识别的准确度和效率。
2、第一方面,本发明实施例提供了一种恶意url识别方法,包括:
3、对待识别的url数据进行预处理,得到url字符串;
4、将所述url字符串进行向量化,得到所述url字符串中各个字符的字符向量;
5、采用预先训练的恶意url识别模型对所述字符向量进行识别,得到所述url数据的识别结果;其中,所述恶意url识别模型包括依次相连的卷积神经网络、非局部操作、长短期记忆神经网络以及多层感知机。
6、作为上述方案的改进,所述将所述url字符串进行向量化,得到所述url字符串中各个字符的字符向量,包括:
7、将所述url字符串的长度调整到预设长度;
8、将调整后的url字符串以字符粒度进行分词,得到多个字符;
9、对每个所述字符进行编码,得到相应字符的数字编码;
10、将所述数字编码进行向量化,得到相应字符的字符向量。
11、作为上述方案的改进,所述将所述url字符串的长度调整到预设长度,包括:
12、判断所述url字符串的长度是否大于所述预设长度;
13、当所述url字符串的长度大于所述预设长度时,以所述url字符串的首个字符为起始按照所述预设长度进行截取,使得截取后的url字符串的长度等于所述预设长度;
14、当所述url字符串的长度小于所述预设长度时,在所述url字符串的末端填充设定字符直至填充后的url字符串的长度等于所述预设长度。
15、作为上述方案的改进,所述恶意url识别模型的训练包括以下步骤:
16、对待预先采集的多个url样本数据进行预处理,得到多个url样本字符串;
17、将各个所述url样本字符串进行向量化,得到相应url样本字符串中各个字符的字符向量;其中,每个所述url样本字符串对应的所有字符向量作为一个训练样本;
18、采用所述训练样本对预先构建的恶意url识别模型进行训练。
19、作为上述方案的改进,所述采用所述训练样本对预先构建的恶意url识别模型进行训练,包括:
20、对于每个所述训练样本,通过所述卷积神经网络对所述训练样本的字符向量进行局部特征提取,得到相应url样本字符串中各个字符的静态向量特征;其中,所述卷积神经网络采用一维卷积神经网络;
21、通过所述非局部操作对所述静态向量特征进行全局特征提取,得到相应url样本字符串中各个字符的第一动态向量特征;
22、通过所述长短期记忆神经网络对相应url样本字符串中各个字符的第一动态向量特征进行聚合,得到相应url样本字符串的第二动态向量特征;
23、通过所述多层感知机对所述第二动态向量特征进行url识别,得到相应训练样本的恶意url预测结果;
24、根据所述url预测结果,采用反向传播机制对所述恶意url识别模型的模型参数进行更新,得到更新后的恶意url识别模型,并基于更新后的恶意url识别模型进行下一轮迭代更新直至满足预设的迭代条件,得到训练好的恶意url识别模型。
25、作为上述方案的改进,所述对待识别的url数据进行预处理,得到url字符串,包括:
26、对所述url数据中的协议头进行过滤,得到相应url数据的url字符串。
27、作为上述方案的改进,所述对待识别的url数据进行预处理,得到url字符串,还包括:
28、对所述url字符串中的域名前缀进行二次过滤,得到最终的url字符串。
29、第二方面,本发明实施例提供了一种恶意url识别装置,包括:
30、第一预处理模块,用于对待识别的url数据进行预处理,得到url字符串;
31、第一字符向量化模块,用于将所述url字符串进行向量化,得到所述url字符串中各个字符的字符向量;
32、url识别模块,用于采用预先训练的恶意url识别模型对所述字符向量进行识别,得到所述url数据的识别结果;其中,所述恶意url识别模型包括依次相连的卷积神经网络、非局部操作、长短期记忆神经网络以及多层感知机。
33、第三方面,本发明实施例提供了一种恶意url识别设备,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任意一项所述的恶意url识别方法。
34、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面中任意一项所述的恶意url识别方法。
35、相对于现有技术,本发明实施例的一种恶意url识别方法、装置、设备及存储介质,通过对待识别的url数据进行预处理,得到url字符串;将所述url字符串进行向量化,得到所述url字符串中各个字符的字符向量;采用预先训练的恶意url识别模型对所述字符向量进行识别,得到所述url数据的识别结果;其中,所述恶意url识别模型包括依次相连的卷积神经网络、非局部操作、长短期记忆神经网络以及多层感知机,经过使用一维卷积神经网络可以让模型先关注局部信息,并利用非局部操作捕捉全局上下文信息,从而可以有效提高恶意url识别的准确度和效率。
1.一种恶意url识别方法,其特征在于,包括:
2.如权利要求1所述的恶意url识别方法,其特征在于,所述将所述url字符串进行向量化,得到所述url字符串中各个字符的字符向量,包括:
3.如权利要求2所述的恶意url识别方法,其特征在于,所述将所述url字符串的长度调整到预设长度,包括:
4.如权利要求1所述的恶意url识别方法,其特征在于,所述恶意url识别模型的训练包括以下步骤:
5.如权利要求4所述的恶意url识别方法,其特征在于,所述采用所述训练样本对预先构建的恶意url识别模型进行训练,包括:
6.如权利要求1所述的恶意url识别方法,其特征在于,所述对待识别的url数据进行预处理,得到url字符串,包括:
7.如权利要求6所述的恶意url识别方法,其特征在于,所述对待识别的url数据进行预处理,得到url字符串,还包括:
8.一种恶意url识别装置,其特征在于,包括:
9.一种恶意url识别设备,其特征在于,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的恶意url识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的恶意url识别方法。