首页 / 专利库 / 人工智能 / 机器学习 / 无监督学习 / 基于LSTM自编码网络的URL参数异常值检测方法

基于LSTM自编码网络的URL参数异常值检测方法

阅读:197发布:2020-05-18

专利汇可以提供基于LSTM自编码网络的URL参数异常值检测方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于LSTM自编码网络的URL参数异常值检测方法,本发明将URL参数序列化,利用LSTM在时序 序列表 达方面的优势,建立LSTM自编码模型,对输入数据编码后再进行解码输出,设定输入与输出损失最小为优化目标,通过优化 算法 不断更新网络权重,最终得到网络模型和损失范围,根据损失范围设定损失 阈值 T,将损失大于阈值T的数据识别为攻击数据,本方法对数据分析时会考虑数据的上下文关系,有较强的模型表达能 力 ,对恶意URL的检测达到较好的效果,提高了URL参数攻击识别的准确率,减少漏报、误报。,下面是基于LSTM自编码网络的URL参数异常值检测方法专利的具体信息内容。

1.一种基于LSTM自编码网络的URL参数异常值检测方法,其特征在于,包含以下步骤:
S1、通过urllib模对URL地址进行处理对URL地址进行处理,包括转义、解码、提取URL参数;
S2、对提取的URL参数数据构建词表,词表中包括出现过的所有字符,将其一一标号,得到词表;
S3、根据词表对URL参数数据编码,转化为序列数据并截取统一长度;
S4、通过Embedding词嵌入将数据映射为嵌入矩阵;
S5、搭建LSTM自编码网络,得到网络模型;
S6、计算所有训练数据的损失,取误差最大值作为阈值T;
S7、测试网络模型效果,使用混有攻击数据的URL进行测试,重复步骤S2、S3、S4、S5,当得到混有攻击数据损失值大于阈值T时,识别为攻击数据,损失值小于等于阈值T时,识别为正常数据;
所述步骤S5中,LSTM的关键在于单元状态,单元状态从头到尾运行,通过的结构来对单元状态增加或者删除信息,包括遗忘门、输入门、输出门、单元状态,分别通过以下公式计算获得:
遗忘门:ft=σ(Wf·[ht-1,x]+bf)       (1)输入门:it=σ(Wi·[ht-1,xt]+bi)     (2)状态门:候选状态量
更新状态:
输出门:ot=σ(Wo[ht-1,xt]+bo)        (5)ht=ot·tanh(Ct)                 (6)式中W为对应权值,b为偏置量,xt为当前输入数据,ht-1为前一刻的输出值,σ为Sigmoid函数,计算公式为 tanh为双曲正切函数,计算公式为 当t时刻输
入时间序列Xt和t-1时刻的隐藏变量ht-1,首先,在遗忘门生成ft,见公式(1),决定单元中丢弃何种信息,然后,在输入门生成it,见公式(2),决定存储何种信息,接着创建候选向量见公式(3),根据在t-1时刻状态门Ct-1更新t时刻状态量Ct,见公式(4),最后,在输出门生成ot,见公式(5),并在状态量Ct和状态量ot的作用下,生成t时刻的隐藏变量ht,见公式(6),进而影响t+1时刻LSTM单元的变化,自编码网络是一种监督学习算法,包括编码器解码器,编码器的输出是解码器的输入,使用反向传播算法,让目标值等于输入值,LSTM自编码网络包括编码器、解码器、损失函数和优化器,编码器与解码器均为LSTM搭建,编码器的输出为解码器的输入,将中间网络层当作隐藏层,损失函数计算输出与输入的误差,以损失最小为优化目标,进行反向传播,应用优化函数不断更新网络权值,假设时间序列X={x1,x2,…xn},其中n为数据长度,对应的理论输出为 当时刻t的数据xt输入自编码
网络,xt为序列X在t时刻的值,其中1<<t<<n,得到的输出表示为yt=LSTMforward(xt,ct-1,ht-1),其中LSTMforward表示上述LSTM前向传播单元状态的计算方法,序列X的自编码网络的输出为Yt=LSTMforward(Xt,ct-1,ht-1)={y1,y2,…yn},接下来计算输入与输出的误差,选用均方误差作为误差计算公式,训练过程的损失函数定义为 设
定损失函数最小为优化目标,给定网络初始化的随机种子数、学习率以及训练次数,应用Adam优化算法不断更新网络权重,待损失收敛后,得到最终的网络模型。

说明书全文

基于LSTM自编码网络的URL参数异常值检测方法

技术领域

[0001] 本发明涉及Web安全技术领域,尤其涉及一种基于LSTM自编码网络的URL参数异常值检测方法。

背景技术

[0002] 近年来,网络安全逐渐引起人们的重视,更是成为国家安全战略层面的问题。人们面临越来越严峻的网络安全问题,其中Web攻击的数量逐年上升,而且据统计,目前75%的攻击都转移到应用层,攻击者通过在URL中嵌入可执行代码或者注入恶意代码就能造成SQL、XSS、信息泄露、命令执行等各种Web攻击。恶意URL为了减少被检测到的可能会采用各种手段隐藏自己。机器学习的分类算法在URL检测方面有一定的效果,但是对于许多与网站正确的URL具有较高相似度的恶意URL,并不能准确的检测出来。

发明内容

[0003] 本发明的目的在于提供一种基于LSTM自编码网络的URL参数异常值检测方法,用以解决以上问题。
[0004] 本发明的上述目的是通过以下技术方案得以实现的:
[0005] 一种基于LSTM自编码网络的URL参数异常值检测方法,包含以下步骤:
[0006] S1、通过urllib模对URL地址进行处理对URL地址进行处理,包括转义、解码、提取URL参数;
[0007] S2、对提取的URL参数数据构建词表,词表中包括出现过的所有字符,将其一一标号,得到词表;
[0008] S3、根据词表对URL参数数据编码,转化为序列数据并截取统一长度;
[0009] S4、通过Embedding词嵌入将数据映射为嵌入矩阵;
[0010] S5、搭建LSTM自编码网络,得到网络模型;
[0011] S6、计算所有训练数据的损失,取误差最大值作为阈值T;
[0012] S7、测试网络模型效果,使用混有攻击数据的URL进行测试,重复步骤S2、S3、S4、S5,当得到混有攻击数据损失值大于阈值T时,识别为攻击数据,损失值小于等于阈值T时,识别为正常数据。
[0013] 进一步,所述步骤S5中,LSTM的关键在于单元状态,单元状态从头到尾运行,通过的结构来对单元状态增加或者删除信息,包括遗忘门、输入门、输出门、单元状态,分别通过以下公式计算获得:
[0014] 遗忘门:ft=σ(Wf·[ht-1,x]+bf)         (1)[0015] 输入门:it=σ(Wi·[ht-1,xt]+bi)         (2)[0016] 状态门:候选状态量
[0017] 更新状态:
[0018] 输出门:ot=σ(Wo[ht-1,xt]+bo)      (5)[0019] ht=ot·tanh(Ct)      (6)[0020] 式中W为对应权值,b为偏置量,xt为当前输入数据,ht-1为前一刻的输出值,σ为Sigmoid函数,计算公式为 tanh为双曲正切函数,计算公式为 当t时刻输入时间序列Xt和t-1时刻的隐藏变量ht-1,首先,在遗忘门生成ft,见公式(1),决定单元中丢弃何种信息,然后,在输入门生成it,见公式(2),决定存储何种信息,接着创建候选向量 见公式(3),根据在t-1时刻状态门Ct-1更新t时刻状态量Ct,见公式(4),最后,在输出门生成ot,见公式(5),并在状态量Ct和状态量ot的作用下,生成t时刻的隐藏变量ht,见公式(6),进而影响t+1时刻LSTM单元的变化,自编码网络是一种监督学习算法,包括编码器解码器,编码器的输出是解码器的输入,使用反向传播算法,让目标值等于输入值,LSTM自编码网络包括编码器、解码器、损失函数和优化器,编码器与解码器均为LSTM搭建,编码器的输出为解码器的输入,可将中间网络层当作隐藏层,损失函数计算输出与输入的误差,以损失最小为优化目标,进行反向传播,应用优化函数不断更新网络权值,假设时间序列X={x1,x2,…xn},其中n为数据长度,对应的理论输出为 当时刻t的数据xt输
入自编码网络,xt为序列X在t时刻的值,其中1<<t<<n,得到的输出可以表示为yt=LSTMforward(xt,ct-1,ht-1),其中LSTMforward表示上述LSTM前向传播单元状态的计算方法,序列X的自编码网络的输出为Yt=LSTMforward(Xt,ct-1,ht-1)={y1,y2,…yn},接下来计算输入与输出的误差,选用均方误差作为误差计算公式,训练过程的损失函数定义为
设定损失函数最小为优化目标,给定网络初始化的随机种子
数、学习率以及训练次数,应用Adam优化算法不断更新网络权重,待损失收敛后,得到最终的网络模型。
[0021] 综上所述,本发明具有以下有益效果:
[0022] (1)长短时记忆单元(Long Short-term Memory,简称LSTM),是一种时间递归神经网络,对处理时序数据有较好的效果,能够充分考虑到数据之间的上下文关系,在自然语言处理等方面有不少成功应用,而自编码网络是一种期望输出等于输入的网络,是异常值检测常用的方法,因此,本发明利用LSTM构建自编码网络,用来检测URL参数异常值,提高了URL攻击的识别准确率,减少漏报、误报。附图说明
[0023] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1为本发明实施例的LSTM单元结构图;
[0025] 图2为本发明实施例的流程示意图;
[0026] 图3为本发明实施例的LSTM自编码结构示意图。

具体实施方式

[0027] 在下面的详细描述中,提出了许多具体细节,以便于对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好地理解。
[0028] 下面将结合附图,对本发明实施例的技术方案进行描述。
[0029] 实施例:
[0030] 如图2所示,一种基于LSTM自编码网络的URL参数异常值检测方法,包含以下步骤:
[0031] S1、通过urllib模块对URL地址进行处理对URL地址进行处理,包括转义、解码、提取URL参数;
[0032] S2、对提取的URL参数数据构建词表,词表中包括出现过的所有字符,将其一一标号,得到词表;
[0033] S3、根据词表对URL参数数据编码,转化为序列数据并截取统一长度;
[0034] S4、通过Embedding词嵌入将数据映射为嵌入矩阵;
[0035] S5、搭建LSTM自编码网络,得到网络模型;
[0036] S6、计算所有训练数据的损失,取误差最大值作为阈值T;
[0037] S7、测试网络模型效果,使用混有攻击数据的URL进行测试,重复步骤S2、S3、S4、S5,当得到混有攻击数据损失值大于阈值T时,识别为攻击数据,损失值小于等于阈值T时,识别为正常数据。
[0038] 如图1所示,图1为LSTM单元结构图,在步骤S5中,LSTM的关键在于单元状态,单元状态从头到尾运行,通过门的结构来对单元状态增加或者删除信息,包括遗忘门、输入门、输出门、单元状态,分别通过以下公式计算获得:
[0039] 遗忘门:ft=σ(Wf·[ht-1,x]+bf)        (1)[0040] 输入门:it=σ(Wi·[ht-1,xt]+bi)        (2)[0041] 状态门:候选状态量
[0042] 更新状态:
[0043] 输出门:ot=σ(Wo[ht-1,xt]+bo)        (5)[0044] ht=ot·tanh(Ct)         (6)[0045] 式中W为对应权值,b为偏置量,xt为当前输入数据,ht-1为前一刻的输出值,σ为Sigmoid函数,计算公式为 tanh为双曲正切函数,计算公式为 当t时刻输入时间序列Xt和t-1时刻的隐藏变量ht-1,首先,在遗忘门生成ft,见公式(1),决定单元中丢弃何种信息,然后,在输入门生成it,见公式(2),决定存储何种信息,接着创建候选向量 见公式(3),根据在t-1时刻状态门Ct-1更新t时刻状态量Ct,见公式(4),最后,在输出门生成ot,见公式(5),并在状态量Ct和状态量ot的作用下,生成t时刻的隐藏变量ht,见公式(6),进而影响t+1时刻LSTM单元的变化,自编码网络是一种无监督学习算法,包括编码器、解码器,编码器的输出是解码器的输入,使用反向传播算法,让目标值等于输入值。
[0046] 如图3所示,LSTM自编码网络包括编码器、解码器、损失函数和优化器,编码器与解码器均为LSTM搭建,编码器的输出为解码器的输入,可将中间网络层当作隐藏层,损失函数计算输出与输入的误差,以损失最小为优化目标,进行反向传播,应用优化函数不断更新网络权值,假设时间序列X={x1,x2,…xn},其中n为数据长度,对应的理论输出为当时刻t的数据xt输入自编码网络,xt为序列X在t时刻的值,其中1<<t<<n,得到的输出可以表示为yt=LSTMforward(xt,ct-1,ht-1),其中LSTMforward表示上述LSTM前向传播单元状态的计算方法,序列X的自编码网络的输出为Yt=LSTMforward(Xt,ct-1,ht-1)={y1,y2,…yn},接下来计算输入与输出的误差,选用均方误差作为误差计算公式,训练过程的损失函数定义为 设定损失函数最小为优化目标,给定网络
初始化的随机种子数、学习率以及训练次数,应用Adam优化算法不断更新网络权重,待损失收敛后,得到最终的网络模型。
[0047] 本发明将URL参数序列化,利用LSTM在时序序列表达方面的优势,建立LSTM自编码模型,对输入数据编码后再进行解码输出,设定输入与输出损失最小为优化目标,通过优化算法不断更新网络权重,最终得到网络模型和损失范围。根据损失范围设定损失阈值T,将损失大于阈值T的数据识别为攻击数据。本方法对数据分析时会考虑数据的上下文关系,有较强的模型表达能,对恶意URL的检测达到较好的效果,提高了URL参数攻击识别的准确率,减少漏报、误报。
[0048] 以上实施例仅用以说明本发明的技术方案,而非对发明的保护范围进行限制。显然,所描述的实施例仅仅是本发明部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明所要保护的范围。
[0049] 尽管参照上述实施例对本发明进行了详细的说明,本领域普通技术人员依然可以在不冲突的情况下,不作出创造性劳动对本发明各实施例中的特征根据情况相互组合、增删或作其他调整,从而得到不同的、本质未脱离本发明的构思的其他技术方案,这些技术方案也同样属于本发明所要保护的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈