一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种针对HTTP数据基于无监督深度自编码网络的未知威胁检测方法及系统与流程

2022-06-02 17:22:27 来源:中国专利 TAG:

一种针对http数据基于无监督深度自编码网络的未知威胁检测方法及系统
技术领域
1.本发明涉及网络安全技术领域,具体为一种针对http数据基于无监督深度自编码网络的未知威胁检测方法及系统。


背景技术:

2.http超文本传输协议(hyper text transfer protocol),是访问互联网使用的核心通信协议,是所有web应用都会使用的通信协议,所以http数据是攻击者实施网络攻击的重要媒介,攻击者往往对http数据进行伪装、修改,发动诸如sql注入、xss、rce等网络攻击。
3.传统针对http数据的威胁检测都是基于规则,通过维护大量已知攻击手法特征,采用特征规则匹配来检查http数据中的攻击行为,这种方式简单有效,但是在当今复杂网络环境以及灵活多变的网络威胁情况下,难以有效检测未知威胁、能力有限难以应对攻击者灵活多变的攻击手法以及难以平衡误判于漏判等诸多问题。
4.另外,近年来随着机器学习的快速发展,很多深度学习算法应用在未知威胁检测方向,但缺点是大部分都是基于有监督算法,需要大量有经验的网络安全专家标注大量的样本数据进行训练。其次,大部分无监督算法都是基于url进行的,但是网络攻击理论存在于http数据的各个格式中,无法有效全面的检测。


技术实现要素:

5.为了解决上述技术问题,本发明提供了如下的技术方案:
6.本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法,包括如下步骤:
7.s101、数据接入,接入http请求数据;
8.s102、数据清洗,对http请求数据进行清洗;
9.s103、特征提取,对清洗后的http数据进行特征提取;
10.s104、模型匹配,对提取后的特征数据进行模型匹配,所述模型匹配的算法包括http请求分层分发算法与无监督深度自编码模型算法;
11.http请求分层分发算法可将http请求数据拆分为action、url、proto、headers、body五层,并分别进行s103完成标量处理,之后分别交给不同的无监督深度自编码模型算法;
12.无监督深度自编码模型算法包括n组基于transformer的深度编码模型与深度解码模型,深度编码模型接收http的分层请求数据,将标量序列压缩至隐空间,随后利用深度解码模型基于隐空间特征进行序列生成,得到还原序列;
13.s105、威胁检测,对模型结果进行威胁检测,通过威胁检测算法对比原始序列与还原序列的差距,得出当前序列的威胁分数,通过训练计算得出各层阈值,对比阈值,当威胁分数大于威胁阈值将此层数据标记为异常发生层,并将该http标记为异常数据,之后反馈
输出。
14.作为本发明的一种优选技术方案,s102中对数据清洗的具体流程如下:
15.s1021、进行白名单过滤,采用host url的方式对http请求数据进行过滤;
16.s1022、构建数据解码器,数据解码器主要用于对http请求数据进行base64、gzip、url编码格式检测,并进行相应的编解码处理;
17.s1023、对http请求数据文本编解码,将其解码为ascii编码格式,并剔除特殊字符影响。
18.作为本发明的一种优选技术方案,在s103中对http数据进行特征提取时,需要构建特征单词库,并在构建好的特征单词库的基础上对http请求数据进行标量处理,且具体流程如下:
19.s1031、对清洗后的http数据进行分词;
20.s1032、将切分结果进行采用特征单词库中字符进行替换;
21.s1033、将替换后的序列转换为标量数据。
22.作为本发明的一种优选技术方案,所述特征单词库包括通用型单词库、威胁型单词库和常用单词库。
23.作为本发明的一种优选技术方案,所述s104中的深度自编码模型算法包含两个过程,分别为模型训练过程和模型推理过程。
24.作为本发明的一种优选技术方案,所述模型训练过程包含如下步骤:
25.a、根据接收的数据x,根据关键词检测算法判定数据归属层n,第n层自编码模型进行处理;
26.b、自编码模型将数据x输入至嵌入网络中,生成d
×
n维词向量xe=ωx βx,其中ω为词嵌入矩阵,β为位置嵌入矩阵,n为x所含的单词个数,d为词嵌入向量的维度;
27.c、将步骤b中的xe输入深度编码模型
28.ⅰ
.对xe进行规范化处理,计算
[0029][0030]

.输入多头注意力机制网络,将xe分别于ωq,ωk,ωv三个矩阵相乘,得到矩阵q,k,v;
[0031]

.计算注意力矩阵
[0032]

.进行残差连接,即xa=x
e
xa;
[0033]

.对注意力矩阵xa进行规范化处理后,输入前馈网络得到:
[0034][0035]
并进行残差连接,即x
ff
=xa x
ff

[0036]

.将上述









重复三次后,输出至深度解码模型;
[0037]
d、将步骤c中的输出he以及数据xe输入深度解码模型
[0038]

.对数据xe进行掩码处理后与步骤c中的







相同,对xe进行运算后得到
xa;
[0039]

.输入多头注意机制网络,将he与ωq矩阵相乘,xe分别与ωk,ωv两个矩阵相乘,得到矩阵q,k,v;
[0040]

.计算注意力矩阵
[0041]

.进行残差连接,即ha=h
a
ha;
[0042]

.与步骤c中的

相同,得到前馈网络输出x
ff

[0043]

.将上述









重复三次后,输出至全连接层进行单词预测,得到预测矩阵y=soft max(ωx
ff
β);
[0044]
e、模型训练目标为将自身压缩后还原序列概率与http请求数据序列目标的差距,即计算公式如所示,其中x为还原序列,x为还原序列中的一个单词,y为原始序列中的一个单词,ω为单词的权重,c为单词总量,最后利用反向传递算法,优化深度自编码网络中的参数,使深度自编码模型学习到正常http样本的内在特征。
[0045]
作为本发明的一种优选技术方案,所述模型推理过程:http数据经过上述步骤后,由深度编码模型进行压缩运算,随后利用深度解码模型将隐空间特征进行序列还原。
[0046]
本发明还提供了一种针对http数据基于无监督深度自编码网络的未知威胁检测系统,包括依次连接的数据接入模块、数据清洗模块、特征提取模块、模型匹配模块和威胁检测模块;所述数据接入模块,用于接入http请求数据;所述数据清洗模块,用于对http请求数据进行清洗;所述特征提取模块,用于对清洗后的http数据进行特征提取;所述模型匹配模块,用于对提取后的特征数据进行模型匹配;所述威胁检测模块,用于对模型结果进行威胁检测。
[0047]
本发明的有益效果是:
[0048]
1、通过一种基于无监督深度自编码网络可以有效检测http数据中的未知威胁,解决了传统基于规则的威胁检测方法无法有效检测未知威胁的问题。
[0049]
2、解决了传统基于规则的威胁检测,难以平衡的误判以及漏判问题。
[0050]
3、解决了基于有监督算法,需求大量有经验网络安全专家问题。
[0051]
4、解决了基于无监督漏判问题,大部分无监督算法,都是基于url进行的,但是网络攻击存在于http数据的各个地方,无法有效全面检测的问题。
附图说明
[0052]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0053]
图1是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法及系统整体流程图;
[0054]
图2是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的数据清洗流程图;
[0055]
图3是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法
的特征提取流程图;
[0056]
图4是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的构建单词库示意图;
[0057]
图5是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的http请求分层分发算法示意图;
[0058]
图6是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的分词算法示意图;
[0059]
图7是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的标量处理示意图;
[0060]
图8是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的标量序列压缩至隐空间示意图;
[0061]
图9是本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法的威胁分数算法示意图。
具体实施方式
[0062]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0063]
实施例1
[0064]
如图1所示,本发明一种针对http数据基于无监督深度自编码网络的未知威胁检测方法,包括如下步骤:
[0065]
s101、数据接入,接入http请求数据;
[0066]
s102、数据清洗,对http请求数据进行清洗;
[0067]
s103、特征提取,对清洗后的http数据进行特征提取;
[0068]
s104、模型匹配,对提取后的特征数据进行模型匹配,所述模型匹配的算法包括http请求分层分发算法与无监督深度自编码模型算法;
[0069]
http请求分层分发算法可将http请求数据拆分为action、url、proto、headers、body五层(如图5所示),并分别进行s103完成标量处理,之后分别交给不同的无监督深度自编码模型算法;
[0070]
无监督深度自编码模型算法包括n组基于transformer的深度编码模型与深度解码模型,深度编码模型接收http的分层请求数据,将标量序列压缩至隐空间,随后利用深度解码模型基于隐空间特征进行序列生成,得到还原序列;
[0071]
s105、威胁检测,对模型结果进行威胁检测,通过威胁检测算法对比原始序列与还原序列的差距,得出当前序列的威胁分数,通过训练计算得出各层阈值,对比阈值,当威胁分数大于威胁阈值将此层数据标记为异常发生层,并将该http标记为异常数据,之后反馈输出。其中威胁检测模块接收原始http请求数据与还原http请求数据,计算原始序列与还原序列中最大序列长度。将最大序列长度乘与自适应系数ar得到自适应异常检测算法中的统计量n,其中1≤n≤15。利用如下公式计算当前层中数据的威胁分数:
[0072][0073][0074][0075]
上式中lc为还原序列长度,ls为原始序列长度,hc(c)为在还原序列出现的次数,hi(s)为词i在原始序列中出现的次数。当威胁分数大于威胁阈值时将该层数据标记为异常发生层,将该http数据标记为异常数据,并反馈输出。
[0076]
其中,如图2所示,s102中对数据清洗的具体流程如下:
[0077]
s1021、进行白名单过滤,采用host url的方式对http请求数据进行过滤;
[0078]
s1022、构建数据解码器,数据解码器主要用于对http请求数据进行base64、gzip、url编码格式检测,并进行相应的编解码处理;
[0079]
s1023、对http请求数据文本编解码,将其解码为ascii编码格式,并剔除特殊字符影响。
[0080]
其中,如图3与图4所示,在s103中对http数据进行特征提取时,需要构建特征单词库,并在构建好的特征单词库的基础上对http请求数据进行标量处理,且具体流程如下:
[0081]
s1031、对清洗后的http数据进行分词;
[0082]
s1032、将切分结果进行采用特征单词库中字符进行替换;
[0083]
s1033、将替换后的序列转换为标量数据。
[0084]
其中,特征单词库包括通用型单词库、威胁型单词库和常用单词库。
[0085]
其中,s104中的深度自编码模型算法包含两个过程,分别为模型训练过程和模型推理过程。
[0086]
其中,模型训练过程包含如下步骤:
[0087]
a、根据接收的数据x,根据关键词检测算法判定数据归属层n,第n层自编码模型进行处理;
[0088]
b、自编码模型将数据x输入至嵌入网络中,生成d
×
n维词向量xe=ωx βx,其中ω为词嵌入矩阵,β为位置嵌入矩阵,n为x所含的单词个数,d为词嵌入向量的维度;
[0089]
c、将步骤b中的xe输入深度编码模型,如图7左半部分所示:
[0090]

.对xe进行规范化处理,计算
[0091][0092]

.输入多头注意力机制网络,将xe分别于ωq,ωk,ωv三个矩阵相乘,得到矩阵q,k,v;
[0093]

.计算注意力矩阵
[0094]

.进行残差连接,即xa=x
e
xa;
[0095]

.对注意力矩阵xa进行规范化处理后,输入前馈网络得到:并进行残差连接,即x
ff
=xa x
ff

[0096]

.将上述









重复三次后,输出至深度解码模型;
[0097]
d、将步骤c中的输出he以及数据xe输入深度解码模型,如图7右半部分所示:
[0098]

.对数据xe进行掩码处理后与步骤c中的







相同,对xe进行运算后得到xa;
[0099]

.输入多头注意机制网络,将he与ωq矩阵相乘,xe分别与ωk,ωv两个矩阵相乘,得到矩阵q,k,v;
[0100]

.计算注意力矩阵
[0101]

.进行残差连接,即ha=ha ha;
[0102]

.与步骤c中的

相同,得到前馈网络输出x
ff

[0103]

.将上述









重复三次后,输出至全连接层进行单词预测,得到预测矩阵y=soft max(ωx
ff
β);
[0104]
e、模型训练目标为将自身压缩后还原序列概率与http请求数据序列目标的差距,即计算公式如所示,其中x为还原序列,x为还原序列中的一个单词,y为原始序列中的一个单词,ω为单词的权重,c为单词总量,最后利用反向传递算法,优化深度自编码网络中的参数,使深度自编码模型学习到正常http样本的内在特征。
[0105]
其中,模型推理过程:http数据经过上述步骤后,由深度编码模型进行压缩运算,随后利用深度解码模型将隐空间特征进行序列还原。由于模型训练过程中深度自编码模型学习到正常http样本的内在特征,对于正常的样本,深度自编码模型可以有效对样本进行压缩并还原。对于异常样本,深度自编码模型则会出现还原效果差的问题。模型推理过程与模型训练过程中a,b,c,d过程相同。最终计算预测矩阵y中最大值的位置,以得出唯一的还原序列。
[0106]
实施例2
[0107]
一种基于无监督深度自编码网络的未知威胁检测系统,具体实施方式如下:
[0108]
如图1所示,未知威胁检测系统接入传统防护系统过滤后的非异常数据,接收到http数据后先会对http数据进行清洗,在互联网中存在大量的重复http数据,比如:不同人同时访问一个网页,这样其http数据的host,url等参数基本相同,这些相同的数据会给系统带来额外的压力,需要采用白名单的方式,对重复的数据进行去重处理。然后需要对数据进行编解码处理,数据在网络传输过程中由于具有包含隐私数据、字符歧义等问题会选择对数据进行编码处理,在此需要对已经编码的数据进行还原,通过对数据编码特征的识别比如:base64编码,url编码,然后做对应的解码处理,获取到真实的数据。在此系统通过接入http数据并对http经过清洗,获取到http的真实数据,为进行特征提取做数据保证。
[0109]
如图6所示,根据标点符号以及空格将清洗后的http请求数据进行分割,然后将切分后的结果采用预置的通用词汇库进行替换,图中所示将10.0.212.25替换为《ip》,相对应的在这个阶段还会将词汇替换为比如《int》,《string》,《mix》,《imei》,《char》等通用词汇,将整段的http数据转换为标量数据以供接下来进行模型匹配。
[0110]
如图7所示,将http请求数据进行五层划分,分别划分为method、url、proto、headers、body对这五层数据进行图6步骤的标量处理,采用填表式模型处理,将标量处理后的五组数据构造成5组键值对数据,分别分发到url生成器、header生成器、body生成器进行生成,如图8所示将标量序列压缩至隐空间随后利用深度解码器将隐空间特征进行系列生成,得到还原序列,并进行威胁检测。
[0111]
如图9,系统通过威胁检测算法对比原始序列与还原序列的差距,得出当前序列的威胁分数,通过大量的训练计算得出各层阈值,对比阈值,当威胁分数大于威胁阈值将此层数据标记为异常发生层,并将该http标记为异常数据,并反馈输出。
[0112]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献