基于门控循环单元与注意力机制的注入攻击检测方法技术

技术编号:22467875 阅读:28 留言:0更新日期:2019-11-06 11:40
本发明专利技术公开了一种基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,包括以下步骤:步骤1、提取互联网中与数据库相关的语句作为样本;对各个样本分别进行预处理,并获取其类别标签;步骤2、将样本预处理后的结果输入注入攻击检测模型,预测其对应的类别标签;其中注入攻击检测模型包括依次连接的激活层、门控循环单元层、注意力机制层和输出层;步骤3、基于样本数据训练注入攻击检测模型;步骤4、对于待检测语句,先对其进行预处理,再将预处理后的结果输入训练好的注入攻击检测模型,得到该待检测语句的类别标签,从而判断该待检测语句是否为注入攻击语句。本发明专利技术准确率高。

Injection attack detection method based on gated loop unit and attention mechanism

【技术实现步骤摘要】
基于门控循环单元与注意力机制的注入攻击检测方法
技术介绍
注入攻击是指通过攻击者将代码注入程序或查询或将恶意软件注入计算机,以便执行远程命令,这些命令可以读取或修改数据库,或更改网站上的数据。网络空间中常见的注入攻击有SQL注入攻击、XSS攻击等。根据2016年网络空间安全数据报告,SQL注入攻击与XSS攻击两种常见注入攻击成为了网络攻击事件的常见方式,造成了严重的社会经济影响。注入攻击的常见防御手段有预编译指令、动态分析等手段。注入攻击的检测方法从过去基于规则的方法到如今基于机器学习的方法发生了较大变化。基于规则的方法中具有代表性的主要有基于正则表达式匹配的方法、采用预编译手段的方法、采用代理服务器缓冲的方法,以上这些方法虽然能对注入攻击的检测和防御有所作用,但由于其往往需要采用人员、服务器、程序设计等手段进行预处理,而且借助编程人员与服务器的手段也需要进行安全设计与评估,造成了较大的经济开销与可能的安全隐患。近年来,基于机器学习的方法成为了研究重点,产生了基于SVM的注入攻击检测方法、基于决策树的注入攻击检测方法,这些方法相比以往方法具有较低的经济开销与安全隐患,但是其中对于数据的处理方式、参数的调整与模型解释需要较高水平的工程人员进行协助,另外,其识别准确度在一些特定情况下低于人工识别准确度。另外,自然语言处理领域的一些简单语义模型,例如Bag-of-words[1]、tree-kernel[2]、word-graph[3]方法也进行了对于注入攻击检测的尝试,但它们均存在各种不足。Bag-of-words采用的思路是对于语句文本中出现的词语进行统计排序,将出现次数最多的前N个词语作为判断标准,如果出现了常出现在攻击语句中的词语则认定为攻击行为,该方法虽然有一定效果,但其完全取决于攻击语句中的敏感词语的出现次数是否达到阈值的判断标准,对于注入攻击语句中的上下文特征缺乏考虑。tree-kernel与word-graph方法均结合了机器学习,在一定程度上考虑了词语之间的上下文关系,但是对于间隔较远的词语之间的关系无法衡量,因此出现了对于较短的攻击语句识别准确,但对于较长的攻击语句识别效果不佳的问题。[1]BockermannC,ApelM,MeierM.LearningSQLforDatabaseIntrusionDetectionUsingContext-SensitiveModelling(ExtendedAbstract)[J].ProcDetectionofIntrusions&Malware&VulnerabilityAssessment,2009.[2]BuehrerG,WeideBW,SivilottiPAG.UsingparsetreevalidationtopreventSQLinjectionattacks[C]//ProcInternationalWorkshoponSoftwareEngineering&Middleware.2005.[3]KarD,PanigrahiS,SundararajanS.SQLiGoT:DetectingSQLInjectionAttacksusingGraphofTokensandSVM[J].Computers&Security,2016:S0167404816300451.针对现有方法存在的不足,有必要提供一种效果更好的注入攻击检测方法。
技术实现思路
本专利技术解决的技术问题是,针对现有技术的不足,提出一种基于门控循环单元与注意力机制的注入攻击检测方法,检测准确率高。本专利技术提供的技术方案为:一种基于门控循环单元与注意力机制的注入攻击检测方法,包括以下步骤:步骤1、提取互联网中与数据库相关的语句作为样本;对各个样本分别进行预处理,并采用现有方法获取每一个样本的类别标签,所述类别标签用于标记各个样本是否为注入攻击语句;步骤2、将样本预处理后的结果输入注入攻击检测模型,预测其对应的类别标签;其中注入攻击检测模型包括依次连接的激活层、门控循环单元(GRU)层、注意力机制层和输出层;预处理后的结果依次输入激活层、门控循环单元层、注意力机制层和输出层进行前向计算,并输出相应的类别标签;步骤3、设定损失函数,计算样本通过步骤2中注入攻击检测模型预测得到的类别标签和真实类别标签的差距;以降低损失函数值为目的,基于反向传播算法更新注入攻击检测模型的参数;然后返回步骤2,直到达到设定的循环次数或者损失函数值小于设定阈值(达到精度要求),完成对注入攻击检测模型的训练,实现模型的判别性能的优化,得到训练好的注入攻击检测模型;步骤4、对于待检测语句,先对其进行预处理,再将预处理后的结果输入训练好的注入攻击检测模型,得到该待检测语句的类别标签,从而判断该待检测语句是否为注入攻击语句。进一步地,所述步骤1和步骤4中,对语句预进行预处理包括以下步骤:步骤1.1:将语句中的所有元素分类替换为预设的词语符号,其中元素包括语素和符号;步骤1.2:采用TF-IDF算法对语句中的词语符号进行编码,编码方法为:先通过TF-IDF算法建立各词语符号与词语符号出现频率(tfidf值)排序之间的映射关系;然后根据映射关系将语句中的各词语符号替换为其出现频率排序;步骤1.3:设定语句最大长度,对步骤1.2得到的编码结果进行截取或补全操作,使之长度等于设定的语句最大长度,得到语句预处理后的结果。进一步地,所述步骤2中,激活层采用ReLU(·)激活函数,其计算过程为:对语句的预处理后的结果Si=(C1,C2,...,Cz)T中的每个元素Ck∈R1,k=1,2,...,z,分别利用公式vk=ReLU(WeCk+be)计算经过激活层后的各元素值,得到V=(v1,v2,...,vz),即为激活层的输出;其中We和be是激活层的权重和偏移参数。进一步地,所述步骤2中具体包括以下步骤:步骤2.1:将激活层输出的向量V=(v1,v2,...,vz)中的各个元素,按照其在向量中的排序依次通过门控循环单元层,得到隐藏状态向量Vatti=(h1,h2,…,hz);门控循环单元层的计算公式为:rt=σ(Wr[ht-1,vt])zt=σ(Wz[ht-1,vt])其中,rt、zt、ht分别表示第t步计算得到的更新门、重置门、候选隐藏状态和隐藏状态、[]表示两个向量相连接;*表示矩阵的Hadamard积;σ表示sigomod函数,Wr、Wz和均为门控循环单元层的权重参数;h0=v1;步骤2.2:利用注意力机制层对Vatti进行计算,得到结果Voi,通过注意力机制方法,建立每个词语元素注意力机制关系,以此来保留词语元素之间的上下文关系;计算过程为:首先,根据公式αzi=vaTtanh(Wα·[hz,hi])和αz=softmax([αz1,αz2,...,αz(z-1)])计算得到权重向量αz;然后,根据公式计算得到上下文向量cz;最后,根据公式Voi=tanh(Wc[cz,hz])计算得到注意力机制层的结果Voi;其中αzi表示隐藏状态hz和hi之间的关系,i=1,2,…,z;va、Wα和Wc均为注意力机制层的权重参数;步骤2.3:将Voi作为输出层的输入向量进行预测,得到相应的类别标签。本文档来自技高网
...

【技术保护点】
1.一种基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,包括以下步骤:步骤1、提取互联网中与数据库相关的语句作为样本;对各个样本分别进行预处理,并采用现有方法获取每一个样本的类别标签,所述类别标签用于标记各个样本是否为注入攻击语句;步骤2、将样本预处理后的结果输入注入攻击检测模型,预测其对应的类别标签;其中注入攻击检测模型包括依次连接的激活层、门控循环单元层、注意力机制层和输出层;步骤3、设定损失函数,计算样本通过步骤2中注入攻击检测模型预测得到的类别标签和真实类别标签的差距;基于反向传播算法更新注入攻击检测模型的参数,完成对注入攻击检测模型的训练;步骤4、对于待检测语句,先对其进行预处理,再将预处理后的结果输入训练好的注入攻击检测模型,得到该待检测语句的类别标签,从而判断该待检测语句是否为注入攻击语句。

【技术特征摘要】
1.一种基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,包括以下步骤:步骤1、提取互联网中与数据库相关的语句作为样本;对各个样本分别进行预处理,并采用现有方法获取每一个样本的类别标签,所述类别标签用于标记各个样本是否为注入攻击语句;步骤2、将样本预处理后的结果输入注入攻击检测模型,预测其对应的类别标签;其中注入攻击检测模型包括依次连接的激活层、门控循环单元层、注意力机制层和输出层;步骤3、设定损失函数,计算样本通过步骤2中注入攻击检测模型预测得到的类别标签和真实类别标签的差距;基于反向传播算法更新注入攻击检测模型的参数,完成对注入攻击检测模型的训练;步骤4、对于待检测语句,先对其进行预处理,再将预处理后的结果输入训练好的注入攻击检测模型,得到该待检测语句的类别标签,从而判断该待检测语句是否为注入攻击语句。2.根据权利要求1所述的基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,所述步骤1和步骤4中,对语句预进行预处理包括以下步骤:步骤1.1:将语句中的所有元素分类替换为预设的词语符号,其中元素包括语素和符号;步骤1.2:采用TF-IDF算法对语句中的词语符号进行编码,编码方法为:先通过TF-IDF算法建立各词语符号与词语符号出现频率排序之间的映射关系;然后根据映射关系将语句中的各词语符号替换为其出现频率排序;步骤1.3:设定语句最大长度,对步骤1.2得到的编码结果进行截取或补全操作,使之长度等于设定的语句最大长度,得到语句预处理后的结果。3.根据权利要求1所述的基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,所述步骤2中,激活层采用ReLU(·)激活函数,其计算过程为:对语句的预处理后的结果Si=(C1,C2,...,Cz)T中的每个元素Ck∈R1,k=1,2,...,z,分别利用公式vk=ReLU(WeCk+be)计算经过激活层后的各元素值,得到V=(v1,v2,...,vz),即为激活层的输出;其中We和be是激活层的权重和偏移参数。4.根据权利要求1所述的基于门控循环单元与注意力机制的注入攻击检测方法,其特征在于,所述步骤2中具体包括以下步骤:步骤2.1:将激活层输出的向量V=(v1,v...

【专利技术属性】
技术研发人员:曹鸣佩赵颖马小龙谢逸航黄惟康占英孙新帅
申请(专利权)人:长沙市智为信息技术有限公司
类型:发明
国别省市:湖南,43

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

1