CN112711432B - 用于网络安全设备的特征库升级方法及装置 - Google Patents
用于网络安全设备的特征库升级方法及装置 Download PDFInfo
- Publication number
- CN112711432B CN112711432B CN202011633995.7A CN202011633995A CN112711432B CN 112711432 B CN112711432 B CN 112711432B CN 202011633995 A CN202011633995 A CN 202011633995A CN 112711432 B CN112711432 B CN 112711432B
- Authority
- CN
- China
- Prior art keywords
- feature library
- binary
- length
- feature
- field
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本申请公开了用于网络安全设备的特征库升级方法及装置,该方法按照预设的文件格式,将获取的更新特征库打包成特征库升级文件,特征库升级文件包括多字段模块和特征二进制模块,特征二进制模块中存储有对更新特征库中每个特征数据进行解析后得到的二进制解析数据,多字段模块中存储有多个预设字段,包括用于表示二进制解析数据大小的二进制数据长度字段;最后根据特征库升级文件进行特征库升级,将特征二进制模块中存储的内容读取到目标内存中。上述升级方法预先将特征库升级文件处理成预设格式,能够直接将特征库升级文件中的二进制解析数据全部读取到内存中,无需逐条读取特征数据并编译解析,避免消耗过多内存,且减少了升级所需时间。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及用于网络安全设备的特征库升级方法及装置。
背景技术
网络安全设备利用特征库进行深度检测相关业务,如IPS防护、病毒防护、访问控制等,如果没有对应的特征库,这些流程将无法生效。特征库具有一定的时效性,为了使网络安全设备发挥最大功效,应在使用一段时间后对特征库进行升级。
目前大多数安全厂商的特征库升级都是把更新后的特征库写入文件,升级过程中加载到内存中,并按一定数据结构进行保存。具体实现过程为:技术人员定期对特征库进行更新,网络安全设备定时下载经技术人员更新后的特征库,并将特征库打包成一个特征库文件,然后一条一条的将特征库文件中的特征数据读取到网络安全设备的内存中,当所有特征数据均读取完成后,再按照匹配算法对所有数据进行编译,以进行特征库升级,升级完成后释放网络安全设备的内存。
目前特征库数据量越来越大时,上述特征库升级方法中,需要将特征库文件中的所有特征数据一条一条的读取到网络安全设备内存中,不仅需要花费大量的时间,而且会消耗网络安全设备大量的内存,倘若升级过程中申请不到内存,则会造成升级失败的后果。
发明内容
为了解决特征库升级过程中,需要将特征库文件中的所有特征数据一条一条的读取到网络安全设备内存中,不仅需要花费大量的时间,而且会消耗网络安全设备大量的内存,倘若升级过程中申请不到内存,则会造成升级失败的技术问题,本申请通过以下实施例公开了一种用于网络安全设备的特征库升级方法及装置。
本申请第一方面公开了一种用于网络安全设备的特征库升级方法,包括:
获取更新特征库;
按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小;
根据所述特征库升级文件进行特征库升级;所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致。
可选的,所述多个预设字段还包括特征库类型字段、特征库版本字段、数据结构类型字段、数据结构长度字段及节点长度字段;
所述特征库类型字段用于表示所述更新特征库的类型;
所述特征库版本字段用于表示所述更新特征库类型的版本号;
所述数据结构类型字段用于表示所述特征二进制模块中所采用的数据结构;
所述数据结构长度字段用于表示目标数据结构长度,所述目标数据结构长度为所述特征二进制模块中所采用的数据结构的长度;
所述节点长度字段用于表示单次读取长度,所述单次读取长度为单次读取所述特征二进制模块中存储内容的长度。
可选的,所述根据所述特征库升级文件进行特征库升级,包括:
根据所述特征库类型字段,获取所述更新特征库的类型;
根据所述特征库版本字段,获取所述更新特征库类型的版本号;
判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据所述数据结构类型字段,获取所述特征二进制模块中所采用的数据结构;
根据所述数据结构长度字段,获取目标数据结构长度;
判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据所述节点长度字段,获取所述单次读取长度;
根据所述二进制数据长度字段,获取所述二进制解析数据的大小;
根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存;
根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
可选的,若所述更新特征库类型的版本号与原特征库类型的版本号不一致,或者,若所述更新特征库的类型对应的数据结构长度与所述目标数据结构长度不一致,则判定无法进行特征库升级。
可选的,所述根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中,包括:
判断所述单次读取长度是否为零;
若所述单次读取长度为零,则将所述特征二进制模块中存储的内容一次性读取到所述目标内存中;
若所述单次读取长度不为零,则按照所述单次读取长度及预设读取次数,将所述特征二进制模块中存储的内容分多次读取到所述目标内存中,所述预设读取次数为所述二进制解析数据的大小与所述单次读取长度之间的商。
可选的,所述更新特征库的类型包括应用特征库、URL特征库、文件类型特征库及恶意URL特征库。
可选的,所述特征二进制模块中所采用的数据结构为链表结构或布隆过滤器结构。
可选的,所述根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存,包括:
若所述特征二进制模块中所采用的数据结构为所述链表结构,则申请与所述二进制解析数据的大小相一致的链表节点结构内存作为所述目标内存;
若所述特征二进制模块中所采用的数据结构为所述布隆过滤器结构,则申请与所述二进制解析数据的大小相一致的布隆过滤器结构内存作为所述目标内存。
本申请第二方面公开了一种用于网络安全设备的特征库升级装置,所述用于网络安全设备的特征库升级装置应用于如本申请第一方面所述的一种用于网络安全设备的特征库升级方法,所述用于网络安全设备的特征库升级装置包括:
特征库获取模块,用于获取更新特征库;
文件打包模块,用于按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小;
升级模块,用于根据所述特征库升级文件进行特征库升级;所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致。
可选的,所述升级模块包括:
类型获取单元,用于根据特征库类型字段,获取所述更新特征库的类型;
版本号获取单元,用于根据特征库版本字段,获取所述更新特征库类型的版本号;
数据结构获取单元,用于判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据数据结构类型字段,获取所述特征二进制模块中所采用的数据结构;
结构长度获取单元,用于根据数据结构长度字段,获取目标数据结构长度;
读取长度获取单元,用于判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据节点长度字段,获取单次读取长度;
数据大小获取单元,用于根据所述二进制数据长度字段,获取所述二进制解析数据的大小;
内存申请单元,用于根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存;
读取单元,用于根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
本申请公开了用于网络安全设备的特征库升级方法及装置,该方法按照预设的文件格式,将获取的更新特征库打包成特征库升级文件,特征库升级文件包括多字段模块和特征二进制模块,特征二进制模块中存储有对更新特征库中每个特征数据进行解析后得到的二进制解析数据,多字段模块中存储有多个预设字段,包括用于表示二进制解析数据大小的二进制数据长度字段;最后根据特征库升级文件进行特征库升级,将特征二进制模块中存储的内容读取到目标内存中。上述升级方法预先将特征库升级文件处理成预设格式,能够直接将特征库升级文件中的二进制解析数据全部读取到内存中,无需逐条读取特征数据并编译解析,避免消耗过多内存,且减少了升级所需时间。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种用于网络安全设备的特征库升级方法的工作流程示意图;
图2为本申请实施例公开的一种用于网络安全设备的特征库升级方法中,特征库升级文件的格式示意图;
图3为本申请实施例公开的一种用于网络安全设备的特征库升级装置的结构示意图。
具体实施方式
为了解决特征库升级过程中,需要将特征库文件中的所有特征数据一条一条的读取到网络安全设备内存中,不仅需要花费大量的时间,而且会消耗网络安全设备大量的内存,倘若升级过程中申请不到内存,则会造成升级失败的技术问题,本申请通过以下实施例公开了一种用于网络安全设备的特征库升级方法及装置。
本申请第一实施例公开了一种用于网络安全设备的特征库升级方法,参见图1,所述方法包括:
步骤S101,获取更新特征库。具体的,网络安全设备定时下载经技术人员更新过的特征库。
步骤S102,按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小。
在一种实现方式中,所述多个预设字段还包括特征库类型字段、特征库版本字段、数据结构类型字段、数据结构长度字段及节点长度字段。
本实施例采用预设文件格式生成的特征库升级文件如图2所示。
其中,所述特征库类型字段(sign_type字段)用于表示所述更新特征库的类型,为多字段模块中的第一个字段,该字段为一个字节。其中,所述更新特征库的类型包括应用特征库、URL特征库、文件类型特征库及恶意URL特征库。
本实施例中,特征库类型字段可表示为:
应用特征库类型:APP_SIGN_TYPE=1;
URL特征库类型:URL_SIGN_TYPE=2;
文件类型特征库:FTYPE_SIGNE_TYPE=3;
恶意URL特征库:MALURL_SIGN_TPYE=4。
所述特征库版本字段(version字段)用于表示所述更新特征库类型的版本号,为多字段模块中的第二个字段,该字段为一个字节。每种特征库类型的版本信息不同,版本号信息主要用于判断该种特征库类型的处理方式是否发生变化,用于版本兼容,每变化一次加1。该字段要和设备上的特征库类型的version一致,否则特征库升级的数据结构可能已更新,按照设备上原有的加载程序可能会导致加载数据不对。
所述数据结构类型字段(algorithm_type字段)用于表示所述特征二进制模块中所采用的数据结构,为多字段模块中的第三个字段,该字段为一个字节。
本实施例中提供了两种数据结构类型,分别为:
链表结构类型:LIST_TYPE=1;
布隆过滤器结构类型:BLOOM_TYPE=2。
所述数据结构长度字段(type_struct_len字段)用于表示目标数据结构长度,所述目标数据结构长度为所述特征二进制模块中所采用的数据结构的长度。每种特征库类型的数据结构的长度为int类型。该字段为多字段模块中的第四个字段,用于校验预处理程序中的数据结构长度和设备上的该种特征库类型的数据结构是否一致。
只有特征库类型的版本号,及数据结构的长度均一致,才认为数据结构一致,表示数据可以正常加载。
结合特征库类型,计算出使用的数据结构的长度是否和第四个字段一致。如果不一致,则表示不能加载,要避免加载数据不匹配,导致设备异常。
所述节点长度字段(Node_len字段)用于表示单次读取长度,即单个节点的长度,所述单次读取长度为单次读取所述特征二进制模块中存储内容的长度。该字段为多字段模块中的第五个字段,为四个字节,长度为int类型。该字段主要是区分后续的二进制数据是否一次性加载完毕。如果该值非0,则代表每一次加载二进制解析数据中的node_len个字节,直至循环加载完毕。
二进制数据长度字段(Bin_len字段)为多字段模块中的第六个字段,用于表示二进制解析数据的长度,为4个字节,长度为int类型。如果node_len为0,则一次性把所有的数据(Bin_len长度的数据)全部加载对应的数据结构中,即读取到内存中。
步骤S103,根据所述特征库升级文件进行特征库升级。所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致。
本申请公开了用于网络安全设备的特征库升级方法及装置,该方法按照预设的文件格式,将获取的更新特征库打包成特征库升级文件,特征库升级文件包括多字段模块和特征二进制模块,特征二进制模块中存储有对更新特征库中每个特征数据进行解析后得到的二进制解析数据,多字段模块中存储有多个预设字段,包括用于表示二进制解析数据大小的二进制数据长度字段;最后根据特征库升级文件进行特征库升级,将特征二进制模块中存储的内容读取到目标内存中。上述升级方法预先将特征库升级文件处理成预设格式,采用打包特征生成特征库时就对特征库文件进行解析编译处理,把编译后的二进制数据写入到特征库升级文件中,升级过程中能够直接将特征库升级文件中的二进制解析数据全部读取到内存中,避免了读取每一行特征的内存,并按照一定的数据结构进行保存的过程,大大减少内存的申请和释放的需求,减少了升级所需时间,提高升级的成功率,同时因不再需要在设备上进行算法的构建,比如AC算法的编译等过程,大大降低对网络安全设备的性能消耗。
进一步的,所述根据所述特征库升级文件进行特征库升级,包括:
根据所述特征库类型字段,获取所述更新特征库的类型。
根据所述特征库版本字段,获取所述更新特征库类型的版本号。
判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据所述数据结构类型字段,获取所述特征二进制模块中所采用的数据结构。若判断结果为否,则判定无法进行特征库升级。本实施例中,所述特征二进制模块中所采用的数据结构为链表结构或布隆过滤器结构。
根据所述数据结构长度字段,获取目标数据结构长度。
判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据所述节点长度字段,获取所述单次读取长度。若判断结果为否,则判定无法进行特征库升级。
根据所述二进制数据长度字段,获取所述二进制解析数据的大小。
根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存。
本实施例中,若所述特征二进制模块中所采用的数据结构为所述链表结构,则申请与所述二进制解析数据的大小相一致的链表节点结构内存作为所述目标内存。
若所述特征二进制模块中所采用的数据结构为所述布隆过滤器结构,则申请与所述二进制解析数据的大小相一致的布隆过滤器结构内存作为所述目标内存。
根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
进一步的,所述根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中,包括:
判断所述单次读取长度是否为零。
若所述单次读取长度为零,则将所述特征二进制模块中存储的内容一次性读取到所述目标内存中。
若所述单次读取长度不为零,则按照所述单次读取长度及预设读取次数,将所述特征二进制模块中存储的内容分多次读取到所述目标内存中,所述预设读取次数为所述二进制解析数据的大小与所述单次读取长度之间的商。
本申请实施例公开的用于网络安全设备的特征库升级方法可概括为两个过程,一个过程为升级文件生成过程,另一个为特征库升级过程。
一、升级文件生成过程:
以应用特征库为例:根据每种应用的特征提取,比如优酷网的特征为www.baidu.com,进行特征提取。这些特征数据最终会保存在一个应用特征库中,该特征库库中保存的全是字符串信息,比如应用名称、应用特征等应用信息。为了让设备升级应用特征时,避免循环读取每一行,浪费设备的性能,本实施例中在打包特征升级文件时,对每个特征数据进行二进制解析,重新生成一个解析各个应用字段后的二进制解析文件。该二进制解析文件可以直接在加载到网络安全设备上,不需要升级时重新加载每一个应用的字段信息,提高设备性能,打包应用特征库时,设计好各个字段的值及需要的数据结构信息,尽量要有保留字段,用于以后使用。打包程序和设备上的版本的加载程序,各个字段的解析要保持一致,各个字段的设计如下:
特征库类型字段:sign_type=1;
特征库版本字段:Verion=1;
数据结构类型字段:algorithm_type=1;
数据结构长度字段:type_struct_len=设计好的数据结构的长度。应用特征库的数据结构大致为{
Int app_id;
Int parent_app_id;
Char app_signg[1024];
}app_sign_struct。
节点长度字段node_len:因应用特征库的加载结构为链表形式,则该值不能为0,需要单个链点节点单独加载。因此该值为sizeof(app_sign_struct)。
二进制数据长度字段bin_len:所有的二进制解析数据的长度,如果node_len不为0,则把所有的节点个数乘以node_len赋值给bin_len。
以文件类型特征库为例:核心的数据结构根据需求的不同,可以设计为:
文件类型名称:Char ftype_name[1024];
该类文件类型描述:Char ftype_desc[1024];
第一个识别特征:Char ftype_first_sign[1024];
第二个识别特征:Char ftype_second_sign[1024]。
以URL特征库为例:解析URL特征文件,比如URL的分类,URL链接等信息。并使用bloom算法生成对应的算法结构。用于后续打包时写入到URL的特征库升级文件中。
第一个字段,特征库文件类型sign_type=1。
第二个字段,版本号信息version=1。
第三个字段,算法类型alg_type=2;使用bloom算法类型。
第四个字段,算法的数据结构长度。Sizeof(URL_NODE)。
第五个字段,单个节点长度(即单次读取长度),可设为第四个字段的长度。
第六个字段,二进制长度。可使用第二步中的bloom算法的长度。
第七个字段。二进制文件内容如下:主要分为特征库的版本号、预先根据匹配算法设计的结构、根据匹配算法构建的bloom算法内容。
读取特征库中的所有的URL分类后,根据url数量级别,和URL分类查询期望达到的误识别率,使用bloom filter的计算公式k=-m·ln(p)/n得到所需的哈希函数个数k,和所需要的m位的位数组(bm-1bm-2……b1b0)。把m位的数组的内存写入到文件中。
二、特征库升级过程
以URL特征库为例:
步骤一:读取第一个字段,读取到特征库类型,该字段为1个字节。Sign_type。如果sign_type=2,则为URL特征库升级。
步骤二:读取第二个字段,读取到版本号信息。该字段为1个字节。Version。该字段要和设备上的特征库类型的version要一致,否则特征库升级的数据结构可能已更新,按照设备上原有的加载程序可能会导致加载数据不对。
步骤三:读取第三个字段。算法类型。如果是链表结构类型,则需要申请链表节点内容。使用共享链表结构。
步骤四:读取第四个字段。结合特征库类型,计算出使用的数据结构的长度是否和该字段一致。如果不一致,则不能加载。避免加载数据不匹配,导致设备异常。
步骤五:读取第五个字段node_len。结合第三个字段的数据结构的长度。该字段不为0.则表示需要循环加载,每一次的长度为node_len个字节。
步骤六:读取第六个字段bin_len,二进制解析数据的总长度。
步骤七:读取二进制解析数据。若步骤5中的node_len=0,则一次读取完所有的数据类型到对应的数据结构中。根据步骤6得到的二进制解析数据的总长度大小,申请内存,读取升级文件中的二进制解析数据并保存在申请内存中。
本申请第二实施例公开了一种用于网络安全设备的特征库升级装置,所述用于网络安全设备的特征库升级装置应用于如本申请第一实施例所述的一种用于网络安全设备的特征库升级方法,参见图3,所述用于网络安全设备的特征库升级装置包括:
特征库获取模块10,用于获取更新特征库。
文件打包模块20,用于按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小。
升级模块30,用于根据所述特征库升级文件进行特征库升级。所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致。
进一步的,所述升级模块30包括:
类型获取单元,用于根据特征库类型字段,获取所述更新特征库的类型。
版本号获取单元,用于根据特征库版本字段,获取所述更新特征库类型的版本号。
数据结构获取单元,用于判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据数据结构类型字段,获取所述特征二进制模块中所采用的数据结构。
结构长度获取单元,用于根据数据结构长度字段,获取目标数据结构长度。
读取长度获取单元,用于判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据节点长度字段,获取单次读取长度。
数据大小获取单元,用于根据所述二进制数据长度字段,获取所述二进制解析数据的大小。
内存申请单元,用于根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存。
读取单元,用于根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (9)
1.一种用于网络安全设备的特征库升级方法,其特征在于,包括:
获取更新特征库;
按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小;
根据所述特征库升级文件进行特征库升级;所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致;
所述多个预设字段还包括特征库类型字段、特征库版本字段、数据结构类型字段、数据结构长度字段及节点长度字段;
所述特征库类型字段用于表示所述更新特征库的类型;
所述特征库版本字段用于表示所述更新特征库类型的版本号;
所述数据结构类型字段用于表示所述特征二进制模块中所采用的数据结构;
所述数据结构长度字段用于表示目标数据结构长度,所述目标数据结构长度为所述特征二进制模块中所采用的数据结构的长度;
所述节点长度字段用于表示单次读取长度,所述单次读取长度为单次读取所述特征二进制模块中存储内容的长度。
2.根据权利要求1所述的一种用于网络安全设备的特征库升级方法,其特征在于,所述根据所述特征库升级文件进行特征库升级,包括:
根据所述特征库类型字段,获取所述更新特征库的类型;
根据所述特征库版本字段,获取所述更新特征库类型的版本号;
判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据所述数据结构类型字段,获取所述特征二进制模块中所采用的数据结构;
根据所述数据结构长度字段,获取目标数据结构长度;
判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据所述节点长度字段,获取所述单次读取长度;
根据所述二进制数据长度字段,获取所述二进制解析数据的大小;
根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存;
根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
3.根据权利要求2所述的一种用于网络安全设备的特征库升级方法,其特征在于,若所述更新特征库类型的版本号与原特征库类型的版本号不一致,或者,若所述更新特征库的类型对应的数据结构长度与所述目标数据结构长度不一致,则判定无法进行特征库升级。
4.根据权利要求2所述的一种用于网络安全设备的特征库升级方法,其特征在于,所述根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中,包括:
判断所述单次读取长度是否为零;
若所述单次读取长度为零,则将所述特征二进制模块中存储的内容一次性读取到所述目标内存中;
若所述单次读取长度不为零,则按照所述单次读取长度及预设读取次数,将所述特征二进制模块中存储的内容分多次读取到所述目标内存中,所述预设读取次数为所述二进制解析数据的大小与所述单次读取长度之间的商。
5.根据权利要求1所述的一种用于网络安全设备的特征库升级方法,其特征在于,所述更新特征库的类型包括应用特征库、URL特征库、文件类型特征库及恶意URL特征库。
6.根据权利要求2所述的一种用于网络安全设备的特征库升级方法,其特征在于,所述特征二进制模块中所采用的数据结构为链表结构或布隆过滤器结构。
7.根据权利要求6所述的一种用于网络安全设备的特征库升级方法,其特征在于,所述根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存,包括:
若所述特征二进制模块中所采用的数据结构为所述链表结构,则申请与所述二进制解析数据的大小相一致的链表节点结构内存作为所述目标内存;
若所述特征二进制模块中所采用的数据结构为所述布隆过滤器结构,则申请与所述二进制解析数据的大小相一致的布隆过滤器结构内存作为所述目标内存。
8.一种用于网络安全设备的特征库升级装置,其特征在于,所述用于网络安全设备的特征库升级装置应用于如权利要求1-7任一项所述的一种用于网络安全设备的特征库升级方法,所述用于网络安全设备的特征库升级装置包括:
特征库获取模块,用于获取更新特征库;
文件打包模块,用于按照预设的文件格式,将所述更新特征库打包成特征库升级文件,所述特征库升级文件包括多字段模块和特征二进制模块,所述特征二进制模块中存储有二进制解析数据,所述二进制解析数据包括对所述更新特征库中每个特征数据进行解析后得到的二进制数据,所述多字段模块中存储有多个预设字段,所述多个预设字段包括二进制数据长度字段,所述二进制数据长度字段用于表示所述二进制解析数据的大小;
升级模块,用于根据所述特征库升级文件进行特征库升级;所述特征库升级过程中,根据所述多个预设字段,将所述特征二进制模块中存储的内容读取到目标内存中,所述目标内存的大小与所述二进制数据长度字段对应的大小一致;
所述多个预设字段还包括特征库类型字段、特征库版本字段、数据结构类型字段、数据结构长度字段及节点长度字段;
所述特征库类型字段用于表示所述更新特征库的类型;
所述特征库版本字段用于表示所述更新特征库类型的版本号;
所述数据结构类型字段用于表示所述特征二进制模块中所采用的数据结构;
所述数据结构长度字段用于表示目标数据结构长度,所述目标数据结构长度为所述特征二进制模块中所采用的数据结构的长度;
所述节点长度字段用于表示单次读取长度,所述单次读取长度为单次读取所述特征二进制模块中存储内容的长度。
9.根据权利要求8所述的一种用于网络安全设备的特征库升级装置,其特征在于,所述升级模块包括:
类型获取单元,用于根据特征库类型字段,获取所述更新特征库的类型;
版本号获取单元,用于根据特征库版本字段,获取所述更新特征库类型的版本号;
数据结构获取单元,用于判断所述更新特征库类型的版本号是否与原特征库类型的版本号一致,若判断结果为是,则根据数据结构类型字段,获取所述特征二进制模块中所采用的数据结构;
结构长度获取单元,用于根据数据结构长度字段,获取目标数据结构长度;
读取长度获取单元,用于判断所述更新特征库的类型对应的数据结构长度是否与所述目标数据结构长度一致,若判断结果为是,则根据节点长度字段,获取单次读取长度;
数据大小获取单元,用于根据所述二进制数据长度字段,获取所述二进制解析数据的大小;
内存申请单元,用于根据所述二进制解析数据的大小及所述特征二进制模块中所采用的数据结构,申请所述目标内存;
读取单元,用于根据所述单次读取长度以及所述二进制解析数据的大小,将所述特征二进制模块中存储的内容读取到所述目标内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633995.7A CN112711432B (zh) | 2020-12-31 | 2020-12-31 | 用于网络安全设备的特征库升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633995.7A CN112711432B (zh) | 2020-12-31 | 2020-12-31 | 用于网络安全设备的特征库升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711432A CN112711432A (zh) | 2021-04-27 |
CN112711432B true CN112711432B (zh) | 2023-04-07 |
Family
ID=75547790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633995.7A Active CN112711432B (zh) | 2020-12-31 | 2020-12-31 | 用于网络安全设备的特征库升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711432B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818656B (zh) * | 2022-06-30 | 2022-09-23 | 深圳华锐分布式技术股份有限公司 | 基于灰度升级的二进制文件解析方法、装置、设备及介质 |
CN116700840B (zh) * | 2023-08-03 | 2023-09-26 | 北京中电华大电子设计有限责任公司 | 文件执行方法、装置、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224361A (zh) * | 2015-09-15 | 2016-01-06 | 深圳市华讯方舟软件信息科技有限公司 | 一种对sqlite3型嵌入式数据库进行升级的方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8220007B1 (en) * | 2007-10-01 | 2012-07-10 | Adobe Systems Incorporated | Systems and methods for extension of software features without changing the host software binary code |
CN103632095B (zh) * | 2013-11-15 | 2016-08-31 | 北京奇虎科技有限公司 | 一种扩展包安全检测方法和装置 |
CN104462986B (zh) * | 2014-11-28 | 2019-02-01 | 北京奇虎科技有限公司 | Pdf中触发漏洞威胁的检测方法及装置 |
CN104700033B (zh) * | 2015-03-30 | 2019-01-29 | 北京瑞星网安技术股份有限公司 | 病毒检测的方法及装置 |
CN106682507B (zh) * | 2016-05-19 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 病毒库的获取方法及装置、设备、服务器、系统 |
CN106815049B (zh) * | 2016-12-29 | 2020-01-03 | 杭州迪普科技股份有限公司 | 特征库升级的方法及装置 |
CN112149115A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 一种病毒库的更新方法、装置、电子装置和存储介质 |
-
2020
- 2020-12-31 CN CN202011633995.7A patent/CN112711432B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224361A (zh) * | 2015-09-15 | 2016-01-06 | 深圳市华讯方舟软件信息科技有限公司 | 一种对sqlite3型嵌入式数据库进行升级的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112711432A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10394686B2 (en) | Static feature extraction from structured files | |
CN112711432B (zh) | 用于网络安全设备的特征库升级方法及装置 | |
CN105653432B (zh) | 一种崩溃数据的处理方法和装置 | |
US8914370B2 (en) | Generating rules for classifying structured documents | |
CN110704063B (zh) | 编译和执行智能合约的方法及装置 | |
US10114745B2 (en) | Assisted garbage collection in a virtual machine | |
US20100153920A1 (en) | Method for building and packaging sofware | |
CN111967017B (zh) | 生成依赖关系的方法、装置、终端设备及存储介质 | |
CN106845171A (zh) | 一种Android应用程序代码保护机制鉴别方法 | |
CN107291480A (zh) | 一种函数调用方法及装置 | |
CN106843842B (zh) | 一种应用程序配置文件的更新方法及装置 | |
JP2003515857A (ja) | 言語サブセットの妥当性検査 | |
US20110153689A1 (en) | Confirming the sensitivity of a data object in a managed object heap | |
CN107742078A (zh) | 一种通用的dex自动脱壳方法与系统 | |
CN108595187A (zh) | 安卓安装包集成软件开发工具包的法、装置及存储介质 | |
US9129137B2 (en) | Method, computer program and device for providing security for intermediate programming code for its execution by a virtual machine | |
CN102867144A (zh) | 一种用于检测和清除计算机病毒的方法和装置 | |
CN111884876A (zh) | 一种网络协议的协议类型检测方法、装置、设备及介质 | |
CN110737892B (zh) | 一种针对apc注入的检测方法和相关装置 | |
US20220058260A1 (en) | Binary image stack cookie protection | |
CN116324773A (zh) | 用于保护智能合约免受攻击的方法和装置 | |
CN111105289B (zh) | 一种基于aop方式的客户端订单取消判断方法及装置 | |
US8185885B2 (en) | Providing recovery data for program code | |
CN104239112A (zh) | 一种设备驱动程序安装方法及装置 | |
CN103136474A (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 |