CN104184725A - 一种入侵防御***的引擎检测数据更新方法及装置 - Google Patents
一种入侵防御***的引擎检测数据更新方法及装置 Download PDFInfo
- Publication number
- CN104184725A CN104184725A CN201410369612.8A CN201410369612A CN104184725A CN 104184725 A CN104184725 A CN 104184725A CN 201410369612 A CN201410369612 A CN 201410369612A CN 104184725 A CN104184725 A CN 104184725A
- Authority
- CN
- China
- Prior art keywords
- engine
- data
- pointer
- detection data
- detect
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种入侵防御***的引擎检测数据更新方法及装置,属于计算机网络通信安全领域,所述方法包括:对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。本发明先在内存中生成新的引擎检测数据,然后直接将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,便可实现通过检测引擎的报文所采用的是新的引擎检测数据,从而实现了引擎检测数据更新的无缝切换,避免了入侵防御***的引擎检测数据更新过程中需要暂停报文通过检测引擎,从而有效防止病毒攻击。
Description
技术领域
本发明属于计算机网络通信安全领域,尤其涉及一种入侵防御***的引擎检测数据更新方法及装置。
背景技术
随着电脑的广泛应用和网络的不断普及,来自网络内部和外部的危险和犯罪也日益增多。如今,不仅病毒数量剧增,质量提高,而且通过网络快速传播,在短短的几小时内就能传遍全世界。有的病毒还会在传播过程中改变形态,使防毒软件失效。传统防火墙加入侵检测***(Intrusion Detection Systems,简称IDS)的技术已经无法应对一些新的网络威胁。在这种情况下,入侵防御***(IntrusionPrevention System,简称IPS)技术应运而生,IPS可以深度感知并主动检测流经该IPS的报文,对恶意报文进行丢弃以阻断攻击,对滥用报文进行限流以保护网络带宽资源。
入侵防御***主要有两个部分组成:检测引擎和规则库,前者是报文深度检测的框架流程,后者被解析加载生成引擎检测数据,作为插件嵌入检测引擎中。入侵防御***的攻击事件识别率取决于规则库的完备性,规则库根据新漏洞的出现需要不定期更新升级。目前的入侵防护***在引擎检测数据更新时,需要在入侵防御***的引擎检测数据更新过程中暂停报文通过检测引擎,等引擎检测数据更新完成后,再开启引擎检测功能,这将使设备在这段时间处于无防御状态,有可能在引擎检测数据更新期间放过攻击事件,造成入侵攻击。
发明内容
为解决入侵防御***的引擎检测数据更新过程中需要暂停报文通过检测引擎有可能造成病毒攻击的问题,本发明提供了一种入侵防御***的引擎检测数据更新方法,所述方法包括:
对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
其中,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
释放所述原引擎检测数据。
其中,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
先等待预设时间,再释放所述原引擎检测数据。
其中,在内存中生成新的引擎检测数据后,还包括:
通过第一指针指向所述新的引擎检测数据;
将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据具体包括:
将所述第一指针的值赋给所述全局指针。
其中,将所述第一指针的值赋给所述全局指针前,还包括:
将所述全局指针的值赋给第二指针;
释放所述原引擎检测数据具体包括:
释放所述第二指针所指向地址中的数据。
本发明还公开了一种入侵防御***的引擎检测数据更新装置,所述装置包括:
解析生成模块,用于对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
指向修改模块,用于将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
其中,所述指向修改模块,还用于释放所述原引擎检测数据。
其中,所述指向修改模块,还用于先等待预设时间,再释放所述原引擎检测数据。
其中,所述解析生成模块,还用于通过第一指针指向所述新的引擎检测数据;
所述指向修改模块包括:
指针赋值子模块,用于将所述第一指针的值赋给所述全局指针。
其中,所述解析生成模块,还用于将所述全局指针的值赋给第二指针;
所述指向修改模块包括:
地址释放子模块,用于释放所述第二指针所指向地址中的数据。
本发明先在内存中生成新的引擎检测数据,然后直接将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,便可实现通过检测引擎的报文所采用的是新的引擎检测数据,从而实现了引擎检测数据更新的无缝切换,避免了入侵防御***的引擎检测数据更新过程中需要暂停报文通过检测引擎,从而有效防止病毒攻击。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1是本发明一种实施方式的引擎检测数据更新方法的流程图;
图2是本发明一种实施例的全局指针切换之前指向示意图;
图3是本发明一种实施例的全局指针切换之后指向示意图;
图4是本发明一种实施方式的引擎检测数据更新装置的结构框图
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的引擎检测数据更新方法的流程图;参照图1,所述方法包括以下步骤:
101:对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
本实施方式中,在执行步骤101时,检测引擎仍采用原引擎检测数据对报文进行检测。
102:将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
为便于对入侵防御***更新后的规则库进行解析,在本实施方式中,步骤101中,对入侵防御***更新后的规则库进行解析之前,还包括:接收待更新规则文件,并通过所述待更新规则文件对入侵防御***的规则库进行更新。
在检测引擎采用所述新的引擎检测数据后,原引擎检测数据仍然存在于内存中,占用了一定的内存空间,为提高内存使用率,优选地,步骤101中,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
释放所述原引擎检测数据。
特别的,对于多核架构的设备,在释放所述原引擎检测数据之前需要睡眠一段时间,例如1秒钟,以便可以让全局指针修改为指向所述新的引擎检测数据之前,已经开始通过检测引擎的报文能够完全检测完成,从而避免访问空指针,造成报文漏检,优选地,步骤101中,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
先等待预设时间,再释放所述原引擎检测数据。
为便于实现全局指针修改为指向所述新的引擎检测数据,优选地,
步骤101中,在内存中生成新的引擎检测数据后,还包括:
通过第一指针指向所述新的引擎检测数据;
步骤102中,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据具体包括:
将所述第一指针的值赋给所述全局指针。
为便于释放所述原引擎检测数据,优选地,步骤102中,将所述第一指针的值赋给所述全局指针前,还包括:
将所述全局指针的值赋给第二指针;
步骤102中,释放所述原引擎检测数据具体包括:
释放所述第二指针所指向地址中的数据。
通常的,规则库中的规则协议包括TCP、UDP、ICMP和IP协议等。相应的,上述全局指针也为对应不同的规则协议的多个全局指针。例如,TCP协议对应的全局指针为g_pstPrmTcpRTNX、UDP协议对应的全局指针为g_pstPrmUdpRTNX、ICMP协议对应的全局指针为g_pstPrmIcmpRTNX、IP协议对应的全局指针为g_pstPrmIpRTNX。本实施方式仅为举例说明,不对其进行限定。
下面以TCP协议为例来说明本发明,但不限定本发明的保护范围。设TCP协议对应的全局指针为g_pstPrmTcpRTNX,该全局指针g_pstPrmTcpRTNX指向TCP协议对应的原引擎检测数据。规则库中所有TCP协议的规则都被解析到全局指针g_pstPrmTcpRTNX指向的引擎检测数据中,所述引擎检测数据包含端口组,端口组包括由规则库解析得到包含特定端口信息的规则生成的规则树节点(Rule TreeNode,RTN)和选项树节点(Option Tree Node,OTN)结构。该引擎检测数据占用的内存都是动态分配的。
如图2所示,检测引擎根据全局指针g_pstPrmTcpRTNX采用原引擎检测数据对报文进行检测。若此时入侵防御***的规则库被更新,则对更新后的数据库进行解析,在内存中生成新的引擎检测数据,并由第一指针g_pstPrmTcpRTNXNew指向所述新的引擎检测数据。
新的引擎检测数据生成之后,通过以下步骤将全局指针g_pstPrmTcpRTNX修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据,其中g_pstPrmTcpRTNXOld为临时指针变量:
1)将所述全局指针g_pstPrmTcpRTNX的值赋给第二指针g_pstPrmTcpRTNXOld,即:
g_pstPrmTcpRTNXOld=g_pstPrmTcpRTNX;
2)将所述第一指针g_pstPrmTcpRTNXNew的值赋给所述全局指针g_pstPrmTcpRTNX,即:
g_pstPrmTcpRTNX=g_pstPrmTcpRTNXNew;
将全局指针g_pstPrmTcpRTNX修改为指向所述新的引擎检测数据之后,指针指向如图3所示,报文经过入侵防御***的检测引擎时,检测引擎所采用的引擎检测数据已经变为由g_pstPrmTcpRTNX指向的新的引擎检测数据。最后,释放由g_pstPrmTcpRTNXOld指向地址中的原引擎检测数据。
其它协议如UDP、ICMP及IP和TCP协议规则切换方式相同。
本发明还公开了一种入侵防御***的引擎检测数据更新装置,参照图4,所述装置包括:
解析生成模块,用于对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
指向修改模块,用于将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
优选地,所述指向修改模块,还用于释放所述原引擎检测数据。
优选地,所述指向修改模块,还用于先等待预设时间,再释放所述原引擎检测数据。
优选地,所述解析生成模块,还用于通过第一指针指向所述新的引擎检测数据;
所述指向修改模块包括:
指针赋值子模块,用于将所述第一指针的值赋给所述全局指针。
优选地,所述解析生成模块,还用于将所述全局指针的值赋给第二指针;
所述指向修改模块包括:
地址释放子模块,用于释放所述第二指针所指向地址中的数据。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种入侵防御***的引擎检测数据更新方法,其特征在于,所述方法包括:
对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
2.根据权利要求1所述方法,其特征在于,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
释放所述原引擎检测数据。
3.根据权利要求2所述方法,其特征在于,将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据后,还包括:
先等待预设时间,再释放所述原引擎检测数据。
4.根据权利要求2或3所述方法,其特征在于,在内存中生成新的引擎检测数据后,还包括:
通过第一指针指向所述新的引擎检测数据;
将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据具体包括:
将所述第一指针的值赋给所述全局指针。
5.根据权利要求4所述方法,其特征在于,将所述第一指针的值赋给所述全局指针前,还包括:
将所述全局指针的值赋给第二指针;
释放所述原引擎检测数据具体包括:
释放所述第二指针所指向地址中的数据。
6.一种入侵防御***的引擎检测数据更新装置,其特征在于,所述装置包括:
解析生成模块,用于对入侵防御***更新后的规则库进行解析,在内存中生成新的引擎检测数据;
指向修改模块,用于将指向原引擎检测数据的全局指针修改为指向所述新的引擎检测数据,使得检测引擎采用所述新的引擎检测数据。
7.根据权利要求6所述装置,其特征在于,所述指向修改模块,还用于释放所述原引擎检测数据。
8.根据权利要求7所述装置,其特征在于,所述指向修改模块,还用于先等待预设时间,再释放所述原引擎检测数据。
9.根据权利要求7或8所述装置,其特征在于,所述解析生成模块,还用于通过第一指针指向所述新的引擎检测数据;
所述指向修改模块包括:
指针赋值子模块,用于将所述第一指针的值赋给所述全局指针。
10.根据权利要求9所述装置,其特征在于,所述解析生成模块,还用于将所述全局指针的值赋给第二指针;
所述指向修改模块包括:
地址释放子模块,用于释放所述第二指针所指向地址中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369612.8A CN104184725A (zh) | 2014-07-25 | 2014-07-25 | 一种入侵防御***的引擎检测数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369612.8A CN104184725A (zh) | 2014-07-25 | 2014-07-25 | 一种入侵防御***的引擎检测数据更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104184725A true CN104184725A (zh) | 2014-12-03 |
Family
ID=51965467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410369612.8A Pending CN104184725A (zh) | 2014-07-25 | 2014-07-25 | 一种入侵防御***的引擎检测数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104184725A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835177A (zh) * | 2017-11-10 | 2018-03-23 | 上海携程商务有限公司 | 病毒防护的方法、***、设备及存储介质 |
CN109271193A (zh) * | 2018-10-08 | 2019-01-25 | 广州市百果园信息技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112187552A (zh) * | 2020-10-20 | 2021-01-05 | 西安工程大学 | 一种具有强占优先检测权的ids理论建模方法 |
-
2014
- 2014-07-25 CN CN201410369612.8A patent/CN104184725A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835177A (zh) * | 2017-11-10 | 2018-03-23 | 上海携程商务有限公司 | 病毒防护的方法、***、设备及存储介质 |
CN107835177B (zh) * | 2017-11-10 | 2020-04-21 | 上海携程商务有限公司 | 病毒防护的方法、***、设备及存储介质 |
CN109271193A (zh) * | 2018-10-08 | 2019-01-25 | 广州市百果园信息技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN109271193B (zh) * | 2018-10-08 | 2023-01-13 | 广州市百果园信息技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112187552A (zh) * | 2020-10-20 | 2021-01-05 | 西安工程大学 | 一种具有强占优先检测权的ids理论建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200366694A1 (en) | Methods and systems for malware host correlation | |
US10733297B2 (en) | Real-time signatureless malware detection | |
CN111737696A (zh) | 一种恶意文件检测的方法、***、设备及可读存储介质 | |
US9747442B2 (en) | Preventing malicious instruction execution | |
US11171985B1 (en) | System and method to detect lateral movement of ransomware by deploying a security appliance over a shared network to implement a default gateway with point-to-point links between endpoints | |
US11288090B1 (en) | Methods, systems, and media for injecting code into embedded devices | |
US10193868B2 (en) | Safe security proxy | |
JP6349244B2 (ja) | 車載ネットワークの試験装置 | |
CN111355686B (zh) | 泛洪攻击的防御方法、装置、***和存储介质 | |
CN111343176A (zh) | 一种网络攻击的反制装置、方法、存储介质及计算机设备 | |
US10645107B2 (en) | System and method for detecting and classifying malware | |
CN104184725A (zh) | 一种入侵防御***的引擎检测数据更新方法及装置 | |
CN107430665B (zh) | 安全措施无效化防止装置、安全措施无效化防止方法和记录介质 | |
EP3036880B1 (en) | Method and apparatus for monitoring and filtering universal serial bus network traffic | |
CN113709129A (zh) | 一种基于流量学习的白名单生成方法、装置和*** | |
CN110941825B (zh) | 一种应用监控方法及装置 | |
US9881155B2 (en) | System and method for automatic use-after-free exploit detection | |
CN106416178A (zh) | 用于识别自主的、自传播的软件的方法和设备 | |
CN115580497A (zh) | 容器环境下数据传输控制方法、设备及存储介质 | |
EP3594841A1 (en) | Real-time signatureless malware detection | |
CN113343221A (zh) | 一种终端预警方法和装置 | |
CN116938605B (zh) | 网络攻击防护方法、装置、电子设备及可读存储介质 | |
CN103220187A (zh) | 一种三层端口状态的检测方法和装置 | |
KR20190074071A (ko) | Arp 포이즈닝 공격을 해결하기 위한 sdn 컨트롤러 및 그 동작 방법 | |
CN110493228B (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 |