CN114143083B - 黑名单策略匹配方法、装置、电子设备及存储介质 - Google Patents

黑名单策略匹配方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114143083B
CN114143083B CN202111443283.3A CN202111443283A CN114143083B CN 114143083 B CN114143083 B CN 114143083B CN 202111443283 A CN202111443283 A CN 202111443283A CN 114143083 B CN114143083 B CN 114143083B
Authority
CN
China
Prior art keywords
blacklist
bitmap
sub
data
pointer
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
Application number
CN202111443283.3A
Other languages
English (en)
Other versions
CN114143083A (zh
Inventor
张锋
范鸿雷
晏尉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111443283.3A priority Critical patent/CN114143083B/zh
Publication of CN114143083A publication Critical patent/CN114143083A/zh
Application granted granted Critical
Publication of CN114143083B publication Critical patent/CN114143083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种黑名单策略匹配方法、装置、电子设备及存储介质,涉及通信网络安全技术领域。该方法包括:对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;在多个子位图数据中对黑名单策略进行定位,得到对应的位置信息;基于位置信息对获取的数据包和黑名单策略进行匹配,得到匹配结果。本申请通过在分段得到的多个子位图数据中对黑名单策略的具体位置进行定位,将黑名单策略的匹配流程与位图中对应位置的访问流程进行关联,在定位得到的位置信息的基础上实现数据包与黑名单策略的匹配,在具有大量黑名单策略时,可以对每一个黑名单策略进行定位匹配,有效地提高了黑名单策略的匹配效率。

Description

黑名单策略匹配方法、装置、电子设备及存储介质
技术领域
本申请涉及通信网络安全技术领域,具体而言,涉及一种黑名单策略匹配方法、装置、电子设备及存储介质。
背景技术
IP(Internet Protocol,网络之间互连的协议)地址黑名单是一种直接封禁威胁IP地址的网络安全功能。由于其配置简单、功能可靠,在目前的网络环境里有着极高的使用率。黑名单是一种需对每个数据包进行处理的安全功能,因此对于其处理效率有着极高的要求。
现有技术中,黑名单实现多是基于树或hash(散列函数)等数据结构来实现,在黑名单策略数量较少时其拥有较高的效率,但当黑名单数量较多时,由于节点过多,导致黑名单策略占用的内存空间较多,黑名单策略的匹配效率较低,影响设备的转发功能和安全性能。
发明内容
有鉴于此,本申请实施例的目的在于提供一种黑名单策略匹配方法、装置、电子设备及存储介质,以改善现有技术中存在的黑名单策略的匹配效率较低的问题。
为了解决上述问题,第一方面,本申请提供了一种黑名单策略匹配方法,包括:
对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;
在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息;
基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果。
在上述实现方式中,通过对黑名单策略对应的目标网络地址构建的位图数据进行分段,能够将位图空间划分为多个均匀或者不均匀的子位图数据,以在各个子位图数据中对黑名单策略的具体位置进行定位,能够有效地减小大量黑名单策略所占用的内存空间,减小目标网络地址的内存消耗。并且,在多个子位图数据中对黑名单策略进行定位后,可以在获取的位置信息的基础上对目标网络地址中获取的数据包与黑名单策略进行匹配,将黑名单策略的匹配流程与位图中对应位置的访问流程进行关联,在定位得到的位置信息的基础上实现数据包与黑名单策略的匹配,在具有大量黑名单策略时,可以对每一个黑名单策略进行针对性地定位匹配,有效地提高了黑名单策略的匹配效率,提高目标网络地址的转发功能和安全性能。
可选地,所述在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息,包括:
确定多个所述子位图数据的指针数组;
基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息。
在上述实现方式中,通过在目标网络地址的基础上,确定出用于存放每个子位图数据的地址的指针数组,可以对黑名单策略在多个子位图数据中的具体位置进行定位,得到相应的位置信息。能够对每个子位图数据的地址进行单独存放,提高位置信息的获取效率和有效性。
可选地,所述基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息,包括:
基于所述目标网络地址与所述指针数组进行计算,得到数组下标数据和偏移量数据;
基于所述数组下标数据和所述偏移量数据,确定所述黑名单策略在多个所述子位图数据中的位置信息。
在上述实现方式中,通过目标网络地址与指针数组进行计算,能够得到黑名单策略的所处的数组下标数据和偏移量数据,在数组下标数据和偏移量数据的基础上能够找到黑名单策略对应的比特位,得到黑名单策略在多个子位图数据中对应的位置信息,以对黑名单策略的位图位置进行准确、快速地定位,提高位图访问的效率和有效性。
可选地,所述基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果,包括:
基于所述数组下标数据,在所述指针数组中确定出对应的位图指针;
判断所述位图指针是否有值;
在所述位图指针无值时,则所述位图指针的空间中没有对应的所述黑名单策略,放行所述数据包;
在所述位图指针有值时,根据所述位置信息,确定所述黑名单策略的比特位的置位情况;
基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果。
在上述实现方式中,根据获取的位置信息对黑名单策略和数据包进行匹配时,可以先对数组下标数据对应的位图指针进行查找,基于位图指针的值判断该位图指针的空间中是否存在黑名单策略,在不存在时直接对数据包进行放行,在存在时则通过位置信息找到黑名单策略对应的比特位,确定出比特位的置位情况,能够根据比特位的置位情况得到黑名单策略和数据包的匹配结果,将黑名单策略的匹配过程与位图位置的访问流程进行关联,能够对黑名单策略进行针对性地匹配,提高黑名单策略与数据包的匹配效率。
可选地,所述基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果,包括:
在所述置位情况为所述比特位未置位时,所述匹配结果为所述黑名单策略与所述数据包匹配失败,则放行所述数据包;
在所述置位情况为所述比特位置位时,所述匹配结果为所述黑名单策略与所述数据包匹配成功,则丢弃所述数据包。
在上述实现方式中,获取的置位情况中的黑名单策略对应的比特位是否置位影响到黑名单策略与数据包的匹配结果。在比特位置位时,匹配失败,对数据包进行放行,在比特位未置位时,匹配成功,对数据包进行丢弃处理,能够基于不同的匹配结果对数据包进行对应的后续处理,提高黑名单策略对数据包的处理效率。
可选地,所述判断所述位图指针是否有值之后,所述方法还包括:
在所述位图指针无值时,基于所述位置信息在多个所述子位图数据中申请新增内存空间;
根据所述位置信息对在所述新增内存空间中对新增比特位进行置位,确定对应的新增黑名单策略。
在上述实现方式中,在获取了位置信息并对数组下标数据对应的位图指针是否有值进行判断后,还能够在位置信息的基础上在多个子位图数据中,根据用户的需求对黑名单策略进行添加,在位图指针无值时才在位图指针对应的子位图数据中申请新增内存空间,在新增内存空间中对新增的比特位进行置位,以在新增内存空间中添加新增黑名单策略。在位图指针有值时不申请新增内存空间,能够根据用户需求及时对黑名单策略进行添加,并且有效地减少黑名单策略在目标网络地址中所占用的内存空间,降低非必要的内存消耗。
可选地,所述方法还包括:
基于所述位置信息,获取当前子位图数据的删除需求;
基于所述删除需求对所述当前子位图数据中的当前黑名单策略进行删除。
在上述实现方式中,还可以在位置信息的基础上,获取用户对于当前子位图数据的删除需求,基于删除需求对当前子位图数据中的黑名单策略进行删除,以在当前的子位图数据中存在黑名单策略时,对对应的黑名单策略进行删除,对内存进行释放,实现对黑名单策略的按需删除,也能够有效地减少黑名单策略在目标网络地址中所占用的内存空间,降低非必要的内存消耗。
可选地,所述对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据,包括:
基于黑名单策略的目标网络地址,构建对应的位图数据;
获取对应的分段需求;
基于所述分段需求对所述位图数据划分,得到多个子位图数据。
在上述实现方式中,为了减小大量黑名单策略在目标网络地址中的内存消耗,在位图与黑名单策略的对应基础上,通过在黑名单策略的目标网络地址的基础上构建位图数据,能够将黑名单策略的匹配流程与位图位置的访问流程进行关联。由于位图数据中黑名单策略所占用的内从空间较大,可以基于分段需求对位图数据进行划分,得到多个子位图数据,以将每个黑名单策略与对应的子位图数据进行对应,对整体的位图数据进行分段管理,有效地减小了黑名单策略的内存消耗。
第二方面,本申请还提供了一种黑名单策略匹配装置,所述装置包括:
分段模块,用于对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;
定位模块,用于在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息;
匹配模块,用于基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果。
在上述实现方式中,通过分段模块对黑名单策略对应的目标网络地址构建的位图数据进行分段,能够将位图空间划分为多个均匀或者不均匀的子位图数据,能够有效地减小大量黑名单策略所占用的内存空间,减小目标网络地址的内存消耗;通过定位模块在各个子位图数据中对黑名单策略的具体位置进行定位;通过匹配模块对在获取的位置信息的基础上对目标网络地址中获取的数据包与黑名单策略进行匹配,将黑名单策略的匹配流程与位图中对应位置的访问流程进行关联,在定位得到的位置信息的基础上实现数据包与黑名单策略的匹配。在具有大量黑名单策略时,可以对每一个黑名单策略进行针对性地定位匹配,有效地提高了黑名单策略的匹配效率,提高目标网络地址的转发功能和安全性能。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述黑名单策略匹配方法中任一实现方式中的步骤。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述黑名单策略匹配方法中任一实现方式中的步骤。
综上所述,本申请提供了一种黑名单策略匹配方法、装置、电子设备及存储介质,能够对网络地址的位图进行分段管理,以减小黑名单策略在网络地址中的内存消耗,通过对黑名单策略的具体位置进行定位,能够在定位得到的位置信息的基础上实现数据包与黑名单策略的匹配,在具有大量黑名单策略时,可以对每一个黑名单策略进行针对性匹配,有效地提高了黑名单策略的匹配效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种黑名单策略匹配方法的流程示意图;
图2为本申请实施例提供的一种步骤S2的详细流程示意图;
图3为本申请实施例提供的一种步骤S22的详细流程示意图;
图4为本申请实施例提供的一种步骤S3的详细流程示意图;
图5为本申请实施例提供的另一种黑名单策略匹配方法的流程示意图;
图6为本申请实施例提供的再一种黑名单策略匹配方法的流程示意图;
图7为本申请实施例提供的一种步骤S1的详细流程示意图;
图8为本申请实施例提供的一种黑名单策略匹配装置的模块结构示意图。
图标:600-黑名单策略匹配装置;610-分段模块;620-定位模块;630-匹配模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在通信网络环境中,考虑到网络环境的安全性,因此会频繁使用黑名单功能。由于黑名单策略需要对每一个进入网络环境中的数据包进行匹配,以对数据包进行安全处理,因此黑名单策略的匹配效率影响网络的转发功能和安全性能。
目前对黑名单策略的处理方式中,一般是通过两种方式对黑名单策略进行匹配:一:构建基于黑名单策略对应的网络地址的树结构,用于对黑名单策略进行查询和匹配;二:构建hash表,根据黑名单的网络地址计算hash值,将黑名单策略的条目放在对应的hash节点上进行计算。上述两种方式在黑名单策略数量较少时其拥有较高的效率。然而在黑名单策略的数量较多时,上述两种方式存在以下缺陷:1、由于节点过多,树结构的深度会不断增加,导致黑名单策略占用大量内存资源,匹配效率降低;2、在黑名单策略数量较多时,易产生hash冲突,导致黑名单策略的内存消耗较大,匹配效率较低。
因此,为了解决上述问题,本申请实施例提供了一种黑名单策略匹配方法,应用于服务器,服务器可以为个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备,能够对黑名单策略的网络地址进行分段处理,将黑名单策略的匹配流程与位图中对应位置的访问流程进行关联,提高黑名单策略的匹配效率。
可选地,电子设备中可以包括存储器、存储控制器、处理器、外设接口、输入输出单元等。电子设备的组件和结构可以根据实际情况进行设置。
上述的存储器、存储控制器、处理器、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器用于执行存储器中存储的可执行模块。
其中,存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备所执行的方法可以应用于处理器中,或者由处理器实现。
上述的处理器可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口将各种输入/输出装置耦合至处理器以及存储器。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
本实施例中的电子设备可以用于执行本申请实施例提供的各个黑名单策略匹配方法中的各个步骤。下面通过几个实施例详细描述黑名单策略匹配方法的实现过程。
请参阅图1,图1为本申请实施例提供的一种黑名单策略匹配方法的流程示意图,该方法可以包括以下步骤:
步骤S1,对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据。
其中,可以在网络环境中,以黑名单策略所在的IP(Internet Protocol,网络互联协议)作为索引,得到对应的目标网络地址的位图数据。
可选地,网络环境可以为ipv4(Internet Protocol Version 4,互联网通信协议第四版)或ipv6(Internet Protocol Version 6,互联网通信协议第六版)等常见的网络协议环境,可以根据实际情况和用户需求进行选择和调整。
值得说明的是,以ipv4为例,ipv4的地址内存空间约为4G,由于每个黑名单策略的目标网络地址都对应一个比特位,则ipv4下,目标网络地址的位图数据的大小约为500MB。500MB为极限情况下的内存消耗,黑名单策略在位图数据中的分布不均匀,不是都为极限情况的存储方式。因此为了降低黑名单策略在非极限情况下的内存消耗,可以对目标网络地址的位图数据进行分段处理,以将500MB的位图数据均匀或不均匀地划分为多个分段,得到对应的多个子位图数据。
步骤S2,在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息。
其中,在对黑名单策略进行并行处理时,由于黑名单策略位置的不确定性,在依次进行处理后,查找到黑名单策略的时间较久,导致黑名单策略的匹配效率较低。因此,通过在划分得到的多个子位图数据中对黑名单策略进行针对性地定位,可以获取黑名单策略在某一个子位图数据中的某一个具体位置的位置信息,从而能够对需要进行匹配的黑名单策略进行针对性处理,提高了黑名单策略的匹配效率。
步骤S3,基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果。
其中,在获取的位置信息的基础上对目标网络地址中获取的数据包与黑名单策略进行匹配,将黑名单策略的匹配流程与位图中对应位置的访问流程进行关联,在位置信息的基础上实现数据包与黑名单策略的匹配。
在图1所示的实施例中,在具有大量黑名单策略时,可以对每一个黑名单策略进行针对性地定位匹配,有效地提高了黑名单策略的匹配效率,提高目标网络地址的转发功能和安全性能。
可选地,请参阅图2,图2为本申请实施例提供的一种步骤S2的详细流程示意图,步骤S2还可以包括步骤S21-S22:
步骤S21,确定多个所述子位图数据的指针数组。
其中,在多个子位图数据的个数的基础上,确定出对应的指针数组,例如,在具有1024个子位图数据时,每个子位图数据可以划分为大小相同,都为222的内存空间,每一个空间具有对应的指针数组,则具有1024个指针数组,分别用于存放每一段对应的子位图数据中对应空间的位图地址,以实现对每一段子位图数据的单独存放。
步骤S22,基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息。
其中,根据黑名单策略中的目标网络地址与指针数组,能够对黑名单策略所处的具体位置进行获取,以根据位置信息,找到黑名单策略对应的比特位的位置。
在图2所示的实施例中,能够对每个子位图数据的地址进行单独存放,提高位置信息的获取效率和有效性。
可选地,请参阅图3,图3为本申请实施例提供的一种步骤S22的详细流程示意图,步骤S22还可以包括步骤S221-S222:
步骤S221,基于所述目标网络地址与所述指针数组进行计算,得到数组下标数据和偏移量数据。
其中,在对位置信息进行获取时,可以根据目标网络地址与指针数组进行计算,计算方式可以为:在黑名单策略的目标网络地址中位图数据的分段的数量值为1000时,则根据数量值对指针数组1024取整,能够得到对应的数组下标数据,即为1,则代表在第一个位图地址中;再根据数量值对指针数组1024取余,则得到黑名单策略在位图数据中的偏移量数据,即黑名单策略的实际地址与其所在段的段地址之间的距离称为段内偏移。
步骤S222,基于所述数组下标数据和所述偏移量数据,确定所述黑名单策略在多个所述子位图数据中的位置信息。
其中,在获取的数组下标数据和偏移量数据的基础上,可以获取黑名单策略在位图数据中进行匹配时,产生位移后的具体位置,从而找到黑名单策略对应的比特位的位置。
在图3所示的实施例中,能够对黑名单策略的位图位置进行准确、快速地定位,提高位图访问的效率和有效性。
可选地,请参阅图4,图4为本申请实施例提供的一种步骤S3的详细流程示意图,步骤S3还可以包括步骤S31-S35:
步骤S31,基于所述数组下标数据,在所述指针数组中确定出对应的位图指针。
其中,每一个数组下标数据都有与其对应的位图指针,根据获取的位置信息对黑名单策略和数据包进行匹配时,可以先对数组下标数据对应的位图指针进行查找。
步骤S32,判断所述位图指针是否有值。
其中,通过对位图指针是否有值进行判断,能够对该位图指针对应的内存空间中是否具有黑名单策略进行判断。
步骤S33,在所述位图指针无值时,则所述位图指针的空间中没有对应的所述黑名单策略,放行所述数据包。
其中,在位图指针无值时,则该位图指针对应的内存空间为空,其中没有对应的黑名单策略,因此目标网络地址获取的数据包不需要进行安全处理,直接对数据包进行放行。
步骤S34,在所述位图指针有值时,根据所述位置信息,确定所述黑名单策略的比特位的置位情况。
其中,在位图指针有值时,则对应的空间中存在黑名单策略,需要在位置信息的基础上,对找到的黑名单策略对应的比特位的置位情况进行获取。
步骤S35,基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果。
其中,根据比特位的置位情况可以得到黑名单策略和数据包的匹配结果,将黑名单策略的匹配过程与位图位置的访问流程进行关联。
可选地,匹配结果可以包括以下两种情况:在置位情况为比特位未置位时,匹配结果为黑名单策略与数据包匹配失败,则不需要对获取的数据包进行安全处理,放行数据包;在置位情况为比特位置位时,匹配结果为黑名单策略与数据包匹配成功,则黑名单策略对数据包的安全处理未通过,丢弃数据包。
值得说明的是,任意数量的黑名单策略在进行匹配时,其匹配效率均为O(1),不受黑名单策略位置不同时造成的不利影响,适用于具有各种数量的黑名单策略的多种网络环境,满足多种应用场景和用户的多种需求。
在图4所示的实施例中,能够将黑名单策略的匹配过程与位图位置的访问流程进行关联,对黑名单策略进行针对性地匹配,提高黑名单策略与数据包的匹配效率。
可选地,请参阅图5,图5为本申请实施例提供的另一种黑名单策略匹配方法的流程示意图,在步骤S32后,该方法还可以包括步骤S36-S37:
步骤S36,在所述位图指针无值时,基于所述位置信息在多个所述子位图数据中申请新增内存空间。
其中,在对黑名单策略进行匹配时,还可以同时根据用户的需求对黑名单策略进行添加,以提高黑名单策略的实时性和有效性。为了减小大量黑名单策略所占用的空间,可以在位图指针无值时,才在位置信息确定的子位图数据中申请添加的新增内存空间,对新增内存空间进行初始化,以为添加的黑名单策略做准备。
可选地,在位图指针有值时,则代表该位图指针以申请对应的内存空间,不需要再重复申请新增内存空间,以减小内存空间的消耗。
步骤S37,根据所述位置信息对在所述新增内存空间中对新增比特位进行置位,确定对应的新增黑名单策略。
其中,在新增内存空间中对新增的比特位进行置位,即能确定新增黑名单策略,实现对黑名单策略的添加。
值得说明的是,在位图指针有值时,也可以在已有的内存空间中直接对比特位进行置位,也能够实现对黑名单策略的添加。
在图5所示的实施例中,能够根据用户需求及时对黑名单策略进行添加,并且有效地减少黑名单策略在目标网络地址中所占用的内存空间,降低非必要的内存消耗。
可选地,请参阅图6,图6为本申请实施例提供的再一种黑名单策略匹配方法的流程示意图,该方法还可以包括步骤S4-S5:
步骤S4,基于所述位置信息,获取当前子位图数据的删除需求。
其中,在对黑名单策略进行匹配时,还可以同时根据用户的需求对黑名单策略进行删除,以提高黑名单策略的实时性和有效性。在进行删除时,可以在位置信息的基础上,获取用户对于当前子位图数据的删除需求,删除需求可以为用户输入的相关指令。删除需求中可以包括指定删除,例如删除某一个黑名单策略等,也可以包括条件删除,例如对某一类型的黑名单策略进行批量删除等,还可以包括范围删除,例如对某一子位图数据中的所有黑名单策略进行统一删除等多种删除需求。
步骤S5,基于所述删除需求对所述当前子位图数据中的当前黑名单策略进行删除。
其中,在删除需求的基础上,可以在位置信息的基础上,根据数组下标数据和偏移量数据确定出子位图数据中的清空位对应的比特位,并对对应的内存空间中是否包含有其他黑名单策略进行判断,在该内存空间没有其他黑名单策略时,则对当前黑名单策略的比特位进行清空,以对当前黑名单策略进行删除,释放对应的内存空间。可选地,在该内存空间有其他黑名单策略时,为了减小黑名单策略的内存消耗,也可以不对当前黑名单策略进行删除。
值得说明的是,对黑名单策略的匹配、添加和删除的三种流程互不影响,能够同时进行,也能够在添加或删除后的黑名单策略的基础上进行与数据包的匹配。
在图6所示的实施例中,能够对黑名单策略进行按需删除,有效地减少黑名单策略在目标网络地址中所占用的内存空间,降低非必要的内存消耗。
可选地,请参阅图7,图7为本申请实施例提供的一种步骤S1的详细流程示意图,步骤S1还可以包括步骤S11-S13:
步骤S11,基于黑名单策略的目标网络地址,构建对应的位图数据。
其中,能够在位图数据与黑名单策略的对应基础上,先对黑名单策略所在的目标网络地址的位图数据进行构建,得到整体的位图数据。
步骤S12,获取对应的分段需求。
其中,可以获取用户输入、选择或存储的分段需求,例如均匀分段、不均匀分段、按时间分段、按要求分段等多种不同的需求。
步骤S13,基于所述分段需求对所述位图数据划分,得到多个子位图数据。
其中,可以基于分段需求对位图数据进行划分,得到多个子位图数据,能够将黑名单策略的匹配流程与位图位置的访问流程进行关联,将每个黑名单策略与对应的子位图数据进行对应。
在图7所示的实施例中,能够对整体的位图数据进行分段管理,有效地减小了黑名单策略的内存消耗。
请参阅图8,图8为本申请实施例提供的一种黑名单策略匹配装置的模块结构示意图,黑名单策略匹配装置600可以包括:
分段模块610,用于对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;
定位模块620,用于在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息;
匹配模块630,用于基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果。
在一可选的实施方式中,定位模块620还可以包括确定子模块和定位子模块;
确定子模块,用于确定多个所述子位图数据的指针数组;
定位子模块,用于基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息。
在一可选的实施方式中,定位子模块还可以包括计算单元和位置单元;
计算单元,用于基于所述目标网络地址与所述指针数组进行计算,得到数组下标数据和偏移量数据;
位置单元,用于基于所述数组下标数据和所述偏移量数据,确定所述黑名单策略在多个所述子位图数据中的位置信息。
在一可选的实施方式中,匹配模块630还可以包括指针子模块,判断子模块和置位子模块;
指针子模块,用于基于所述数组下标数据,在所述指针数组中确定出对应的位图指针;
判断子模块,用于判断所述位图指针是否有值;在所述位图指针无值时,则所述位图指针的空间中没有对应的所述黑名单策略,放行所述数据包;在所述位图指针有值时,根据所述位置信息,确定所述黑名单策略的比特位的置位情况;
置位子模块,用于基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果。
在一可选的实施方式中,置位子模块还可以包括放行单元和丢弃单元;
放行单元,用于在所述置位情况为所述比特位未置位时,所述匹配结果为所述黑名单策略与所述数据包匹配失败,则放行所述数据包;
丢弃单元,用于在所述置位情况为所述比特位置位时,所述匹配结果为所述黑名单策略与所述数据包匹配成功,则丢弃所述数据包。
在一可选的实施方式中,黑名单策略匹配装置600还可以包括策略添加模块,用于在所述位图指针无值时,基于所述位置信息在多个所述子位图数据中申请新增内存空间;根据所述位置信息对在所述新增内存空间中对新增比特位进行置位,确定对应的新增黑名单策略。
在一可选的实施方式中,黑名单策略匹配装置600还可以包括策略删除模块,用于基于所述位置信息,获取当前子位图数据的删除需求;基于所述删除需求对所述当前子位图数据中的当前黑名单策略进行删除。
在一可选的实施方式中,分段模块610还可以包括构建子模块、需求子模块和划分子模块;
构建子模块,用于基于黑名单策略的目标网络地址,构建对应的位图数据;
需求子模块,用于获取对应的分段需求;
划分子模块,用于基于所述分段需求对所述位图数据划分,得到多个子位图数据。
由于本申请实施例中的装置解决问题的原理与前述的黑名单策略匹配方法的实施例相似,因此本实施例中的黑名单策略匹配装置600的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的黑名单策略匹配方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备。
本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本实施例提供的黑名单策略匹配方法中任一项所述方法中的步骤。
综上所述,本申请实施例提供了一种黑名单策略匹配方法、装置、电子设备及存储介质,能够对网络地址的位图进行分段管理,以减小黑名单策略在网络地址中的内存消耗,通过对黑名单策略的具体位置进行定位,能够在定位得到的位置信息的基础上实现数据包与黑名单策略的匹配,在具有大量黑名单策略时,可以对每一个黑名单策略进行针对性匹配,有效地提高了黑名单策略的匹配效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种黑名单策略匹配方法,其特征在于,包括:
对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;
在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息;
基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果;
其中,所述在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息,包括:确定多个所述子位图数据的指针数组;基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息;
所述基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息,包括:基于所述目标网络地址与所述指针数组进行计算,得到数组下标数据和偏移量数据;基于所述数组下标数据和所述偏移量数据,确定所述黑名单策略在多个所述子位图数据中的位置信息;
所述基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果,包括:基于所述数组下标数据,在所述指针数组中确定出对应的位图指针;判断所述位图指针是否有值;在所述位图指针无值时,则所述位图指针的空间中没有对应的所述黑名单策略,放行所述数据包;在所述位图指针有值时,根据所述位置信息,确定所述黑名单策略的比特位的置位情况;基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果,包括:
在所述置位情况为所述比特位未置位时,所述匹配结果为所述黑名单策略与所述数据包匹配失败,则放行所述数据包;
在所述置位情况为所述比特位置位时,所述匹配结果为所述黑名单策略与所述数据包匹配成功,则丢弃所述数据包。
3.根据权利要求1所述的方法,其特征在于,所述判断所述位图指针是否有值之后,所述方法还包括:
在所述位图指针无值时,基于所述位置信息在多个所述子位图数据中申请新增内存空间;
根据所述位置信息对在所述新增内存空间中对新增比特位进行置位,确定对应的新增黑名单策略。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述位置信息,获取当前子位图数据的删除需求;
基于所述删除需求对所述当前子位图数据中的当前黑名单策略进行删除。
5.根据权利要求1所述的方法,其特征在于,所述对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据,包括:
基于黑名单策略的目标网络地址,构建对应的位图数据;
获取对应的分段需求;
基于所述分段需求对所述位图数据划分,得到多个子位图数据。
6.一种黑名单策略匹配装置,其特征在于,所述装置包括:
分段模块,用于对黑名单策略对应的目标网络地址的位图数据进行分段,得到多个子位图数据;
定位模块,用于在多个所述子位图数据中对所述黑名单策略进行定位,得到对应的位置信息;
匹配模块,用于基于所述位置信息对获取的数据包和所述黑名单策略进行匹配,得到匹配结果;
其中,所述定位模块包括确定子模块和定位子模块;所述确定子模块用于确定多个所述子位图数据的指针数组;所述定位子模块用于基于所述指针数组对所述黑名单策略进行定位,确定出所述黑名单策略在多个所述子位图数据中的位置信息;
所述定位子模块包括计算单元和位置单元;所述计算单元用于基于所述目标网络地址与所述指针数组进行计算,得到数组下标数据和偏移量数据;所述位置单元用于基于所述数组下标数据和所述偏移量数据,确定所述黑名单策略在多个所述子位图数据中的位置信息;
所述匹配模块包括指针子模块、判断子模块和置位子模块;所述指针子模块用于基于所述数组下标数据,在所述指针数组中确定出对应的位图指针;所述判断子模块用于判断所述位图指针是否有值;在所述位图指针无值时,则所述位图指针的空间中没有对应的所述黑名单策略,放行所述数据包;在所述位图指针有值时,根据所述位置信息,确定所述黑名单策略的比特位的置位情况;所述置位子模块用于基于所述置位情况得到所述黑名单策略和所述数据包的匹配结果。
7.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-5中任一项所述方法中的步骤。
8.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-5任一项所述方法中的步骤。
CN202111443283.3A 2021-11-30 2021-11-30 黑名单策略匹配方法、装置、电子设备及存储介质 Active CN114143083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111443283.3A CN114143083B (zh) 2021-11-30 2021-11-30 黑名单策略匹配方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111443283.3A CN114143083B (zh) 2021-11-30 2021-11-30 黑名单策略匹配方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114143083A CN114143083A (zh) 2022-03-04
CN114143083B true CN114143083B (zh) 2023-11-14

Family

ID=80390099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111443283.3A Active CN114143083B (zh) 2021-11-30 2021-11-30 黑名单策略匹配方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114143083B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110132A (zh) * 2010-12-08 2011-06-29 北京星网锐捷网络技术有限公司 统一资源定位符匹配查找方法、装置和网络侧设备
CN102801659A (zh) * 2012-08-15 2012-11-28 成都卫士通信息产业股份有限公司 一种基于流策略的安全网关实现方法及装置
CN103544316A (zh) * 2013-11-06 2014-01-29 苏州大拿信息技术有限公司 Url过滤的系统及其实现方法
CN103581363A (zh) * 2013-11-29 2014-02-12 杜跃进 对恶意域名和非法访问的控制方法及装置
CN104969199A (zh) * 2012-12-28 2015-10-07 英特尔公司 实施黑名单分页结构指示值的处理器、方法,以及系统
CN110263534A (zh) * 2019-05-09 2019-09-20 北京奇艺世纪科技有限公司 黑名单存储方法、请求拦截方法、装置及存储介质
CN110855629A (zh) * 2019-10-21 2020-02-28 新华三信息安全技术有限公司 Ip地址的匹配方法、匹配表的生成方法及相关装置
CN112398867A (zh) * 2020-11-23 2021-02-23 欧冶云商股份有限公司 黑白名单限制实现方法、平台、计算机设备及存储介质
CN112637043A (zh) * 2020-11-17 2021-04-09 广州市玄武无线科技股份有限公司 消息过滤方法、系统、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016154A1 (en) * 2009-07-17 2011-01-20 Rajan Goyal Profile-based and dictionary based graph caching

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110132A (zh) * 2010-12-08 2011-06-29 北京星网锐捷网络技术有限公司 统一资源定位符匹配查找方法、装置和网络侧设备
CN102801659A (zh) * 2012-08-15 2012-11-28 成都卫士通信息产业股份有限公司 一种基于流策略的安全网关实现方法及装置
CN104969199A (zh) * 2012-12-28 2015-10-07 英特尔公司 实施黑名单分页结构指示值的处理器、方法,以及系统
CN103544316A (zh) * 2013-11-06 2014-01-29 苏州大拿信息技术有限公司 Url过滤的系统及其实现方法
CN103581363A (zh) * 2013-11-29 2014-02-12 杜跃进 对恶意域名和非法访问的控制方法及装置
CN110263534A (zh) * 2019-05-09 2019-09-20 北京奇艺世纪科技有限公司 黑名单存储方法、请求拦截方法、装置及存储介质
CN110855629A (zh) * 2019-10-21 2020-02-28 新华三信息安全技术有限公司 Ip地址的匹配方法、匹配表的生成方法及相关装置
CN112637043A (zh) * 2020-11-17 2021-04-09 广州市玄武无线科技股份有限公司 消息过滤方法、系统、终端及存储介质
CN112398867A (zh) * 2020-11-23 2021-02-23 欧冶云商股份有限公司 黑白名单限制实现方法、平台、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114143083A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN108255958B (zh) 数据查询方法、装置和存储介质
US7861291B2 (en) System and method for implementing ACLs using standard LPM engine
CN109067744B (zh) Acl规则处理方法、装置及通信设备
US9817977B2 (en) Methods for selection of collaborators for online threat mitigation
CN110417777B (zh) 一种优化的微服务间通信的方法及装置
US10897483B2 (en) Intrusion detection system for automated determination of IP addresses
CN106254395B (zh) 一种数据过滤方法及系统
CN114143083B (zh) 黑名单策略匹配方法、装置、电子设备及存储介质
CN116303343A (zh) 数据分片方法、装置、电子设备及存储介质
CN114244555B (zh) 一种安全策略的调整方法
CN113992364B (zh) 一种网络数据包阻断优化方法以及系统
CN111198900B (zh) 工业控制网络的数据缓存方法、装置、终端设备及介质
CN113824814A (zh) 一种转发表的地址匹配方法、装置、网络设备及介质
CN110868388B (zh) 用于操作联网设备的系统和方法
CN113419792A (zh) 一种事件处理方法、装置、终端设备和存储介质
US10819683B2 (en) Inspection context caching for deep packet inspection
CN116600031B (zh) 报文处理方法、装置、设备及存储介质
CN112817980A (zh) 一种数据索引处理方法、装置、设备及存储介质
CN107977381B (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN111107142A (zh) 业务访问方法和装置
CN112688985B (zh) 通信方法及装置
CN116366292B (zh) 报文处理方法、系统、存储介质及电子设备
KR102562765B1 (ko) Ip 대역별 정보 추출 시스템 및 그 방법
CN111106982B (zh) 一种信息过滤方法、装置、电子设备及存储介质
CN112131223B (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