CN105897739A - 数据包深度过滤方法 - Google Patents
数据包深度过滤方法 Download PDFInfo
- Publication number
- CN105897739A CN105897739A CN201610345878.8A CN201610345878A CN105897739A CN 105897739 A CN105897739 A CN 105897739A CN 201610345878 A CN201610345878 A CN 201610345878A CN 105897739 A CN105897739 A CN 105897739A
- Authority
- CN
- China
- Prior art keywords
- packet
- offset
- character string
- search tree
- rule
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据包深度过滤方法,根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树;对待检测数据包依次在每个查找树中的首位的叶节点进行索引查找,如果与任意一个查找树中的首位的叶节点匹配,则所述待检测数据包为疑似攻击包转发到检测引擎进行检测。本发明能够检测出一些具备明显攻击特征的数据包,将其送入攻击检测引擎进行检测,将不具备攻击特征的数据包直接转发,从而减少引擎在转发过程中对数据包进行规则检测而导致的性能下降。
Description
技术领域
本发明涉及网络入侵检测技术领域,具体涉及一种数据包深度过滤方法。
背景技术
随着网络的发展,各种攻击手段也层出不穷,如后门程序、信息炸弹、拒绝服务、网络监听。全球范围内网络威胁的数量及复杂度正快速提升,在这样的背景下,网络安全技术必须不断更新,才能保证网络环境的安全。目前的网络安全技术主要有:虚拟网技术,防火墙技术,病毒防护技术,入侵检测技术,安全扫描技术,认证和数字签名技术,VPN技术等。防火墙技术是用来控制网络之间互相访问,防止内部网络被外部网络用户非法访问,可以有效的屏蔽内部网络受外部网络的威胁。虽然防火墙是保护网络免受外部攻击的有效手段,但是防火墙没有办法解决内部节点发起的攻击,而据目前的研究表示很多的网络安全事件是由网络内部节点引起的,入侵检测技术可以有效的解决这一问题。入侵检测系统通过捕获网络中的数据包,对其进行分析,跟已有的规则库进行匹配,来判断是否有违反安全策略的行为和被攻击的迹象。入侵检测系统是一种实时的、主动的安全防护技术,能够检测内部入侵、外部入侵和误操作行为,一旦发现攻击及时记录和响应。入侵检测作为信息安全的重要领域,具有重要的研究价值和意义,随着网络流量的不断增大,攻击手法的复杂化,入侵检测系统也需要不断优化,才能提供实时,高效、高质量的安全防护的服务。目前的入侵检测系统主要存在以下问题:误报/漏报;网络流量不断增大,使得入侵检测系统的计算速度不能满足需求;拒绝服务攻击;入侵检测系统宕机问题等。
目前入侵检测系统存在的主要问题有:
1.误报/漏报
误报/漏报产生的主要原因是:第一攻击种类越来越多,攻击手法越来越复杂,使得入侵规则条目不断增多,从而使入侵检测系统的计算负荷成线性增加;第二,网络规模越来越大,网络带宽不断增长,使得数据包捕获和分析能力很难跟上网络流量的增加,导致了网络数据包丢失;第三,攻击技术趋于隐蔽化、复杂化,也加重了误报/漏报的现象。
2.不断增大的网络流量使计算速度不能满足计算量的需求入侵检测作为一种主动的,实时的防护系统,所以需要做到快速处理数据,分析数据。而随着网络规模的不断扩大,网络流量的不断增加,出现了 IDS系统计算速度跟不上的问题。基于模式匹配方法的检测系统所需要的计算量是非常惊人的。在系统运行整个过程中,模式匹配所占时间比重相当大,据统计,在应用最广泛的入侵检测系统Snort中处理20万个Web访问数据包时,模式串匹配时间占用了系统运行总时间的47.7%。随着网络带宽的不断增加,将对入侵检测系统提出更高大的挑战。
3.阻断入侵的能力低。
入侵检测系统的工作重点在于对入侵行为的识别,为了提高网络安全,有效识别黑客入侵,必须提高入侵检测系统的阻断攻击能力。而目前IDS仅能识别IP地址,无法定位IP地址,不能识别数据来源。IDS系统在发现攻击事件的时候,只能关闭网络出口和服务器等少数端口,但这样关闭同时会影响其他正常用户的使用。因而其缺乏更有效的响应处理机制
4.入侵检测系统体系结构的问题。
目前的IDS主要采用单一主机收集信息或通过多个分布式的主机收集信息,然后按照唯一的或多种标准对收集的这些信息在一台计算机上集中分析处理。这种体系结构存在单点失效以及可扩展性差等问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据包深度过滤方法。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种数据包深度过滤方法,该方法为:根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树;对待检测数据包依次在每个查找树中的首位的叶节点进行索引查找,如果与任意一个查找树中的首位的叶节点匹配,则所述待检测数据包为疑似攻击包转发到检测引擎进行检测。
上述方案中,该方法还包括:如果与所有查找树中的首位的叶节点均布匹配,则所述待检测数据包直接转发到目的地址。
上述方案中,所述根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树,具体为:根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对所述content字符串按照从小到大的进行排序,之后,所述排序后的content字符串从头到尾每个相同字符构成一个叶节点,所有叶节点组成一个查找树,重复构建每个offset的查找树。
与现有技术相比,本发明的有益效果:
本发明能够检测出一些具备明显攻击特征的数据包,将其送入攻击检测引擎进行检测,将不具备攻击特征的数据包直接转发,从而减少引擎在转发过程中对数据包进行规则检测而导致的性能下降。
附图说明
图1为本发明实施例提供一种数据包深度过滤方法的流程图;
图2为本发明实施例提供一种数据包深度过滤方法的查找树的示意图;
图3为本发明实施例提供一种数据包深度过滤方法的索引查找流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明实施例提供一种数据包深度过滤方法,如图1所示,该方法通过以下步骤实现:
步骤101:根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树。
具体的, 大多数snort规则都写在一个单行上,或者在多行之间的行尾用/分隔。snort规则被分成两个逻辑部分:规则头和规则选项;规则头包含规则的动作、协议、源和目标ip地址与网络掩码、以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。
下面是一个规则范例:
alert tcp any any -> 192.168.1.0/24 111 (content:"|00 01 86 a5|"; msg:"mountd access";)
其中,content 关键字是snort中比较重要的一个。它允许用户设置规则在包的负载中搜索指定的内容并根据内容触发响应。当进行content选项模式匹配时,Boyer-Moore模式匹配函数被调用,并且对包的内容进行检查(很花费计算能力)。如果包的负载中包含的数据确切地匹配了参数的内容,这个检查成功并且该规则选项的其他部分被执行;所述检查是大小写敏感的。
Content关键字的选项数据比较复杂;它可以包含混合的文本和二进制数据。二进制数据一般包含在管道符号中("|"),表示为字节码(bytecode)。字节码把二进制数据表示为16进制数字,是描述复杂二进制数据的好方法。下面是包含了一个混合数据的snort规则范例。
alert tcp any any -> 192.168.1.0/24 143 (content: "|90C8 C0FFFFFF|/bin/sh";offset:3; depth: 22;msg: "IMAP buffer overflow!";)
offset(偏移)规则选项被用作使用content规则选项关键字的规则的修饰符,这个关键字修饰符指定模式匹配函数从包负载开始处开始搜索的偏移量,depth也是一个content规则选项修饰符,它设置了内容模式匹配函数从他搜索的区域的起始位置搜索的最大深度。
根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对所述content字符串按照从小到大的进行排序,之后,所述排序后的content字符串从头到尾每个相同字符构成一个叶节点,所有叶节点组成一个查找树,重复构建每个offset的查找树。
例如:通过snort规则中的content字段进行建立查找树;如下例所示,不同规则中相同offset的content:
规则1:content:“abc”
规则2:content:“bijk”
规则3: content: “bmk”
规则4:content:“aefg”
规则5: content: “bmn”
首先对content字符串进行排序,按照从小到大的顺序进行排序得到下表
步骤:
Step0:offset = 0,每个offset创建相应文件。
Step1:从规则中读出相应offset的content。
Step2:对content进行字符串排序。
Step3:将排序结果写入对应offset文件。
Step4:offset是否小于MAX_OFFSET,是转Step1,否转Step5。
Step5:结束。
根据排序好的content字符串建立查找树,所述查找树如图2所示。每个叶节点为一个content的字符,经过排序好的content字符串,每列上有多行相同的字符。将这些相同的字符合并为一个相同的节点。首字母直接进行索引查找,每个不同的offset建立一个查找树,多个不同offset的查找树建立起整个的过滤模型。
建树算法如下:
Step0:offset=0。
Step1:读出对应offset文件中排序好的字符串。
Step2:将读出的字符串建立查找树。
Step3:offset小于MAX_OFFSET,是转Step1,否转Step4。
Step4:结束。
步骤102:对待检测数据包依次在每个查找树中的首位的叶节点进行索引查找,如果与任意一个查找树中的首位的叶节点匹配,则所述待检测数据包为疑似攻击包转发到检测引擎进行检测,反之,则直接转发到目的地址。
具体地,如图3所示,filter[][]表示整个过滤模型,行表示不同的offset,对一个offset对应的查找树进行查找时,先用数据包payload(数据包应用层负载)的首字母进行索引,获取查找树根节点filter[offset][payload[offset]],每个查找树的叶节点对应一个content字符。如果代入的payload能够在遍历查找树的过程中遍历到其中一个叶节点,说明数据包含有攻击特征,送入引擎进行攻击检测。否则,直接转发。
算法步骤:
Step0:接收一个数据包。
Step1:取出数据包负载。
Step2:将负载带入过滤模型中查找攻击特征,具备攻击特征转Step3,否则转Step4。
Step3:将数据包送入入侵检测引擎,转Step5。
Step4:直接转发数据包。
Step5:结束。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (3)
1.一种数据包深度过滤方法,其特征在于,该方法为:根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树;对待检测数据包依次在每个查找树中的首位的叶节点进行索引查找,如果与任意一个查找树中的首位的叶节点匹配,则所述待检测数据包为疑似攻击包转发到检测引擎进行检测。
2.根据权利要求1所述的一种数据包深度过滤方法,其特征在于,该方法还包括:如果与所有查找树中的首位的叶节点均布匹配,则所述待检测数据包直接转发到目的地址。
3.根据权利要求1所述的一种数据包深度过滤方法,其特征在于,所述根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对每种offset的content字符串构件一个查找树,具体为:根据snort规则对数据包进行过滤获得不同规则中相同offset的content字符串,对所述content字符串按照从小到大的进行排序,之后,所述排序后的content字符串从头到尾每个相同字符构成一个叶节点,所有叶节点组成一个查找树,重复构建每个offset的查找树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610345878.8A CN105897739A (zh) | 2016-05-23 | 2016-05-23 | 数据包深度过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610345878.8A CN105897739A (zh) | 2016-05-23 | 2016-05-23 | 数据包深度过滤方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105897739A true CN105897739A (zh) | 2016-08-24 |
Family
ID=56717551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610345878.8A Pending CN105897739A (zh) | 2016-05-23 | 2016-05-23 | 数据包深度过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105897739A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534095A (zh) * | 2016-10-27 | 2017-03-22 | 成都知道创宇信息技术有限公司 | 一种waf安全规则的快速匹配方法 |
CN108282454A (zh) * | 2017-01-06 | 2018-07-13 | 瞻博网络公司 | 用于使用内联模式匹配加速安全检查的装置、系统和方法 |
CN113132341A (zh) * | 2020-01-16 | 2021-07-16 | 深信服科技股份有限公司 | 网络攻击行为的检测方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188267A (zh) * | 2013-03-27 | 2013-07-03 | 中国科学院声学研究所 | 一种基于dfa的协议解析方法 |
CN103425771A (zh) * | 2013-08-12 | 2013-12-04 | 深圳市华傲数据技术有限公司 | 一种数据正则表达式的挖掘方法及装置 |
CN103491069A (zh) * | 2013-09-05 | 2014-01-01 | 北京科能腾达信息技术股份有限公司 | 网络数据包的过滤方法 |
CN104765890A (zh) * | 2015-04-30 | 2015-07-08 | 深圳市优网科技有限公司 | 一种快速查找方法和装置 |
CN104796421A (zh) * | 2015-04-21 | 2015-07-22 | 西安工程大学 | 一种多媒体网络入侵检测方法 |
CN105046720A (zh) * | 2015-07-10 | 2015-11-11 | 北京交通大学 | 基于人体运动捕捉数据字符串表示的行为分割方法 |
CN105260354A (zh) * | 2015-08-20 | 2016-01-20 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树构造的中文ac自动机工作方法 |
CN105373601A (zh) * | 2015-11-09 | 2016-03-02 | 国家计算机网络与信息安全管理中心 | 一种基于关键字词频特征的多模式匹配方法 |
-
2016
- 2016-05-23 CN CN201610345878.8A patent/CN105897739A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188267A (zh) * | 2013-03-27 | 2013-07-03 | 中国科学院声学研究所 | 一种基于dfa的协议解析方法 |
CN103425771A (zh) * | 2013-08-12 | 2013-12-04 | 深圳市华傲数据技术有限公司 | 一种数据正则表达式的挖掘方法及装置 |
CN103491069A (zh) * | 2013-09-05 | 2014-01-01 | 北京科能腾达信息技术股份有限公司 | 网络数据包的过滤方法 |
CN104796421A (zh) * | 2015-04-21 | 2015-07-22 | 西安工程大学 | 一种多媒体网络入侵检测方法 |
CN104765890A (zh) * | 2015-04-30 | 2015-07-08 | 深圳市优网科技有限公司 | 一种快速查找方法和装置 |
CN105046720A (zh) * | 2015-07-10 | 2015-11-11 | 北京交通大学 | 基于人体运动捕捉数据字符串表示的行为分割方法 |
CN105260354A (zh) * | 2015-08-20 | 2016-01-20 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树构造的中文ac自动机工作方法 |
CN105373601A (zh) * | 2015-11-09 | 2016-03-02 | 国家计算机网络与信息安全管理中心 | 一种基于关键字词频特征的多模式匹配方法 |
Non-Patent Citations (2)
Title |
---|
刘瑞挺: "数据结构", 《计算机二级教程(基础知识)》 * |
康乃真: "数据结构基础", 《计算机概论教程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534095A (zh) * | 2016-10-27 | 2017-03-22 | 成都知道创宇信息技术有限公司 | 一种waf安全规则的快速匹配方法 |
CN108282454A (zh) * | 2017-01-06 | 2018-07-13 | 瞻博网络公司 | 用于使用内联模式匹配加速安全检查的装置、系统和方法 |
CN108282454B (zh) * | 2017-01-06 | 2021-09-17 | 瞻博网络公司 | 用于使用内联模式匹配加速安全检查的装置、系统和方法 |
CN113132341A (zh) * | 2020-01-16 | 2021-07-16 | 深信服科技股份有限公司 | 网络攻击行为的检测方法、装置、电子设备及存储介质 |
CN113132341B (zh) * | 2020-01-16 | 2023-03-21 | 深信服科技股份有限公司 | 网络攻击行为的检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112738015B (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN102821002B (zh) | 网络流量异常检测方法和系统 | |
US7424744B1 (en) | Signature based network intrusion detection system and method | |
US20070056038A1 (en) | Fusion instrusion protection system | |
CN108933731A (zh) | 基于大数据分析的智能网关 | |
Akbar et al. | Intrusion detection system methodologies based on data analysis | |
US10291632B2 (en) | Filtering of metadata signatures | |
Lahre et al. | Analyze different approaches for ids using kdd 99 data set | |
Ananin et al. | Port scanning detection based on anomalies | |
US10944724B2 (en) | Accelerating computer network policy search | |
CN105897739A (zh) | 数据包深度过滤方法 | |
CN117294517A (zh) | 解决异常流量的网络安全保护方法及系统 | |
Radivilova et al. | The complex method of intrusion detection based on anomaly detection and misuse detection | |
Jaiganesh et al. | An efficient algorithm for network intrusion detection system | |
Trabelsi et al. | Network packet filtering and deep packet inspection hybrid mechanism for IDS early packet matching | |
Kazienko et al. | Intrusion detection systems (IDS) Part 2-Classification; methods; techniques | |
Vattikuti et al. | Ddos attack detection and mitigation using anomaly detection and machine learning models | |
Seo et al. | Generative intrusion detection and prevention on data stream | |
CN116827690A (zh) | 基于分布式的抗DDoS攻击及云WAF防御方法 | |
Yadav et al. | Comparative study of datasets used in cyber security intrusion detection | |
Caulkins et al. | A dynamic data mining technique for intrusion detection systems | |
Leghris et al. | Improved security intrusion detection using intelligent techniques | |
US12113812B2 (en) | Method for detection of lateral movement of malware | |
Silalahi et al. | Rule generator for IPS by using honeypot to fight polymorphic worm | |
Dadkhah et al. | Alert correlation through a multi components architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160824 |
|
RJ01 | Rejection of invention patent application after publication |