CN110336798A - 一种基于dpi的报文匹配过滤方法及其装置 - Google Patents
一种基于dpi的报文匹配过滤方法及其装置 Download PDFInfo
- Publication number
- CN110336798A CN110336798A CN201910530121.XA CN201910530121A CN110336798A CN 110336798 A CN110336798 A CN 110336798A CN 201910530121 A CN201910530121 A CN 201910530121A CN 110336798 A CN110336798 A CN 110336798A
- Authority
- CN
- China
- Prior art keywords
- message
- analysis
- rule
- matching
- dpi
- 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.)
- Granted
Links
Classifications
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于DPI的报文匹配过滤方法及其装置,使用DPI技术将报文中的应用特征提取出来,形成元数据,针对相关元数据配置对应规则;对规则进行词法分析、语法分析和表达式综合分析,形成元数据规则;将报文中提取的元数据与分析后的元数据规则进行匹配,完成报文精细化过滤。此方法通过将传统五元组或关键字ACL与DPI解析出的元数据相结合的方式对报文进行全方面的筛选,从而提高报文匹配的精细度,同时提高匹配规则的全面性和可扩展性。
Description
技术领域
本发明涉及通信网络流量过滤技术领域,具体为一种基于DPI的报文匹配过滤方法及其装置。
背景技术
数据报文的精细化匹配与过滤是进行网络安全监管的前提和基础,近年来,随着网络技术的高速发展,网络流量爆发式增长,网络应用种类层出不穷,日趋复杂多变的互联网流量给报文的精细化过滤带来了新的挑战。
目前,报文匹配过滤方法主要有基于五元组(源地址、目的地址、源端口、目的端口以及协议类型)的匹配过滤方法、基于特定位置的关键词特征码的过滤方法和基于深度数据包检测DPI的过滤方法,但是,仅仅依赖于单个过滤方法很难做到高效、准确地识别互联网流量,且能兼顾网络应用种类的全面性和扩展性;此外,当规则数量太多或者要求支持复杂规则的条件配置时,如何兼顾报文匹配的性能,成为现有技术中需要解决的技术问题。
发明内容
为了解决现有技术方案中存在的技术问题,本发明提供了一种基于DPI的报文匹配过滤方法及其装置。
本发明公开了一种基于DPI的报文匹配过滤方法,包括以下步骤:
S1:使用DPI技术将报文中的应用特征提取出来,形成元数据;
S2:针对元数据和客户需求配置对应规则,对规则进行分析形成可以进行查找的数据结构;
S3:将报文中提取的元数据与S2中的数据结构进行匹配;若匹配成功,则表示命中客户配置的规则;反之,表示未命中客户配置的规则。
进一步的,所述应用特征包括L2到L7的报文特征。
进一步的,所述对规则进行分析形成可以进行查找的数据结构的步骤为:依次进行词法分析、语法分析和综合分析,形成可以进行查找的数据结构。
进一步的,所述词法分析为:
将规则读入源程序中形成字符流;
对形成的字符流进行扫描并根据构词规则进行单词符号识别,得到单词符号。
进一步的,所述语法分析为:在词法分析的基础上将单词符号组合成各类语法短语。
进一步的,所述词法分析具体为:所述综合分析为:在词法分析和语法分析的基础上形成匹配规则,并采用对应的算法对匹配规则进行编译,形成可以进行查找的数据结构。
本发明公开了一种基于DPI的报文匹配过滤方法的报文匹配过滤装置,包括应用特征提取模块、词法分析模块、语法分析模块、综合分析模块和特征匹配模块;
所述应用特征提取模块,用于使用DPI技术将报文中的应用特征提取出来,形成元数据;
所述词法分析模块,用于将规则读入源程序中形成字符流,并对形成的字符流进行扫描并根据构词规则进行单词符号识别,得到单词符号;
所述语法分析模块,用于对规则进行语法分析,将来自词法分析模块输出的单词符号组合成各类语法短语;
所述综合分析模块,用于在词法分析和语法分析的基础上形成匹配规则,并采用对应的算法对匹配规则进行编译,形成可以进行查找的数据结构;
所述特征匹配模块,用于将报文中提取的元数据与综合分析模块输出的数据结构进行匹配。
进一步的,所述应用特征包括L2到L7的报文特征。
进一步的,所述综合分析包括对L2到L7报文特征的单个表达式、正则表达式的分析。
有益效果:本发明与现有技术相比,本发明将数据报文中的应用特征形成元数据过滤规则并被报文匹配过滤技术使用,从而完成报文精细化过滤的目的,大大提高了过滤精细程度和可扩展性。此外,本发明所提供的报文匹配过滤方法中的匹配规则可以支持无限扩展和L2到L7报文特征的任意组合,大大提高了报文匹配的性能和复杂度。
附图说明
图1为本发明的数据处理流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明在数据报文过滤方法上引入DPI技术,通过DPI技术解析出报文的元数据,从而不仅能基于传统的五元组或关键字ACL进行规则匹配,而且能够结合数据报文中DPI解析出的元数据进行全方面的筛选,从而提高报文匹配的精细度,同时提高匹配规则的全面性和可扩展性。
本发明提供了一种基于DPI的报文匹配过滤方法,包括以下步骤:
S1:使用DPI技术将报文中的应用特征提取出来,形成元数据;应用特征包括L2到L7的报文特征。
S2:针对元数据配置对应规则,对规则进行词法分析、语法分析和综合分析,形成可以查找的数据结构,综合分析包括对L2到L7报文特征的单个表达式、正则表达式的分析。
S3:将报文中提取的元数据与分析后的数据结构进行匹配,完成报文精细化过滤。
本发明的词法分析是指将规则从左到右一个字符一个字符地读入源程序中,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号),譬如表达式http.host==“test.com”,词法分析可以分析出http.host、==和“test.com”。
语法分析是指在词法分析的基础上将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等等。语法分析程序会判断源程序在结构上是否正确。源程序的结构由上下文无关文法描述。譬如表达式http.host==“test.com”,语法分析可以利用词法分析出的http.host、==、“test.com”,组合起来分析。
综合分析是指在词法分析和语法分析的基础上形成匹配规则,不同的匹配规则采用不同的高性能算法进行编译,最终形成可以进行查找的数据结构。
本发明的报文匹配过滤装置包括:应用特征提取模块、词法分析模块、语法分析模块、综合分析模块和特征匹配模块。
应用特征提取模块使用DPI技术将报文中的应用特征提取出来,形成元数据,针对相关元数据配置对应规则。所述应用特征包括L2到L7的报文特征。
词法分析模块对规则进行词法分析。
语法分析模块对规则进行语法分析。
综合分析模块对规则进行综合分析,形成元数据规则算法。
特征匹配模块将报文中提取的元数据与分析后的元数据规则算法进行匹配,完成报文精细化过滤。
在上述实施方法中,所述综合分析包括对L2到L7报文特征的单个表达式、正则表达式的分析。包括:
(1)单个表达式语法,例如:
语法 | 含义 | 示例 |
Protocol | 协议 | http |
String 1 | 字段1 | request |
String 2 | 字段2 | method |
Comparison Operator | 比较运算符 | == |
Value | 值 | “POST” |
Logical Operations | 逻辑运算符 | or |
Other Expression | 其他表达式 | icmp.type |
其中Logical Operations还可以支持:
英文语法 | C语言语法 | 含义 |
equ | == | 等于 |
neq | != | 不等于 |
greater | > | 大于 |
less | < | 小于 |
greatereq | >= | 大于等于 |
lesseq | <= | 小于等于 |
inlucde | inlucde | 包含字符串 |
pcre | pcre | 正则表达式 |
(2)表达式之间语法,例如:
英文语法 | C语言语法 | 含义 |
and | && | 逻辑与 |
or | || | 逻辑或 |
xor | ^^ | 逻辑异或 |
not | ! | 逻辑非 |
譬如识别使用Chrome浏览器登录百度的网页流量,可以用下面的表达式描述:http.host==“baidu.com”&&http.useragent==“chrome”
譬如识别移动端登录百度的网页流量,可以用下面的表达式描述:
http.host==“baidu.com”&&(http.useragent==“ios”||http.useragent==“Android”)匹配实施例:
S1:用户定义一条规则ip.srcip==192.168.1.1&&tcp.srcport==80&&http.host==www.xxx.com&&http.useragent==”IOS”;
S2:经过规则分析模块(词法分析、语法分析、综合分析),将S1中规则转换成不同的匹配算法,譬如ip.srcip==192.168.1.1和tcp.srcport==80转换为hash表匹配算法,http.host==www.xxx.com和http.useragent==”IOS”转换为字符串匹配算法;并且生成四个字段的组合状态机,我们这个例子中都是与(&&)操作;
S3:原始输入流量(报文),进入DPI应用特征提取模块后,该模块会根据S1中的规则内容,提取ip头的源IP(ip.srcip),tcp头的源端口(tcp.srcport),http头部的host(http.host)字段和useragent(http.useragent)字段;
S4:S3中提取的字段和S2中针对于各个字段的匹配算法,进行特征算法匹配,匹配完成后,假如四个字段全部都匹配,则将结果输出到组合状态机中,进行状态机扫描,本实施例中都是与操作,那么四个字段全部匹配则S1规则命中;反之,四个字段只要有一个没有匹配,则S1规则未命中。
Claims (9)
1.一种基于DPI的报文匹配过滤方法,其特征在于:包括以下步骤:
S1:使用DPI技术将报文中的应用特征提取出来,形成元数据;
S2:针对元数据和客户需求配置对应规则,对规则进行分析形成可以进行查找的数据结构;
S3:将报文中提取的元数据与S2中的数据结构进行匹配;若匹配成功,则表示命中客户配置的规则;反之,表示未命中客户配置的规则。
2.根据权利要求1所述的一种基于DPI的报文匹配过滤方法,其特征在于:所述应用特征包括L2到L7的报文特征。
3.根据权利要求1所述的一种基于DPI的报文匹配过滤方法,其特征在于:所述对规则进行分析形成可以进行查找的数据结构的步骤为:依次进行词法分析、语法分析和综合分析,形成可以进行查找的数据结构。
4.根据权利要求3所述的一种基于DPI的报文匹配过滤方法,其特征在于:所述词法分析为:
将规则读入源程序中形成字符流;
对形成的字符流进行扫描并根据构词规则进行单词符号识别,得到单词符号。
5.根据权利要求4所述的一种基于DPI的报文匹配过滤方法,其特征在于:所述语法分析为:在词法分析的基础上将单词符号组合成各类语法短语。
6.根据权利要求5所述的一种基于DPI的报文匹配过滤方法,其特征在于:所述词法分析具体为:所述综合分析为:在词法分析和语法分析的基础上形成匹配规则,并采用对应的算法对匹配规则进行编译,形成可以进行查找的数据结构。
7.基于权利要求1至6任意一项所述的基于DPI的报文匹配过滤方法的报文匹配过滤装置,其特征在于:包括应用特征提取模块、词法分析模块、语法分析模块、综合分析模块和特征匹配模块;
所述应用特征提取模块,用于使用DPI技术将报文中的应用特征提取出来,形成元数据;
所述词法分析模块,用于将规则读入源程序中形成字符流,并对形成的字符流进行扫描并根据构词规则进行单词符号识别,得到单词符号;
所述语法分析模块,用于对规则进行语法分析,将来自词法分析模块输出的单词符号组合成各类语法短语;
所述综合分析模块,用于在词法分析和语法分析的基础上形成匹配规则,并采用对应的算法对匹配规则进行编译,形成可以进行查找的数据结构;
所述特征匹配模块,用于将报文中提取的元数据与综合分析模块输出的数据结构进行匹配。
8.根据权利要求7所述的一种基于DPI的报文匹配过滤装置,其特征在于:所述应用特征包括L2到L7的报文特征。
9.根据权利要求7所述的一种基于DPI的报文匹配过滤装置,其特征在于:所述综合分析包括对L2到L7报文特征的单个表达式、正则表达式的分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530121.XA CN110336798B (zh) | 2019-06-19 | 2019-06-19 | 一种基于dpi的报文匹配过滤方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530121.XA CN110336798B (zh) | 2019-06-19 | 2019-06-19 | 一种基于dpi的报文匹配过滤方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110336798A true CN110336798A (zh) | 2019-10-15 |
CN110336798B CN110336798B (zh) | 2022-05-13 |
Family
ID=68142495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910530121.XA Active CN110336798B (zh) | 2019-06-19 | 2019-06-19 | 一种基于dpi的报文匹配过滤方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110336798B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711712A (zh) * | 2020-06-03 | 2020-09-25 | 网根(南京)网络中心有限公司 | Dns策略配置方法、系统及存储介质 |
CN112491901A (zh) * | 2020-11-30 | 2021-03-12 | 北京锐驰信安技术有限公司 | 一种网络流量精细化筛选装置及方法 |
CN114760369A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 一种协议元数据提取方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347949A (zh) * | 2011-09-28 | 2012-02-08 | 上海西默通信技术有限公司 | 基于dpi的应用协议分析方法 |
US20120124064A1 (en) * | 2010-11-03 | 2012-05-17 | Microsoft Corporation | Transformation of regular expressions |
CN102542063A (zh) * | 2011-12-30 | 2012-07-04 | 华为技术有限公司 | 内容过滤的方法、装置及系统 |
CN102739457A (zh) * | 2012-07-23 | 2012-10-17 | 武汉大学 | 一种基于dpi和svm技术的网络流量识别系统及方法 |
CN103384213A (zh) * | 2011-12-31 | 2013-11-06 | 华为数字技术(成都)有限公司 | 一种检测规则优化配置方法及设备 |
US20140156823A1 (en) * | 2012-12-03 | 2014-06-05 | Huawei Technologies Co., Ltd. | Policy Processing Method and Network Device |
CN106250769A (zh) * | 2016-07-30 | 2016-12-21 | 北京明朝万达科技股份有限公司 | 一种多级过滤的源代码数据检测方法及装置 |
CN106375311A (zh) * | 2016-08-31 | 2017-02-01 | 北京青石绿网科技有限公司 | 一种移动设备dpi应用安全管理方法 |
WO2017088683A1 (zh) * | 2015-11-24 | 2017-06-01 | 阿里巴巴集团控股有限公司 | 一种数据脱敏的方法及系统 |
CN109743260A (zh) * | 2018-12-25 | 2019-05-10 | 南京中新赛克科技有限责任公司 | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 |
-
2019
- 2019-06-19 CN CN201910530121.XA patent/CN110336798B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124064A1 (en) * | 2010-11-03 | 2012-05-17 | Microsoft Corporation | Transformation of regular expressions |
CN102347949A (zh) * | 2011-09-28 | 2012-02-08 | 上海西默通信技术有限公司 | 基于dpi的应用协议分析方法 |
CN102542063A (zh) * | 2011-12-30 | 2012-07-04 | 华为技术有限公司 | 内容过滤的方法、装置及系统 |
CN103384213A (zh) * | 2011-12-31 | 2013-11-06 | 华为数字技术(成都)有限公司 | 一种检测规则优化配置方法及设备 |
CN102739457A (zh) * | 2012-07-23 | 2012-10-17 | 武汉大学 | 一种基于dpi和svm技术的网络流量识别系统及方法 |
US20140156823A1 (en) * | 2012-12-03 | 2014-06-05 | Huawei Technologies Co., Ltd. | Policy Processing Method and Network Device |
WO2017088683A1 (zh) * | 2015-11-24 | 2017-06-01 | 阿里巴巴集团控股有限公司 | 一种数据脱敏的方法及系统 |
CN106250769A (zh) * | 2016-07-30 | 2016-12-21 | 北京明朝万达科技股份有限公司 | 一种多级过滤的源代码数据检测方法及装置 |
CN106375311A (zh) * | 2016-08-31 | 2017-02-01 | 北京青石绿网科技有限公司 | 一种移动设备dpi应用安全管理方法 |
CN109743260A (zh) * | 2018-12-25 | 2019-05-10 | 南京中新赛克科技有限责任公司 | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711712A (zh) * | 2020-06-03 | 2020-09-25 | 网根(南京)网络中心有限公司 | Dns策略配置方法、系统及存储介质 |
CN112491901A (zh) * | 2020-11-30 | 2021-03-12 | 北京锐驰信安技术有限公司 | 一种网络流量精细化筛选装置及方法 |
CN112491901B (zh) * | 2020-11-30 | 2023-03-24 | 北京锐驰信安技术有限公司 | 一种网络流量精细化筛选装置及方法 |
CN114760369A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 一种协议元数据提取方法、装置、设备及存储介质 |
CN114760369B (zh) * | 2022-04-14 | 2023-12-19 | 曙光网络科技有限公司 | 一种协议元数据提取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110336798B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277578B (zh) | 加密流量分析特征提取方法、系统、存储介质、安全设备 | |
CN110336798A (zh) | 一种基于dpi的报文匹配过滤方法及其装置 | |
US8065722B2 (en) | Semantically-aware network intrusion signature generator | |
CN106131071B (zh) | 一种Web异常检测方法和装置 | |
CN104168288A (zh) | 一种基于协议逆向解析的自动化漏洞挖掘系统及方法 | |
KR100848319B1 (ko) | 웹 구조정보를 이용한 유해 사이트 차단 방법 및 장치 | |
CN110519298A (zh) | 一种基于机器学习的Tor流量识别方法及装置 | |
CN112738015A (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN107360145A (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN107292167A (zh) | 基于精简语法树的sql语句安全检测方法 | |
CN110868409A (zh) | 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统 | |
CN104022924A (zh) | 一种http通信内容检测的方法 | |
US11888874B2 (en) | Label guided unsupervised learning based network-level application signature generation | |
CN108563629A (zh) | 一种日志解析规则自动生成方法和装置 | |
Chu et al. | Prefix-graph: A versatile log parsing approach merging prefix tree with probabilistic graph | |
CN110245195B (zh) | 基于蜜罐系统的结构化查询语言注入检测方法及装置 | |
CN1223941C (zh) | 一种基于相关特征聚类的层次入侵检测系统 | |
CN111211948B (zh) | 基于载荷特征和统计特征的Shodan流量识别方法 | |
CN109672586A (zh) | 一种dpi业务流量识别方法、装置与计算机可读存储介质 | |
CN112054992B (zh) | 恶意流量识别方法、装置、电子设备及存储介质 | |
CN108650145A (zh) | 一种家庭宽带WiFi下手机号码特征自动提取方法 | |
EP3790260B1 (en) | Device and method for identifying network devices in a nat based communication network | |
CN104753934A (zh) | 将未知协议多通信方数据流分离为点对点数据流的方法 | |
CN102521357A (zh) | 一种利用自动机实现文本精确匹配的系统和方法 | |
CN109977298A (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 |