CN112685063B - 特征库更新方法、装置、网络设备及可读存储介质 - Google Patents
特征库更新方法、装置、网络设备及可读存储介质 Download PDFInfo
- Publication number
- CN112685063B CN112685063B CN202011643313.0A CN202011643313A CN112685063B CN 112685063 B CN112685063 B CN 112685063B CN 202011643313 A CN202011643313 A CN 202011643313A CN 112685063 B CN112685063 B CN 112685063B
- Authority
- CN
- China
- Prior art keywords
- feature library
- data
- updating
- replacing
- plane
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000001360 synchronised effect Effects 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种特征库更新方法、装置、网络设备及可读存储介质,涉及网络安全技术领域。方法包括:当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在网络设备的共享内存的指定数据结构中,加载并编译用于替换第一特征库的第二特征库,其中,指定数据结构设置有同步锁;当控制平面对指定数据结构的写操作结束时,通过同步锁将网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库,能够改善在对特征库更新期间无法对报文进行检测的问题。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种特征库更新方法、装置、网络设备及可读存储介质。
背景技术
在网络安全领域中,当发现一种网络攻击时,研发人员可以提取攻击报文的特征串,加入特征库,并定期更新到客户的网络设备。网络设备收到特征库后,升级特征库,使用新的特征库检测网络流量。目前,升级特征库需要重启引擎,在引擎重启后,读取更新后的特征库,解析、编译特征,然后开始读取、检测报文。引擎重启时间比较长,在这个时间段内,引擎无法检测报文,可能导致系统漏报。
发明内容
本申请实施例的目的在于提供一种特征库更新方法、装置、网络设备及可读存储介质,能够改善在对特征库更新期间无法对报文进行检测的问题。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请实施例提供一种特征库更新方法,应用于网络设备,所述方法包括:
当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
在上述的实施方式中,通过控制平面将用于更新的第二特征库写入共享内存的指定数据结构中,如此,不会影响数据平面继续对网络数据进行安全检测。当控制平面将第二特征库完全写入至指定数据结构中后,再将数据平面当前使用的第一特征库替换为第二特征库,如此,可以快速实现特征库的热更新,且无需重启引擎,另外,在更新期间,数据平面可以继续使用第一特征库进行网络数据的检测,能够改善在对特征库更新期间无法对报文进行检测的问题。
结合第一方面,在一些可选的实施方式中,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库,包括:
通过所述同步锁将所述数据平面当前使用的所述第一特征库的地址更换为所述指定数据结构的地址。
在上述的实施方式中,通过将数据平面当前使用的第一特征库的地址更换为指定数据结构的地址,基于此,数据平面后续在使用特征库时,直接利用指定数据结构的地址,获取第二特征库,从而可以实现特征库的快速更新。
结合第一方面,在一些可选的实施方式中,在加载并编译用于替换所述第一特征库的第二特征库之前,所述方法还包括:
判断所述第二特征库的版本优先级是否高于所述第一特征库的版本优先级;
当所述第二特征库的版本优先级高于所述第一特征库的版本优先级时,生成用于对所述第一特征库进行更新的所述控制指令,或生成用于对所述第一特征库进行更新的提示信息。
结合第一方面,在一些可选的实施方式中,在通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库之前,方法还包括:
当接收到待测数据时,通过所述数据平面根据所述第一特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
在上述的实施方式中,在特征库更新期间,数据平面可以继续利用第一特征库进行网络数据的检测,如此,有利于改善因更新期间停止对网络数据检测而出现漏检的情况。
结合第一方面,在一些可选的实施方式中,在将所述网络设备的数据平面当前使用的第一特征库更换为经过编译的第二特征库之后,方法还包括:
当接收到待测数据时,通过所述数据平面根据经过编译的第二特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将所述第一特征库存储于所述共享内存的备用区。
结合第一方面,在一些可选的实施方式中,在通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库之后,所述方法还包括:
删除所述第一特征库。
第二方面,本申请实施例还提供一种特征库更新装置,应用于网络设备,所述装置包括:
加载编译单元,用于当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
更新单元,用于当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
第三方面,本申请实施例还提供一种网络设备,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行上述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网络设备与服务器的通信连接示意图。
图2为本申请实施例提供的网络设备的结构示意图。
图3为本申请实施例提供的特征库更新方法的流程示意图。
图4为本申请实施例提供的特征库更新装置的框图。
图标:10-网络设备;11-处理模块;12-存储模块;13-共享内存;14-通信模块;20-服务器;100-特征库更新装置;110-加载编译单元;120-更新单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请结合参照图1和图2,本申请实施例提供的网络设备10可以与其他设备建立通信连接。例如,网络设备10可以与服务器20建立通信连接,以进行数据交互。例如,网络设备10可以从服务器20获取最新的特征库,用于对网络设备10自身的特征库进行更新。
特征库为用于对网络数据进行检测的规则的集合,例如,特征库可以用于检测网络数据是否存在网络攻击、钓鱼等安全隐患。可理解地,特征库所包括的规则为本领域技术人员熟知。网络数据可以根据实际情况进行确定,包括但不限于请求报文、文件内容等。
在本实施例中,网络设备10可以包括处理模块11及存储模块12。存储模块12内存储有计算机程序,当计算机程序被所述处理模块11执行时,使得网络设备10能够执行下述方法中的各步骤。
当然,网络设备10还可以包括其他模块。例如,网络设备10还可以包括共享内存13、通信模块14、固化在存储模块12中的特征库更新装置100等。
处理模块11、存储模块12、共享内存13、通信模块14以及特征库更新装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,共享内存13为存储模块12中的存储区域,或者共享内存13可以固化在存储模块12中。当然,在其他实施方式中,共享内存13与存储模块12可以为相互独立的模块。共享内存13可以供处理模块11中的控制平面及数据平面进行相应的读写操作。
另外,处理模块11可以为多核处理器。处理模块11中包括数据平面及控制平面。其中,控制平面与数据平面可理解为运行在处理模块11中的不同核的处理进程,可以作为用于网络数据安全检测的引擎。其中,控制平面的处理核与数据平面的处理核不同。需要说明的是,数据平面及控制平面的处理核可以为一个或多个,均可以根据实际情况进行设置。
在网络安全领域中,控制平面可以用于对特征库进行更新。数据平面可以通过特征库,对网络数据进行安全检测。
在本实施例中,网络设备10可以是但不限于路由器、交换机、个人电脑等,需要进行网络数据安全检测的设备。服务器20可以用于存储各种版本的特征库。当然,在其他实施方式中,各种版本的特征库还可以存储在其他设备中,而不限于服务器20。网络设备10可以从其他设备获取用于更新的特征库。
请参照图3,本申请实施例还提供一种特征库更新方法,可以应用于上述的网络设备10,由网络设备10执行或实现方法的各步骤。方法可以包括如下步骤:
步骤S210,当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
步骤S220,当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
在上述的实施方式中,通过控制平面将用于更新的第二特征库写入共享内存的指定数据结构中,如此,不会影响数据平面继续对网络数据进行安全检测。当控制平面将第二特征库完全写入至指定数据结构中后,再将数据平面当前使用的第一特征库替换为第二特征库,如此,可以快速实现特征库的热更新,且无需重启引擎,另外,在更新期间,数据平面可以继续使用第一特征库进行网络数据的检测,能够改善在对特征库更新期间无法对报文进行检测的问题。
下面将对方法的各步骤进行详细阐述,如下:
在步骤S210中,控制指令可以是服务器生成的,也可以是网络设备自动生成的,这里对控制指令的生成方式不作具体限定。可理解地,控制指令用于控制网络设备对第一特征库进行更新。
当网络设备的系统启动时,控制平面便可以启动守护进程,并对共享内存中的指定数据结构创建同步锁。当网络设备接收到控制指令时,便可以通过控制平面所启动的守护进程,在共享内存中的指定数据结构中,加载并编译用于替换第一特征库的第二特征库。其中,守护进程用于加载、编译第二特征库。第二特征库用于替换网络设备自身的第一特征库。第二特征库可以理解为用于对第一特征库进行更新的数据包,可以为服务器中的最高版本优先级(或最新)的特征库。
作为一种可选的实施方式,在步骤S210之前,方法还可以包括:
判断所述第二特征库的版本优先级是否高于所述第一特征库的版本优先级;
当所述第二特征库的版本优先级高于所述第一特征库的版本优先级时,生成用于对所述第一特征库进行更新的所述控制指令,或生成用于对所述第一特征库进行更新的提示信息。
在本实施例中,版本优先级可以根据实际情况进行设置,例如,版本优先级可以为特征库的版本编号。通常而言,版本编号越大,版本优先级越大。在创建特征库时,可以对特征库设置相应的版本编号,研发人员后续在对特征库进行优化更新时,每完成一次特征库的优化更新,便可以对更新优化后的特征库的版本编号做一次加法运算。然后,研发人员将特征库上传至服务器,后续可以由服务器对安装该类特征库的网络设备,进行更新后的特征库的下发。
在本实施例中,网络设备可以每间隔预设时长,从服务器获取第二特征库的版本优先级。然后,比对第二特征库的版本优先级是否高于所述第一特征库的版本优先级。若第二特征库的版本优先级高于第一特征库的版本优先级,则生成用于对第一特征库进行更新的控制指令。或者,当第二特征库的版本优先级高于第一特征库的版本优先级时,生成用于对第一特征库进行更新的提示信息,然后,由管理员根据提示信息进行相应的手动操作。若管理员选择更新,网络设备便可以自动生成控制指令,若管理员选择不跟新,则网络设备可以自动忽略本次更新。需要说明的是,网络设备在接收到控制指令或者在生成控制指令时,便可以自动执行步骤S210,以进行后续的特征库的更新。
其中,预设时长可以根据实际情况进行确定,例如,可以为1小时、24小时等。
作为一种可选的实施方式,服务器可以在接收到研发人员上传的特征库时,可以比对该特征库中的内容与服务器预先存储的特征库的内容是否相同,若存在区别,则确定当前上传的特征库为最新版本的特征库,然后向网络设备发送控制指令,以使网络设备根据控制指令执行步骤S210。
在第二特征库中,通常包括多条规则、安全策略等,用于进行网络数据的安全检测。第二特征库中的规则及安全策略等,在加载到指定数据结构中之后,还需要对规则及安全策略进行编译,编译后的第二特征库中的规则及安全策略,可以供数据平面进行读取与使用。编译特征库的方式为本领域技术人员熟知,这里不再赘述。
在步骤S210中,指定数据结构具有相应的存储地址,可以写入第二特征库的内容。指定数据结构可以为共享内存中的一个文件夹,或者为共享内存中的队列、栈等数据结构,这里对指定数据结构的类型不作具体限定。
同步锁可以用于在进行特征库更新时,执行步骤S220。例如,同步锁可以将第一特征库替换为第二特征库。
比如,步骤S220可以包括:通过所述同步锁将所述数据平面当前使用的所述第一特征库的地址更换为所述指定数据结构的地址。
在本实施例中,数据平面可以通过特征库的地址,读取到特征库中的相应规则和安全策略。当需要对特征库更新时,可以通过同步锁直接将数据平面当前使用的第一特征库的地址,更新为第二特征库的地址,从而实现特征库的更新。第二特征库的地址即为指定数据结构的地址。由于指定数据结构在共享内存中,完成地址更新后,数据平面可以根据指定数据结构的地址,直接读取并使用第二特征库的相应规则及安全策略,第二特征库无需重启引擎即可生效。
作为一种可选的实施方式,在步骤S220之前,方法还可以包括:当接收到待测数据时,通过所述数据平面根据所述第一特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
作为一种可选的实施方式,在步骤S220之后,方法还可以包括:当接收到待测数据时,通过所述数据平面根据经过编译的第二特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
可理解地,在将第一特征库更换为第二特征库之前,由于数据平面与控制平面在不同的处理核中,在控制平面执行步骤S210期间,数据平面可以持续利用第一特征库进行网络数据的检测。在将第一特征库更换为第二特征库之后,数据平面便直接利用第二特征库进行网络数据的检测。其中,所检测的网络数据即为待测数据。待测数据可以是但不限于其他设备发送至网络设备的报文、文件等数据,这里不作具体限定。
需要说明的是,使用特征库对网络数据进行检测的方式,为本领域技术人员熟知。得到的检测结果可以包括网络数据安全、网络数据存在安全隐患等结果,可以根据实际情况进行确定。
作为一种可选的实施方式,在步骤S220之后,方法还可以包括:将所述第一特征库存储于所述共享内存的备用区。
备用区可以为共享内存中的一个存储区域,可以作为特征库的备用区。例如,当所更新的第二特征库存在异常,不能供数据平面进行读取与使用时,数据平面可以读取备用区的第一特征库进行网络数据的检测,如此,有利于避免出现漏检的情况,提高网络数据检测的效率。
当第二特征库可以被数据平面读取与使用时,可以删除备用区的第一特征库。或者,在存在新的特征库替换第二特征库时,删除备用区的第一特征库。通过删除共享内存的备用区的第一特征库,可以释放共享内存的存储资源,以便于为后续存储其他数据提供存储空间。
作为一种可选的实施方式,在步骤S220之后,方法还可以包括:删除所述第一特征库。
可理解地,当完成对第一特征库的更新后,数据平面通常可以直接读取并使用第二特征库,此时,可以删除第一特征库,以释放共享内存的存储资源。
需要说明的是,在其他实施方式中,同步锁在控制平面向共享内存的指定数据结构执行写操作时,可以对指定数据结构进行写锁定,其中,在写锁定期间,不准许对指定数据结构执行读操作,写操作包括加载并编译第二特征库。同步锁还可以用于在数据平面向指定数据结构执行读操作时,对指定数据结构进行读锁定,在读锁定期间,不准许控制平面对指定数据结构执行写操作。基于此,可以在数据读写期间,确保数据不会出现冲突(或数据不同步)而影响特征库的读或写操作。
例如,在执行步骤S220时,控制平面可以向指定数据结构执行写操作,包括在指定数据结构中加载并编译第二特征库。在执行写操作之前,以及在写操作期间,同步锁可以对指定数据结构进行写锁定,且该写锁定与控制平面关联。其中,写锁定具有排他性,在写锁定期间,只准许控制平面对指定数据结构进行写操作,不准许除去控制平面之外的其他模块或进程(如数据平面)对该指定数据结构执行写操作,另外,也不准许除去控制平面之外的其他模块或进程,对该指定数据结构执行读操作。比如,在控制平面执行写操作期间,不准许数据平面对指定数据结构进行读操作。
在数据平面执行读操作期间,同步锁可以对指定数据结构进行读锁定,其中,在读锁定期间,不准许控制平面在指定数据结构中进行写操作,但可以准许除去读数据平面之外的其他模块或进程(如控制平面),在指定数据结构中进行读操作,即,读锁定可以不具有排他性。
在同步锁对指定数据结构写锁定期间,当控制平面执行完对指定数据结构的写操作时,可以解除写锁定,此时,同步锁便表示控制平面对指定数据结构的写操作结束。即,控制平面在指定数据结构中,完成了对第二特征库的加载与编译操作后,可以解除同步锁对该指定数据结构的写锁定。在解除写锁定后,由于第二特征库已经准备就绪,同步锁可以将数据平面当前使用的第一特征库的地址更新为第二特征库的地址,此后,数据平面可以基于更新后的第二特征库的地址,立即使用第二特征库进行网络数据的安全检测。
基于上述设计,由于数据平面与控制平面是由处理器中的不同处理核实现的,在特征库更新期间,无需重新启动引擎,且在特征库更新期间,可以持续对网络数据进行检测。在更新过程中,通过使用控制平面的守护进程加载特征库,避免更新流程影响数据平面进程的网络数据检测,通过共享内存解决数据平面与控制平面两进程间特征库资源共享问题,通过同步锁解决控制平面和数据平面进程存在共享资源冲突的问题。如此,可以避免因特征库更新需要重启引擎而影响网络数据的检测,以及改善因更新期间无法对网络数据进行安全检测的问题。
请参照图4,本申请实施例还提供一种特征库更新装置100,可以应用于上述的网络设备中,用于执行方法中的各步骤。特征库更新装置100包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在网络设备操作系统(Operating System,OS)中的软件功能模块。处理模块用于执行存储模块中存储的可执行模块,例如特征库更新装置100所包括的软件功能模块及计算机程序等。
特征库更新装置100可以包括加载编译单元110及更新单元120,可以执行的操作内容如下:
加载编译单元110,用于当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
更新单元120,用于当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
作为一种可选的实施方式,更新单元120还可以用于:通过所述同步锁将所述数据平面当前使用的所述第一特征库的地址更换为所述指定数据结构的地址。
作为一种可选的实施方式,特征库更新装置100还可以包括判断单元及信息生成单元。在加载编译单元110执行步骤S210之前,判断单元用于:判断所述第二特征库的版本优先级是否高于所述第一特征库的版本优先级;信息生成单元用于:当所述第二特征库的版本优先级高于所述第一特征库的版本优先级时,生成用于对所述第一特征库进行更新的所述控制指令,或生成用于对所述第一特征库进行更新的提示信息。
作为一种可选的实施方式,特征库更新装置100还可以包括检测单元。在更新单元120执行步骤S220之前,检测单元可以用于:当接收到待测数据时,通过所述数据平面根据所述第一特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
作为一种可选的实施方式,在更新单元120执行步骤S220之后,检测单元还可以用于:当接收到待测数据时,通过所述数据平面根据经过编译的第二特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
作为一种可选的实施方式,特征库更新装置100还可以包括备用单元,在更新单元120执行步骤S220之后,备用单元用于将所述第一特征库存储于所述共享内存的备用区。
作为一种可选的实施方式,特征库更新装置100还可以包括资源释放单元。在更新单元120执行步骤S220之后,资源释放单元用于删除所述第一特征库。
在本实施例中,存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储特征库等。当然,存储模块还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。
通信模块用于通过网络建立网络设备与服务器或其他设备的通信连接,并通过网络收发数据。
可以理解的是,图2所示的结构仅为网络设备10的一种结构示意图,网络设备10还可以包括比图2所示更多的组件。图2中所示的各组件可以采用硬件、软件或其组合实现。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络设备10、特征库更新装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的特征库更新方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种特征库更新方法、装置、网络设备及可读存储介质。方法包括:当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在网络设备的共享内存的指定数据结构中,加载并编译用于替换第一特征库的第二特征库,其中,指定数据结构设置有同步锁;当控制平面对指定数据结构的写操作结束时,通过同步锁将网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。在本方案中,通过控制平面将用于更新的第二特征库写入共享内存的指定数据结构中,如此,不会影响数据平面继续对网络数据进行安全检测。当控制平面将第二特征库完全写入至指定数据结构中后,再将数据平面当前使用的第一特征库替换为第二特征库,如此,可以快速实现特征库的热更新,且无需重启引擎,另外,在更新期间,数据平面可以继续使用第一特征库进行网络数据的检测,能够改善在对特征库更新期间无法对报文进行检测的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种特征库更新方法,其特征在于,应用于网络设备,所述方法包括:
当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
在加载并编译用于替换所述第一特征库的第二特征库之前,所述方法还包括:
每间隔预设时长,获取所述第二特征库的版本优先级,判断所述第二特征库的版本优先级是否高于所述第一特征库的版本优先级;
当所述第二特征库的版本优先级高于所述第一特征库的版本优先级时,生成用于对所述第一特征库进行更新的所述控制指令,或生成用于对所述第一特征库进行更新的提示信息;
当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
2.根据权利要求1所述的方法,其特征在于,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库,包括:
通过所述同步锁将所述数据平面当前使用的所述第一特征库的地址更换为所述指定数据结构的地址。
3.根据权利要求1所述的方法,其特征在于,在通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库之前,方法还包括:
当接收到待测数据时,通过所述数据平面根据所述第一特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
4.根据权利要求1所述的方法,其特征在于,在将所述网络设备的数据平面当前使用的第一特征库更换为经过编译的第二特征库之后,方法还包括:
当接收到待测数据时,通过所述数据平面根据经过编译的第二特征库,检测所述待测数据,得到检测结果,所述待测数据包括所述网络设备接收的报文。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一特征库存储于所述共享内存的备用区。
6.根据权利要求1所述的方法,其特征在于,在通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库之后,所述方法还包括:
删除所述第一特征库。
7.一种特征库更新装置,其特征在于,应用于网络设备,所述装置包括:
加载编译单元,用于当接收到用于对当前的第一特征库进行更新的控制指令时,通过网络设备的控制平面所启动的守护进程,在所述网络设备的共享内存的指定数据结构中,加载并编译用于替换所述第一特征库的第二特征库,其中,所述指定数据结构设置有同步锁;
所述装置还包括判断单元及信息生成单元;
在加载编译单元加载并编译用于替换所述第一特征库的第二特征库之前,判断单元用于:每间隔预设时长,获取所述第二特征库的版本优先级,判断所述第二特征库的版本优先级是否高于所述第一特征库的版本优先级;
信息生成单元用于:当所述第二特征库的版本优先级高于所述第一特征库的版本优先级时,生成用于对所述第一特征库进行更新的所述控制指令,或生成用于对所述第一特征库进行更新的提示信息;
更新单元,用于当所述控制平面对所述指定数据结构的写操作结束时,通过所述同步锁将所述网络设备的数据平面当前使用的第一特征库更换为经过编译后的第二特征库。
8.一种网络设备,其特征在于,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643313.0A CN112685063B (zh) | 2020-12-30 | 2020-12-30 | 特征库更新方法、装置、网络设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643313.0A CN112685063B (zh) | 2020-12-30 | 2020-12-30 | 特征库更新方法、装置、网络设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685063A CN112685063A (zh) | 2021-04-20 |
CN112685063B true CN112685063B (zh) | 2023-11-28 |
Family
ID=75456866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011643313.0A Active CN112685063B (zh) | 2020-12-30 | 2020-12-30 | 特征库更新方法、装置、网络设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685063B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996287B (zh) * | 2022-06-20 | 2024-04-16 | 上海电器科学研究所(集团)有限公司 | 一种基于特征库的设备自动识别和扩容方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815049A (zh) * | 2016-12-29 | 2017-06-09 | 杭州迪普科技股份有限公司 | 特征库升级的方法及装置 |
CN107391285A (zh) * | 2017-08-23 | 2017-11-24 | 美的智慧家居科技有限公司 | 内存共享方法和系统 |
CN108874670A (zh) * | 2018-06-20 | 2018-11-23 | 上海哔哩哔哩科技有限公司 | 产品特征多用户编辑方法、服务器、系统及存储介质 |
CN109491698A (zh) * | 2018-12-29 | 2019-03-19 | 武汉思普崚技术有限公司 | 基于热补丁的系统更新方法及装置 |
CN110275722A (zh) * | 2019-06-21 | 2019-09-24 | 北京百度网讯科技有限公司 | 用于升级应用的方法、装置、设备和存储介质 |
CN111162947A (zh) * | 2019-12-30 | 2020-05-15 | 北京天融信网络安全技术有限公司 | 一种pcre热切换方法、网络设备及存储介质 |
CN111459691A (zh) * | 2020-04-13 | 2020-07-28 | 中国人民银行清算总中心 | 共享内存的读写方法及装置 |
-
2020
- 2020-12-30 CN CN202011643313.0A patent/CN112685063B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815049A (zh) * | 2016-12-29 | 2017-06-09 | 杭州迪普科技股份有限公司 | 特征库升级的方法及装置 |
CN107391285A (zh) * | 2017-08-23 | 2017-11-24 | 美的智慧家居科技有限公司 | 内存共享方法和系统 |
CN108874670A (zh) * | 2018-06-20 | 2018-11-23 | 上海哔哩哔哩科技有限公司 | 产品特征多用户编辑方法、服务器、系统及存储介质 |
CN109491698A (zh) * | 2018-12-29 | 2019-03-19 | 武汉思普崚技术有限公司 | 基于热补丁的系统更新方法及装置 |
CN110275722A (zh) * | 2019-06-21 | 2019-09-24 | 北京百度网讯科技有限公司 | 用于升级应用的方法、装置、设备和存储介质 |
CN111162947A (zh) * | 2019-12-30 | 2020-05-15 | 北京天融信网络安全技术有限公司 | 一种pcre热切换方法、网络设备及存储介质 |
CN111459691A (zh) * | 2020-04-13 | 2020-07-28 | 中国人民银行清算总中心 | 共享内存的读写方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112685063A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635473B2 (en) | Setting support program, setting support method, and setting support device | |
EP3550436A1 (en) | Method and apparatus for detecting and recovering fault of virtual machine | |
CN113407383B (zh) | 主备系统切换方法、装置、服务器及主备系统 | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
CN112860282B (zh) | 集群插件的升级方法、装置和服务器 | |
CN108563472B (zh) | 基于多开应用的服务插件加载方法及装置 | |
CN111831567B (zh) | 应用的测试环境配置方法、装置、系统和介质 | |
CN112099825B (zh) | 组件进行升级的方法、装置、设备及存储介质 | |
CN113177001A (zh) | 一种开源组件的漏洞检测方法及装置 | |
CN110780942A (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
CN112306552A (zh) | 一种系统软件版本管理方法、装置及存储介质 | |
EP2849113B1 (en) | Software distribution system and software distribution method | |
CN113438292A (zh) | 一种基于自动化运维工具的代理部署方法及装置 | |
CN112685063B (zh) | 特征库更新方法、装置、网络设备及可读存储介质 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN111552524A (zh) | 一种插件加载方法、装置及计算机可读存储介质 | |
US9317273B2 (en) | Information processing apparatus and information processing method | |
EP4086756A1 (en) | Method and apparatus for processing virtual machine component | |
CN114090055A (zh) | 应用程序更新方法、装置、终端及存储介质 | |
CN113703823A (zh) | 一种bmc固件升级方法、装置、电子设备及存储介质 | |
CN113515291A (zh) | 设备在线升级方法和装置 | |
CN106354602A (zh) | 一种服务监控方法和设备 | |
CN112579113A (zh) | 应用程序的升级方法、装置、存储介质及终端 | |
CN112579358B (zh) | 备份点检测方法、装置、设备及存储介质 | |
CN113687915B (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 |