CN102045247A - 基于Snort规则集的报文处理方法和装置 - Google Patents
基于Snort规则集的报文处理方法和装置 Download PDFInfo
- Publication number
- CN102045247A CN102045247A CN2009102356753A CN200910235675A CN102045247A CN 102045247 A CN102045247 A CN 102045247A CN 2009102356753 A CN2009102356753 A CN 2009102356753A CN 200910235675 A CN200910235675 A CN 200910235675A CN 102045247 A CN102045247 A CN 102045247A
- Authority
- CN
- China
- Prior art keywords
- message
- rule set
- snort rule
- snort
- network interface
- 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
Images
Landscapes
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Abstract
本发明提供了一种基于Snort规则集的报文处理方法和装置,其中,该方法包括:将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;网卡将接收到的报文与转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至报文的头部中;以及软件接口库根据报文的头部中的标签确定报文是否与Snort规则集匹配并进行后续操作。通过在网卡侧进行报文的匹配,不需要占用CPU资源,并且即使在大流量64字节短数据流量下,也不会因为应用处理慢而出现报文丢弃现象,可以支持庞大的Snort规则集,而不会影响报文的接收和后续处理。
Description
技术领域
本发明涉及网络安全处理领域,尤其涉及一种基于Snort规则集的报文处理方法和装置。
背景技术
应用程序软件对网卡接收到的数据报文进行规则匹配,判断是否进行报文过滤等操作。这造成了CPU资源使用率过高。特别是在大流量网络报文和Snort规则集庞大时,使得应用程序无法快速处理报文,产生报文丢弃现象。
如同病毒,大多数入侵行为都具有某种特征,Snort的规则就是用这些特征的有关信息构建的。目前入侵检测系统普遍采用精确的模式匹配算法,如Snort采用基于规则的方式对数据包进行规则匹配来检测多种不同的入侵行为和探测活动,这种方式简单而有效。
但是如果Snort程序本身维护了庞大的规则集,则每接收到一条报文,就需要将报文内容与此规则集进行比较操作,会占有大量的CPU资料,导致后续的报文因没有CPU资源而无法进行快速处理。
现有技术中存在以下缺陷:
(1)应用程序软件进行Snort规则匹配时造成的CPU资源使用率过高等问题;
(2)因为应用程序在接收数据报文时CPU资源使用率高,使得应用程序无法快速处理报文,产生报文丢弃等问题;以及
(3)Snort规则集的大小问题。
发明内容
针对相关技术中存在的一个或多个问题,本发明的目的在于提供一种基于Snort规则集的报文处理方法和装置,以解决上述问题中的至少之一。
为实现上述目的,根据本发明的一个方面,提供了一种基于Snort规则集的报文处理方法,该方法包括:将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;网卡将接收到的报文与转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至报文的头部中;以及软件接口库根据报文的头部中的标签确定报文是否与Snort规则集匹配并进行后续操作。
优选地,内存缓冲区的物理地址被存储在网卡相关寄存器中,网卡根据网卡相关寄存器中的物理地址访问转换后的Snort规则集。
优选地,网卡相关寄存器为内存地址配置寄存器。
优选地,Snort规则集中的规则可以包括以下至少之一:源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、以及协议。
优选地,标签可以包括以下至少之一:规则ID、动作ID、时间戳、报文类型、以及报文总长度。
优选地,后续操作可以包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
为实现上述目的,根据本发明的另一个方面,提供了一种基于Snort规则集的报文处理装置,该报文处理装置位于网卡侧,该装置包括:转换模块,用于将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;匹配模块,用于将接收到的报文与转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至报文的头部中;以及报文处理模块,用于根据识别出的标签确定报文是否与Snort规则集匹配并进行后续操作。
优选地,Snort规则集中的规则可以包括以下至少之一:源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、以及协议。
优选地,标签可以包括以下至少之一:规则ID、动作ID、时间戳、报文类型、以及报文总长度。
优选地,后续操作可以包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
借助本发明上述至少一个技术方案,通过在网卡侧进行报文的匹配,不需要占用CPU资源,并且即使在大流量64字节短数据流量下,也不会因为应用处理慢而出现报文丢弃现象,可以支持庞大的Snort规则集,而不会影响报文的接收和后续处理。
附图说明
图1是根据本发明的基于Snort规则集的报文处理方法的流程图;以及
图2是根据本发明的基于Snort规则集的报文处理装置的框图。
具体实施方式
考虑到相关技术中存在的的问题,本发明提出了一种基于Snort规则集的报文处理方法和装置,通过在网卡侧进行报文的匹配,不需要占用CPU资源,并且即使在大流量64字节短数据流量下,也不会因为应用处理慢而出现报文丢弃现象,可以支持庞大的Snort规则集,而不会影响报文的接收和后续处理。
图1是根据本发明的基于Snort规则集的报文处理方法的流程图。如图1所示,根据本发明的报文处理方法包括:
步骤S102,将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中。
其中,内存缓冲区的物理地址被存储在网卡相关寄存器中,网卡根据网卡相关寄存器中的物理地址访问转换后的Snort规则集。网卡相关寄存器为内存地址配置寄存器。
Snort规则有一定的格式及含义,需要对snort规则进行转换,以便于网卡硬件存储和识别,转换后的规则可以包括以下至少之一,如下所示:
源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、协议、以及其他。
转换的目的是让网卡硬件完成规则匹配,这样,后续Snort应用程序不需要再进行规则匹配操作,只需要根据报文头部的标签就可判断后续的操作,可以明显降低CPU资源的占用率。
步骤S104,网卡将接收到的报文与转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至报文的头部中。
具体地,网卡根据Snort规则集,判断接收到的报文是否匹配,并在报文附加头部打上相应的标签。
标签可以包括以下至少之一:
规则ID
动作ID
时间戳
报文类型
报文总长度
步骤S106,软件接口库根据报文的头部中的标签确定报文是否与Snort规则集匹配并进行后续操作。
软件接口库进行的后续操作可以包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
图2是根据本发明的基于Snort规则集的报文处理方法的流程图。如图2所示,根据本发明的报文处理装置200位于网卡侧,该装置包括:转换模块202,用于将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;匹配模块204,用于将接收到的报文与转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至报文的头部中;以及报文处理模块206,用于根据识别出的标签确定报文是否与Snort规则集匹配并进行后续操作。
其中,Snort规则集中的规则可以包括以下至少之一:源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、以及协议。添加的标签可以包括以下至少之一:规则ID、动作ID、时间戳、报文类型、以及报文总长度。
后续操作可以包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
通过上述一个或多个技术方案,本发明采用网卡来转换Snort规则并将报文与转换后的Snort规则进行匹配,标记匹配结果以供后续操纵使用。在本发明中,网卡硬件本身进行规则集匹配,不占用CPU资源,即使在大流量64字节短数据流量下,也不会因为应用处理慢而出现报文丢弃现象,并且本发明可以支持庞大的Snort规则集,而不会影响报文的接收和后续处理。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Snort规则集的报文处理方法,其特征在于,所述方法包括:
将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;
所述网卡将接收到的报文与所述转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至所述报文的头部中;以及
软件接口库根据所述报文的头部中的标签确定所述报文是否与所述Snort规则集匹配并进行后续操作。
2.根据权利要求1所述的方法,其特征在于,所述内存缓冲区的物理地址被存储在网卡相关寄存器中,所述网卡根据所述网卡相关寄存器中的物理地址访问所述转换后的Snort规则集。
3.根据权利要求2所述的方法,其特征在于,所述网卡相关寄存器为内存地址配置寄存器。
4.根据权利要求1所述的方法,其特征在于,所述Snort规则集中的规则包括以下至少之一:源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、以及协议。
5.根据权利要求1所述的方法,其特征在于,所述标签包括以下至少之一:规则ID、动作ID、时间戳、报文类型、以及报文总长度。
6.根据权利要求1所述的方法,其特征在于,所述后续操作包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
7.一种基于Snort规则集的报文处理装置,其特征在于,所述报文处理装置位于网卡侧,所述装置包括:
转换模块,用于将Snort规则集转换为网卡能够识别的格式并将转换后的Snort规则集存储在内存缓冲区中;
匹配模块,用于将接收到的报文与所述转换后的Snort规则集中的规则进行匹配,并将与匹配结果相应的标签添加至所述报文的头部中;以及
报文处理模块,用于根据识别出的所述标签确定所述报文是否与所述Snort规则集匹配并进行后续操作。
8.根据权利要求7所述的装置,其特征在于,所述Snort规则集中的规则包括以下至少之一:源IP地址、源IP地址掩码、目的IP地址、目的IP地址掩码、源端口、目的端口、以及协议。
9.根据权利要求7所述的装置,其特征在于,所述标签包括以下至少之一:规则ID、动作ID、时间戳、报文类型、以及报文总长度。
10.根据权利要求7所述的装置,其特征在于,所述后续操作包括以下至少之一:过滤报文、调用警告程序进行警告、调用日志程序生成日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102356753A CN102045247A (zh) | 2009-10-12 | 2009-10-12 | 基于Snort规则集的报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102356753A CN102045247A (zh) | 2009-10-12 | 2009-10-12 | 基于Snort规则集的报文处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102045247A true CN102045247A (zh) | 2011-05-04 |
Family
ID=43911049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102356753A Pending CN102045247A (zh) | 2009-10-12 | 2009-10-12 | 基于Snort规则集的报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102045247A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201948A (zh) * | 2011-05-27 | 2011-09-28 | 北方工业大学 | 用于网络入侵检测系统的快速匹配方法 |
CN102801659A (zh) * | 2012-08-15 | 2012-11-28 | 成都卫士通信息产业股份有限公司 | 一种基于流策略的安全网关实现方法及装置 |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
CN104142993A (zh) * | 2014-07-30 | 2014-11-12 | 东软集团股份有限公司 | 基于深度特征的复杂snort规则分类方法及系统 |
CN107341096A (zh) * | 2017-06-28 | 2017-11-10 | 百度在线网络技术(北京)有限公司 | 日志文件的生成方法和装置、计算机设备和存储介质 |
CN112995174A (zh) * | 2021-02-24 | 2021-06-18 | 紫光云技术有限公司 | 基于snort的入侵防御系统 |
CN114124446A (zh) * | 2021-10-12 | 2022-03-01 | 广西电网有限责任公司桂林供电局 | 基于Snort引擎采用逻辑回归算法的防入侵检测系统 |
-
2009
- 2009-10-12 CN CN2009102356753A patent/CN102045247A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201948A (zh) * | 2011-05-27 | 2011-09-28 | 北方工业大学 | 用于网络入侵检测系统的快速匹配方法 |
CN102201948B (zh) * | 2011-05-27 | 2013-09-18 | 北方工业大学 | 用于网络入侵检测系统的快速匹配方法 |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
CN103139253B (zh) * | 2011-11-30 | 2016-03-09 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
US9680690B2 (en) | 2011-11-30 | 2017-06-13 | Huawei Technologies Co., Ltd. | Method, network adapter, host system, and network device for implementing network adapter offload function |
CN102801659A (zh) * | 2012-08-15 | 2012-11-28 | 成都卫士通信息产业股份有限公司 | 一种基于流策略的安全网关实现方法及装置 |
CN102801659B (zh) * | 2012-08-15 | 2016-03-30 | 成都卫士通信息产业股份有限公司 | 一种基于流策略的安全网关实现方法及装置 |
CN104142993A (zh) * | 2014-07-30 | 2014-11-12 | 东软集团股份有限公司 | 基于深度特征的复杂snort规则分类方法及系统 |
CN104142993B (zh) * | 2014-07-30 | 2017-08-29 | 东软集团股份有限公司 | 基于深度特征的复杂snort规则分类方法及系统 |
CN107341096A (zh) * | 2017-06-28 | 2017-11-10 | 百度在线网络技术(北京)有限公司 | 日志文件的生成方法和装置、计算机设备和存储介质 |
CN112995174A (zh) * | 2021-02-24 | 2021-06-18 | 紫光云技术有限公司 | 基于snort的入侵防御系统 |
CN114124446A (zh) * | 2021-10-12 | 2022-03-01 | 广西电网有限责任公司桂林供电局 | 基于Snort引擎采用逻辑回归算法的防入侵检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045247A (zh) | 基于Snort规则集的报文处理方法和装置 | |
AU2007234897B2 (en) | Merging multi-line log entries | |
CN103034807B (zh) | 恶意程序检测方法和装置 | |
CN107360145B (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN110401624A (zh) | 源网荷系统交互报文异常的检测方法及系统 | |
CN110912927B (zh) | 工业控制系统中控制报文的检测方法及装置 | |
CN103929334A (zh) | 网络异常通知方法和装置 | |
CN103297267B (zh) | 一种网络行为的风险评估方法和系统 | |
CN106209684A (zh) | 一种基于时间触发转发检测调度的方法 | |
CN107454072B (zh) | 一种多路数据内容的对比方法及装置 | |
CN107135234A (zh) | 一种数据流量监听控制的方法和装置 | |
CN112738099B (zh) | 一种检测慢速攻击的方法、装置、存储介质和电子设备 | |
CN101710898B (zh) | 一种用于识别应用软件通信协议特征的方法 | |
CN105516200B (zh) | 云系统安全处理方法和装置 | |
CN103369555A (zh) | 一种用于检测手机病毒的方法和装置 | |
WO2019041747A1 (zh) | 一种sip信息分析方法、装置、服务器及介质 | |
CN100349424C (zh) | 一种链路状态的检测方法 | |
CN108306865B (zh) | 基于Netty框架的modbus粘包处理方法、装置 | |
CN103297480A (zh) | 一种应用服务自动检测系统和方法 | |
CN114048467A (zh) | 基于入侵检测系统的模型数据处理方法、装置、设备及存储介质 | |
CN101771575A (zh) | 一种处理ip分片报文的方法、装置及系统 | |
CN112622687B (zh) | 充电柜的换电控制方法和装置 | |
CN110932733B (zh) | 按键扫描方法及输入设备 | |
CN106998327A (zh) | 一种接入控制方法和装置 | |
CN104253786A (zh) | 一种基于正则表达式的深度包检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, No. 36 Applicant after: Dawning Information Industry (Beijing) Co., Ltd. Address before: 100084 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District Applicant before: Dawning Information Industry (Beijing) Co., Ltd. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110504 |