CN111327608B - 基于级联深度神经网络的应用层恶意请求检测方法及系统 - Google Patents

基于级联深度神经网络的应用层恶意请求检测方法及系统 Download PDF

Info

Publication number
CN111327608B
CN111327608B CN202010092028.8A CN202010092028A CN111327608B CN 111327608 B CN111327608 B CN 111327608B CN 202010092028 A CN202010092028 A CN 202010092028A CN 111327608 B CN111327608 B CN 111327608B
Authority
CN
China
Prior art keywords
neural network
deep neural
application layer
request
malicious
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010092028.8A
Other languages
English (en)
Other versions
CN111327608A (zh
Inventor
周芳芳
马小龙
胡东篱
陈冉飞
赵颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202010092028.8A priority Critical patent/CN111327608B/zh
Publication of CN111327608A publication Critical patent/CN111327608A/zh
Application granted granted Critical
Publication of CN111327608B publication Critical patent/CN111327608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information

Abstract

本发明提供了一种基于级联深度神经网络的应用层恶意请求检测方法及系统,首先选择不同网络结构的深度神经网络模型,构建得到深度神经网络集合;再设计低漏报代价敏感损失函数并结合反向传播算法训练深度神经网络集合中的网络模型;接着设定位置排布策略并按该策略将深度神经网络集合中的训练好的网络模型串联成级联深度神经网络模型;然后通过“特征继承”连接单分类器的特征输出层、设置衰减代价敏感损失函数并结合反向传播算法训练级联深度神经网络模型;最后将数据预处理后的待检测应用层用户请求输入训练好的级联深度神经网络模型,得到其为恶意请求的预测概率,进而判断该待检测的应用层用户请求是否为恶意请求。本发明误报漏报率低。

Description

基于级联深度神经网络的应用层恶意请求检测方法及系统
技术领域
本发明属于计算机信息处理技术领域,涉及到一种基于级联深度神经网络的应用层恶意请求检测方法及系统。
背景技术
随着移动互联网的蓬勃发展,应用服务成为服务提供商以线上方式向目标用户提供服务的主流方式。比如,成熟的电子支付、即时通讯以及新兴的网上政务、远程问诊等,这些应用服务使国民生活日益高效便捷。应用服务蓬勃发展的同时,各种数据泄露及针对性安全事件频发。网络攻击者通过构造应用层恶意请求对应用服务进行攻击,以获取应用服务器的控制权及其中的用户数据,进而谋取不正当利益。
目前,网络安全解决方案提供商主要采用安全规则匹配技术进行应用层恶意请求检测。安全规则是由安全分析人员通过分析历史攻击行为,提取每种攻击负载中的关键特征,进而构造单条或者多条关联的特征匹配表达式得到的。安全规则匹配方法虽然技术成熟且应用广泛,但是其存在以下3大问题:1.人工参与度高:构建攻击规则极度依赖专家知识,维护及更新的工作量大;2.泛化能力差:对于未知类型的攻击几乎没有检测能力;3.误报漏报率高:检测误报漏报较高的现象普遍存在。
近些年来,安全研究人员开始尝试使用机器学习方法进行应用层恶意检测。他们首先通过实验模拟、开源数据调研或者企业合作等方式获取训练数据集,再根据专家知识进行数据分析和特征工程以提取不同特征,然后使用特征集训练并评估机器学习模型,最后使用模型进行应用层恶意请求检测。综合来看,使用机器学习方法进行应用层恶意请求检测,可以有效避免安全规则匹配方法中人为针对每类攻击构建攻击规则的情况,在保证较好的检测及泛化能力的同时,极大地减少人力成本。但是,机器学习方法依然存在手工特征工程以及模型复杂度两方面问题,即机器学习方法需要人为提取原始数据的有效特征以及机器学习模型的学习能力不能适应大规模数据。
在最新的研究中,安全研究人员开始尝试使用不同的深度学习方法进行应用层恶意请求检测。深度学习以原始应用层请求信息作为输入,无需人工参与特征定义和特征选择,即可通过层次网络结构自动提取数据中的复杂特征进而构建检测模型。此外,相对于机器学习方法,深度学习方法具有更高的检测准确率、更好的泛化能力及适应大规模数据的优点。
伴随着应用层恶意请求检测技术的实现方式从人工规则库,到机器学习,再到深度学习的发展,应用层恶意请求检测中的人工参与度逐步降低,检测准确率及泛化能力逐步提升。但是,3种方法依然没有很好地解决应用层恶意请求检测中普遍存在的误报漏报率高的基本问题。误报(假阳)表示正常请求被错误地判定为恶意请求,致使拦截;漏报(假阴)表示恶意请求被错误地判定为正常请求,致使放行。过高的误报率会拦截大量正常用户请求,影响正常用户的使用体验;过高的漏报率会放行恶意请求,加大网络服务安全风险。因此,误报漏报问题直接影响应用服务的可用性以及安全性,是阻碍基于深度学习的应用层恶意请求检测技术广泛应用的关键。
因此,针对现有方法存在的不足,有必要设计一种降低误报漏报率的应用层请求检测方法。
发明内容
本发明解决的技术问题是,针对现有技术的不足,提出一种基于级联深度神经网络的应用层恶意请求检测方法及系统,检测的误报漏报率低。
本发明提供的技术方案为:
一种基于级联深度神经网络的应用层恶意请求检测方法,包括以下步骤:
步骤1、构建应用层用户请求样本集S,其中每个样本si包括一条应用层用户请求xi及其真实类别标签,类别标签包括正常请求和恶意请求两种;真实类别标签对应真实概率分布,真实概率分布包括该应用层用户请求为正常请求的真实概率和为恶意请求的真实概率yi
步骤2、将样本集中的应用层用户请求xi进行数据预处理,得到预处理后的结果
Figure BDA0002384006540000021
步骤3、根据应用层用户请求数据中恶意请求的攻击负载特点,选择不同网络结构的深度神经网络模型cj,构建得到未训练的深度神经网络模型集合C;
步骤4、对于步骤3的C中的每个深度神经网络模型cj,设定相应的损失函数lj;将步骤2中样本预处理后的结果
Figure BDA0002384006540000031
作为cj的输入,输出样本的预测结果(即预测概率分布,预测概率分布包括该应用层用户请求为正常请求的预测概率和为恶意请求的预测概率
Figure BDA0002384006540000032
);根据样本真实类别标签和其预测结果计算相应的损失函数值(该损失函数值即预测概率分布与真实概率分布之间的差距);基于梯度下降反向传播算法更新cj中的参数,完成cj的训练,得到训练好的深度神经网络模型
Figure BDA0002384006540000033
由不同网络结构的训练好的深度神经网络模型
Figure BDA0002384006540000034
构建得到训练好的深度神经网络模型集合
Figure BDA0002384006540000035
步骤5、基于步骤5的
Figure BDA0002384006540000036
中的
Figure BDA0002384006540000037
构建级联深度神经网络M;
步骤6、将步骤2中的样本预处理后的结果
Figure BDA0002384006540000038
作为输入级联深度神经网络M,输出其预测结果;基于设定的损失函数L,根据样本真实类别标签和其预测结果计算相应的损失函数值;基于反向传播算法微调M中
Figure BDA0002384006540000039
的参数,得到训练好的级联深度神经网络
Figure BDA00023840065400000310
步骤7、对于待检测的应用层用户请求x,先对其进行数据预处理得到结果
Figure BDA00023840065400000311
再将
Figure BDA00023840065400000312
输入步骤6中训练好的级联深度神经网络
Figure BDA00023840065400000313
输出其预测结果,从而判断该待检测的应用层用户请求是否为恶意请求。
进一步地,所述步骤2和步骤7中,对应用层用户请求进行数据预处理包括以下步骤:
步骤2.1:对应用层用户请求进行数据清洗,清洗方法为:先对用户请求中的编码字段进行解码;然后去除重复出现的应用层用户请求;
步骤2.2:对清洗完的应用层用户请求进行数据规范化,规范化方法为:将请求类型为POST类型的应用层用户请求的请求体内容移到其URI内容的后面;
步骤2.3:采用One-Hot方法对规范化后的应用层用户请求进行数据编码,编码方法为:先使用步骤1中的应用层用户请求样本集S构建词典;然后根据各词元出现的频率确定其在词典中的位置;然后对应用层用户请求xi的词元按其在词典中的位置进行向量编码;
步骤2.4:设定请求最大长度,对步骤2.3得到的向量编码结果进行截取或者补全操作,使之长度等于设定的请求最大长度,得到应用层用户请求的数据预处理结果。
进一步地,所述步骤3中,应用层用户请求数据中恶意请求的攻击负载主要表现为“集中式”、“分布式”和“结合式”的特点。“集中式”指攻击负载的作用位点集中于请求的某一部分;“分布式”指攻击负载的作用位点分布在请求的较远位置,其中单个位点一般不表现出攻击性;“结合式”指攻击负载的作用位点位于请求的连续长段文本中。在深度神经网络模型中,卷积神经网络通过卷积操作有效提取局部特征,适用于发现“集中式”攻击负载;Transformer神经网络通过自注意力机制有效提取跨时间步的关联特征,适用于发现“分布式”攻击负载;门控循环神经网络(GRU)可以通过门控机制和循环结构有效提取长期依赖的数据特征,适用于发现“结合式”攻击负载。因此,步骤3的未训练的深度神经网络模型集合C包含的不同网络结构的深度神经网络为卷积神经网络、Transformer神经网络以及门控循环神经网络。
进一步地,所述步骤4中,对于步骤3的C中的每个深度神经网络模型cj,设定相应的损失函数lj为以降低漏报率为目标的代价敏感损失函数,即:
Figure BDA0002384006540000041
其中,lj为损失函数值,N为样本数量,rj为深度神经网络模型cj对于恶意请求的代价权重系数,rj>0.5;c为应用层用户请求数据样本集S中真实标签为恶意请求的样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure BDA0002384006540000042
为第i个样本为恶意请求的预测概率。为了保证训练得到的深度神经网络模型具有低漏报率,则需要增加将恶意请求错误预测的代价,所以需要设置较高的rj值(如0.9)。
进一步地,所述步骤5中,设定级联深度神经网络中训练好的深度神经网络模型
Figure BDA0002384006540000043
的位置排布策略,将步骤5的
Figure BDA0002384006540000044
中的
Figure BDA0002384006540000045
按照位置排布策略串联构建级联深度神经网络M;
所述位置排布策略为以深度神经网络模型的漏报率为核心度量指标,综合考虑预测时间、检测率、误报率等主要度量指标,构建M中
Figure BDA0002384006540000046
的位置排布函数:
Metrics_Dict={(metric1,weight1),(metric2,weight2),…,(metricK,weightK)}
Figure BDA0002384006540000047
其中,Metrics_Dict为度量指标及其对应权重的字典;metrick为第k个度量指标,k=1,2,…,K,K为度量指标数量;weightk为metrick对应的权重,其根据度量指标的重要性进行设定,取值范围为(0,1];pj
Figure BDA0002384006540000051
的位置分数,
Figure BDA0002384006540000052
Figure BDA0002384006540000053
关于metrick的数值,Normalization()为归一化函数;
Figure BDA0002384006540000054
中的所有深度神经网络模型
Figure BDA0002384006540000055
按照其对应pj的数值大小由大到小排序,排序后
Figure BDA0002384006540000056
所处位置即其在级联深度神经网络M中的位置。
进一步地,所述步骤5中,将M中的
Figure BDA0002384006540000057
的特征输出层按照“特征继承”的方式进行连接;M中的
Figure BDA0002384006540000058
的最终特征层的“特征继承”方式为对于M中已进行位置排布的深度神经网络模型
Figure BDA0002384006540000059
Figure BDA00023840065400000510
开始,将
Figure BDA00023840065400000511
提取的特征(特征输出层)进行连接,作为
Figure BDA00023840065400000512
的最终的特征(特征层),输入
Figure BDA00023840065400000513
中的分类网络进行分类,其中j表示
Figure BDA00023840065400000514
在级联深度神经网络M中的位置数值;即:
Figure BDA00023840065400000515
Figure BDA00023840065400000516
为级联深度神经网络M的第j个深度神经网络
Figure BDA00023840065400000517
的最终特征层;
Figure BDA00023840065400000518
代表级联深度神经网络M的第j个深度神经网络
Figure BDA00023840065400000519
的特征输出层;Concat()代表网络层拼接操作。
进一步地,所述步骤6中,设定的级联深度神经网络M的损失函数L为衰减代价敏感损失函数,即:
Figure BDA00023840065400000520
其中,L为级联深度神经网络模型M的损失数值,N为样本数量,Q为M中级联的深度神经网络模型的数量,
Figure BDA00023840065400000521
为级联深度神经网络M中第j个深度神经网络模型
Figure BDA00023840065400000522
对于恶意请求的代价权重系数,rj>0.5;c为应用层用户请求数据样本集S中恶意样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure BDA00023840065400000523
为第i个样本为恶意请求的预测概率。级联深度神经网络M中的低漏报的前置分类器需要将绝大多数正常请求快速放行,后置分类器需要更加重视误报率。所以,设定
Figure BDA00023840065400000524
的数值随着j的增大逐步减小。
进一步地,所述步骤7中,将待检测的应用层用户请求x′进行数据预处理得到结果
Figure BDA0002384006540000061
输入训练好的级联深度神经网络
Figure BDA0002384006540000062
进行预测的方法为:利用级联深度神经网络
Figure BDA0002384006540000063
的逐级滤过机制,即:
步骤7.1、令j=1;
步骤7.2、将
Figure BDA0002384006540000064
输入级联深度神经网络
Figure BDA0002384006540000065
中的第j个分类器
Figure BDA0002384006540000066
如果该分类器输出
Figure BDA0002384006540000067
为恶意请求的预测概率
Figure BDA0002384006540000068
则直接判定该待检测的应用层用户请求为正常请求,否则进入步骤7.3;
步骤7.3、判断是否有j=Q,若是,则该待检测的应用层用户请求判定为恶意请求;否则令j=j+1,再返回步骤7.2。
有益效果:
本发明提供了一种基于级联深度神经网络的应用层恶意请求检测方法及系统,为应用层恶意请求检测提供了较为完整的解决方案,可应用于网络安全领域。该方案着眼于目前应用层恶意请求检测中普遍存在的误报漏报率较高的基本问题,首先针对应用层恶意请求攻击负载的特点选择不同网络结构的深度神经网络模型,构建得到深度神经网络集合;再设计低漏报代价敏感损失函数并结合反向传播算法训练深度神经网络集合中的网络模型;接着设定位置排布策略并按该策略将深度神经网络集合中的训练好的低漏报网络模型串联成级联深度神经网络模型;然后通过“特征继承”连接单分类器的特征输出层、设置衰减代价敏感损失函数并结合反向传播算法训练级联深度神经网络模型;最后将数据预处理后的待检测应用层用户请求输入训练好的级联深度神经网络模型,得到其为恶意请求的预测概率,进而判断该待检测的应用层用户请求是否为恶意请求。
本发明的主要创新点为:
1.提出了一种基于级联深度神经网络的应用层恶意请求检测方法,在保证检测正确率和泛化能力的同时,较好地降低应用层恶意请求检测的误报率和漏报率。
2.整体上,使用级联模型串联结构的滤过机制降低检测的误报率;细节上,使用级联模型中的低漏报神经网络模型保证检测具有低漏报率。对于正常请求可以在前置分类器中快速放行,对于疑似恶意或者恶意的用户流量再使用后置分类器进行细致判别;
3.提出一种级联深度神经网络模型中分类器间“特征继承”的特征层关联方法。该方法通过简单且直观的特征拼接操作,从定性角度实现级联模型中分类器的学习能力递增的固有需求。该方法在保证级联模型中各分类器根据自身网络结构独立提取不同特征模式的同时,通过特征拼接操作建立各分类器之间的联系,打破一般级联模型中各分类器间完全独立、各自为政的局面,而又不增加整个级联模型的复杂性;
4.提出了一种用于级联模型微调的衰减代价敏感损失函数。随着级联模型中位置的递增,位置所对应的深度神经网络单分类器对于恶意请求的代价权重系数递减,以保证在微调过程中,前置分类器更加注重低漏报,后置分类器更加注重低误报。
附图说明
图1是本发明实施例中基于级联深度神经网络的应用层恶意请求检测的流程示意图;
图2是本发明实施例中级联深度神经网络的模型示意图。
具体实施方式
为使本发明的目的、设计思路及优点更加清楚,以下结合应用层恶意请求检测的具体实施例,并参照附图,对本发明做进一步详细说明。
实施例1:
如附图1所示,本实施例公开了一种基于级联深度神经网络的应用层恶意请求检测方法,其实现应用层恶意请求检测可分为2大阶段,即训练阶段和检测阶段。训练阶段首先对已标记的应用层用户请求数据进行数据预处理,再构建并训练低漏报深度神经网络集合,进而构建并微调得到最终的级联深度神经网络模型;检测阶段首先对待检测的应用层用户请求进行数据预处理,再使用训练好的级联深度神经网络进行恶意请求检测。下面,将对上述2大阶段进行详细说明:
一、训练阶段
1.数据获取与标记
通过实验模拟、开源数据调研或者企业合作等方式获取应用层用户请求数据,并使用人工达标或其他方式对用户请求进行标记,构建得到应用层用户请求数据样本集S,其中每个样本si包括一条应用层用户请求xi及其真实类别标签,类别标签包括正常请求和恶意请求两种。真实类别标签对应真实概率分布,真实概率分布包括该应用层用户请求为正常请求的真实概率和为恶意请求的真实概率yi;本实施例中设置若样本si的真实类别标签为恶意请求,则yi=1,否则若样本si的真实类别标签为正常请求,则yi=0;
2.数据预处理
一方面,应用层用户请求普遍存在字段编码、请求冗余、数值缺失、格式不一致等问题;另一方面,应用层用户请求为文本形式,不能直接被计算机用于数值计算,需要将应用层用户请求xi转换为其向量形式
Figure BDA0002384006540000082
所以,需要对应用层用户请求进行数据预处理,其主要包括数据清洗、请求规范化及数据编码3个过程。
2.1数据清洗
应用层用户请求数据清洗主要包含解码和去重两部分。应用层恶意请求的攻击负载主要集中于请求参数中,即GET请求的查询字符串及POST请求的请求体中。一方面,URL只能使用英文字母、阿拉伯数字和"$-_.+!*'(),"符号,其他文字及符号需要进行编码;另一方面,POST请求体中对应的其他文字及符号往往也需要进行编码,所以需要对上述内容进行解码。另外,应用层用户请求数据中往往存在大量冗余的请求数据,其包含的攻击特征往往不足,需要对其进行去重处理。
表1不同请求类型不同标签的应用层用户请求的示例
Figure BDA0002384006540000081
Figure BDA0002384006540000091
Figure BDA0002384006540000101
2.2请求规范化
应用层恶意请求的攻击负载主要集中在GET类型请求的查询字符串及POST请求的请求体中。GET请求的查询字符串位于请求报文首行,URI内容之后;而POST请求的请求体位于请求报文末尾。考虑到计算机计算及存储资源的有限性,往往需要对数据进行必要的截断。如此,POST请求体中的关键攻击特征信息将会直接丢失,所以需要对POST类型的用户请求进行规范化,将其请求体移动到URI之后,即GET类型请求的查询字符串所处位置。
2.3数据编码
应用层用户请求数据在经过数据清洗、请求规范化之后,需要进行数据编码将文本数据转化为向量形式。本发明中采用的是字符级别的One-Hot编码方法,即将字符作为最小词元,按照其出现频率构建字典,对用户请求进行编码。具体而言,分为以下5个步骤:
a).统计经过数据清洗和请求规范化的应用层用户请求x1~xN(N为样本数目)中字符出现的频率;
b).设置字典V的大小为L,再根据字符出现频率设置该字符在字典V中的顺序,字符出现的频率越高,其所在位置越靠前;
c).在字典的第一个位置插入标记<UNK>,代表未知字符;
d).对于应用层用户请求xi中的每个字符,将其转化为维度长度为字典V大小,其中该字符的字典位置对应的维度位置设置为1,其余维度位置设置为0的向量形式。如v0对应的字符<UNK>表示为[1,0,0,…,0],维度长度为L;
e).设置应用层用户请求数据的最大长度,对向量化后的请求数据进行截取或者补全操作,使之长度等于设定的请求最大长度,得到请求数据预处理的结果
Figure BDA0002384006540000111
其中,补全操作使用的向量为维度长度为L的零向量。
3.低漏报深度神经网络集合的构建与训练
本发明将级联深度神经网络模型中的单分类器设置为低漏报深度神经网络,并结合其他创新的改进方法及微调策略,利用级联模型串联结构的滤过机制降低检测的误报率,利用级联模型中的低漏报单分类器降低检测的漏报率。为构建所需的级联深度神经网络模型,就需要构建并训练低漏报深度神经网络集合,其主要包括如下3个过程:
3.1选择不同网络结构的深度神经网络模型
应用层恶意请求的攻击负载主要表现为“集中式”、“分布式”及“结合式”3种特征模式。“集中式”代表攻击负载的作用位点集中于请求报文的局部区域;“分布式”代表攻击负载的作用位点分布在请求报文的多个区域,其中单个位点一般不具备攻击能力。“结合式”指应用层恶意请求的攻击负载同时表现出“集中式”和“分布式”,具体表现为攻击负载的作用位点连续且内容长依赖。本发明针对应用层流量攻击负载的特征,通过研究有监督深度学习模型的网络类型,分析网络类型与特征提取模式之间的一般性关系,最终确定级联分类器中深度学习单分类器的网络类型。卷积神经网络(CNN)的卷积操作善于提取数据中的潜在局部特征模型,再通过池化操作进一步提取泛化特征,可以有效应用于提取“集中式”攻击负载的潜在模式;Transformer神经网络模型可以通过自注意力机制直接提取跨时间步的依赖特征,再使用残余连接及单阴层前馈神经网络进一步提取泛化特征,特别适用于提取“分布式”攻击负载的潜在模式;门控循环单元神经网络(GRU)是一种循环神经网络(RNN)的变体,通过门控机制控制输入、记忆(前置时间步的隐藏状态)等信息参与当前时间步的预测,可以有效提取长依赖特征信息并避免梯度消失的情况,适用于提取“结合式”攻击负载的潜在模式。因此,本实施例选择的不同网络结构的深度神经网络模型分别为字符级别的卷积神经网络(CLCNN)、Transformer神经网络以及门控循环神经网络(GRU)3种,构建得到深度神经网络模型集合C,其中c1为CLCNN,c2为Transformer,c3为GRU。
3.2设定低漏报代价敏感损失函数
每个深度神经网络模型cj对应的低漏报的代价敏感损失函数为:
Figure BDA0002384006540000121
其中,lj为深度神经网络模型cj的损失数值,N为样本数量,rj为深度神经网络模型cj对于恶意请求的代价权重系数,c为应用层用户请求数据样本集S中恶意样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure BDA0002384006540000122
为第i个样本为恶意请求的预测概率。为了保证训练得到的深度神经网络模型具有低漏报率,则需要增加将恶意请求错误预测的代价,所以需要设置较高的rj值。本实施例中设定的rj值为r1=r2=r3=0.9。
3.3训练低漏报深度神经网络
基于梯度下降反向传播算法更新cj中的参数,完成C中所有深度神经网络模型的训练,得到训练好的深度神经网络模型集合
Figure BDA0002384006540000131
其中包含训练好的不同网络结构的深度神经网络模型
Figure BDA0002384006540000132
4.级联深度神经网络模型的构建与微调
4.1设定级联深度神经网络中深度神经网络的位置排布策略级联深度神经网络M中训练好的低漏报深度神经网络模型
Figure BDA0002384006540000133
的位置排布策略为以深度神经网络的漏报率为核心指标,综合考虑预测时间、检测率、误报率等主要指标,构建M中
Figure BDA0002384006540000134
的位置排布函数:
Metrics_Dict={(metric1,weight1),(metric2,weight2),…,(metricK,weightK)}
Figure BDA0002384006540000135
其中,Metrics_Dict为度量指标及其对应权重的字典;metrick为第k个度量指标,k=1,2,…,K,K为度量指标数量;weightk为metrick对应的权重,其根据度量指标的重要性进行设定,取值范围为(0,1];pj
Figure BDA0002384006540000136
的位置分数,
Figure BDA0002384006540000137
Figure BDA0002384006540000138
关于metrick指标的数值,Normalization()为归一化函数。深度神经网络
Figure BDA0002384006540000139
在级联深度神经网络M的位置根据其对应pj的数值大小确定。本实施例中,假设p1>p3>p2,则M中
Figure BDA00023840065400001310
为训练好的CLCNN,
Figure BDA00023840065400001311
为训练好的GRU,
Figure BDA00023840065400001312
为训练好的Transformer。
4.2采用“特征继承”方式关联级联深度神经网络中深度神经网络的特征输出层级联深度神经网络M中的
Figure BDA00023840065400001313
的最终特征层的“特征继承”方式为:
对于M中已进行位置排布的低漏报深度神经网络模型
Figure BDA00023840065400001314
(其中j为位置数值),从
Figure BDA00023840065400001315
开始,将
Figure BDA00023840065400001316
的特征输出层进行连接,作为
Figure BDA00023840065400001317
的最终特征层,即:
Figure BDA0002384006540000141
Figure BDA0002384006540000142
为级联深度神经网络M的第j个深度神经网络
Figure BDA0002384006540000143
的最终特征层;
Figure BDA0002384006540000144
代表级联深度神经网络M的第j个深度神经网络
Figure BDA0002384006540000145
的特征输出层;Concat()代表网络层拼接操作。
4.3设定级联深度神经网络的衰减代价敏感损失函数
级联深度神经网络M的衰减代价敏感损失函数L为:
Figure BDA0002384006540000146
其中,L为级联深度神经网络模型M的损失数值,N为样本数量,Q为M中级联的深度神经网络模型的数量,
Figure BDA0002384006540000147
为级联深度神经网络M的第j个深度神经网络
Figure BDA0002384006540000148
对于恶意请求的代价权重系数,c为应用层用户请求数据样本集S中恶意样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure BDA0002384006540000149
为第i个样本为恶意请求的预测概率。级联深度神经网络M中的低漏报的前置分类器可以将绝大多数正常请求快速放行,后置分类器需更加重视误报率。所以,随着j的增大,
Figure BDA00023840065400001410
的设定数值应逐步减小。本实施例中设置
Figure BDA00023840065400001411
4.4微调级联深度神经网络
基于梯度下降反向传播算法微调M中
Figure BDA00023840065400001412
的参数,得到训练好的级联深度神经网络
Figure BDA00023840065400001413
本实施例中,梯度下降反向传播算法的学习率设置为较低值,即μ=0.0001。
二、检测阶段
对于待检测的应用层用户请求x′,先对其进行数据预处理得到结果
Figure BDA00023840065400001414
将预处理后的待检测应用层用户请求
Figure BDA00023840065400001415
输入级联深度神经网络
Figure BDA00023840065400001416
的第一个分类器
Figure BDA00023840065400001417
如果该分类器预测
Figure BDA00023840065400001418
为恶意请求的概率
Figure BDA00023840065400001419
则直接判定为正常请求,否则将
Figure BDA00023840065400001420
输入第二个分类器
Figure BDA00023840065400001421
以此类推,直至末尾分类器
Figure BDA00023840065400001422
如果
Figure BDA00023840065400001423
则判定为正常请求,否则判定为恶意请求。
实施例2:
本实施例公开了一种基于级联深度神经网络的应用层恶意请求检测系统,包括:
样本集构建模块,用于构建应用层用户请求样本集S,其中每个样本si包括一条应用层用户请求xi及其真实类别标签,类别标签包括正常请求和恶意请求;
数据预处理模块,用于对应用层用户请求xi进行数据预处理,得到预处理后的结果
Figure BDA0002384006540000151
深度神经网络模型构建模块,用于选择不同网络结构的深度神经网络模型cj,构建得到未训练的深度神经网络模型集合C;
深度神经网络模型训练模块,用于对于C中的每个深度神经网络模型cj,设定相应的损失函数lj;将样本预处理后的结果
Figure BDA0002384006540000152
作为cj的输入,输出样本的预测结果;根据样本真实类别标签和其预测结果计算相应的损失函数值;基于梯度下降反向传播算法更新cj的参数,完成cj的训练,得到训练好的深度神经网络模型
Figure BDA0002384006540000153
由不同网络结构的训练好的深度神经网络模型
Figure BDA0002384006540000154
构建得到训练好的深度神经网络模型集合
Figure BDA0002384006540000155
级联深度神经网络构建模块,用于基于
Figure BDA0002384006540000156
中的
Figure BDA0002384006540000157
构建级联深度神经网络M;
级联深度神经网络训练模块,用于将样本预处理后的结果
Figure BDA0002384006540000158
作为输入级联深度神经网络M,输出其预测结果;基于设定的损失函数L,根据样本真实类别标签和其预测结果计算相应的损失函数值;基于反向传播算法更新M中
Figure BDA0002384006540000159
的参数,得到训练好的级联深度神经网络
Figure BDA00023840065400001510
检测模块,用于将待检测的应用层用户请求x′进行数据预处理得到结果
Figure BDA00023840065400001511
输入训练好的级联深度神经网络
Figure BDA00023840065400001512
输出其预测结果,从而判断该待检测的应用层用户请求是否为恶意请求。
所述系统中各个模块实现相应功能的具体方式参见实施例1。
实施例3:
本实施例公开了一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现如实施例1所述的方法。
实施例4:
本实施例公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现如实施例1所述的方法。

Claims (10)

1.一种基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,包括以下步骤:
步骤1、构建应用层用户请求样本集S,其中每个样本si包括一条应用层用户请求xi及其真实类别标签,类别标签包括正常请求和恶意请求;
步骤2、将样本集中的应用层用户请求xi进行数据预处理,得到预处理后的结果
Figure FDA0002759308960000011
步骤3、选择不同网络结构的深度神经网络模型cj,构建得到未训练的深度神经网络模型集合C;
步骤4、对于C中的每个深度神经网络模型cj,设定相应的损失函数lj;将样本预处理后的结果
Figure FDA0002759308960000012
作为cj的输入,输出样本的预测结果;根据样本真实类别标签和其预测结果计算相应的损失函数值;基于梯度下降反向传播算法更新cj的参数,完成cj的训练,得到训练好的深度神经网络模型
Figure FDA0002759308960000013
由不同网络结构的训练好的深度神经网络模型
Figure FDA0002759308960000014
构建得到训练好的深度神经网络模型集合
Figure FDA0002759308960000015
步骤5、基于步骤4的
Figure FDA0002759308960000016
中的
Figure FDA0002759308960000017
构建级联深度神经网络M;
步骤6、将步骤2中的样本预处理后的结果
Figure FDA0002759308960000018
作为输入级联深度神经网络M,输出其预测结果;基于设定的损失函数L,根据样本真实类别标签和其预测结果计算相应的损失函数值;基于反向传播算法更新M中
Figure FDA0002759308960000019
的参数,得到训练好的级联深度神经网络
Figure FDA00027593089600000110
步骤7、对于待检测的应用层用户请求x′,先对其进行数据预处理得到结果
Figure FDA00027593089600000111
再将
Figure FDA00027593089600000112
输入步骤6中训练好的级联深度神经网络
Figure FDA00027593089600000113
输出其预测结果,从而判断该待检测的应用层用户请求是否为恶意请求。
2.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤3中,选择的不同网络结构的深度神经网络模型包括卷积神经网络、Transformer神经网络以及门控循环神经网络。
3.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤4中,损失函数lj为以降低漏报率为目标的代价敏感损失函数,即:
Figure FDA0002759308960000021
其中,N为样本数量,rj为深度神经网络模型cj对于恶意请求的代价权重系数,rj>0.5;c为应用层用户请求数据样本集S中真实标签为恶意请求的样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure FDA0002759308960000022
为第i个样本为恶意请求的预测概率。
4.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤5中,综合各度量指标确定级联深度神经网络M中训练好的深度神经网络模型
Figure FDA0002759308960000023
的位置排布策略,具体步骤为:
首先,计算
Figure FDA0002759308960000024
的位置分数pj
Figure FDA0002759308960000025
其中,metrick为第k个度量指标,k=1,2,…,K,K为度量指标数量;weightk为metrick对应的权重,其根据度量指标的重要性进行设定,取值范围为(0,1];
Figure FDA0002759308960000026
Figure FDA0002759308960000027
关于metrick的数值,Normalization()为归一化函数;
然后,将
Figure FDA0002759308960000028
中的所有深度神经网络模型
Figure FDA0002759308960000029
按照其对应pj的数值大小由大到小排序,排序后
Figure FDA00027593089600000211
所处位置即其在级联深度神经网络M中的位置。
5.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤5中,将M中已进行位置排布的深度神经网络模型
Figure FDA00027593089600000210
Q提取的特征按照“特征继承”的方式进行连接,具体为:从
Figure FDA00027593089600000212
开始,将
Figure FDA00027593089600000214
提取的特征进行拼接,作为
Figure FDA00027593089600000213
的最终特征,用于输入
Figure FDA00027593089600000215
中的分类网络进行分类;其中Q为M中深度神经网络模型的数量。
6.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤6中,设定的级联深度神经网络M的损失函数L为衰减代价敏感损失函数,即:
Figure FDA0002759308960000031
其中,N为样本数量,Q为M中级联的深度神经网络模型的数量,
Figure FDA0002759308960000032
为级联深度神经网络M中第j个深度神经网络模型
Figure FDA0002759308960000033
对于恶意请求的代价权重系数,rj>0.5,且设定
Figure FDA0002759308960000034
的数值随着j的增大逐步减小;c为应用层用户请求数据样本集S中恶意样本占总样本的比例,yi为第i个样本为恶意请求的真实概率,
Figure FDA0002759308960000035
为第i个样本为恶意请求的预测概率。
7.根据权利要求1所述的基于级联深度神经网络的应用层恶意请求检测方法,其特征在于,所述步骤7中,将待检测的应用层用户请求x′进行数据预处理得到结果
Figure FDA0002759308960000036
输入训练好的级联深度神经网络
Figure FDA0002759308960000037
进行预测的方法为:利用级联深度神经网络
Figure FDA0002759308960000038
的逐级滤过机制,即:
步骤7.1、令j=1;
步骤7.2、将
Figure FDA0002759308960000039
输入级联深度神经网络
Figure FDA00027593089600000310
中的第j个分类器
Figure FDA00027593089600000311
如果该分类器输出
Figure FDA00027593089600000312
为恶意请求的预测概率
Figure FDA00027593089600000313
则直接判定该待检测的应用层用户请求为正常请求,否则进入步骤7.3;
步骤7.3、判断是否有j=Q,若是,则该待检测的应用层用户请求判定为恶意请求;否则令j=j+1,再返回步骤7.2;Q为M中级联的深度神经网络模型的数量。
8.一种基于级联深度神经网络的应用层恶意请求检测系统,其特征在于,包括:
样本集构建模块,用于构建应用层用户请求样本集S,其中每个样本si包括一条应用层用户请求xi及其真实类别标签,类别标签包括正常请求和恶意请求;
数据预处理模块,用于对应用层用户请求xi进行数据预处理,得到预处理后的结果
Figure FDA00027593089600000314
深度神经网络模型构建模块,用于选择不同网络结构的深度神经网络模型cj,构建得到未训练的深度神经网络模型集合C;
深度神经网络模型训练模块,用于对于C中的每个深度神经网络模型cj,设定相应的损失函数lj;将样本预处理后的结果
Figure FDA0002759308960000041
作为cj的输入,输出样本的预测结果;根据样本真实类别标签和其预测结果计算相应的损失函数值;基于梯度下降反向传播算法更新cj的参数,完成cj的训练,得到训练好的深度神经网络模型
Figure FDA00027593089600000411
由不同网络结构的训练好的深度神经网络模型
Figure FDA0002759308960000042
构建得到训练好的深度神经网络模型集合
Figure FDA0002759308960000043
级联深度神经网络构建模块,用于基于
Figure FDA0002759308960000044
中的
Figure FDA0002759308960000045
构建级联深度神经网络M;
级联深度神经网络训练模块,用于将样本预处理后的结果
Figure FDA0002759308960000046
作为输入级联深度神经网络M,输出其预测结果;基于设定的损失函数L,根据样本真实类别标签和其预测结果计算相应的损失函数值;基于反向传播算法更新M中
Figure FDA0002759308960000047
的参数,得到训练好的级联深度神经网络
Figure FDA0002759308960000049
检测模块,用于将待检测的应用层用户请求x′进行数据预处理得到结果
Figure FDA0002759308960000048
输入训练好的级联深度神经网络
Figure FDA00027593089600000410
输出其预测结果,从而判断该待检测的应用层用户请求是否为恶意请求。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得处理器实现如权利要求1至7中任一项所述的方法。
CN202010092028.8A 2020-02-14 2020-02-14 基于级联深度神经网络的应用层恶意请求检测方法及系统 Active CN111327608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010092028.8A CN111327608B (zh) 2020-02-14 2020-02-14 基于级联深度神经网络的应用层恶意请求检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010092028.8A CN111327608B (zh) 2020-02-14 2020-02-14 基于级联深度神经网络的应用层恶意请求检测方法及系统

Publications (2)

Publication Number Publication Date
CN111327608A CN111327608A (zh) 2020-06-23
CN111327608B true CN111327608B (zh) 2021-02-02

Family

ID=71167106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010092028.8A Active CN111327608B (zh) 2020-02-14 2020-02-14 基于级联深度神经网络的应用层恶意请求检测方法及系统

Country Status (1)

Country Link
CN (1) CN111327608B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966706B (zh) * 2020-08-19 2023-08-22 中国银行股份有限公司 官微答复方法及装置
CN112784985A (zh) * 2021-01-29 2021-05-11 北京百度网讯科技有限公司 神经网络模型的训练方法及装置、图像识别方法及装置
CN112953924B (zh) * 2021-02-04 2022-10-21 西安电子科技大学 网络异常流量检测方法、系统、存储介质、终端及应用
CN113343235B (zh) * 2021-06-17 2022-05-17 长沙市智为信息技术有限公司 基于Transformer的应用层恶意有效负载检测方法、系统、设备及介质
CN113572771B (zh) * 2021-07-26 2023-04-07 深圳供电局有限公司 一种电网cps网络攻击辨识方法及系统
CN114095270B (zh) * 2021-11-29 2024-01-23 北京天融信网络安全技术有限公司 一种网络攻击预测方法及装置
CN115021987B (zh) * 2022-05-24 2024-04-05 桂林电子科技大学 一种基于arn的物联网入侵检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119620A (zh) * 2018-02-06 2019-08-13 卡巴斯基实验室股份制公司 训练用于检测恶意容器的机器学习模型的系统和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718878B (zh) * 2016-01-19 2019-08-09 华南理工大学 基于级联卷积神经网络的第一视角空中手写和空中交互方法
CN105869630B (zh) * 2016-06-27 2019-08-02 上海交通大学 基于深度学习的说话人语音欺骗攻击检测方法及系统
CN107239736A (zh) * 2017-04-28 2017-10-10 北京智慧眼科技股份有限公司 基于多任务级联卷积神经网络的人脸检测方法及检测装置
US10599978B2 (en) * 2017-11-03 2020-03-24 International Business Machines Corporation Weighted cascading convolutional neural networks
CN109522961B (zh) * 2018-11-23 2022-09-13 中山大学 一种基于字典深度学习的半监督图像分类方法
CN110363001B (zh) * 2019-07-12 2021-03-30 长沙市智为信息技术有限公司 一种基于Transformer模型的应用层恶意请求检测方法
CN110414219B (zh) * 2019-07-24 2021-07-23 长沙市智为信息技术有限公司 基于门控循环单元与注意力机制的注入攻击检测方法
CN110351301B (zh) * 2019-07-26 2021-09-28 长沙市智为信息技术有限公司 一种http请求双层递进式异常检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119620A (zh) * 2018-02-06 2019-08-13 卡巴斯基实验室股份制公司 训练用于检测恶意容器的机器学习模型的系统和方法

Also Published As

Publication number Publication date
CN111327608A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN111327608B (zh) 基于级联深度神经网络的应用层恶意请求检测方法及系统
CN111709241B (zh) 一种面向网络安全领域的命名实体识别方法
CN114816909B (zh) 一种基于机器学习的实时日志检测预警方法及系统
CN109672674A (zh) 一种网络威胁情报可信度识别方法
CN116680459B (zh) 基于ai技术的外贸内容数据处理系统
CN112910859A (zh) 基于c5.0决策树和时序分析的物联网设备监测预警方法
CN112667979A (zh) 密码生成方法及装置、密码识别方法及装置、电子设备
CN112559747A (zh) 事件分类处理方法、装置、电子设备和存储介质
Wang et al. Res-TranBiLSTM: An intelligent approach for intrusion detection in the Internet of Things
Yuan et al. A character-level BiGRU-attention for phishing classification
Shang et al. Network security situation prediction based on long short-term memory network
US11763189B2 (en) Method for tracking lack of bias of deep learning AI systems
CN114826681A (zh) 一种dga域名检测方法、系统、介质、设备及终端
CN112613032B (zh) 基于系统调用序列的主机入侵检测方法及装置
CN111444364B (zh) 一种图像检测方法和装置
Yin et al. A feature selection method for improved clonal algorithm towards intrusion detection
CN116192537B (zh) 一种apt攻击报告事件抽取方法、系统和存储介质
CN113222109A (zh) 一种基于多源异构数据聚合技术的物联网边缘算法
CN112364198A (zh) 一种跨模态哈希检索方法、终端设备及存储介质
CN111797997A (zh) 网络入侵检测方法、模型构建方法、装置及电子设备
CN117009832A (zh) 异常命令的检测方法、装置、电子设备及存储介质
Zhong et al. FLP: a feature‐based method for log parsing
CN116842936A (zh) 关键词识别方法、装置、电子设备和计算机可读存储介质
CN113468540A (zh) 基于网络安全大数据的安全画像处理方法及网络安全系统
CN116467722B (zh) 安全漏洞描述的生成方法、装置、介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant