1。介绍gydF4y2Ba
随着互联网技术的快速发展,网络犯罪越来越严重,为个人网络隐私和财产安全带来了重大损失(gydF4y2Ba
1gydF4y2Ba ]。然而,众所周知的url与恶意url造成用户混淆,实现入侵攻击主机是最常见的一种攻击方法。目前,检测到恶意url使用规则匹配和黑白名单(gydF4y2Ba
2gydF4y2Ba ,gydF4y2Ba
3gydF4y2Ba ]。但这些方法过分依赖于安全人员的知识广度,从而增加假阻断恶意url的可能性。此外,当这些检测模型是用于检测未知攻击类型的钓鱼网址,将会有一个伟大的虚假阻塞或错过了阻塞的概率。gydF4y2Ba
要解决这些问题,国内外学者已经做了大量的研究。安瓦尔等。[2]和李et al。gydF4y2Ba
4gydF4y2Ba )提出了一个方法结合线性和非线性空间转换为URL识别和检测。该方法极大地提高了URL识别的准确性和检测使用支持向量机和神经网络。Vu et al。gydF4y2Ba
5gydF4y2Ba 厂商)提出了一种新的分类器来检测恶意url在大型企业网络。方法将输入URL分为良性的,未知的,和恶意和使用成本矩阵选择最相关的错误分类的特性和控制模型。它可以有效地减少虚假恶意URL的检出率。杨et al。gydF4y2Ba
6gydF4y2Ba URL]提出了一种基于恶意特征表示方法关键词。该方法使用卷积的复发性单元(格勒乌)神经网络取代原池层的特性集合时间维度,获得高精度的结果。元等。gydF4y2Ba
7gydF4y2Ba )提出了一种并行神经联合模型算法分析和检测恶意URL。语义特征和文本特征相结合通过合并并行关节神经网络和递归神经网络独立的算法,可以提高检测精度的钓鱼网址未知的攻击类型。杨et al。gydF4y2Ba
8gydF4y2Ba 恶意url]提出了一种多维特征检测方法基于强化学习。方法首先提取给定URL的序列特征,把他们迅速通过深入学习,和融合的统计特性,网页代码功能,和网页文本特性添加到多维特性检测,可以获得更高的检测精度的恶意URL。王等人。gydF4y2Ba
9gydF4y2Ba )提出了一种基于卷积神经网络的双向LSTM算法递归神经网络和独立。恶意URL的算法提取特征信息的二进制文件,并使用Word2Vec算法训练URL词向量特征和提取静态URL的词汇特点,可提高检测精度的恶意URL。陈等人。gydF4y2Ba
10gydF4y2Ba )提出了一个multifeature信息fusion-based识别算法在复杂的环境中,而达到更好的效果。gydF4y2Ba
这些方法很难找到合适的向量空间来表示一个字符在URL的过程中由于随机性数值表达式组成字符的URL字符串,导致恶意URL的识别精度较低。恶意网址检测模型的基础上,结合多层卷积神经网络和双向递归神经网络提出了。首先,分隔字符和特殊字符过滤的模型根据URL的结构特点。然后,模型结合所有URL字符的长度,拦截时间越长URL和用零填充短URL。通过参与训练的神经网络模型,通过嵌入层,这个词中的每个字符的URL可以映射成一个密集的向量在嵌入空间中,所以每个URL可以表示为一个二维张量。接下来,改善连续多层卷积神经网络,它是基于CSPDarknet YOLO模型意思神经网络,用于特征提取。卷积层网络中使用一维卷积神经网络提取本地序列中的上下文。最后,特征提取的结果输入到双向递归神经网络,和网络检测到恶意url在积极和消极的方向。gydF4y2Ba
总结了论文的主要贡献如下:gydF4y2Ba
(1)gydF4y2Ba
CSPDarknet YOLO算法提高了意思的网络模型一维卷积神经网络用于特征提取的URL序列gydF4y2Ba
(2)gydF4y2Ba
双向递归神经网络用于过程序列特征提取后的URLgydF4y2Ba
(3)gydF4y2Ba
翻译不变性的一维卷积神经网络结合序列RNN的敏感性gydF4y2Ba
本文的其余部分组织如下。部分gydF4y2Ba
2gydF4y2Ba 介绍了字符数据和编码的URL。部分gydF4y2Ba
3gydF4y2Ba 介绍了如何结合卷积神经网络和递归神经网络,提出了一种改进的多层递归神经网络模型基于卷积YOLO算法的意思。部分gydF4y2Ba
4gydF4y2Ba 进行仿真实验和数据分析,通过对比实验验证该方法的进步。部分gydF4y2Ba
5gydF4y2Ba 总结了结论。gydF4y2Ba
3所示。恶意URL基于改进的多层递归卷积神经网络检测模型gydF4y2Ba
3.1。卷积神经网络gydF4y2Ba
近年来,神经网络实现了机器视觉领域的一个重大的突破。的重要原因之一是卷积神经网络的出现,使神经网络对图像进行卷积运算,提取特征信息从图像的一部分gydF4y2Ba
14gydF4y2Ba ]。同时,按顺序一维卷积神经网络也表现得非常好处理,语音识别和机器翻译等。本文将实现恶意URL检测,这也取决于字符序列。因此,本文运用一维卷积神经网络处理URL的特征向量,实现特征提取。一维卷积神经网络的工作原理如图gydF4y2Ba
3gydF4y2Ba 。gydF4y2Ba
图3gydF4y2Ba
一维卷积工作原理图。gydF4y2Ba
图gydF4y2Ba
3gydF4y2Ba 是一个二维数值张量由字符级向量化的一个URL。周围的窗口滑动在这张量提取功能块的位置,然后每一块做相同的权重矩阵的张量积(或称为卷积内核)。重用的多个不同的卷积核将形成多个集向量,和一维卷积操作完成所有向量的空间重组。gydF4y2Ba
3.2。双向递归神经网络gydF4y2Ba
复发性神经网络(RNN)有一个额外的信息记忆功能在其隐层与完整的连接层。在每个时间步隐层的输入不仅包括输入当前时间步的也是以前的输出时间步隐层(gydF4y2Ba
15gydF4y2Ba ]。这有利于神经单位在同一层之间的信息交互,实现过去的记忆功能的信息。RNN的方法处理顺序遍历每一个元素的序列,保存状态,分别。时事的输出步骤是作为下一个时间步的状态输入神经网络使用一个内部循环。RNN-specific网络结构如图gydF4y2Ba
4gydF4y2Ba 。gydF4y2Ba
图4gydF4y2Ba
RNN的结构。gydF4y2Ba
在图gydF4y2Ba
4gydF4y2Ba ,gydF4y2Ba
XgydF4y2Ba
tgydF4y2Ba
代表的输入层gydF4y2Ba
tgydF4y2Ba th时间步,gydF4y2Ba
OgydF4y2Ba
tgydF4y2Ba
代表的输出值gydF4y2Ba
tgydF4y2Ba th时间步,gydF4y2Ba
年代gydF4y2Ba
tgydF4y2Ba
代表国家价值gydF4y2Ba
tgydF4y2Ba th时间步。gydF4y2Ba
UgydF4y2Ba ,gydF4y2Ba
WgydF4y2Ba ,gydF4y2Ba
VgydF4y2Ba 代表权重矩阵。输出值gydF4y2Ba
OgydF4y2Ba
tgydF4y2Ba
在方程计算(gydF4y2Ba
1gydF4y2Ba ),状态值gydF4y2Ba
年代gydF4y2Ba
tgydF4y2Ba 在方程计算(gydF4y2Ba
2gydF4y2Ba )。gydF4y2Ba
(1)gydF4y2Ba
OgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
ggydF4y2Ba
VgydF4y2Ba
年代gydF4y2Ba
tgydF4y2Ba
,gydF4y2Ba
(2)gydF4y2Ba
年代gydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
fgydF4y2Ba
UgydF4y2Ba
XgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
WgydF4y2Ba
年代gydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
ggydF4y2Ba
表示输出层神经元的激活函数gydF4y2Ba
fgydF4y2Ba 代表了隐层神经元的激活函数。gydF4y2Ba
从理论上讲,RNN记得它遍历的所有信息很多次的步骤之前。但实际上,它是不可能学会这种长期依赖因为梯度消失的问题。因此,本文使用长期短期记忆(LSTM)来构建神经网络模型。从本质上讲,LSTM RNN网络是一个变体。它增加了一个方法来携带信息跨多个步骤的时间。具体而言,它允许过去的时间步骤重新遍历的信息网络在未来的时间步骤,以解决梯度消失的问题(gydF4y2Ba
16gydF4y2Ba ]。单位LSTM神经网络结构如图gydF4y2Ba
5gydF4y2Ba ,它由遗忘的大门,LSTM单元状态,输入通道和输出通道。gydF4y2Ba
图5gydF4y2Ba
LSTM神经网络单元。gydF4y2Ba
在图gydF4y2Ba
5gydF4y2Ba ,gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
代表输入向量gydF4y2Ba
tgydF4y2Ba ,gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
代表了隐藏状态的时间gydF4y2Ba
tgydF4y2Ba ,gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
代表了LSTM单元状态的时间gydF4y2Ba
tgydF4y2Ba 。忘记门口接收隐藏状态gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
在前面的时间和输入向量gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
在当前时间和传送到乙状结肠函数。输出值的范围gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
是[0,1]。如果输出值接近0,这意味着信息被遗忘,如果它是接近1,这意味着信息保留。因此,忘记门决定放弃和保留的信息。输出值的计算过程gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
忘记门的如下:gydF4y2Ba
(3)gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
乙状结肠gydF4y2Ba
WgydF4y2Ba
fgydF4y2Ba
·gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
,gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
fgydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
WgydF4y2Ba
fgydF4y2Ba
和gydF4y2Ba
bgydF4y2Ba
fgydF4y2Ba
分别代表忘记门的重量和偏见。gydF4y2Ba
输入接收门隐藏状态gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
前一刻和输入向量gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
在当前的时刻。他们是传播同时乙状结肠函数和双曲正切函数。输出值的范围gydF4y2Ba
我gydF4y2Ba
tgydF4y2Ba
乙状结肠的函数是[0,1]。输出值越接近于0,重要的信息越少,输出值越接近1,更为重要的信息。输出值的范围gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
′gydF4y2Ba
的双曲正切函数[1],用于输出一个新的候选向量。然后,乙状结肠的输出值函数和双曲正切函数相乘,因此乙状结肠的输出值函数可以确定哪些信息是重要的候选向量输出的双曲正切函数,可以保存。乙状结肠函数输出值的计算过程gydF4y2Ba
我gydF4y2Ba
tgydF4y2Ba
和双曲正切函数的输出值gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
′gydF4y2Ba
方程所示(gydF4y2Ba
4gydF4y2Ba )和(gydF4y2Ba
5gydF4y2Ba ),分别为:gydF4y2Ba
(4)gydF4y2Ba
我gydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
乙状结肠gydF4y2Ba
WgydF4y2Ba
我gydF4y2Ba
·gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
,gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
我gydF4y2Ba
,gydF4y2Ba
(5)gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
′gydF4y2Ba
=gydF4y2Ba
棕褐色gydF4y2Ba
hgydF4y2Ba
WgydF4y2Ba
cgydF4y2Ba
·gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
,gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
cgydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
WgydF4y2Ba
我gydF4y2Ba
和gydF4y2Ba
bgydF4y2Ba
我gydF4y2Ba
分别代表了重量和偏见的乙状结肠函数的输入和门gydF4y2Ba
WgydF4y2Ba
cgydF4y2Ba
和gydF4y2Ba
bgydF4y2Ba
cgydF4y2Ba
代表了重量和偏见的双曲正切函数输入门,分别。gydF4y2Ba
LSTM单元状态接收单元的状态gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
以前的时候,用输出值gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
遗忘的门,然后添加输入的输出值门的细胞状态gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
在当前时间,更新单元状态LSTM神经网络。的计算公式gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
如下:gydF4y2Ba
(6)gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
+gydF4y2Ba
我gydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
′gydF4y2Ba
。gydF4y2Ba
输出门接收隐藏状态gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
前一刻和输入向量gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
在当前时刻,转移他们乙状结肠函数。与此同时,获得LSTM单元状态gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
是转移到双曲正切函数。然后,乙状结肠的输出值函数乘以双曲正切函数的输出值获取隐藏状态gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
在当前的时刻。的计算过程gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
如下:gydF4y2Ba
(7)gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
乙状结肠gydF4y2Ba
WgydF4y2Ba
年代gydF4y2Ba
·gydF4y2Ba
hgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
,gydF4y2Ba
xgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
年代gydF4y2Ba
×gydF4y2Ba
双曲正切gydF4y2Ba
cgydF4y2Ba
tgydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
WgydF4y2Ba
年代gydF4y2Ba
和gydF4y2Ba
bgydF4y2Ba
年代gydF4y2Ba
分别代表了重量和偏见的乙状结肠函数在输出门。gydF4y2Ba
恶意网址检测是严格依赖于字符顺序,和LSTM复发性神经网络处理在一个序列。因此,这篇文章中,为了进一步探索未来和过去状态之间的关系,采用双向递归神经网络,这是处理前后,前后颠倒的方向,分别为(gydF4y2Ba
17gydF4y2Ba ]。最后,这两个组合的处理结果来实现更全面的数据挖掘。实现双向递归神经网络结构如图gydF4y2Ba
6gydF4y2Ba ,它主要由输入层、隐层和输出层。gydF4y2Ba
图6gydF4y2Ba
双向递归神经网络的结构图。gydF4y2Ba
在图gydF4y2Ba
6gydF4y2Ba ,第一列代表双向递归神经网络的输入层,和中间的两列代表远期隐藏状态,相反的隐藏状态,分别。它们的计算公式如下所示:gydF4y2Ba
(8)gydF4y2Ba
FgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
ϕgydF4y2Ba
XgydF4y2Ba
tgydF4y2Ba
WgydF4y2Ba
xgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
+gydF4y2Ba
FgydF4y2Ba
tgydF4y2Ba
−gydF4y2Ba
1gydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
,gydF4y2Ba
(9)gydF4y2Ba
BgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
ϕgydF4y2Ba
XgydF4y2Ba
tgydF4y2Ba
WgydF4y2Ba
xgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
+gydF4y2Ba
BgydF4y2Ba
tgydF4y2Ba
+gydF4y2Ba
1gydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
ϕgydF4y2Ba
代表隐藏层的激活函数,gydF4y2Ba
XgydF4y2Ba
tgydF4y2Ba
代表输入时间gydF4y2Ba
tgydF4y2Ba ,gydF4y2Ba
hgydF4y2Ba 代表积极的和消极的隐藏单位的数量,gydF4y2Ba
WgydF4y2Ba
xgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
和gydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
代表积极的重量,gydF4y2Ba
WgydF4y2Ba
xgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
和gydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
代表负权值,gydF4y2Ba
bgydF4y2Ba
hgydF4y2Ba
FgydF4y2Ba
和gydF4y2Ba
bgydF4y2Ba
hgydF4y2Ba
BgydF4y2Ba
分别代表积极的偏差和负偏差。然后,向前隐藏状态gydF4y2Ba
FgydF4y2Ba
tgydF4y2Ba
与相反的隐藏状态gydF4y2Ba
BgydF4y2Ba
tgydF4y2Ba
获得以上,获得隐藏状态gydF4y2Ba
HgydF4y2Ba ,然后隐藏状态gydF4y2Ba
HgydF4y2Ba 输出层的输入吗gydF4y2Ba
OgydF4y2Ba
tgydF4y2Ba
。计算过程如下所示:gydF4y2Ba
(10)gydF4y2Ba
OgydF4y2Ba
tgydF4y2Ba
=gydF4y2Ba
HgydF4y2Ba
tgydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
问gydF4y2Ba
+gydF4y2Ba
bgydF4y2Ba
问gydF4y2Ba
,gydF4y2Ba
在哪里gydF4y2Ba
HgydF4y2Ba
tgydF4y2Ba
代表了隐藏状态的时间gydF4y2Ba
tgydF4y2Ba ,gydF4y2Ba
问gydF4y2Ba 代表输出单元的数量,gydF4y2Ba
WgydF4y2Ba
hgydF4y2Ba
问gydF4y2Ba
代表从隐藏的单位重量输出,gydF4y2Ba
bgydF4y2Ba
问gydF4y2Ba
代表输出偏差。gydF4y2Ba
3.3。恶意网址检测网络模型的建立gydF4y2Ba
灵感来自于YOLO算法意思,本文应用CSPDarknet神经网络模型来提取特征向量的特征。YOLO算法用于图像目标检测的意思。实现高精度和高效率的实时检测。本文基于YOLOv4算法实现恶意URL检测多层卷积递归神经网络模型。YOLOv4算法主要由三个网络组件:骨干,脖子,头gydF4y2Ba
18gydF4y2Ba ]。颈部网络组件主要用于生成特征金字塔在图像目标探测和识别目标检测不同大小的缩放张量不同的尺度。头网络组件主要用于图像目标检测的最后锚定生成目标类别概率时,目标分数,和边界框的位置矢量。CSPDarknet主要用于从图像中提取丰富的特征信息。它集成了特征信息特征映射从上到下,逐步降低了尺寸。当使用URL的CSPDarknet网络来提取特征数值张量,它可以downsample高维URL张量到一个低维空间,提高了检测的速度模型。此外,本文使用一维卷积神经网络来处理序列CSPDarknet网络中张量。当CSPDarknet网络学习一定URL上的本地功能序列,因为一维卷积神经网络具有平移不变性,它可以识别这个地方特性在任何位置的任何URL。在处理每个URL时,本文首先使用字嵌入进行数值向量化以字符为最小单位获得二维张量。然后CSPDarknet网络可以提高,应用于复发性神经网络处理的预处理步骤序列的前端,以集成的信息特征提取后卷积神经网络和双向LSTM用于识别恶意url。 The whole network structure is shown in Figure
7gydF4y2Ba 。gydF4y2Ba
图7gydF4y2Ba
恶意网址检测网络模型。gydF4y2Ba
在图gydF4y2Ba
7gydF4y2Ba 通过词,模型第一次接收URL嵌入处理字符级向量化,形成一个二维数字张量。每平方的张量是一个特征向量。这个二维张量的两个维度分别代表了URL的字符长度和空间向量的每个字符。然而,当处理多个url时,添加一个尺寸来表示数量的url。因此,字嵌入可以将url转换成一个三维张量。然后,CSPDarknet网络框架,它主要由煤层气,ResUnit, CSPn,用于提取三维张量的特征。CBM组件由一维卷积神经网络、批正常化,和米什激活功能。一维卷积神经网络可以处理三维张量得到字嵌入后的URL。此外,卷积核的大小的一维卷积神经网络是3,步幅是1。批标准化是标准化不仅输入层,而且每一个中间的输入(之前激活函数)层。 It is conducive to gradient propagation [
19gydF4y2Ba ]。米什激活函数方程所示(gydF4y2Ba
11gydF4y2Ba ),其形状类似于ReLU激活函数。然而,米什激活功能还允许相对较小的负梯度流入的负值。米什激活函数确保积极的价值是无限的,避免饱和的现象。gydF4y2Ba
(11)gydF4y2Ba
米什gydF4y2Ba
xgydF4y2Ba
=gydF4y2Ba
xgydF4y2Ba
·gydF4y2Ba
棕褐色gydF4y2Ba
hgydF4y2Ba
lngydF4y2Ba
1gydF4y2Ba
+gydF4y2Ba
egydF4y2Ba
xgydF4y2Ba
。gydF4y2Ba
网络组件ResUnit表明剩余两个煤层气操作后连接。梯度消失的残余联系解决问题gydF4y2Ba
20.gydF4y2Ba ]。它的原理是将前一层的输出作为后者的输入层,以创建一个快捷方式直接进入深层网络让信息,有效地避免了问题的梯度和梯度爆炸消失。CSPn的计算组件有两个处理方向。第一个处理方向是通过煤层气网络计算输入值。计算结果通过连接gydF4y2Ba
ngydF4y2Ba 乘以剩余工资,然后连接结果通过煤层气网络计算。第二个处理方向是通过煤层气网络计算输入值。但计算结果将被连接到第一个处理方向和输出的结果。多层卷积神经网络提取特征信息后,获得的序列特征张量是由双向LSTM复发性神经网络处理和执行的检测是两个不同的方向:前回来,回到前面。然后,这两个张量处理两个方向拼接成一个三维张量,然后扩展到一个一维张量。最后,实现整个模型的输出通过致密层和乙状结肠激活功能。本文规定,越接近模型的输出为“1”的URL标记为“好”,越接近模型的输出是“0”URL贴上“坏”。gydF4y2Ba
4所示。实验结果和分析gydF4y2Ba
本文收集了200000 url,其中包括100000名正常url贴上“好”和100000年恶意url贴上“坏”。本文随机选择90000正常的url和90000恶意url作为训练数据集,剩下的10000正常的url和10000恶意url作为测试数据集。选择20比例的训练数据集的验证数据集模型训练的过程。gydF4y2Ba
在本文中,我们使用嵌入层学习字符嵌入和参与整个神经网络模型的训练过程。因此,每个字符的URL可以学习的独特空间向量表示在整个网络模型的收敛过程。实验后,为了更清楚地分析特征向量,URL字符向量是通过PAC减少到一个三维空间的算法,如图gydF4y2Ba
8gydF4y2Ba 。图中的每一种颜色代表不同的性格。尽管维数减少,但仍然可以看到,借助从“0”到“9”更集中,字母字符“a”和“z”更集中,以及数字字符和字母字符之间的分工更加明显。也可以得出与实际URL信息在URL中,大部分的特性是由字母,数字和通常用于表示参数。因此,它可以被认为是特征向量训练得到的模型具有良好的效果,为下面的特征提取提供了一个良好的基础和恶意的检测。gydF4y2Ba
图8gydF4y2Ba
三维映射的字符空间向量。gydF4y2Ba
本文使用25 url培训每一轮小批量,最多20轮。与此同时,为了避免过度拟合的出现,添加一个回调函数,当训练模型,模型的检查点设置和提前终止。如果目标指标监控培训过程中不再是改善内指定的20轮,可以提前终止训练,重量可以保存模型。模型的准确性和损失值数据所示gydF4y2Ba
9(一个)gydF4y2Ba 和gydF4y2Ba
9 (b)gydF4y2Ba ,分别。红色曲线代表的准确性和损失值训练数据集,和蓝色曲线代表的准确性和损失值验证数据集。从数据可以看出,随着迭代训练,训练精度和损失值往往收敛,和验证数据的准确性和损失值与训练数据是一致的。它表明该模型能有效地识别恶意url。gydF4y2Ba
图9gydF4y2Ba
CSPDarknet模型的训练过程:(一)精度模型训练和(b)的损失值模型的训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
为了证明恶意URL识别方法的发展提出本文比较实验中进行基于YOLOv3 Darknet网络模型,传统的双向递归神经网络,传统的递归神经网络,RCNN神经网络,神经网络基于完整的连接层。数据gydF4y2Ba
10 ()gydF4y2Ba 和gydF4y2Ba
10 (b)gydF4y2Ba 的训练过程是基于YOLOv3 Darknet网络模型。与训练的迭代的数量的增加,训练数据集和验证数据的准确性也逐渐增加。同时,损失价值的训练数据集和验证集正逐渐减少。最后的精度可以稳定在94%左右,和损失价值可以稳定在0.19左右。可以看出,训练的结果基于YOLOv3 Darknet网络模型和基于YOLOv4 CSPDarknet网络模型是相似的。gydF4y2Ba
图10gydF4y2Ba
Darknet模型的训练过程:(一)精度模型训练和(b)的损失值模型的训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
数据gydF4y2Ba
(11日)gydF4y2Ba 和gydF4y2Ba
11 (b)gydF4y2Ba 是基于传统的双向递归神经网络训练过程。可以看出,验证数据的准确性高于训练数据集的开始阶段,和损失价值低于验证数据集的训练数据集。然而,随着迭代的增加,验证数据的准确性是逐渐低于训练数据集,并验证数据集的损失价值逐渐高于训练数据集。这些表明,发生过度拟合模型的后期培训,和模型的泛化能力降低。gydF4y2Ba
图11gydF4y2Ba
BRNN模型的训练过程:(一)精度模型训练和(b)的损失值模型的训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
数据gydF4y2Ba
12(一个)gydF4y2Ba 和gydF4y2Ba
12 (b)gydF4y2Ba 基于RCNN神经网络模型的训练过程。可以从这两个人物,整个模型不再提高在第九迭代的训练,也就是说,它往往是收敛和稳定。验证数据的准确性是稳定在92%左右,和损失值稳定在0.22左右。它也可以得出结论,RCNN第四迭代开始出现过度拟合模型。gydF4y2Ba
图12gydF4y2Ba
RCNN模型的训练过程:(一)精度模型训练和(b)的损失值模型的训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
数据gydF4y2Ba
(13日)gydF4y2Ba 和gydF4y2Ba
13 (b)gydF4y2Ba 神经网络模型是基于RNN的训练过程。从这两个数字可以看出,虽然精度和训练数据集的损失值逐渐收敛,验证数据的准确性和损失值也逐渐收敛,但在收敛过程中模型是不稳定的。可以得出融合结果的准确性的验证数据集是不超过90%,和最小损失值不小于0.32。gydF4y2Ba
图13gydF4y2Ba
RNN的训练过程模型:(a)精度模型训练和(b)的损失值模型的训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
数据gydF4y2Ba
(14日)gydF4y2Ba 和gydF4y2Ba
14 (b)gydF4y2Ba 神经网络模型是基于完全连接层。可以从这两个数据,模型的训练效果不再十迭代改进。此外,该模型是严重的过度拟合。验证数据的准确性将大约是86%,和损失价值约为0.33。但是,它仍处于不稳定状态。模型的效果是非常比其他五个类型的模型。gydF4y2Ba
图14gydF4y2Ba
培训过程的完整的连接层网络模型:(a)模型训练和(b)的精度损失值的模型训练。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
它可以看到从数据的比较分析gydF4y2Ba
9gydF4y2Ba 和gydF4y2Ba
14gydF4y2Ba ,在整个培训过程中,如果我们以损失值减少到0.2为标准,损失价值的两个模型,即基于YOLOv4 CSPDarknet网络改进的模型和改进模型在YOLOv3 Darknet网络的基础上,将大致相同。但是如果我们以精度提高到94%为标准,改进的模型基于CSPDarknet十迭代已经完成,和改进的模型基于Darknet 17迭代后完成。因此,基于CSPDarknet改进模型具有更快的收敛速度,而且精度略高于基于Darknet改进模型。传统的RCNN双向递归神经网络模型,模型,和基于全连接网络模型层存在过度拟合现象,按顺序和过度拟合的严重程度增加。虽然没有过度拟合现象,基于传统的递归神经网络模型,模型的识别精度低,收敛过程中有大的波动。如果六个模型根据排序的准确性验证数据集,然后他们从高到低排名如下:基于YOLOv4 CSPDarknet网络模型,基于YOLOv3 Darknet网络模型,传统的双向递归神经网络,RCNN神经网络,传统的递归神经网络,神经网络基于完整的连接层。gydF4y2Ba
上述训练模型中使用的测试数据集。测试数据集包含10000个正常的url和10000年恶意url。评价结果如图所示gydF4y2Ba
15gydF4y2Ba 。gydF4y2Ba
图15gydF4y2Ba
测试的准确性和损失。gydF4y2Ba
图gydF4y2Ba
15gydF4y2Ba 展示了六个模型性能的20000年数据的url。显然,基于CSPDarknet改进模型和基于Darknet改进模型具有较高的识别精度和较低的损失价值。同时,自激活函数中使用模型的输出层乙状结肠,损失价值函数的差异并不大,和改进模型的准确性基于CSPDarknet大于基于Darknet改进模型。认为改进后的模型基于CSPDarknet略优于基于Darknet。最后,可以看出,其他四个模型的准确性和损失值的测试数据集是不如改善多层卷积递归神经网络模型提出了。gydF4y2Ba
同时,如果RNN模型相比,基于完整的连接层的网络模型,我们可以得出这样的结论:检测恶意URL是依赖于字符序列,和上下文之间的关系人物在URL中可以找到基于RNN,从而提高模型的精度。如果RNN模型与BRNN模型相比,我们可以得出结论,双向递归神经网络可以在两个方向:处理URL序列前回来,回到前面。通过结合过去未来的序列和序列之间的关系在当前时间步,模型的精度进一步提高。如果RCNN模型与BRNN模型相比,我们可以得出这样的结论:当一维卷积神经网络结合双向递归神经网络,卷积神经网络可以首先在URL中提取特征信息,然后交给双向递归神经网络,可以有效地提高识别精度。gydF4y2Ba
为了更好地评估每个模型识别恶意url的优越性,本文选择精度,记得,gydF4y2Ba
FgydF4y2Ba 1值和AUC值作为评价参数的模型。为方便下面的描述,现在认为积极的样本代表正常的url和负样本代表恶意url。精密代表实际上是一个积极的样本在所有的概率预测积极的样本。召回率代表的概率预测作为正样本在实际正样本。的gydF4y2Ba
FgydF4y2Ba 1值考虑了精确度和召回率,让达到最大的平衡。如数据所示gydF4y2Ba
(16日)gydF4y2Ba 和gydF4y2Ba
16 (b)gydF4y2Ba ,precision-recall曲线(P-R曲线)和ROC曲线基于递归神经网络改进的多层卷积模型,分别。gydF4y2Ba
图16gydF4y2Ba
P-R曲线模型评价:(a)和(b) ROC曲线。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
因为它是图所示gydF4y2Ba
(16日)gydF4y2Ba P-R曲线的横坐标代表了召回率,纵坐标代表的准确性。与模型的召回率的增加,越来越多的实际积极样品将作为正样本,预测模型仍然具有较高的精度。因为它是图所示gydF4y2Ba
16 (b)gydF4y2Ba ,ROC曲线的横坐标代表的比例假阳性样本实际负样本,纵坐标代表召回率。当的比例逐渐减少假阳性样本的预测模型,该模型仍有较高的召回率。它可以得出结论,改进的多层卷积递归神经网络模型提出了最佳分类效果和识别能力。最后,我们分别计算准确性,召回率、精度、gydF4y2Ba
FgydF4y2Ba 1值,AUC值下的六个模型测试数据集。结果如图所示gydF4y2Ba
17gydF4y2Ba 。gydF4y2Ba
图17gydF4y2Ba
模型评价和比较。gydF4y2Ba
从图可以看出gydF4y2Ba
17gydF4y2Ba 改进的多层卷积递归神经网络模型优于其他五识别模型准确性,召回率、精度、gydF4y2Ba
FgydF4y2Ba 1值,AUC值。因此,可以得出结论:本文提出的方法具有较高的识别精度和更好的泛化能力比其他现有的恶意URL识别模型。gydF4y2Ba