一种多尺度白快黑慢的快速攻击流量筛查方法与流程
- 国知局
- 2024-08-02 14:54:27
本公开涉及流量过滤,尤其涉及一种多尺度白快黑慢的快速攻击流量筛查方法。
背景技术:
1、近年来,随着网络攻击的不断增加和演变,安全设备和系统面临着巨大的挑战。然而,随着网络攻击的特征集不断增大以及网络流量数量的快速增长,安全设备在流量过滤方面的性能不足逐渐成为了整个流量传输系统的瓶颈。
2、相关技术中,安全设备通常需要对所有流量负载进行同等级的检测分析,这便会导致大量低效且无用的计算。这些问题严重影响了安全设备和系统的性能和效率。
技术实现思路
1、为克服相关技术中存在的问题,本公开提供了一种一种多尺度白快黑慢的快速攻击流量筛查方法。
2、本公开第一方面提供一种多尺度白快黑慢的快速攻击流量筛查方法,所述方法包括:
3、基于接收到的数据包的元数据信息,确定数据包的一级过滤结果,其中,所述一级过滤结果包括所述数据包为可疑数据包和所述数据包为非可疑数据包,所述非可疑数据包为可信数据包或攻击数据包;
4、响应于所述数据包为可疑数据包,根据过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果,其中,所述过滤串包括所述数据包的负载中的部分或全部数据,所述二级过滤结果包括所述数据包是否为攻击数据包。
5、可选的,所述方法还包括:
6、针对所述至少一项攻击串中每项攻击串,将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中,其中,所述超字符表征连续的至少一个比特位,所述偏移量表征对应的超字符在所在的攻击串中的位置;
7、所述根据所述过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果,包括:
8、基于所述过滤表确定所述过滤串与至少一项攻击串之间的匹配度,并根据所述匹配度确定所述数据包的二级过滤结果。
9、可选的,所述至少一项攻击串均为w个超字符,所述超字符的偏移量记录串包括w个比特位,其中,w为正整数;
10、所述将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中,包括:
11、将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1。
12、可选的,所述过滤表的数据结构类型包括字节;
13、所述将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1,包括:
14、基于移位操作以及按位或操作,将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1。
15、可选的,所述基于所述过滤表确定所述过滤串与至少一项攻击串之间的匹配度,并根据所述匹配度确定所述数据包的二级过滤结果,包括:
16、在所述过滤串中逐个读入超字符,在每读入一个超字符时,对状态值s执行右移操作,将读入的超字符在所述过滤表中对应的偏移量记录串与s进行按位与操作,以及将s更新为按位与操作的结果,在读入的超字符数量达到w的情况下,响应于更新后的s的最低有效位为1,确定二级过滤结果为所述数据包为攻击数据包,其中,在初始状态下s的所有比特位均为1,所述右移操作在s的最高有效位置1。
17、可选的,所述至少一项攻击串为基于至少一项攻击特征确定;
18、所述响应于更新后的s的最低有效位为1,确定二级过滤结果为所述数据包为攻击数据包,包括:
19、响应于更新后的s的最低有效位为1,且在所述至少一项攻击特征中存在与所述过滤串相匹配的任一攻击特征,确定二级过滤结果为所述数据包为攻击数据包。
20、可选的,所述方法还包括:
21、基于预设的采样间隔对至少一项攻击特征中的每个攻击特征进行采样,以得到每个攻击特征对应的至少一项攻击串;
22、所述根据所述过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果,包括:
23、基于所述采样间隔对所述过滤串进行采样,以得到至少一个过滤子串,并根据所述至少一个过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果。
24、可选的,所述方法还包括:
25、针对所述至少一项攻击串中每项攻击串,将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中,其中,所述超字符表征连续的至少一个比特位,所述偏移量表征对应的超字符在所在的攻击串中的位置;
26、所述根据所述过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果,包括:
27、基于所述过滤表根据所述过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果。
28、可选的,所述根据所述至少一个过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果,包括:
29、响应于至少一个过滤子串中的任一过滤子串与所述至少一项攻击串中的任一攻击串相匹配,根据所述任一过滤子串与另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串;
30、根据所述另一过滤子串与所述待匹配攻击串之间的匹配度,确定所述数据包的二级过滤结果。
31、可选的,所述方法还包括:
32、根据所述至少一个攻击特征中每个攻击特征的每个攻击串对应的残余序列的哈希值,构建至少一个哈希桶并将所述至少一个攻击特征添加至所述至少一个哈希桶内,其中,所述攻击串对应的所述残余序列为所述攻击特征与所述攻击串之差;
33、所述根据所述任一过滤子串与另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串,包括:
34、根据所述任一攻击串在所述过滤串中的位置,确定所述任一攻击串对应的残余序列的哈希值,其中,所述任一攻击串对应的残余序列为所述过滤串中和所述任一攻击串对应的可疑特征序列与所述任一攻击串之差;
35、对于所述哈希值对应的哈希桶内的每个攻击特征,根据所述任一过滤子串与所述另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串。
36、本公开第二方面提供一种多尺度白快黑慢的快速攻击流量筛查装置,所述装置包括:
37、一级过滤模块,用于基于接收到的数据包的元数据信息,确定数据包的一级过滤结果,其中,所述一级过滤结果包括所述数据包为可疑数据包和所述数据包为非可疑数据包,所述非可疑数据包为可信数据包或攻击数据包;
38、二级过滤模块,用于响应于所述数据包为可疑数据包,根据过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果,其中,所述过滤串包括所述数据包的负载中的部分或全部数据,所述二级过滤结果包括所述数据包是否为攻击数据包。
39、可选的,所述装置还包括:
40、第一过滤表生成模块,用于针对所述至少一项攻击串中每项攻击串,将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中,其中,所述超字符表征连续的至少一个比特位,所述偏移量表征对应的超字符在所在的攻击串中的位置;
41、所述二级过滤模块用于所述根据所述过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果时,用于:
42、基于所述过滤表确定所述过滤串与至少一项攻击串之间的匹配度,并根据所述匹配度确定所述数据包的二级过滤结果。
43、可选的,所述至少一项攻击串均为w个超字符,所述超字符的偏移量记录串包括w个比特位,其中,w为正整数;
44、所述第一过滤表生成模块用于所述将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中时,用于:
45、将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1。
46、可选的,所述过滤表的数据结构类型包括字节;
47、所述第一过滤表生成模块用于所述将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1时,用于:
48、基于移位操作以及按位或操作,将所述攻击串所包含的每个超字符所对应的偏移量记录串中与所述超字符的偏移量相对应的比特位置1。
49、可选的,所述二级过滤模块用于所述基于所述过滤表确定所述过滤串与至少一项攻击串之间的匹配度,并根据所述匹配度确定所述数据包的二级过滤结果时,用于:
50、在所述过滤串中逐个读入超字符,在每读入一个超字符时,对状态值s执行右移操作,将读入的超字符在所述过滤表中对应的偏移量记录串与s进行按位与操作,以及将s更新为按位与操作的结果,在读入的超字符数量达到w的情况下,响应于更新后的s的最低有效位为1,确定二级过滤结果为所述数据包为攻击数据包,其中,在初始状态下s的所有比特位均为1,所述右移操作在s的最高有效位置1。
51、可选的,所述至少一项攻击串为基于至少一项攻击特征确定;
52、所述二级过滤模块用于所述响应于更新后的s的最低有效位为1,确定二级过滤结果为所述数据包为攻击数据包时,用于:
53、响应于更新后的s的最低有效位为1,且在所述至少一项攻击特征中存在与所述过滤串相匹配的任一攻击特征,确定二级过滤结果为所述数据包为攻击数据包。
54、可选的,所述装置还包括:
55、采样模块,用于基于预设的采样间隔对至少一项攻击特征中的每个攻击特征进行采样,以得到每个攻击特征对应的至少一项攻击串;
56、所述二级过滤模块用于所述根据所述过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果时,用于:
57、基于所述采样间隔对所述过滤串进行采样,以得到至少一个过滤子串,并根据所述至少一个过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果。
58、可选的,所述装置还包括:
59、第二过滤表生成模块用于针对所述至少一项攻击串中每项攻击串,将所述攻击串所包含的每个超字符的偏移量写入过滤表中对应的超字符的偏移量记录串中,其中,所述超字符表征连续的至少一个比特位,所述偏移量表征对应的超字符在所在的攻击串中的位置;
60、所述二级过滤模块用于所述根据所述过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果时,用于:
61、基于所述过滤表根据所述过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果。
62、可选的,所述二级过滤模块用于所述根据所述至少一个过滤子串与至少一项攻击串之间的匹配度,确定所述数据包的二级过滤结果时,用于:
63、响应于至少一个过滤子串中的任一过滤子串与所述至少一项攻击串中的任一攻击串相匹配,根据所述任一过滤子串与另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串;
64、根据所述另一过滤子串与所述待匹配攻击串之间的匹配度,确定所述数据包的二级过滤结果。
65、可选的,所述装置还包括:
66、哈希桶添加模块,用于根据所述至少一个攻击特征中每个攻击特征的每个攻击串对应的残余序列的哈希值,构建至少一个哈希桶并将所述至少一个攻击特征添加至所述至少一个哈希桶内,其中,所述攻击串对应的所述残余序列为所述攻击特征与所述攻击串之差;
67、所述二级过滤模块用于所述根据所述任一过滤子串与另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串时,用于:
68、根据所述任一攻击串在所述过滤串中的位置,确定所述任一攻击串对应的残余序列的哈希值,其中,所述任一攻击串对应的残余序列为所述过滤串中和所述任一攻击串对应的可疑特征序列与所述任一攻击串之差;
69、对于所述哈希值对应的哈希桶内的每个攻击特征,根据所述任一过滤子串与所述另一过滤子串在所述过滤串中的相对位置,以及所述任一攻击串在所述任一过滤子串中的位置,确定所述至少一项攻击串中与所述另一过滤子串相对应的待匹配攻击串。
70、本公开第三方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面所述的方法。
71、本公开第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如第一方面所述的方法。
72、本公开第五方面提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法。
73、本公开的实施例提供的技术方案可以包括以下有益效果:
74、本公开实施例中,基于接收到的数据包的元数据信息,确定数据包的一级过滤结果,响应于所述数据包为可疑数据包,根据过滤串与至少一项攻击串之间的匹配度确定所述数据包的二级过滤结果,所述过滤串包括所述数据包的负载中的部分或全部数据。由此可见,在本公开所提供的实施方式中,不需要对所有流量负载进行同等级的检测分析,而是采用多级过滤方式,优先提取数据包的部分或全部元数据信息,并基于提取到的元数据信息对数据包进行初步筛选,在确定所述数据包为可疑数据包后,再提取该数据包的部分或全部负载内容并进行进一步判断。由于在实际应用中,常见的如可信端口、可信ip地址、可信协议、黑名单ip地址等判断条件均可以通过对数据包所包含的元数据进行解析而完成筛选,从而避免了大量低效且无用的计算,提升了安全设备和系统的性能和效率;同时,对可疑数据包的进一步筛选又能够确保数据包筛选效果,完成安全设备的性能和数据包筛选效果的兼顾。
75、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文地址:https://www.jishuxx.com/zhuanli/20240801/244280.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表