一种基于深度学习的钓鱼网站URL检测方法与流程

文档序号:16430085发布日期:2018-12-28 20:05阅读:849来源:国知局
一种基于深度学习的钓鱼网站URL检测方法与流程

本发明涉及一种基于深度学习的钓鱼网站url检测方法,该方法提取url字符串序列相关特征,利用深度学习方法提高分类准确率,能实时检测互联网上的钓鱼网站,属于网络空间安全技术领域。

背景技术

近年来,随着互联网的飞速发展,互联网体系结构在安全方面所存在不足日渐显露,网络钓鱼、网络犯罪、隐私泄露等各类安全问题越来越突出。没有网络安全就没有国家安全,网络空间安全已经成为世界各国必须共同面对和解决的难题。在各类网络安全问题中,网络钓鱼是一种通过社会工程学或其它复杂技术手段窃取网站用户个人信息的犯罪行为,目前网络钓鱼呈逐年上升趋势。

当前主流钓鱼网站检测方法是基于机器学习的钓鱼网站检测方法,该方法将钓鱼网站检测视为一个二分类或聚类问题,首先根据钓鱼网站的url结构及页面元素与正常网站的差异性提取特征,然后运用相应的机器学习算法达到钓鱼网站检测和防御的目的。常见的钓鱼特征有url词汇特征、html特征、第三方网站特征等,根据所用特征的不同,又可分为基于url特征的钓鱼网站检测和基于组合特征的钓鱼网站检测。其中基于url特征的钓鱼网站检测方法不需要关注钓鱼页面,检测效率高,但不能全面反映url的特点,准确率不高。



技术实现要素:

发明目的:针对当前日益增多的钓鱼网站和已有基于url特征的钓鱼网站检测方法准确率不高、漏报率和误报率较高的问题,本发明提出一种基于深度学习的钓鱼网站url检测方法,首先将输入url字符串规格化为固定长度,然后通过字符映射表将其转化为one-hot编码序号,接着嵌入层(embeddinglayer)将其转为稠密矩阵作为url字符序列的特征表示,之后输入到cnn网络抽取局部深度特征,并通过lstm解决长程依赖问题,最后将lstm最后一个时刻的输出输入到softmax单元,该方法能实时检测互联网的钓鱼网站,相比传统基于url特征的钓鱼网站检测方法,不需要手动抽取特征,能全面反映url特征点,而且能够显著提供钓鱼网站检测准确率。

技术方案:一种基于深度学习的钓鱼网站url检测方法,该方法涵盖钓鱼网站检测的全过程。该方法主要包括url字符嵌入表示、cnn-lstm分类模型和模型训练等过程,能够有效捕获url字符序列中字符前后的关联和语义信息,有效解决传统基于url特征的钓鱼网站检测方法不能全面反映钓鱼网站url特征的问题,并且将卷积神经网络和长短期记忆网络模型应用于钓鱼网站检测,提高检测准确率和减少检测漏报率。该方法主要包括三个步骤,具体如下:

步骤1,url字符嵌入表示。首先将url看做字符串序列,从字符层面量化url,规格化url,然后将url字符转换成独热码(one-hotencode),最后通过嵌入(embedding)层生成二维稠密矩阵即embedding矩阵。

步骤2,cnn-lstm分类层embedding矩阵首先通过cnn卷积层抽取局部关联性特征,接着抽取的局部关联性特征经池化层降低卷积神经网络模型复杂度;然后通过长短期记忆网络lstm检测池化序列中的语义和长程依赖关系;最后将lstm最后一个单元的输出到softmax单元。

步骤3,模型训练。本发明采用交叉熵(crossentropy)损失函数,并利用adam(adaptivemomentestimation)即自适应时刻估计算法迭代训练模型,优化损失函数。

有益效果:

1.url字符嵌入表示不需要手动抽取特征,且不损失任何信息地表征了url信息,能全面反映url特点。

2.cnn-lstm分类模型能够有效捕获url字符序列中字符前后的关联和语义信息,具有更高的准确率、更低的漏报率和误报率。

附图说明

图1为本发明整体流程图,包括url字符嵌入表示和cnn-lstm分类。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

本方法具体实施步骤如下:

步骤1,url字符嵌入表示。url字符嵌入表示将url字符串序列量化编码,作为卷积神经网络cnn的输入。为此,首先要确定url中可能出现的所有字母字符、数字字符和特殊字符,并构建字符映射规则。根据ascci码表并结合url字符的实际情况,构建了97个编号的字符映射表,其中包括52个大小写字母,10个数字,33个特征字符,一个补零字符及未知字符编号。字符映射表如表1所示。

表1字符映射表

假定每个url字符序列长度固定为l,若url长度超过l,则在url末尾截取多余的字符,若url长度少于l,则在url首部补零直至长度达到l,如公式(1)所示。其中urls为原始url字符串,len(urls)表示其总长度,pad为首部补零字符串,其长度len(pad)=l-len(urls),urls[0:l-1]为urls前l个字符,urlf为规格化后的输入字符串。

根据字符映射表,其中首部补零字符对应编号为0,url中的字符“0”对应编号为53,最终每个字符被转换为长度为m(97)的one-hot向量x,向量中字符对应编号位置为1,其余位置皆为0,例如字符“a”表示为(0,1,0,…0)。因此url被转换为公式(2)所示矩阵x。

x=(x1,x2,...,xl)(2)

由于one-hot编码的矩阵x含有很多0,会带来稀疏编码且维度过高的问题,且这种表示不同字符之间完全没有空间及语义关联性,信息量太少。可将其转换到字符嵌入的低维稠密特征空间中,本文将矩阵x中的每个one-hot向量投影到d维连续向量空间对应神经网络中的嵌入层,其可理解为一个输入为m个神经元,输出为d个神经元的全连接神经网络。

embedding层的参数值随机初始化,并在模型训练过程中迭代更新。设输入为d个神经元,输出为m个神经元的embedding全连接层的参数矩阵为则对one-hot向量xt,xt表示矩阵x的一个列向量,其最终嵌入向量et如公式(3)所示。

最后url字符串序列被转换为如公式(4)所示的稠密矩阵序列e,作为url的字符嵌入矩阵。

e=wx=(w1,w2,…,wd)t×(x1,x2,…,xl)=(e1,e2,…,el)(4)

步骤2,cnn-lstm分类模型。对步骤1中生成的url字符嵌入矩阵e,将其输入到cnn-lstm分类模型中,预测该url为钓鱼网站的概率,该步骤实施过程分为3个子步骤:

子步骤2-1,卷积神经网络cnn层。cnn中卷积层对url字符嵌入矩阵e进行卷积操作,抽取局部深度关联特征。具体而言,卷积层设置多个卷积核s,每个卷积核都对窗口大小为k的字符嵌入向量进行卷积从而产生新特征。对于第f个卷积核,其在第i个滑动窗口处的字符向量矩阵ei如公式(5)所示。

ei={ei,ei+1,…,ei+k-1}(5)

则卷积核f在第i个滑动窗口处产生的新特征如公式(6)所示,其中σ是卷积层的非线性激活函数,本文采用relu激活函数,和bf分别为该卷积核权重和偏置项。

本发明设置卷积核滑动步长为1,则卷积核f遍历滑动窗口e0到el-k+1后产生的特征图向量hf如公式(7)所示。

将s个卷积核产生的特征图堆叠,便可得到卷积层的序列矩阵hs,如公式(8)所示,其中hs的第i列

hs={h1,h2,…,hl-k+1}(8)

池化层对新的序列矩阵hs进行最大池化(maxpooling)操作,获取池化窗口p内的最大特征值,从而最大化字符特征表示。设置池化层步长与池化窗口相同,则对特征图向量hf最大池化后的特征如公式(9)和(10)所示,其中为第j块最大池化的特征值,pf表示池化后的向量,

最终,将s个池化向量堆叠,即可得到池化层的序列矩阵hp,如公式(11)所示,其中hp的第i列

hp={p1,p2,…,pn}(11)

子步骤2-2,长短期记忆网络lstm层。将池化序列矩阵hp输入到lstm神经网络中,其中pi对应第i个时刻lstm网络的输入,最终lstm的输出隐藏状态序列h,如式(12)所示。

h=(h1,h2,…,hn)(12)

接着将序列最后的隐藏状态hn作为最后分类层的输入,如式(13)所示,其中n为lstm网络隐藏单元个数,hni为第i个隐藏单元。

hn=(hn1,hn2,…,hnn)(13)

子步骤2-3,softmax分类层。分类层是激活函数为sigmoid的softmax回归单元,预测概率如式(14)所示,x为输入向量,wk为权值向量,bk为偏置,其中k=2,当k=0时,表示预测为正常网站的概率,k=1时,表示预测为钓鱼网站的概率。

为了抑制过拟合现象,在隐藏状态hn和softmax分类层之间的全连接层中应用dropout策略。dropout是深度神经网络中一种防止过拟合的高效方法,其在训练过程中,对每个神经网络单元,按照一定的概率将其从网络中丢弃。

步骤3,模型训练。模型训练的关键是确定目标损失函数,本发明采用交叉熵(crossentropy)损失函数,如式(15)所示。其中n为训练样本总数,y为样本的真实类别(0表示正常网站,1表示钓鱼网站),为模型预测为钓鱼网站的概率。

本发明采用adam(adaptivemomentestimation)即自适应时刻估计算法训练模型优化交叉熵损失函数,其是对梯度下降算法的改进,通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率,避免了学习率消失、收敛过慢或损失函数波动较大的问题,具有高效的学习效果。

综上所述,本发明涉及的主要参数如表2所示。

表2主要参数

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1