CN109639659A - 一种基于机器学习的web应用防火墙的实现方法 - Google Patents

一种基于机器学习的web应用防火墙的实现方法 Download PDF

Info

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
Application number
CN201811480567.8A
Other languages
English (en)
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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811480567.8A priority Critical patent/CN109639659A/zh
Publication of CN109639659A publication Critical patent/CN109639659A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols 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应用防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统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长的向量表示。
CN201811480567.8A 2018-12-05 2018-12-05 一种基于机器学习的web应用防火墙的实现方法 Pending CN109639659A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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注入检测方法、数据库安全系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
WEIXIN_33805557: "基于机器学习的web异常检测", 《CSDN》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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