CN116488915A - 基于深度学习的Web攻击检测与分类识别方法及装置 - Google Patents
基于深度学习的Web攻击检测与分类识别方法及装置 Download PDFInfo
- Publication number
- CN116488915A CN116488915A CN202310487302.5A CN202310487302A CN116488915A CN 116488915 A CN116488915 A CN 116488915A CN 202310487302 A CN202310487302 A CN 202310487302A CN 116488915 A CN116488915 A CN 116488915A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- web
- word
- model
- module
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013135 deep learning Methods 0.000 title claims abstract description 24
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000013136 deep learning model Methods 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 32
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 12
- 230000011218 segmentation Effects 0.000 claims abstract description 12
- 239000010410 layer Substances 0.000 claims description 29
- 238000000605 extraction Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 230000004927 fusion Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 5
- 239000007924 injection Substances 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims description 3
- 230000007123 defense Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002902 bimodal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/245—Classification techniques relating to the decision surface
- G06F18/2451—Classification techniques relating to the decision surface linear, e.g. hyperplane
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于深度学习的Web攻击检测与分类识别方法,包括:获取web日志信息并将其标记为不同类型;对web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;基于textCNN算法、Bi‑LSTM网络以及注意力机制构建Web攻击检测与分类识别的深度学习模型;利用词向量对深度学习模型进行训练,并保存训练好的模型;利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。该方法对web攻击的检测和分类识别的准确率较高、速度较快;且该方法不仅可以识别多种web攻击类型,还能对未知的web攻击进行检测和多分类识别,具有较高的安全性和广泛适用性。
Description
技术领域
本发明属于通信技术领域,具体涉及一种基于深度学习的Web攻击检测与分类识别方法及装置。
背景技术
随着互联网技术的不断发展,越来越多的Web应用程序出现在人们的生活中。Web应用程序给日常生活带来便利的同时,也给使用者带来了风险。可用性和过度使用使Web应用程序成为了网络攻击的目标。攻击者还可以使用多种手段攻击Web应用程序、破坏特定的资源、从数据库中窃取数据或者中断应用服务,给社会带来重大的经济损失和伤害。而现有的基于黑名单、基于异常和基于启发式的网络攻击防御方法都只对已知攻击有效,无法防御新的攻击手段,并且很容易被绕过。因此,检测清楚攻击者所使用的攻击手段,对于事后应急响应处理有重要的指导作用。
目前,现有的Web攻击检测方案在对Web攻击的检测和识别上,主要有以下几种方式:
第一种是基于行为规则匹配的Web攻击检测和防御方法。该方法通过预设一个包含多种防御规则的规则防御库,将web应用防护***的访问请求与防御规则库中的记录进行匹配,匹配的记录作为样本数据来建立分析模型。通过建立用户数据库,通过分析模型对用户的访问行为进行学习,从而更新和修正防御规则库中的防御规则,根据设定的规则对用户的访问行为进行拦截。然而防御规则库中的防御规则往往基于专家经验,具有局限性。其所依赖的规则库只能识别和防御已知的漏洞威胁,在面对未知的新型攻击时很容易被绕过,随着新型攻击层出不穷,攻击更加隐匿且难以识别,给安全防御带来严峻的挑战。
第二种是基于动态特征提取的攻击URL检测方法。该方法通过对采集到的URL数据进行标记,并对URL数据进行预处理,即将URL分割为字符集,统计每一种字符集的总数,丢弃数量小于预设值的字符,然后对每一个字符向量化,按行拼接为数值矩阵,输入循环神经网络进行训练。使用训练好的模型对未知URL判定是否为攻击URL。这种方法在一定程度上能够识别未知攻击,但仅对URL进行检测容易忽略通过POST进行攻击的方式,比如,SQL注入和文件上传等。因此,该模型检测web攻击的准确度较低,在面对多种攻击手段的情况下,不具备很好的检测和防御效果。
第三种是基于NLP的Web攻击检测方法。该方法使用fastText文本分类算法将获取的HTML请求分类,然后通过规则进行批量标注,将文本向量化处理,再选出特殊字符进行向量化,通过深度学习模型得到独热编码的分类输出,然后将独热编码标签映射到二分类标签上。然而,该方法所使用的文本分类算法无法捕捉词序信息,对长文本的检测效果不佳。同时,该方法流程复杂,所需花费的时间较长,成本较高且仅能将攻击进行二分类,无法准确判断攻击类型并及时做出响应。
综上所述,现有的网络攻击检测和防御方法都只对已知攻击有效,无法防御新的攻击手段,并且很容易被绕过;且大多数的攻击检测方案只能进行异常识别,无法对攻击手段进行准确的分类识别。由此,现有Web攻击检测方法在模型的可靠性、准确性、实用性和成本开销上均不能很好地满足web攻击检测的实际需要。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了基于深度学习的Web攻击检测与分类识别方法。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明提供了一种基于深度学习的Web攻击检测与分类识别方法,包括:
步骤1:获取web日志信息并将其标记为不同类型;
步骤2:对所述web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;
步骤3:基于textCNN算法、Bi-LSTM网络以及注意力机制构建Web攻击检测与分类识别的深度学习模型;
步骤4:利用所述词向量对所述深度学习模型进行训练,并保存训练好的模型;
步骤5:利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
第二方面,本发明提供了一种基于深度学习的Web攻击检测与分类识别装置,包括:
数据采集模块,用于获取web日志信息并将其标记为不同类型;
数据预处理模块,用于对所述web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;
模型构建模块,用于基于textCNN算法、Bi-LSTM以及注意力机制构建用于Web攻击检测与分类识别的深度学习模型;
训练模块,用于利用所述词向量对所述深度学习模型进行训练,并保存训练好的模型;
检测模块,用于利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
本发明的有益效果:
本发明提供的基于深度学习的Web攻击检测与分类识别方法结合textCNN算法、Bi-LSTM网络以及注意力机制构建了深度学习模型,利用深度学习模型端到端的特性,不需要人工进行特征提取,不再依赖专家知识,消除了先验知识对模型偏差的影响,避免人为因素造成偏差的同时减少了工作量和成本;且该模型可以在充分提取web日志局部特征的同时提取语序特征,并输出多种攻击类型;因而使得该方法对web攻击的检测和分类识别的准确率较高、速度较快;此外,该方法不仅可以识别多种web攻击类型,还能对未知的web攻击进行检测和多分类识别,识别出具体的攻击类型能够帮助运维人员快速定位和响应,提升了针对web攻击的安全防护能力,具有较高的安全性和广泛适用性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于深度学习的Web攻击检测与分类识别方法示意图;
图2是本发明实施例提供的Web攻击检测与分类识别的深度学习模型的结构示意图;
图3是本发明实施例提供的textCNN模块的结构图;
图4是本发明实施例提供的基于注意力机制的Bi-LSTM模块的结构图;
图5是本发明实施例提供的分类输出模块的结构图;
图6是本发明实施例提供的一种基于深度学习的Web攻击检测与分类识别装置的结构示意图;
图7是本发明实施例提供的对未知web日志中web攻击检测与分类识别流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1是本发明实施例提供的基于深度学习的Web攻击检测与分类识别方法示意图,其包括:
步骤1:获取web日志信息并将其标记为不同类型。
具体的,可以从web服务器中采集日志信息,并将其标记为正常访问、结构化查询语言(SQL)注入、跨站脚本攻击(XSS)、远程代码执行(RCE)、目录遍历和命令执行攻击,分别对应0-5共6种类型。
步骤2:对web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量。
21)对web日志信息进行统一资源定位符解码,得到普通文本。
具体的,首先,针对采集到的web日志信息,保存其中的方法、请求、请求资源、来源页面和用户代理部分信息,拼接为普通文本序列。例如:
‘GET,/762a8d1aa721d291f7c2492eb0b2b0bf.jsp/_plugin/head/../../../../../../../../../../../../../../../../etc/passwd,,Mozilla/5.0(Windows NT 10.0;rv:78.0)Gecko/20100101Firefox/78.0’所示。
然后,将其进行URL解码,增强其可读性。
22)对普通文本进行分词处理,并将每个词映射到字典,获得词索引序列。
具体的,本实施例使用训练CodeBERT模型的分词器进行分词操作,以将解码过后的得到的文本序列转为词索引序列。
该模型可处理编程语言和自然语言的双模态数据,将web日志长文本转化为以词为单位的序列,其中词为表达含义的最小单位。再将词与词典映射,获得词的索引序列。
例如,对步骤21)中的文本序列分词后表示为:
‘'GET',',','/','762','a','8','d','1','aa','7','21','d','291','f','7','c','24','92','eb','0','b','2','b','0','bf'...’。
再将词与词典映射,获得词索引序列,为:
[18760,6,73,38997,102,398,417,134,6621,406,2146,417,33657,506,406,438,1978,6617,3209,288,428,176,428,...]。
23)将词索引序列转化为词向量。
具体的,本实施例采用一个词嵌入层将词索引序列转化为词向量。其中,词嵌入层由一层embedding层构成。将获得的词索引序列输入embedding层,输出得到词向量,使词义相近的词在低维空间聚集,提高了模型的泛化能力。
步骤3:基于textCNN算法、BI-LSTM网络以及注意力机制构建Web攻击检测与分类识别的深度学习模型。
请参见图2,图2是本发明实施例提供的Web攻击检测与分类识别的深度学习模型的结构示意图,其包括局部特征提取模块、语序特征提取模块、特征融合模块以及分类输出模块;其中,
所述局部特征提取模块用于提取输入文本的局部特征向量;
所述语序特征提取模块用于提取输入文本的语序特征向量;
所述特征融合模块用于对所述局部特征向量和所述语序特征向量进行融合,得到融合特征向量;
所述分类输出模块用于对所述融合特征向量进行处理,以输出模型预测的攻击类别。
在本实施例中,考虑到web日志的请求信息中部分参数的位置变换并不影响访问结果,且卷积神经网络具有平移不变性,局部特征提取模块使用在文本分类任务中有很好的效果textCNN模型,因此,也叫textCNN模块。请参见图3,图3是本发明实施例提供的textCNN模块的结构图,其包括一个卷积层、一个BatchNorm层以及一个最大池化层;其中,
所述卷积层包括三个采用大小分别为[3、5、7]的卷积核,且都输出为256维;
所述BatchNorm层设置在激活函数ReLU之后。
具体的,textCNN模块先通过三个卷积核输出768维的特征,然后,再经过ReLU激活函数处理,接着经过BatchNorm层,最后进行1d的最大池化层,得到输入文本的局部特征向量。
本实施例在textCNN模型中加入了BatchNorm层,可以有效的加快收敛,提升网络的稳定性。
进一步的,语序特征提取模块考虑了web日志文本上下文的局部有序性,使用能够学习双向语义依赖关系的Bi-LSTM模型,因此,在本实施例中,语序特征提取模块也叫基于注意力机制的Bi-LSTM模块,其结构图如图4所示,其包括输入层、词嵌入层、Bi-LSTM层以及单层注意力层;且该模块的输出特征维度设计为128维,激活函数使用Tanh。
具体的,局部特征提取模块提取的输入文本的局部特征向量通过输入层输入到语序特征提取模块,然后通过Bi-LSTM模型得到上下文语序特征向量,并使用注意力机制将模型的关注点从整个序列中的每个位置调整到与当前任务相关的特定部分,最终得到输入文本的语序特征向量。
本实施例设计的基于注意力机制的Bi-LSTM模块在Bi-LSTM模型后接了单层additive attention模型,可以加强对文本关键信息的关注能力,从而提升模型的检测精度。
可选的,在本实施例中,在本实施例中,特征融合模块采用常规的网络结构,其主要作用就是将以上两个模块获得的局部特征向量和语序特征向量进行横向拼接,以实现两个特征的融合。
请参见图5,图5是本发明实施例提供的分类输出模块的结构图,其包括两层线性层。
具体的,将融合过的特征向量输入分类输出模块,分类输出模块由两层线性层构成,输出维度为6,对应6种不同的类型,即0-正常流量、1-结构化查询语言(SQL)注入、2-跨站脚本攻击(XSS)、3-远程代码执行(RCE)、4-目录遍历和5-命令执行攻击。
本实施例利用深度学习模型端到端的特性,不需要人工进行特征提取,不再依赖专家知识,在避免人为因素造成的偏差同时减少了工作量和成本,且该模型在充分提取局部特征的同时提取了语序特征,提高了对web攻击检测的准确率。
步骤4:利用词向量对深度学习模型进行训练,并保存训练好的模型。
41)将词向量划分为训练集、验证集和测试集。
具体的,可将步骤2中的词向量按照6:2:2的比例划分为训练集、验证集和测试集;其中,训练集用于对模型进行训练,验证集用于对模型进行评估验证,测试集用于对模型效果进行检测。
42)将训练集输入到深度学习模型中进行训练,直至模型收敛,得到训练好的模型。
需要说明的是,在模型训练过程中,采用交叉熵损失函数计算损失值,同时使用adam算法更新模型参数,并在每一轮训练结束后,均使用验证集对模型训练情况进行评估验证。
具体的,首先将训练集输入textCNN模块和以获得文本局部特征向量,同时将训练集输入结合注意力机制的Bi-BI-LSTM模块以提取文本的语序特征并提取其中的关键特征向量,以获得语序特征向量。然后将这两个模块获得的特征向量输入特征融合模块,获得融合的特征向量。最后,将融合的特征向量输入分类输出模块,输出模型预测的攻击类别。
可以理解的是,输出的攻击类别对应6种不同的类型,即0-正常流量、1-结构化查询语言(SQL)注入、2-跨站脚本攻击(XSS)、3-远程代码执行(RCE)、4-目录遍历和5-命令执行攻击。
在该过程中,使用交叉熵损失函数计算损失值,然后使用adam算法更新模型参数,并观察损失值,每一轮训练结束后,都使用验证集对模型训练情况进行评估验证。具体的,使用F1-score对模型检测和分类精度进行评估,F1-score是准确率和召回率的调和平均值,F1-score越高意味着模型越稳健。
训练几轮后模型收敛,保存其中表现最好,即F1-score最高的模型,得到训练好的模型。
43)利用测试集对训练好的模型进行测试,并在测试结果的F1-score达到预期后,保存训练好的模型参数。
具体的,使用测试集对模型进行测试,若F1-score达到预期值,则将模型作为训练好的web攻击检测与分类识别模型。
步骤5:利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
将未知的web日志按照步骤2的预处理操作转换为对应的词向量,并将其输入训练好深度学习模型中进行检测和分类,输出分类识别结果。
本发明提供的基于深度学习的Web攻击检测与分类识别方法结合textCNN算法、Bi-LSTM网络以及注意力机制构建了深度学习模型,利用深度学习模型端到端的特性,不需要人工进行特征提取,不再依赖专家知识,消除了先验知识对模型偏差的影响,避免人为因素造成偏差的同时减少了工作量和成本;且该模型可以在充分提取web日志局部特征的同时提取语序特征,并输出多种攻击类型;因而使得该方法对web攻击的检测和分类识别的准确率较高、速度较快;此外,该方法不仅可以识别多种web攻击类型,还能对未知的web攻击进行检测和多分类识别,识别出具体的攻击类型能够帮助运维人员快速定位和响应,提升了针对web攻击的安全防护能力,具有较高的安全性和广泛适用性。
实施例二
在上述实施例一的基础上,本实施例提供了一种基于深度学习的Web攻击检测与分类识别装置。
请参见图6,图6是本发明实施例提供的一种基于深度学习的Web攻击检测与分类识别装置的结构示意图,其包括:
数据采集模块,用于获取web日志信息并将其标记为不同类型;
数据预处理模块,用于对web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;
模型构建模块,用于基于textCNN算法、Bi-LSTM以及注意力机制构建用于Web攻击检测与分类识别的深度学习模型;
训练模块,用于利用词向量对深度学习模型进行训练,并保存训练好的模型;
检测模块,用于利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
请参见图7,图7是本发明实施例提供的对未知web日志中web攻击检测与分类识别流程图。
首先,利用数据采集模块获取未知web日志信息。
然后,利用数据预处理模块对未知web日志信息进行文本解码、分词、词向量转换等预处理操作。
最后,将转换的词向量输入训练好的攻击检测分类模型中,进行处理,得到最终的分类结果。
详细过程可参考上述实施例一,在此不再详述。
由此,本实施例提供的装置也可以提升对web攻击的检测和分类识别的准确率和速度,且可以识别多种web攻击类型,还能对未知的web攻击进行检测和多分类识别,提升了针对web攻击的安全防护能力,具有较高的安全性和广泛适用性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于深度学习的Web攻击检测与分类识别方法,其特征在于,包括:
步骤1:获取web日志信息并将其标记为不同类型;
步骤2:对所述web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;
步骤3:基于textCNN算法、Bi-LSTM网络以及注意力机制构建Web攻击检测与分类识别的深度学习模型;
步骤4:利用所述词向量对所述深度学习模型进行训练,并保存训练好的模型;
步骤5:利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
2.根据权利要求1所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,在步骤1中,所述类型包括正常访问、结构化查询语言注入、跨站脚本攻击、远程代码执行、目录遍历和命令执行攻击。
3.根据权利要求1所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,步骤2包括:
21)对所述web日志信息进行统一资源定位符解码,得到普通文本;
22)对所述普通文本进行分词处理,并将每个词映射到字典,获得词索引序列;
23)将所述词索引序列转化为词向量。
4.根据权利要求1所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,在步骤3中,构建的深度学习模型包括局部特征提取模块、语序特征提取模块、特征融合模块以及分类输出模块;其中,
所述局部特征提取模块用于提取输入文本的局部特征向量;
所述语序特征提取模块用于提取输入文本的语序特征向量;
所述特征融合模块用于对所述局部特征向量和所述语序特征向量进行融合,得到融合特征向量;
所述分类输出模块用于对所述融合特征向量进行处理,以输出模型预测的攻击类别。
5.根据权利要求4所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,所述局部特征提取模块采用textCNN模型,其包括一个卷积层、一个BatchNorm层以及一个最大池化层;其中,
所述卷积层包括三个采用大小分别为[3、5、7]的卷积核,且都输出为256维;
所述BatchNorm层设置在激活函数ReLU之后。
6.根据权利要求4所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,所述语序特征提取模块采用基于注意力机制的Bi-LSTM模块,依次包括输入层、词嵌入层、Bi-LSTM层以及单层注意力层;且该模块的输出特征维度设计为128维,激活函数使用Tanh。
7.根据权利要求4所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,所述分类输出模块包括两层线性层,输出维度为类型的个数。
8.根据权利要求1所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,步骤4包括:
41)将所述词向量划分为训练集、验证集和测试集;
42)将所述训练集输入到所述深度学习模型中进行训练,直至模型收敛,得到训练好的模型;其中,在模型训练过程中,采用交叉熵损失函数计算损失值,同时使用adam算法更新模型参数,并在每一轮训练结束后,均使用所述验证集对模型训练情况进行评估验证;
43)利用所述测试集对训练好的模型进行测试,并在测试结果的F1-score达到预期后,保存训练好的模型参数。
9.根据权利要求1所述的基于深度学习的Web攻击检测与分类识别方法,其特征在于,步骤5包括:
将未知的web日志转换为对应的词向量,并将其输入训练好深度学习模型中进行检测和分类,并输出分类识别结果。
10.一种基于深度学习的Web攻击检测与分类识别装置,其特征在于,包括:
数据采集模块,用于获取web日志信息并将其标记为不同类型;
数据预处理模块,用于对所述web日志信息进行解码,并对解码后的web日志信息进行分词,并转换为词向量;
模型构建模块,用于基于textCNN算法、Bi-LSTM以及注意力机制构建用于Web攻击检测与分类识别的深度学习模型;
训练模块,用于利用所述词向量对所述深度学习模型进行训练,并保存训练好的模型;
检测模块,用于利用训练好的深度学习模型对未知的web日志进行检测以判定攻击类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310487302.5A CN116488915A (zh) | 2023-04-28 | 2023-04-28 | 基于深度学习的Web攻击检测与分类识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310487302.5A CN116488915A (zh) | 2023-04-28 | 2023-04-28 | 基于深度学习的Web攻击检测与分类识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116488915A true CN116488915A (zh) | 2023-07-25 |
Family
ID=87219312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310487302.5A Pending CN116488915A (zh) | 2023-04-28 | 2023-04-28 | 基于深度学习的Web攻击检测与分类识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116488915A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796326A (zh) * | 2023-08-21 | 2023-09-22 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN117421595A (zh) * | 2023-10-25 | 2024-01-19 | 广东技术师范大学 | 一种基于深度学习技术的***日志异常检测方法及*** |
-
2023
- 2023-04-28 CN CN202310487302.5A patent/CN116488915A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116796326A (zh) * | 2023-08-21 | 2023-09-22 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN116796326B (zh) * | 2023-08-21 | 2023-11-14 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN117421595A (zh) * | 2023-10-25 | 2024-01-19 | 广东技术师范大学 | 一种基于深度学习技术的***日志异常检测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109005145B (zh) | 一种基于自动特征抽取的恶意url检测***及其方法 | |
CN116488915A (zh) | 基于深度学习的Web攻击检测与分类识别方法及装置 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN113778894B (zh) | 测试用例的构建方法、装置、设备及存储介质 | |
CN112333128B (zh) | 一种基于自编码器的Web攻击行为检测*** | |
CN113609488B (zh) | 基于自监督学习及多通道超图神经网络的漏洞检测方法与*** | |
CN112115326B (zh) | 一种以太坊智能合约的多标签分类和漏洞检测方法 | |
CN117235532A (zh) | 一种基于M-Bert的恶意网站检测模型的训练及检测方法 | |
CN108647497A (zh) | 一种基于特征提取的api密钥自动识别*** | |
CN116827656A (zh) | 网络信息安全防护***及其方法 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN116841846A (zh) | 一种实时日志异常检测方法、装置、设备及其存储介质 | |
CN115017015B (zh) | 一种边缘计算环境下程序异常行为检测方法及*** | |
CN116467720A (zh) | 一种基于图神经网络的智能合约漏洞检测方法及电子设备 | |
CN115879110A (zh) | 一种基于指纹穿透技术识别金融风险网站的*** | |
CN115328753A (zh) | 一种故障预测方法及装置、电子设备、存储介质 | |
Mahyari | A hierarchical deep neural network for detecting lines of codes with vulnerabilities | |
CN117235727B (zh) | 基于大型语言模型的WebShell识别方法和*** | |
Nandakumar et al. | A Novel Approach to User Agent String Parsing for Vulnerability Analysis Using Multi-Headed Attention | |
CN114374561B (zh) | 一种网络安全状态评估方法、装置及可存储介质 | |
Ge et al. | Design and Implementation of System of the Web Vulnerability Detection Based on Crawler and Natural Language Processing | |
CN117574391B (zh) | 一种基于三地址码和神经网络的代码漏洞检测方法和*** | |
CN116010971A (zh) | 一种基于深度学习的存储型xss漏洞检测*** | |
CN117251853A (zh) | 一种基于机器学习的WebShell检测方法及装置 |
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 |