1.一种用于检测钓鱼网址的方法,其特征在于,应用于网址URL字符串,用于判断所述URL字符串指示的网址是否为钓鱼网址,具体包括如下步骤:S1:建立基于卷积神经网络与多头自注意网络二者并行结合的深度学习网络钓鱼网址检测分类器模型;
S2:使用预先准备的均衡的URL样本集对所述分类器模型进行训练;
S3:使用训练后的所述分类器模型对未知性质的URL字符串进行判别,判断其是否为钓鱼网址。
2.如权利要求1所述的用于检测钓鱼网址的方法,其特征在于,所述分类器模型包含四层:特征嵌入层、特征学习层、特征权重学习层及分类层;
所述特征嵌入层,用于预处理后的所述URL字符串形成特征矩阵并降低所述特征矩阵的矩阵维度;
所述特征学习层,包括五层URL特征学习网络,采用卷积神经网络自主地学习所述特征矩阵中的特征,输出URL特征的学习结果;
所述特征权重学习层,包括五层URL特征权重学习网络,采用多头自注意网络自主地学习所述特征矩阵中URL特征的权重,输出URL特征权重的学习结果;
所述分类层,用于整合所述特征学习层、以及所述特征权重学习层的输出结果,从而生成最终判别结果。
3.如权利要求2所述的用于检测钓鱼网址的方法,其特征在于,对所述URL字符串的预处理包括:
对所述URL字符串的长度进行限制使其总长度不超过100个字符;
对上述长度限制后的所述URL字符串采用独热编码进行编码;
对所述URL字符串长度不足100个字符的,采用独热编码后,在整体编码在其前方补齐若干个0,缺省映射,使URL编码长度达到100。
4.如权利要求3所述的用于检测钓鱼网址的方法,其特征在于,所述特征嵌入层将所述URL字符串预处理后,转化为97*100的特征矩阵,并降低矩阵维度至64*100,具体包括:首先建立97*100且元素全为0的矩阵,将独热编码的0‑96个编码视为行,所述URL字符串的独热编码串看成是列;对于URL独热编码串每一个编码,将编码+1所对应的行、当前编码在编码串中的顺序位置所对应列的值置为1,即形成所述URL的特征矩阵,即:其中,L为字符串长度,格式化后L=100;所述特征矩阵的大小为97*100;将以上97*100的特征矩阵维度降低至64*100,即将 从97映射至64,使原稀疏矩阵变成稠密矩阵,也即其中, 为特征矩阵,V为参数矩阵,p为矩阵V的行数,m为矩阵V的列数。
5.如权利要求4所述的用于检测钓鱼网址的方法,其特征在于,所述特征学习层中每一层所述URL特征学习网络由卷积层、残留层、全连接层和残留层在内的4层构成,具体设计如下:
所述卷积层中有5个核,用于接受所述特征矩阵的输入或者上一层网络输出的结果,并使用最大池从5个特征图中选择特征;
在所述卷积层之后提供一个所述残留层,用于将所述卷积层的输入与所述卷积层的输出相加;
所述全连接层将所述残留层的输出结果进行线性变换:T
y=max(0,ωx+b)
T
其中,x是所学习到的URL特征矩阵,W 是所学习到的URL特征权重,b是偏置量常数;所述残留层将所述全连接层的输入与输出相叠加后,再输出结果。
6.如权利要求5所述的用于检测钓鱼网址的方法,其特征在于,所述特征权重学习层包括的每一层URL特征权重学习网络包含有多头自注意层、残留层、全连接层以及残留层四层,具体设计如下:
所述多头自注意层,用于接受所述特征矩阵的输入或者上一层网络输出的结果,将输入的所述特征矩阵复制3份,分别赋予给多头自注意模型所需的三个参数,用于自主地学习所述特征矩阵的特征权重;
所述残留层,用于将所述多头自注意层的输出与输入叠加;
所述全连接层将所述残留层的输出结果进行线性变换;
所述残留层将所述全连接层的输入与输出叠加,并输出结果。
7.如权利要求6所述的用于检测钓鱼网址的方法,其特征在于,所述分类层包括多头自注意层、残留层及全连接层、残留层以及全连接层连接的五层网络,具体设计如下:所述多头自注意层将经所述特征学习层输出结果、所述特征权重学习层的输出结果分别作为所述多头自注意层的三个参数的赋值;
所述残留层将所述多头自注意层的输出与所述特征学习层的结界叠加;
所述全连接层将所述残留层的输出结果进行线性变换;
所述残留层使用以上所述全连接层的输出、以及上一个所述残留层的输出作为自身的输入进一步计算结果;
所述全连接层将上一层的结果进行变换,并采用Sigmoid激活函数将输出结果转换成0到1之间的浮点数;Sigmod激活函数为:T
其中,x是所学习到的URL特征矩阵,W是所学习到的URL特征权重,b是偏置量常数;
Sigmoid函数输出结果介于0到1之间,如果结果大于或等于0.5,则可以判别输入的所述URL字符串为合法网址;否则,则被判别为钓鱼网址:
8.如权利要求1‑7任一所述用于检测钓鱼网址的方法,其特征在于,所述均衡的URL样本集包括一定数量的合法网址作为正样本和钓鱼网址样本作为负样本、且二者数量一致。
9.如权利要求8所述的用于检测钓鱼网址的方法,其特征在于,使用预先准备的均衡的URL样本集对所述分类器模型进行训练,具体步骤包括:将所述均衡的URL样本集进行编码预处理后作为所述分类器模型的输入,并将所述均衡的URL样本集中URL字符串的性质赋予输出结果,即当所述URL字符串为合法网址,输出结果为1;当所述URL字符串为钓鱼网址,输出结果为0。
10.如权利要求9所述的用于检测钓鱼网址的方法,其特征在于,训练后的所述分类器模型对所述未知性质的URL字符串进行分类并生成输出结果,若输出结果大于等于0.5,则表明所述未知性质的URL字符串为合法网址;若输出结果小于0.5则为钓鱼网址。