本发明涉及计算机,尤其是指一种动态重定向的网络攻击黑名单管理方法及系统。
背景技术:
1、网络攻击黑名单是一种记录着已知或可疑的网络攻击者、攻击来源或恶意行为的列表,其作用在于帮助网络攻击防御系统记录已经被防御系统检测到的网络攻击条目,并识别和阻止到来的网络流量中已经被检测到的网络攻击条目,从而实现高性能的网络安全防御。
2、目前,现有的网络攻击黑名单技术主要包括基于规则的黑名单、基于特征的黑名单以及基于行为分析的黑名单。基于规则的黑名单主要依赖于预定义的规则,例如ip地址、域名等,用于识别和阻止已知的网络攻击条目。基于特征的黑名单则利用特征匹配技术,如正则表达式、字符串匹配等,对网络流量进行检测和过滤。而基于行为分析的黑名单则通过监控和分析网络流量的行为模式,识别并阻止异常行为和潜在攻击。尽管现有的网络攻击黑名单技术在一定程度上提供了网络安全保护,但传统的网络攻击黑名单管理方法往往存在效率低下、难以应对大规模网络攻击条目、内存占用较大等问题。
3、近似成员查询方法(amq: approximate membership queries)是一种数据结构,也称为过滤器,能够用紧凑的空间来表示一个集合,并且能够估计性地回答元素是否是集合的成员。这种方法具有较高的查询效率,无论集合规模的大小,都能够在常数时间内执行成员查询。将近似成员查询方法应用于网络攻击黑名单管理具有多重优势。首先,amq方法能够高效地辨别已知的网络攻击条目(如网络攻击者或恶意行为等),无论网络攻击黑名单规模的大小,查询速度都能保持在常数时间内,从而大大提高网络安全防御的实时性和准确性。其次,amq方法采用紧凑型数据结构,内存占用较低,能够显著降低硬件成本,提高系统的可扩展性。此外,amq方法还能够支持网络攻击黑名单的更新和删除,并即时生效:新的网络攻击条目可以随时添加到网络攻击黑名单中,失效的网络攻击条目也能及时从网络攻击黑名单中删除。将近似成员查询方法用于网络攻击黑名单管理能够为网络安全提供更高效、更灵活、更经济的解决方案,有效应对日益复杂的网络安全威胁。
4、随着网络攻击防御系统检测的进行,网络攻击黑名单的规模和内容将会不断变化。当新的网络攻击条目不断出现,基于近似成员查询方法的网络攻击黑名单将会面临因为存储超出自身存储能力的网络攻击条目而假阳性率升高的问题。这将会导致网络中大量的正常网络条目被报告为存在于网络攻击黑名单之中,影响正常的网络服务。因此,需要网络攻击黑名单所使用的近似成员查询数据结构能够进行灵活地扩展和调整,以适应网络攻击黑名单的变化。
5、然而,目前的动态扩展方法可能导致查询效率下降和误报率增加,特别是在扩展过程中,元素查询所消耗的时间逐渐增加,误报率也会相应增加。对于网络攻击黑名单来说,这可能意味着在网络攻击黑名单更新过程中,网络攻击防御系统可能会面临更长的查询响应时间和更多的查询误报,从而降低了对潜在网络攻击的实时识别和阻止能力。
技术实现思路
1、为此,本发明所要解决的技术问题在于克服现有技术中网络攻击黑名单的近似成员查询方法在动态扩展过程中会引起查询效率下降和误报率增加的问题。
2、为解决上述技术问题,本发明提供了一种动态重定向的网络攻击黑名单管理方法,包括:
3、初始化黑名单,包括构建黑名单和黑名单特征表;
4、获取网络攻击,执行目标操作;所述目标操作包括:在黑名单中插入网络攻击、在黑名单中查询网络攻击、在黑名单中删除网络攻击;
5、在黑名单中插入网络攻击时,若该网络攻击所对应的黑名单无法再插入新的网络攻击,则将该网络攻击所对应的黑名单作为原始黑名单,进行动态扩展,包括:
6、获取原始黑名单的扩展次数t,添加一个新的黑名单;
7、对原始黑名单中每一个标签,根据标签第t位的值判断是否将该标签插入到新的黑名单中;若标签第t位的值为0,则将该标签留在原始黑名单中;若标签第t位的值为1,则将该标签移动到新的黑名单中;
8、标签移动完毕后,原始黑名单的扩展次数增加1,并获取黑名单特征表中当前映射到原始黑名单的条目;如果条目数量大于1,则将一半的条目指向新的黑名单;否则,扩展出一个新的黑名单特征表,并分配一半的条目指向新的黑名单。
9、优选地,对原始黑名单进行动态扩展时,标签移动的操作通过多线程实现。
10、优选地,所述初始化黑名单包括:
11、构建多个黑名单;
12、构建一个黑名单特征表,所述黑名单特征表包括多个条目,用于完成网络攻击到黑名单的映射;
13、对黑名单特征表初始化,将黑名单特征表的多个条目平均分成与黑名单个数相同的份数,每一份条目存储一个黑名单的黑名单号。
14、优选地,所述在黑名单中插入网络攻击,包括:
15、通过哈希映射将网络攻击映射为标签,并根据网络攻击的标签在黑名单特征表中找到网络攻击所映射到的条目,再根据该条目的索引和黑名单的最大扩展次数计算真实条目;
16、将网络攻击插入到真实条目对应的黑名单中。
17、优选地,网络攻击的标签的长度为,其中为该网络攻击对应黑名单的扩展次数,z是根据期望误报率计算得到的参数。
18、优选地,根据期望误报率计算得到的参数z为:
19、;
20、其中,为期望误报率。
21、优选地,在黑名单中查询网络攻击,包括:
22、通过哈希映射将网络攻击映射为标签,并根据网络攻击的标签在黑名单特征表中找到网络攻击所映射到的条目,再根据该条目的索引和黑名单的最大扩展次数计算真实条目;
23、在真实条目对应的黑名单中查找网络攻击,若真实条目对应的黑名单中存储有该网络攻击的标签,则报告该网络攻击存在,否则报告该网络攻击不存在。
24、优选地,在黑名单中删除网络攻击,包括:
25、通过哈希映射将网络攻击映射为标签,并根据网络攻击的标签在黑名单特征表中找到网络攻击所映射到的条目,再根据该条目的索引和黑名单的最大扩展次数计算真实条目;
26、在真实条目对应的黑名单中查找并删除网络攻击。
27、优选地,根据网络攻击的标签在黑名单特征表中找到网络攻击所映射到的条目,再根据该条目的索引和黑名单的最大扩展次数计算真实条目,计算公式为:
28、;
29、其中,为真实条目的索引,为网络攻击的标签,为根据标签得到的网络攻击在黑名单特征表中所映射到的条目的索引,为每个黑名单的初始条目数,为标签的长度,为黑名单的最大扩展次数。
30、本发明还提供了一种动态重定向的网络攻击黑名单管理系统,包括:
31、初始化模块,用于初始化黑名单,包括构建黑名单和黑名单特征表;
32、操作模块,用于获取网络攻击,执行目标操作;所述目标操作包括:在黑名单中插入网络攻击、在黑名单中查询网络攻击、在黑名单中删除网络攻击;
33、动态扩展模块,用于在黑名单中插入网络攻击时,若该网络攻击所对应的黑名单无法再插入新的网络攻击,则将该网络攻击所对应的黑名单作为原始黑名单,进行动态扩展,包括:
34、获取原始黑名单的扩展次数t,添加一个新的黑名单;
35、对原始黑名单中每一个标签,根据标签第t位的值判断是否将该标签插入到新的黑名单中;若标签第t位的值为0,则将该标签留在原始黑名单中;若标签第t位的值为1,则将该标签移动到新的黑名单中;
36、标签移动完毕后,原始黑名单的扩展次数增加1,并获取黑名单特征表中当前映射到原始黑名单的条目;如果条目数量大于1,则将一半的条目指向新的黑名单;否则,扩展出一个新的黑名单特征表,并分配一半的条目指向新的黑名单。
37、本发明的上述技术方案相比现有技术具有以下有益效果:
38、本发明所述的一种动态重定向的网络攻击黑名单管理方法,基于黑名单的扩展次数,判断存储在黑名单中网络攻击的标签是否需要移动到新的黑名单中,再将黑名单特征表中映射至被扩展黑名单的条目划分一半至新的黑名单,实现了动态调整黑名单的大小以适应存储不同规模的网络攻击集合,并且在动态扩展黑名单时,能够确保用户对黑名单进行的其他操作不受影响,因此对比其他黑名单扩展方法,不会造成查询效率下降和误报率增加的问题。
39、进一步地,由于在扩展的过程中,标签某些位被使用导致误报率增加,而本发明设置存储的网络攻击标签的长度随着黑名单的扩展次数增加,能够维持稳定的误报率。并且,获取网络攻击在黑名单特征表中映射的条目后,基于黑名单的最大扩展次数再次计算真实条目,从而得到网络攻击对应的真实黑名单,提高了网络攻击在黑名单中映射的准确性,降低了误报率。