CN113079176A - 一种适用于海量数据的高速网络流量异常检测系统 - Google Patents
一种适用于海量数据的高速网络流量异常检测系统 Download PDFInfo
- Publication number
- CN113079176A CN113079176A CN202110402669.3A CN202110402669A CN113079176A CN 113079176 A CN113079176 A CN 113079176A CN 202110402669 A CN202110402669 A CN 202110402669A CN 113079176 A CN113079176 A CN 113079176A
- Authority
- CN
- China
- Prior art keywords
- network
- frequency
- data structure
- user
- flow
- 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.)
- Granted
Links
Images
Classifications
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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
Abstract
一种适用于海量数据的高速网络流量异常检测系统,包括数据包特征提取子系统、网络流量压缩存储子系统、用户频度分析子系统、网络重击流检测子系统和网络巨变流检测子系统:首先对高速网络流量进行捕获,根据检测粒度,初步提取数据包五元组信息,作为网络用户唯一标识;基于所提取的数据包特征,利用LogLog数据结构对高速网络流量中频度较小的低频网络用户进行过滤存储,并结合不同的网络流量异常检测任务,采用不同的数据结构存储频度较大的高频网络用户;结合存储网络流量中低频和高频网络用户的不同数据结构,分别对网络流量中的异常行为进行检测,输出每个网络用户的频度,并检测得到网络流量中的Top‑k网络重击流和网络巨变流。
Description
技术领域
本发明属于数据挖掘以及网络通信技术领域,特别涉及一种适用于海量数据的高速网络流量异常检测系统。
背景技术
随着网络通信技术(如5G技术)的快速发展以及个人电脑、智能移动设备的逐渐普及,网络流量数据规模呈现不断增长的趋势。对网络流量的监控是高速网络流量异常检测任务中的必需环节,对于维护网络环境安全以及网络设备的稳定运行具有重要意义。在高速网络流量异常检测任务中,对网络重击流及网络巨变流的监控是目前最为典型的监控任务,可用于DDoS攻击、垃圾邮件、恶意端口扫描等网络攻击行为的有效检测及防护,得到了国内外研究人员的广泛关注。对网络重击流及网络巨变流的监控,其根本在于对网络用户频度的计算。根据网络用户频度的大小,可直接分析捕获以上两类网络异常行为。然而,随着网络流量数据规模的不断扩大以及网络流量高速、流式的数据特性,对高速网络流量进行全量存储、对网络用户频度进行准确计算将消耗大量的计算和存储资源。
目前对高速网络流量的异常检测,可利用Sketch数据结构压缩高速网络流量中的所有网络用户。例如,Count-Min数据结构以及它的变体CM-CU数据结构首先构建了一个大小为l×d的二维数组(数组包含l行,d列),然后利用l个相互独立的哈希函数将高速网络流量中每个时刻到达的网络用户随机映射到每行的任意一个位置并对该位置的数值执行+1操作;当查询高速网络流量中某个网络用户的频度时,可利用相同的l个哈希函数找到该网络用户对应的位置并将这些位置数值的最小值作为频度。但是,这些Sketch数据结构需要大量的存储资源来压缩高速网络流量中每个网络用户。同时,将高速网络流量中频度较大的高频网络用户和频度较小的低频网络用户压缩到同一个Sketch数据结构,会产生较大的误差,即将低频网络用户误认为高频网络用户。为解决这一问题,现有方法如Space Saving及Unbiased Space Saving数据结构选择仅仅存储高速网络流量中频度较大的高频网络用户,这些数据结构利用了一个双向链表结构Stream Summary来不断存储更新高速网络流量中的高频网络用户。然而,相较于Count-Min数据结构及CM-CU数据结构,Space Saving及Unbiased Space Saving方法在更新网络用户频度时需要消耗大量的计算时间。近些年来,国内外研究者研发了ASketch和Cold Filter框架,这些框架利用了一种Filter数据结构对网络流量中的高频网络用户和低频网络用户进行了过滤分割,并分别采用不同的数据结构来分别存储不同类别网络用户的频度。虽然这些框架已成为目前高速网络流量异常检测方法的主流框架,但在处理包含海量数据的高速网络流量时仍需消耗大量的存储资源。具体而言,当设定阈值为1000频度来过滤分割高速网络流量中的高频网络用户和低频网络用户时,以上框架所使用的数据结构在每个位置仍需至少消耗个比特位空间。高速网络流量中的每个网络用户频度会随着数据规模的不断扩大而增长,因此,当高速网络流量不断到达网络监控设备时,以上方法将消耗更多的存储和计算资源。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种适用于海量数据的高速网络流量异常检测系统,一方面,考虑到包含海量数据的高速网络流量场景,使用了更为精简的数据结构来对高速网络流量进行存储;另一方面,考虑到网络流量高速、流式的数据特性,设计了网络用户频度的快速更新算法以及网络重击流和网络巨变流的快速检测算法,满足了高速网络流量监控任务的需求。
为了实现上述目的,本发明采用的技术方案是:
一种适用于海量数据的高速网络流量异常检测系统,包括数据包特征提取子系统、网络流量压缩存储子系统和网络流量异常检测子系统,其中:
数据包特征提取子系统,捕获高速网络流量,根据网络流量异常检测粒度,初步提取数据包五元组中全部或局部信息,作为网络用户的唯一标识;
网络流量压缩存储子系统,根据高速网络流量中每个网络用户频度的差异,频度小于设定值的网络用户为低频网络用户,高于设定值的网络用户为高频网络用户,利用LogLog数据结构对低频网络用户进行过滤存储,并结合不同的网络流量异常检测任务,采用不同的数据结构存储高频网络用户;
所述网络流量异常检测任务包括用户频度估计、网络重击流检测和网络巨变流检测,所述网络流量异常检测子系统包括用户频度分析子系统、网络重击流检测子系统和网络巨变流检测子系统;
所述用户频度分析子系统,在利用LogLog数据结构过滤低频网络用户之后,高频网络用户存储在CM-CU数据结构中,结合两种数据结构得到高速网络流量中每个网络用户的频度;
所述网络重击流检测子系统,在利用LogLog数据结构过滤低频网络用户之后,利用Unbiased Space Saving数据结构对高频网络用户进行进一步筛选,得到Top-k网络重击流;
所述网络巨变流子系统,在利用LogLog数据结构过滤低频网络用户之后,利用Flow Radar数据结构逆向恢复得到大于给定阈值的网络巨变流。
所述数据包特征提取子系统对网络流量中每一时刻到达的网络数据包进行处理,以五元组全部信息的组合或五元组中局部信息的组合作为网络用户的唯一标识,所述五元组信息为源端口、目标端口、源IP地址、目标IP地址和网络协议,例如,当提取源端口标识网络用户时,对该网络用户频度的计算即为统计该源端口在高速网络流量中出现的次数。
所述LogLog数据结构为长度m的一维数组F,数组中的每个位置记录映射到该位置的所有网络用户的最大哈希值。
所述LogLog数据结构的每个位置利用相同数量的比特位设定阈值,用于过滤分割网络流量中频度不同的网络用户,高频网络用户可通过该数据结构的筛选,而低频网络用户会被该数据结构过滤掉并存储在该数据结构中。
所述网络流量压缩存储子系统对每个网络用户的压缩存储过程如下:
对于每个时刻到达的网络用户e,首先计算该网络用户对应的r个哈希值h1(e),...,hr(e),并以该r个哈希值作为索引在LogLog数据结构中查询得到对应的数值F[h1(e)],...,F[hr(e)],基于查询得到的数值计算最小值将该最小值与LogLog数据结构的阈值δ进行比较,判断是否要将该网络用户压缩存储到LogLog数据结构中;
若γ<δ,则代表该网络用户的频度尚未达到LogLog数据结构的过滤标准,该网络用户暂时为低频网络用户,将该网络用户压缩到LogLog数据结构中,更新过程为:对于每个网络用户产生r个随机数,每个随机数服从参数为的几何分布,并随机映射到一维数组中的r个位置中,将产生的r个随机数与LogLog数据结构对应位置的数值进行比较,每次比较保留该位置的最大值,更新过程如下:
F[hi(e)]←max{min{ρ(xi),δ},F[hi(e)]},1≤i≤r
ρ(xi)表示产生的第i个随机数;
若γ≥δ,则代表该网络用户的频度已达到LogLog数据结构的过滤标准,该网络用户已成为高频网络用户,不再将该网络用户压缩到LogLog数据结构中。
所述用户频度分析子系统利用LogLog数据结构中的信息估计低频网络用户的频度,并利用LogLog数据结构中的信息以及CM-CU数据结构中的用户频度综合估计高频网络用户的频度。
所述网络用户频度分析子系统以高速网络流量中的网络用户为输入,在网络流量压缩存储子系统的数据结构中查询得到该网络用户的频度大小,首先在LogLog数据结构中判断该网络用户在高速网络流量到达的过程中是否被该数据结构所过滤,如果被过滤,则直接利用存储在LogLog数据结构中的信息估计该网络用户的频度;否则利用存储在LogLog数据结构中的信息以及存储在CM-CU数据结构中的频度估计该网络用户的频度。
所述低频网络用户的频度计算过程为:
其中,fu为所查询的网络用户u的频度,m为LogLog数据结构中一维数组的长度,r为将每个网络用户映射到LogLog数据结构中的哈希函数个数,φ为用来校正频度估计误差的常数,设定为定值0.77351,f表示LogLog数据结构中所存储的网络用户频度的总和;对于所查询的网络用户u,首先计算r个哈希值h1(u),...,hr(u),hi(u)代表第i个哈希值,1≤i≤r,并将该r个哈希值作为索引在LogLog数据结构中查找对应的数值F[h1(u)],...,F[hr(u)];
所述高频网络用户的频度计算过程为:
其中为从LogLog数据结构中得到的频度,为从CM-CU数据结构中查询得到的用户频度,δ为LogLog数据结构中设定的网络用户频度阈值,CM-CU为大小l×d的二维数组,包含l行,d列,当每个网络用户e到来时,CM-CU计算l个哈希值g1(e),...,gl(e)作为索引分别在每行查询对应的位置并对其中的最小值执行数值+1的更新操作,对于频度查询的每个网络用户u,CM-CU计算同样的哈希值g1(u),...,gl(u)作为索引分别在每行查询对应的位置并返回最小值作为该网络用户在CM-CU数据结构中的频度
所述网络重击流检测子系统直接遍历Unbiased Space Saving数据结构所存储的网络用户及其频度,并根据频度大小对网络用户进行排序,从而得到Top-k网络重击流。
所述网络巨变流检测子系统按照等长的时间窗口对高速网络流量进行划分,在每个时间窗口内,利用LogLog数据结构过滤存储低频网络用户,同时利用Flow Radar数据结构存储高频网络用户;在每个时间窗口结束时,利用Flow Radar数据结构逆向恢复高频网络用户及其频度,并计算该用户频度与上一相邻时间窗口内的频度差值的绝对值,进一步筛选得到大于给定阈值的网络巨变流。
与现有技术相比,本发明的有益效果是:
1、对频度不同的网络用户进行过滤分割,采用不同的数据结构进行存储,提高了高速网络流量异常检测的准确性。
本发明考虑到了高速网络流量中用户频度呈偏态分布的数据特性,同时考虑到网络异常行为通常发生在频度较高的高频网络用户中的特性,将广泛关注的高频网络用户存储在单独的数据结构中,排除了其他低频网络用户的干扰。
2、采用LogLog数据结构作为过滤器对高速网络流量进行过滤分割,降低了存储资源的消耗。
本发明相对于其他的高速网络流量异常检测系统,利用了更小的存储资源提升了高速网络流量过滤分割的阈值范围。
3、采用不同数据结构执行不同的高速网络流量异常检测任务,提高了高速网络流量异常检测系统的扩展性。
本发明利用LogLog数据结构显著降低了低频网络用户对高频网络用户的干扰,根据不同的网络异常检测任务将高频网络用户存放在不同的数据结构中,同时可添加新的高速网络流量异常检测任务,扩展性极高。
附图说明
图1为本发明的系统整体结构图。
图2为本发明的数据包特征提取子系统流程图。
图3为本发明的网络流量压缩存储子系统流程图。
图4为本发明的网络用户频度分析子系统流程图。
图5为本发明的网络重击流检测子系统流程图。
图6为本发明的网络巨变流检测子系统流程图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如图1所示,本发明为一种适用于海量数据的高速网络流量异常检测系统,包括数据包特征提取子系统、网络流量压缩存储子系统和网络流量异常检测子系统,系统的输入数据为高速网络流量。为满足对高速网络流量进行实时异常检测的需要,本系统对高速网络流量中每个时刻出现的数据包进行在线捕获分析。其中:
在数据包特征提取子系统中,捕获高速网络流量,对高速网络流量中的每个数据包均进行特征提取,具体可根据不同的高速网络流量异常检测粒度,初步提取数据包五元组中全部或局部信息,作为网络用户的唯一标识。
将数据包特征提取子系统所提取的网络用户输入到网络流量压缩存储子系统进行存储,网络流量压缩存储子系统根据高速网络流量中每个网络用户频度的差异,频度小于设定值的网络用户为低频网络用户,高于设定值的网络用户为高频网络用户,利用LogLog数据结构对低频网络用户进行过滤存储,并结合不同的网络流量异常检测任务,采用不同的数据结构存储高频网络用户;
本发明中,网络流量异常检测任务包括用户频度估计、网络重击流检测和网络巨变流检测,相应地,网络流量异常检测子系统包括用户频度分析子系统、网络重击流检测子系统和网络巨变流检测子系统;在任意时刻,本发明均可使用网络用户频度分析子系统、网络重击流检测子系统和网络巨变流检测子系统分别检测高速网络流量中的异常网络用户。
利用LogLog数据结构过滤低频网络用户之后,在用户频度分析子系统,高频网络用户存储在CM-CU数据结构中,结合两种数据结构得到高速网络流量中每个网络用户的频度。由于本发明已使用LogLog数据结构过滤掉网络流量中的低频网络用户,降低了高速网络流量异常检测任务中低频网络用户对高频网络用户的干扰。因此,网络重击流检测子系统可直接利用Unbiased Space Saving数据结构对高频网络用户进行进一步筛选,得到Top-k网络重击流。网络巨变流子系统可直接利用Flow Radar数据结构逆向恢复得到大于给定阈值的网络巨变流。
本发明中各个子系统的详细介绍如下:
1、数据包特征提取子系统
主要实现从高速网络流量中提取每个数据包的五元组信息中的全部或局部信息,作为网络用户的唯一标识。
具体地,参考图2,数据包特征提取子系统对高速网络流量的处理过程如下:
当高速网络流量到来时,从每个时刻到达的网络数据包中提取数据包的五元组信息,包括源端口(sport)、目标端口(dport)、源IP地址(sIP)、目标IP地址(dIP)和网络协议(protocol)。数据包五元组中的每条信息分别用固定长度的比特位表示。按照高速网络流量异常检测的粒度,可从数据包五元组信息中选择全部或部分信息作为网络用户的唯一标识。为了方便网络用户表示,可将所选择的五元组信息对应的比特位首尾拼接,得到一个非负整数。在这种情况下,高速网络流量可表示为不同时刻到达的网络用户序列,即Π=e(1),e(2),...,e(t),其中e(t)表示t时刻到达的网络用户。在高速网络流量中,每个网络用户可出现多次,因此存在两个时刻1≤i≤j≤t,使得e(i)=e(j)。此外,高速网络流量中不重复的网络用户可表示为集合U(t)={u1,u2,...}。
2、网络流量压缩存储子系统
主要功能是利用网络用户作为输入,将不同网络用户压缩到不同的数据结构中进行存储。首先在LogLog数据结构中查找每个网络用户所属的位置并根据该位置数值大小判断该网络用户是否被过滤,如果被过滤,则该网络用户将被压缩存储在LogLog数据结构中,否则将根据不同高速网络流量异常检测任务分别对该网络用户进行压缩存储。即,低频网络用户将被LogLog数据结构过滤,其相关信息将存储在LogLog数据结构中;高频网络用户将通过LogLog数据结构的筛选,对于通过LogLog数据结构筛选的高频网络用户,根据不同的高速网络流量异常检测任务选择不同的数据结构进行存储。
LogLog数据结构为长度m的一维数组F,数组中的每个位置存储非负整数,并全部初始化为0,且每个位置记录映射到该位置的所有网络用户的最大哈希值。LogLog数据结构的每个位置利用相同数量的比特位设定阈值,用于过滤分割网络流量中频度不同的网络用户,频度较大的高频网络用户可通过该数据结构的筛选,而频度较小的低频网络用户会被该数据结构过滤掉并存储在该数据结构中。
具体地,参考图3,网络流量压缩存储子系统对每个网络用户的压缩存储过程如下:
对于每个时刻到达的网络用户e,首先计算该网络用户对应的r个哈希值h1(e),...,hr(e),并以该r个哈希值作为索引在LogLog数据结构中查询得到对应的数值F[h1(e)],...,F[hr(e)],基于查询得到的数值计算最小值将该最小值与LogLog数据结构的阈值δ进行比较,可判断是否要将该网络用户压缩存储到LogLog数据结构中。
若γ<δ,则代表该网络用户的频度尚未达到LogLog数据结构的过滤标准,该网络用户暂时为低频网络用户,因此需要将该网络用户压缩到LogLog数据结构中。具体更新过程为:对于每个网络用户产生r个随机数,每个随机数服从参数为的几何分布,并随机映射到一维数组中的r个位置中,随机数的产生可通过产生32比特长的二进制字符串并计算最左边1前的0的个数得到。将产生的r个随机数与LogLog数据结构对应位置的数值进行比较,每次比较保留该位置的最大值,更新过程如下:
F[hi(e)]←max{min{ρ(xi),δ},F[hi(e)]},1≤i≤r
ρ(xi)表示产生的第i个随机数。
若γ≥δ,则代表该网络用户的频度已达到LogLog数据结构的过滤标准,该网络用户已成为高频网络用户,因此不再需要将该网络用户压缩到LogLog数据结构中。根据不同的高速网络流量异常检测任务,本发明采用不同的数据结构存储高频网络用户。具体地,使用CM-CU数据结构结构来执行网络用户频度估计任务;使用Unbiased Space Saving数据结构来执行网络重击流检测任务;使用Flow Radar数据结构来执行网络巨变流检测任务。
3、网络用户频度分析子系统
主要功能是以高速网络流量中的网络用户为输入,返回所查询的网络用户频度。在利用LogLog数据结构过滤高速网络流量中频度较小的低频网络用户之后,其余频度较大的高频网络用户将存储在CM-CU数据结构中,结合两种数据结构可得到高速网络流量中每个网络用户的频度。
在用户频度分析子系统中,首先在LogLog数据结构中判断该网络用户在高速网络流量到达的过程中是否被该数据结构所过滤,如果被过滤,则直接利用存储在LogLog数据结构中的信息估计该网络用户的频度;否则利用存储在LogLog数据结构中的信息以及存储在CM-CU数据结构中的频度估计该网络用户的频度。
具体地,参考图4,网络用户频度分析子系统的分析过程如下:
对于所查询的每个网络用户u,首先采取与LogLog数据结构相同的更新方式得到该网络用户对应的r个位置并比较得到最小值γ。若γ<δ,则判定该网络用户为网络流量中频度较小的低频网络用户,其频度大小仅仅基于LogLog数据结构中保存的信息计算得到,计算过程为:
其中,fu为所查询的网络用户u的频度,m为LogLog数据结构中一维数组的长度,r为将每个网络用户映射到LogLog数据结构中的哈希函数个数,φ为用来校正频度估计误差的常数,设定为定值0.77351,f表示LogLog数据结构中所存储的网络用户频度的总和;对于所查询的网络用户u,首先计算r个哈希值h1(u),...,hr(u),hi(u)代表第i个哈希值,1≤i≤r,并将该r个哈希值作为索引在LogLog数据结构中查找对应的数值F[h1(u)],...,F[hr(u)];
若γ≥δ,则判定该用户为网络流量中频度较大的高频网络用户,其频度可基于LogLog数据结构中保存的信息及CM-CU数据结构返回的频度计算得到。
其中,从LogLog数据结构中得到的频度可计算为:
当网络用户随着高速网络流量的不断到达变为高频网络用户时,其在LogLog数据结构中对应的位置均到达阈值δ。那么,用户最后的频度计算为:
其中,为从CM-CU数据结构中查询得到的用户频度,δ为LogLog数据结构中设定的网络用户频度阈值,CM-CU为大小l×d的二维数组,包含l行,d列,当每个网络用户e到来时,CM-CU计算l个哈希值g1(e),...,gl(e)作为索引分别在每行查询对应的位置并对其中的最小值执行数值+1的更新操作,对于频度查询的每个网络用户u,CM-CU计算同样的哈希值g1(u),...,gl(u)作为索引分别在每行查询对应的位置并返回最小值作为该网络用户在CM-CU数据结构中的频度
4、网络重击流检测子系统
主要功能是检测得到高速网络流量中频度排名Top-k的网络重击流。
参考图5,本发明利用LogLog数据结构过滤掉高速网络流量中的低频网络用户,剩余的高频网络用户及其频度将存储在Unbiased Space Saving数据结构中。因此,对网络重击流的检测只需要直接遍历Unbiased Space Saving结构得到所存储的高频网络用户及其频度,并对所有高频网络用户频度按大小进行排序,即可得到频度排名Top-k的网络重击流。
5、网络巨变流检测子系统
主要功能是检测得到高速网络流量中大于给定阈值的网络巨变流。
参考图6,本发明将高速网络流量划分为等长的时间窗口,并在每个时间窗口内利用LogLog数据结构过滤频度较小的低频网络用户,剩余频度较大的高频网络用户及其频度将存储在Flow Radar数据结构中,因此,在每个时间窗口结束时,利用Flow Radar数据结构逆向恢复得到每个高频网络用户及其频度,并计算每个高频网络用户在相邻时间窗口的频度差值的绝对值,最后与给定的阈值比较,即可得到高速网络流量中大于给定阈值的巨变流。
综上,本发明提供的一种适用于海量数据的高速网络流量异常检测系统,基于包含海量数据的高速网络流量中用户频度的显著差异,利用LogLog数据结构对高速网络流量中频度不同的网络用户进行过滤分割,并根据不同的高速网络流量异常检测任务使用不同的数据结构存储高速网络流量中的高频网络用户及其频度,可准确捕获并检出网络流量中的多种异常行为。本发明显著降低了现有高速网络流量异常检测系统的存储资源消耗及计算代价,解决了海量网络流量异常检测所面临的存储及计算问题,同时提升了准确度,可用于高速网络流量异常检测,对于维护网络环境安全,保障网络设备的稳定运行具有重要意义。
Claims (10)
1.一种适用于海量数据的高速网络流量异常检测系统,其特征在于,包括数据包特征提取子系统、网络流量压缩存储子系统和网络流量异常检测子系统,其中:
数据包特征提取子系统,捕获高速网络流量,根据网络流量异常检测粒度,初步提取数据包五元组中全部或局部信息,作为网络用户的唯一标识;
网络流量压缩存储子系统,根据高速网络流量中每个网络用户频度的差异,频度小于设定值的网络用户为低频网络用户,高于设定值的网络用户为高频网络用户,利用LogLog数据结构对低频网络用户进行过滤存储,并结合不同的网络流量异常检测任务,采用不同的数据结构存储高频网络用户;
所述网络流量异常检测任务包括用户频度估计、网络重击流检测和网络巨变流检测,所述网络流量异常检测子系统包括用户频度分析子系统、网络重击流检测子系统和网络巨变流检测子系统;
所述用户频度分析子系统,在利用LogLog数据结构过滤低频网络用户之后,高频网络用户存储在CM-CU数据结构中,结合两种数据结构得到高速网络流量中每个网络用户的频度;
所述网络重击流检测子系统,在利用LogLog数据结构过滤低频网络用户之后,利用Unbiased Space Saving数据结构对高频网络用户进行进一步筛选,得到Top-k网络重击流;
所述网络巨变流子系统,在利用LogLog数据结构过滤低频网络用户之后,利用FlowRadar数据结构逆向恢复得到大于给定阈值的网络巨变流。
2.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述数据包特征提取子系统对网络流量中每一时刻到达的网络数据包进行处理,以五元组全部信息的组合或五元组中局部信息的组合作为网络用户的唯一标识,所述五元组信息为源端口、目标端口、源IP地址、目标IP地址和网络协议。
3.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述LogLog数据结构为长度m的一维数组F,数组中的每个位置记录映射到该位置的所有网络用户的最大哈希值。
4.根据权利要求1或3所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述LogLog数据结构的每个位置利用相同数量的比特位设定阈值,用于过滤分割网络流量中频度不同的网络用户,高频网络用户可通过该数据结构的筛选,而低频网络用户会被该数据结构过滤掉并存储在该数据结构中。
5.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述网络流量压缩存储子系统对每个网络用户的压缩存储过程如下:
对于每个时刻到达的网络用户e,首先计算该网络用户对应的r个哈希值h1(e),...,hr(e),并以该r个哈希值作为索引在LogLog数据结构中查询得到对应的数值F[h1(e)],...,F[hr(e)],基于查询得到的数值计算最小值将该最小值与LogLog数据结构的阈值δ进行比较,判断是否要将该网络用户压缩存储到LogLog数据结构中;
若γ<δ,则代表该网络用户的频度尚未达到LogLog数据结构的过滤标准,该网络用户暂时为低频网络用户,将该网络用户压缩到LogLog数据结构中,更新过程为:对于每个网络用户产生r个随机数,每个随机数服从参数为的几何分布,并随机映射到一维数组中的r个位置中,将产生的r个随机数与LogLog数据结构对应位置的数值进行比较,每次比较保留该位置的最大值,更新过程如下:
F[hi(e)]←max{min{ρ(xi),δ},F[hi(e)]},1≤i≤r
ρ(xi)表示产生的第i个随机数;
若γ≥δ,则代表该网络用户的频度已达到LogLog数据结构的过滤标准,该网络用户已成为高频网络用户,不再将该网络用户压缩到LogLog数据结构中。
6.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述用户频度分析子系统利用LogLog数据结构中的信息估计低频网络用户的频度,并利用LogLog数据结构中的信息以及CM-CU数据结构中的用户频度综合估计高频网络用户的频度。
7.根据权利要求6所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述网络用户频度分析子系统以高速网络流量中的网络用户为输入,在网络流量压缩存储子系统的数据结构中查询得到该网络用户的频度大小,首先在LogLog数据结构中判断该网络用户在高速网络流量到达的过程中是否被该数据结构所过滤,如果被过滤,则直接利用存储在LogLog数据结构中的信息估计该网络用户的频度;否则利用存储在LogLog数据结构中的信息以及存储在CM-CU数据结构中的频度估计该网络用户的频度。
8.根据权利要求6所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述低频网络用户的频度计算过程为:
其中,fu为所查询的网络用户u的频度,m为LogLog数据结构中一维数组的长度,r为将每个网络用户映射到LogLog数据结构中的哈希函数个数,φ为用来校正频度估计误差的常数,设定为定值0.77351,f表示LogLog数据结构中所存储的网络用户频度的总和;对于所查询的网络用户u,首先计算r个哈希值h1(u),...,hr(u),hi(u)代表第i个哈希值,1≤i≤r,并将该r个哈希值作为索引在LogLog数据结构中查找对应的数值F[h1(u)],...,F[hr(u)];
所述高频网络用户的频度计算过程为:
9.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述网络重击流检测子系统直接遍历Unbiased Space Saving数据结构所存储的网络用户及其频度,并根据频度大小对网络用户进行排序,从而得到Top-k网络重击流。
10.根据权利要求1所述适用于海量数据的高速网络流量异常检测系统,其特征在于,所述网络巨变流检测子系统按照等长的时间窗口对高速网络流量进行划分,在每个时间窗口内,利用LogLog数据结构过滤存储低频网络用户,同时利用Flow Radar数据结构存储高频网络用户;在每个时间窗口结束时,利用Flow Radar数据结构逆向恢复高频网络用户及其频度,并计算该用户频度与上一相邻时间窗口内的频度差值的绝对值,进一步筛选得到大于给定阈值的网络巨变流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110402669.3A CN113079176B (zh) | 2021-04-14 | 2021-04-14 | 一种适用于海量数据的高速网络流量异常检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110402669.3A CN113079176B (zh) | 2021-04-14 | 2021-04-14 | 一种适用于海量数据的高速网络流量异常检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079176A true CN113079176A (zh) | 2021-07-06 |
CN113079176B CN113079176B (zh) | 2022-04-05 |
Family
ID=76618680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110402669.3A Active CN113079176B (zh) | 2021-04-14 | 2021-04-14 | 一种适用于海量数据的高速网络流量异常检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079176B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378850A (zh) * | 2022-08-31 | 2022-11-22 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827608A (zh) * | 2016-03-31 | 2016-08-03 | 微梦创科网络科技(中国)有限公司 | 分布式api服务异常用户识别分析方法及反向代理服务网关 |
CN106657038A (zh) * | 2016-12-08 | 2017-05-10 | 西安交通大学 | 一种基于对称度Sketch的网络流量异常检测与定位方法 |
CN107534706A (zh) * | 2015-04-28 | 2018-01-02 | 华为技术有限公司 | 移动终端防盗方法和移动终端 |
CN107786388A (zh) * | 2017-09-26 | 2018-03-09 | 西安交通大学 | 一种基于大规模网络流数据的异常检测系统 |
CN109104413A (zh) * | 2018-07-17 | 2018-12-28 | 中国科学院计算技术研究所 | 用于安全多方计算的私有数据求交集的方法及验证方法 |
CN109347662A (zh) * | 2018-09-28 | 2019-02-15 | 西安交通大学深圳研究院 | 面向大规模网络流量的分布式社会网络结构快速挖掘系统 |
US10749883B1 (en) * | 2017-05-02 | 2020-08-18 | Hrl Laboratories, Llc | Automatic anomaly detector |
-
2021
- 2021-04-14 CN CN202110402669.3A patent/CN113079176B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107534706A (zh) * | 2015-04-28 | 2018-01-02 | 华为技术有限公司 | 移动终端防盗方法和移动终端 |
CN105827608A (zh) * | 2016-03-31 | 2016-08-03 | 微梦创科网络科技(中国)有限公司 | 分布式api服务异常用户识别分析方法及反向代理服务网关 |
CN106657038A (zh) * | 2016-12-08 | 2017-05-10 | 西安交通大学 | 一种基于对称度Sketch的网络流量异常检测与定位方法 |
US10749883B1 (en) * | 2017-05-02 | 2020-08-18 | Hrl Laboratories, Llc | Automatic anomaly detector |
CN107786388A (zh) * | 2017-09-26 | 2018-03-09 | 西安交通大学 | 一种基于大规模网络流数据的异常检测系统 |
CN109104413A (zh) * | 2018-07-17 | 2018-12-28 | 中国科学院计算技术研究所 | 用于安全多方计算的私有数据求交集的方法及验证方法 |
CN109347662A (zh) * | 2018-09-28 | 2019-02-15 | 西安交通大学深圳研究院 | 面向大规模网络流量的分布式社会网络结构快速挖掘系统 |
Non-Patent Citations (3)
Title |
---|
C. CALLEGARI ET AL;: "he LogLog counting reversible sketch: A distributed architecture for detecting anomalies in backbone networks", 《IEEE》 * |
周琴英等: "推荐系统用户模型的研究热点及启示――基于近十年核心文献的知识图谱分析", 《情报科学》 * |
郑黎明: "基于Filter-ary-Sketch数据结构的骨干网异常检测研究", 《通信学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378850A (zh) * | 2022-08-31 | 2022-11-22 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
CN115378850B (zh) * | 2022-08-31 | 2023-10-31 | 济南大学 | 一种基于Sketch的加密流量在线分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113079176B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dimitropoulos et al. | Probabilistic lossy counting: An efficient algorithm for finding heavy hitters | |
CN109040130B (zh) | 基于属性关系图的主机网络行为模式度量方法 | |
CN112788066B (zh) | 物联网设备的异常流量检测方法、系统及存储介质 | |
EP3282643B1 (en) | Method and apparatus of estimating conversation in a distributed netflow environment | |
Mahmood et al. | Critical infrastructure protection: Resource efficient sampling to improve detection of less frequent patterns in network traffic | |
EP2337266A2 (en) | Detecting and classifying anomalies in communication networks | |
CN113114694B (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
WO2020043267A1 (en) | Device and method for anomaly detection on an input stream of events | |
CN101729389A (zh) | 基于流量预测和可信网络地址学习的流量控制装置和方法 | |
CN109726553B (zh) | 一种基于snn-lof算法的慢速拒绝服务攻击检测方法 | |
TWI234974B (en) | Methodology of predicting distributed denial of service based on gray theory | |
CN113037567B (zh) | 一种用于电网企业的网络攻击行为仿真系统的仿真方法 | |
CN113328985B (zh) | 一种被动物联网设备识别方法、系统、介质及设备 | |
CN110719272A (zh) | 一种基于lr算法的慢速拒绝服务攻击检测方法 | |
CN113079176B (zh) | 一种适用于海量数据的高速网络流量异常检测系统 | |
CN112395608A (zh) | 网络安全威胁监测方法、装置和可读存储介质 | |
CN112822077B (zh) | 数据中心网络中全网流量测量方法、系统及丢包检测方法 | |
CN112235242A (zh) | 一种c&c信道检测方法及系统 | |
Liu et al. | Tree sketch: An accurate and memory-efficient sketch for network-wide measurement | |
CN109361658A (zh) | 基于工控行业的异常流量信息存储方法、装置及电子设备 | |
CN115604154A (zh) | 一种支持流量抖动的网络大流弹性测量方法 | |
CN115086018A (zh) | 视频前端设备聚类分析入侵检测方法 | |
CN115473688A (zh) | 面向软件定义网络的异常检测方法、装置及设备 | |
Xiao et al. | Accurate and o (1)-time query of per-flow cardinality in high-speed networks |
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 |