CN109639659A - 一种基于机器学习的web应用防火墙的实现方法 - Google Patents
一种基于机器学习的web应用防火墙的实现方法 Download PDFInfo
- Publication number
- CN109639659A CN109639659A CN201811480567.8A CN201811480567A CN109639659A CN 109639659 A CN109639659 A CN 109639659A CN 201811480567 A CN201811480567 A CN 201811480567A CN 109639659 A CN109639659 A CN 109639659A
- Authority
- CN
- China
- Prior art keywords
- gram
- vector
- machine learning
- model
- text data
- 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
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于机器学习的WEB应用防火墙的实现方法,所述方法采用单分类模型建立规则的机器学习方法,构造能充分表达白样本的最小模型作为Profile,从而实现异常检测,该方法包括训练阶段和测试阶段;其中,所述训练阶段用于建立单分类模型,所述的测试阶段,对测试样本向量化,再通过计算重建误差作为异常检测的标准。本发明针对当前WEB防火墙规则集合建立的不足问题,采用了单分类的机器学习方法建立模型,动态更新规则库,使得WEB应用防火墙更加智能。
Description
技术领域
本发明涉及WEB应用安全技术领域,特别是一种基于机器学习的WEB应用防火墙的实现方法。
背景技术
WEB应用防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统WEB入侵检测技术通过维护规则集对入侵访问进行拦截。一方面,硬规则在灵活的黑客面前,很容易被绕过,且基于以往知识的规则集难以应对0day攻击;另一方面,攻防对抗水涨船高,防守方规则的构造和维护门槛高、成本大。基于机器学习技术的新一代WEB入侵检测技术有望弥补传统规则集方法的不足,为WEB对抗的防守端带来新的发展和突破。机器学习方法能够基于大量数据进行自动化学习和训练,已经在图像、语音、自然语言处理等方面广泛应用。然而,机器学习应用于WEB入侵检测也存在挑战,其中最大的困难就是标签数据的缺乏。尽管有大量的正常访问流量数据,但WEB入侵样本稀少,且变化多样,对模型的学习和训练造成困难。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种基于机器学习的WEB应用防火墙的实现方法,本发明针对当前WEB防火墙规则集合建立的不足问题,采用了单分类的机器学习方法建立模型,动态更新规则库,使得WEB应用防火墙更加智能。
为实现上述目的,本发明采用的技术方案是:一种基于机器学习的WEB应用防火墙的实现方法,所述方法采用单分类模型建立规则的机器学习方法,构造能充分表达白样本的最小模型作为Profile,从而实现异常检测,该方法包括训练阶段和测试阶段;其中,所述训练阶段用于建立单分类模型,具体包括以下步骤:
S1、通过N-Gram模型将训练样本的文本数据向量化,得到文本数据训的向量集;
S2、降低向量集的维度,对N-Gram的向量进行聚类,指定的类别数K即为约减后的特征维数,并将约减后的特征向量投入单分类SVM模型中进行Profile训练;
S3、采用深度学习中的深度自编码网络模型进行非线性特征约减,通过给定输入的重建误差,判断输入样本是否与Profile相符;
所述的测试阶段,对测试样本向量化,再通过计算重建误差作为异常检测的标准。
作为一种优选的实施方式,所述步骤S1包括以下步骤:
S11、通过长度为N的滑动窗口算法将文本数据分割为N-Gram序列;
S12、将N-Gram序列转化成向量。
作为另一种优选的实施方式,所述步骤S12具体如下:
假设共有m种不同的字符,则会得到m*m种N-Gram的组合,用一个m*m长的向量,每一位独热码表示文本数据中是否出现了该N-Gram,其中有独热码则置1,没有则置0,从而可得到一个m*m长的0/1向量,对于每个出现的N-Gram,用该N-Gram在文本数据中出现的频率来代替单调的“1”,以表示更多的信息,则每个文本数据都可以通过一个m*m长的向量表示。
本发明的有益效果是:本发明在WEB应用防火墙基础上,采用了单分类建立模型的机器学习方法,使得WEB应用防火墙更加智能,更加准确的防御攻击,大大提升了用户体验;采用了单分类建立模型的机器学习方法,该模型更加准确高效,集成机器学习建立规则,不断更新规则集。
附图说明
图1为本发明实施例的流程示意图;
图2为本发明实施例将文本数据分割为N-Gram序列的示意图;
图3为本发明实施例中文本数据通过向量表示的示意图;
图4为本发明实施例中降低向量集维度的示意图;
图5为本发明实施例中判断输入样本是否与Profile相符的示意图;
图6为本发明实施例中测试阶段的示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
目前大多数WEB入侵检测都是基于无监督的方法,针对大量正常日志建立模型(Profile),而与正常流量不符的则被识别为异常。这个思路与拦截规则的构造恰恰相反。拦截规则意在识别入侵行为,因而需要在对抗中“随机应变”;而基于Profile的方法旨在建模正常流量,在对抗中“以不变应万变”,且更难被绕过。本实施例提出一种智能的Profile建立方法,异常检测的WEB入侵识别,训练阶段通常需要针对每个url,基于大量正常样本,抽象出能够描述样本集的统计学或机器学习模型(Profile)。
如图1所示,一种基于机器学习的WEB应用防火墙的实现方法,所述方法采用单分类模型建立规则的机器学习方法,构造能充分表达白样本的最小模型作为Profile,从而实现异常检测,该方法包括训练阶段和测试阶段;其中,所述训练阶段用于建立单分类模型,具体包括以下步骤:
S1、通过N-Gram模型将训练样本的文本数据向量化,得到文本数据训的向量集;
S2、降低向量集的维度,对N-Gram的向量进行聚类,指定的类别数K即为约减后的特征维数,并将约减后的特征向量投入单分类SVM模型中进行Profile训练;
S3、采用深度学习中的深度自编码网络模型进行非线性特征约减,通过给定输入的重建误差,判断输入样本是否与Profile相符;
所述的测试阶段,对测试样本向量化,再通过计算重建误差作为异常检测的标准。
下面通过例子“http://abc.com/test?path=/category-0002.htm”对本实施了做详细说明:
通过N-Gram模型将训练样本的文本数据向量化:
首先通过长度为N的滑动窗口算法将文本数据分割为N-Gram序列,例子中,N取2,窗口滑动步长为1,可以得到如图2所示的N-Gram序列。
下一步要把N-Gram序列转化成向量。假设共有256种不同的字符,那么会得到256*256种2-Gram的组合(如aa,ab,ac…)。可以用一个256*256长的向量,每一位独热码(one-hot)的表示(有则置1,没有则置0)文本数据中是否出现了该2-Gram。由此得到一个256*256长的0/1向量。对于每个出现的2-Gram,用这个2-Gram在文本数据中出现的频率来替代单调的“1”,以表示更多的信息,则每个文本数据都可以通过一个m*m长的向量表示。
至此,如图3所示,每个文本数据都可以通过一个256*256长的向量表示。
得到了训练样本的256*256向量集,需要通过单分类SVM去找到最小边界。然而问题在于,样本的维度太高,会对训练造成困难。还需要再解决一个问题:如何缩减特征维度。
如图4所示,左矩阵中黑色表示0,白色表示非零。矩阵的每一行,代表一个输入文本(sample)中具有哪些2-Gram。如果换一个角度来看这个矩阵,则每一列代表一个2-Gram有哪些sample中存在,由此,每个2-Gram也能通过sample的向量表达。从这个角度可以获得2-Gram的相关性。对于2-Gram的向量进行聚类,指定的类别数K即为约减后的特征维数。约减后的特征向量,再投入单分类SVM模型进行进一步模型训练。
本实施例中,如图5所示,深度自编码网络模型的训练过程本身就是学习训练样本的压缩表达,通过给定输入的重建误差,就可以判断输入样本是否与模型相符。
测试阶段,如图6所示,通过判断WEB访问是否与Profile相符,来识别异常。由于WEB入侵黑样本稀少,传统监督学习方法难以训练。基于白样本的异常检测,通过非监督或单分类模型进行样本学习,构造能够充分表达白样本的最小模型作为Profile,实现异常检测。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (3)
1.一种基于机器学习的WEB应用防火墙的实现方法,其特征在于,所述方法采用单分类模型建立规则的机器学习方法,构造能充分表达白样本的最小模型作为Profile,从而实现异常检测,该方法包括训练阶段和测试阶段;其中,所述训练阶段用于建立单分类模型,具体包括以下步骤:
S1、通过N-Gram模型将训练样本的文本数据向量化,得到文本数据训的向量集;
S2、降低向量集的维度,对N-Gram的向量进行聚类,指定的类别数K即为约减后的特征维数,并将约减后的特征向量投入单分类SVM模型中进行Profile训练;
S3、采用深度学习中的深度自编码网络模型进行非线性特征约减,通过给定输入的重建误差,判断输入样本是否与Profile相符;
所述的测试阶段,对测试样本向量化,再通过计算重建误差作为异常检测的标准。
2.根据权利要求1所述的基于机器学习的WEB应用防火墙的实现方法,其特征在于,所述步骤S1包括以下步骤:
S11、通过长度为N的滑动窗口算法将文本数据分割为N-Gram序列;
S12、将N-Gram序列转化成向量。
3.根据权利要求2所述的基于机器学习的WEB应用防火墙的实现方法,其特征在于,所述步骤S12具体如下:
假设共有m种不同的字符,则会得到m*m种N-Gram的组合,用一个m*m长的向量,每一位独热码表示文本数据中是否出现了该N-Gram,其中有独热码则置1,没有则置0,从而可得到一个m*m长的0/1向量,对于每个出现的N-Gram,用该N-Gram在文本数据中出现的频率来代替单调的“1”,以表示更多的信息,则每个文本数据都可以通过一个m*m长的向量表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811480567.8A CN109639659A (zh) | 2018-12-05 | 2018-12-05 | 一种基于机器学习的web应用防火墙的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811480567.8A CN109639659A (zh) | 2018-12-05 | 2018-12-05 | 一种基于机器学习的web应用防火墙的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109639659A true CN109639659A (zh) | 2019-04-16 |
Family
ID=66071198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811480567.8A Pending CN109639659A (zh) | 2018-12-05 | 2018-12-05 | 一种基于机器学习的web应用防火墙的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109639659A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569925A (zh) * | 2019-09-18 | 2019-12-13 | 南京领智数据科技有限公司 | 应用于电力设备运检的基于lstm的时序异常检测方法 |
CN112311803A (zh) * | 2020-11-06 | 2021-02-02 | 杭州安恒信息技术股份有限公司 | 一种规则库更新方法、装置、电子设备及可读存储介质 |
CN112383529A (zh) * | 2020-11-09 | 2021-02-19 | 浙江大学 | 一种拟态waf中的对抗流量生成方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测系统和方法 |
CN108549814A (zh) * | 2018-03-24 | 2018-09-18 | 西安电子科技大学 | 一种基于机器学习的sql注入检测方法、数据库安全系统 |
-
2018
- 2018-12-05 CN CN201811480567.8A patent/CN109639659A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测系统和方法 |
CN108549814A (zh) * | 2018-03-24 | 2018-09-18 | 西安电子科技大学 | 一种基于机器学习的sql注入检测方法、数据库安全系统 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_33805557: "基于机器学习的web异常检测", 《CSDN》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569925A (zh) * | 2019-09-18 | 2019-12-13 | 南京领智数据科技有限公司 | 应用于电力设备运检的基于lstm的时序异常检测方法 |
CN110569925B (zh) * | 2019-09-18 | 2023-05-26 | 南京领智数据科技有限公司 | 应用于电力设备运检的基于lstm的时序异常检测方法 |
CN112311803A (zh) * | 2020-11-06 | 2021-02-02 | 杭州安恒信息技术股份有限公司 | 一种规则库更新方法、装置、电子设备及可读存储介质 |
CN112311803B (zh) * | 2020-11-06 | 2023-02-24 | 杭州安恒信息技术股份有限公司 | 一种规则库更新方法、装置、电子设备及可读存储介质 |
CN112383529A (zh) * | 2020-11-09 | 2021-02-19 | 浙江大学 | 一种拟态waf中的对抗流量生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Detection of power grid disturbances and cyber-attacks based on machine learning | |
US11444876B2 (en) | Method and apparatus for detecting abnormal traffic pattern | |
CN102014295B (zh) | 一种网络敏感视频检测方法 | |
CN106649550B (zh) | 一种基于代价敏感学习的联合知识嵌入方法 | |
CN109639659A (zh) | 一种基于机器学习的web应用防火墙的实现方法 | |
CN109766992A (zh) | 基于深度学习的工控异常检测及攻击分类方法 | |
CN111598179B (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN110290120A (zh) | 一种云平台的时序演化网络安全预警方法 | |
Gupta et al. | Instability prediction in power systems using recurrent neural networks | |
CN112001170A (zh) | 一种识别经过变形的敏感词的方法和系统 | |
Juvonen et al. | An efficient network log anomaly detection system using random projection dimensionality reduction | |
CN112733954A (zh) | 一种基于生成对抗网络的异常流量检测方法 | |
CN113901448A (zh) | 基于卷积神经网络和轻量级梯度提升机的入侵检测方法 | |
CN113067798A (zh) | Ics入侵检测方法、装置、电子设备和存储介质 | |
Xiang et al. | Applying Semi-supervised cluster algorithm for anomaly detection | |
Karanam et al. | Intrusion detection mechanism for large scale networks using CNN-LSTM | |
CN112019529A (zh) | 新能源电力网络入侵检测系统 | |
CN116633601A (zh) | 一种基于网络流量态势感知的检测方法 | |
CN111600878A (zh) | 一种基于maf-adm的低速率拒绝服务攻击检测方法 | |
CN109214467B (zh) | 考虑分类器输出敏感度的变电作业人员着装鲁棒识别方法 | |
Do Xuan et al. | Optimization of APT attack detection based on a model combining ATTENTION and deep learning | |
CN106375288B (zh) | 一种中文域名相似度计算方法及仿冒域名检测方法 | |
Cui et al. | Authenticating source information of distribution synchrophasors at intra-state locations for cyber-physical resilient power networks | |
KR102548321B1 (ko) | 효율적인 악성 위협 탐지를 위한 valuable alert 선별 방법 | |
CN109635008A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190416 |
|
WD01 | Invention patent application deemed withdrawn after publication |