当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于深度学习的钓鱼网站URL检测方法技术

技术编号:19934218 阅读:25 留言:0更新日期:2018-12-29 04:33
本发明专利技术公开了一种基于深度学习的钓鱼网站URL检测方法,该方法仅根据网站URL就能够实时检测互联网上的钓鱼网站。本发明专利技术首先将URL字符串序列编码成one‑hot二维稀疏矩阵,接着转化为稠密字符嵌入矩阵,输入到卷积神经网络中,抽取局部深度特征,然后将卷积神经网络的输出输入到长短期记忆网络,捕获URL序列的前后关联,最后接入softmax模型,对URL分类。本发明专利技术能避免繁冗的特征工程,通过卷积神经网络抽取局部深度关联性特征,通过长短期记忆网络学习URL中的长程依赖,能快速、准确地检测出钓鱼网站URL。

【技术实现步骤摘要】
一种基于深度学习的钓鱼网站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列本文档来自技高网...

【技术保护点】
1.一种基于深度学习的钓鱼网站URL检测方法,其特征在于,该方法主要包括三个步骤,具体如下:步骤1,URL字符嵌入表示:首先将URL看做字符串序列,从字符层面量化URL,规格化URL,然后将URL字符转换成独热码(one‑hot encode),最后通过卷积神经网络的嵌入(Embedding)层生成二维稠密矩阵即Embedding矩阵;步骤2,CNN‑LSTM分类层:Embedding矩阵首先通过卷积神经网络的CNN卷积层抽取局部关联性特征,接着抽取的局部关联性特征经池化层降低卷积神经网络模型复杂度;然后通过长短期记忆网络LSTM检测池化序列中的语义和长程依赖关系;最后输入到Softmax单元;步骤3,模型训练:采用交叉熵损失函数,并利用Adam即自适应时刻估计算法迭代训练模型,优化损失函数。

【技术特征摘要】
1.一种基于深度学习的钓鱼网站URL检测方法,其特征在于,该方法主要包括三个步骤,具体如下:步骤1,URL字符嵌入表示:首先将URL看做字符串序列,从字符层面量化URL,规格化URL,然后将URL字符转换成独热码(one-hotencode),最后通过卷积神经网络的嵌入(Embedding)层生成二维稠密矩阵即Embedding矩阵;步骤2,CNN-LSTM分类层:Embedding矩阵首先通过卷积神经网络的CNN卷积层抽取局部关联性特征,接着抽取的局部关联性特征经池化层降低卷积神经网络模型复杂度;然后通过长短期记忆网络LSTM检测池化序列中的语义和长程依赖关系;最后输入到Softmax单元;步骤3,模型训练:采用交叉熵损失函数,并利用Adam即自适应时刻估计算法迭代训练模型,优化损失函数。2.如权利要求1所述的基于深度学习的钓鱼网站URL检测方法,其特征在于,步骤1中,URL字符嵌入表示将URL字符串序列量化编码,作为卷积神经网络CNN的输入;首先要确定URL中可能出现的所有字母字符、数字字符和特殊字符,并构建字符映射表;假定每个URL字符序列长度固定为L,若URL长度超过L,则在URL末尾截取多余的字符,若URL长度少于L,则在URL首部补零直至长度达到L;根据字符映射表,其中首部补零字符对应编号为0,URL中的字符“0”对应编号为53,最终每个字符被转换为长度为m的one-hot向量x,向量中字符对应编号位置为1,其余位置皆为0,因此URL被转换为公式(2)所示矩阵X;X=(x1,x2,...,xL)(2)将one-hot编码的矩阵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)。3.如权利要求2所述的基于深度学习的钓鱼网站URL检测方法,其特征在于,对步骤1中生成的URL字符嵌入矩阵E,将其输入到CNN-LSTM分类模型中,预测该URL为钓鱼网站的概率,步骤2实施过程分为3个子步骤:子步骤2-1,卷积神经网络CNN层;CNN中卷积层对URL字符嵌入矩阵E进行卷积操作,抽取局部深度关联特征;具体而言,卷积层设置卷积核个数为S,每个卷积核都对窗口大...

【专利技术属性】
技术研发人员:杨鹏曾朋李幼平张长江郑斌
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

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

1