掌桥专利:专业的专利平台
掌桥专利
首页

一种基于流记录的网络周期性通信探测方法与系统

文献发布时间:2024-01-17 01:21:27


一种基于流记录的网络周期性通信探测方法与系统

技术领域

本发明涉及一种基于流记录的网络周期性通信探测方法与系统,属于网络与信息安全领域。

背景技术

网络周期性通信是指网络中存在周期性的通信流量,这种流量通常具有一定的规律和模式,可以在一定程度上预测和识别。网络周期性通信主要包括以下几种:

定时任务:定时任务是指网络设备或应用程序定期发送或接收数据的通信行为,例如定时备份、定时更新、定时检查等。

周期性数据传输:周期性数据传输是指周期性发送或接收数据的通信行为,例如传感器数据、视频流、音频流等。

心跳包:心跳包是指网络设备或应用程序定期发送的数据包,用于保持连接状态和检测连接异常。

恶意攻击:恶意攻击也可能呈现出周期性通信的特征,例如DDoS攻击、僵尸网络等。

网络周期性通信在网络管理和安全监控中具有重要作用。对于合法的周期性通信流量,可以通过合理的管理和调度来提高网络的性能和效率。对于恶意的周期性通信流量,则需要及时发现和阻止,以保障网络的安全和稳定。因此,对网络周期性通信的监测和识别具有重要意义。

当前周期性通信识别系统存在以下一些问题:

1)效率低下。对于高速网络中的大量通信数据,传统的周期性通信识别方法需要对每个数据包进行分析。由于流记录是一段时间多个数据包的总结信息,所以,和流记录相比,数据包个数要大很多,并且原始数据包的协议多样,载荷内容多变,导致了以原始数据包为数据源的系统计算量大,效率低下。因此,现有系统难以满足对高速网络实时监测的需求。

2)实时性差:现有的周期性通信识别方法针对原始数据包进行分析,通常需要大量的计算和存储资源,用以存储现网数据包,进行后续的离线分析。因此,难以在实时性要求较高的场景下使用。进而,由于其分析结果的滞后性,无法根据其结果进行实时的事件处置,例如对可疑连接的阻断以及对可疑IP的追溯等。

3)需要依赖特定的协议或应用:现有的周期性通信识别方法分析原始数据报文,为了对报文进行正常解析,系统需要各种网络协议的知识,并根据这些知识,对报文进行深度解析,并且,需要针对特定的协议或应用进行调整和优化,其复杂度极高,并且对于加密数据包、未知协议和私有协议的适应性差,难以监控和分析所有数据包,无法适用于各类复杂的,多样的应用场景。

发明内容

本发明所要解决的技术问题是提供一种基于流记录的网络周期性通信探测方法与系统,不同于对比专利需要分析原始报文,消耗算力极大;也不同于对比专利,难以大规模在线应用;也不同于对比专利,需要针对某个协议进行分析。

本发明为解决上述技术问题而采用的技术方案是提供通过部署流记录采集和生成设备以及基于流记录的周期性通信分析系统,对流记录进行在线分析,并动态清理超时的流记录缓存,探查周期性通信的行为,并通过长连接通信告警模块进行告警。由于方法与系统本身对于算力和运算空间要求不高,因此,本方法与系统能够对大流量进行在线实时分析与检测。另外,由于本方法与系统并不基于原始数据包分析或某特定网络协议分析,因此,本方法与系统具有更为广泛的适用性。进一步,由于本方法与系统能够同时适用于分析各类网络协议,所以,本方法与系统能够更有效的检测出周期性通信行为。

上述的流记录采集和生成设备100,采集在线的镜像流量,并生成流记录。之后将流记录上报给流记录分析服务器200。

上述的流记录采集和生成设备100,可以基于软件的,能够生成流记录的流量采集系统。该系统与方法也适用于其他各类流记录技术,如Netflow, JFlow, CFlow,NetStream 和sFlow等,以及对应厂商的网络设备,如华为,思科,H3C,Juniper等。

上述的流记录分析服务器200,由流记录解析模块210,周期性通信分析模块220,和长连接通信分析模块230组成。

上述的流记录解析模块210通过流记录上报协议,接收来自流记录采集和生成设备100的流记录。该采集模块解析流记录,并获取其中的信息。这些信息包括了源IP,目的IP,源端口,目的端口,上行字节数,下行字节数,上行报文数,下行报文数,流记录上报时间,流记录包含数据时间段的开始和结束时间。由于本方法与系统对于数据源的要求不高,所以能够适用于各类流记录采集技术。

上述的周期性通信分析模块220,对流记录信息进行进一步处理。具体的,按照三元组(源地址,目标地址,目标端口)分组报文,并每个相邻报文的时间间隔。计算时,每个三元组要记录最新报文的到达时间以及报文时间间隔。由于我们假设周期通信的周期值大于30秒,所以,若计算出的报文时间间隔小于30秒,则记录该间隔,但仍然更新最新报文到达时间。之后,计算每个三元组数据的峰值分布,并得出陡度排名靠前的峰。

上述的流记录时间间隔,在计算时,使用相邻流记录的开始时间,或流记录生成时间。考虑到连接的长度,以及流记录本身的超时生成机制,会影响流记录的结束时间,所以使用流记录开始时间和真实的流记录触发发起时间相近。

上述的峰值和陡度,定义如下:

一个峰由两个低点P

根据分度和陡度的定义,计算一个连接中的相邻流记录的时间间隔,即流记录的开始时间减去上一个流记录的结束时间,并将值记录为X。经过长时间的统计,对于一些X,有多个时间间隔样本,将样本数记录为f(x)。之后,根据峰的定义,找到连接中所有的峰,以及每个峰的两个低点P

上述的长连接通信分析模块230,同样对流记录信息进行进一步处理,按照三元组(源地址,目标地址,目标端口)分组报文,计算流量的持续时间。在计算连接持续时间时,将连接中的时间分为流内部持续时间和流间隔时间。流内部持续时间为流记录结束时间减去流记录开始时间。流间隔时间为流记录开始时间减去上一个流记录的结束时间。流记录内部持续时间将全部记录为连接持续时间,流间隔时间以15分钟为连接的超时时间,超过超时时间的连接持续时间将重新计算。在一定的分析时间内,该模块通过计算,筛选持续时间长的连接。

上述的长连接告警模块300,接收来自周期性通信分析模块220,以及长连接通信分析模块230的分析结果,并根据自身的告警配置,进行可疑通信的告警。

上述的长连接告警模块告警策略,包括了连接的通信周期值,连接的持续时间等配置。

本发明对比现有技术有如下的有益效果:本发明通过接收并分析流记录,对网络中的周期性通信行为,尤其是持续时间较长的周期性通信行为进行探测和告警。本发明适用于各类流记录技术的数据源,如Netflow, JFlow, CFlow, NetStream 和sFlow等,以及对应厂商的网络设备,如华为,思科,H3C,Juniper等。同时,本发明针对特定协议,能够较全面的检测周期性通信行为,漏检率低。最后,本发明不分析原始报文,实施时,对于系统的算力和存储空间要求低,能够进行大规模在线分析应用。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一组件分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的组件或组件分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:

图1为本申请实施例基于流记录的网络周期性通信探测方法的流程示意图。

图2为本申请实施例基于流记录的网络周期性通信探测方法的主要流程示意图。

图3为本申请实施例基于流记录的网络周期性通信探测方法的周期性通信分析模块的主要流程示意图。

图4为本申请实施例基于流记录的网络周期性通信探测方法的长连接通信分析模块的主要流程示意图。

实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一组件分的实施例,而不是全组件的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请下述实施例以基于流记录的网络周期性通信探测方法和系统为例进行详细说明本申请的方案,但是此实施例并不能限制本申请保护范围。

【实施例】

如图1和图2所示,本申请实施例提供了一种基于流记录的网络周期性通信探测方法,所述方法包括以下步骤:

步骤1:流记录采集和生成设备采集在线网络数据,生成流记录,并上报流记录。

步骤2:流记录分析服务器接收上报的流记录,进行周期性通信分析以及长连接通信分析。

步骤3:长连接通信告警模块接收分析结果,并根据报警策略进行告警。

在本发明实施例中,所述流记录采集和生成设备,支持各类流记录技术的数据源,如Netflow, JFlow, CFlow, NetStream 和sFlow等,以及对应厂商的网络设备,如华为,思科,H3C,Juniper等。

在本发明实施例中,所述流记录分析服务器,包括流记录解析模块,周期性通信分析模块和长连接通信分析模块。

在本发明实施例中,所述流记录解析模块,接收来自流记录采集和生成设备的流记录。该采集模块解析流记录,并获取其中的信息。这些信息包括了源IP,目的IP,源端口,目的端口,上行字节数,下行字节数,上行报文数,下行报文数,流记录上报时间,流记录包含数据时间段的开始和结束时间。由于本方法与系统对于数据源的要求不高,所以能够适用于各类流记录采集技术。

在本发明实施例中,所述周期性通信分析模块,通过计算流记录之间的间隔,以及使用峰值和陡度指标,判断其周期性。长连接通信分析模块在计算连接持续时间时,以15分钟为连接的超时时间,超过超时时间的连接持续时间将重新计算。在一定的分析时间内,该模块通过计算,筛选持续时间长的连接。其中,峰值和陡度,定义如下:

一个峰由两个低点P

根据分度和陡度的定义,计算一个连接中的相邻流记录的时间间隔,即流记录的开始时间减去上一个流记录的结束时间,并将值记录为X。经过长时间的统计,对于一些X,有多个时间间隔样本,将样本数记录为f(x)。之后,根据峰的定义,找到连接中所有的峰,以及每个峰的两个低点P

在本发明实施例中,所述长连接通信分析模块,按照三元组(源地址,目标地址,目标端口)分组报文,计算流量的持续时间。在计算连接持续时间时,将连接中的时间分为流内部持续时间和流间隔时间。流内部持续时间为流记录结束时间减去流记录开始时间。流间隔时间为流记录开始时间减去上一个流记录的结束时间。流记录内部持续时间将全部记录为连接持续时间,流间隔时间以15分钟为连接的超时时间,超过超时时间的连接持续时间将重新计算。在一定的分析时间内,该模块通过计算,筛选持续时间长的连接。

如图3所示,在本发明实施例中,所述周期性通信分析模块包括以下步骤:

步骤1,收到流记录解析模块解析后的流记录信息。

步骤2,根据流记录三元组,将流记录分组到对应哈希表项中。该哈希表项中,记录了该三元组上一个流记录的结束时间以及之前的所有流记录时间间隔计数。

步骤3,判断当前收到的流记录,是否有明确的流结束标记,例如TCP的FIN标记等。

如果有明确的流结束标记,则判定为该连接结束。将该流记录的时间间隔计入到所有流记录时间间隔计数后,计算该连接中所有流记录时间间隔峰值的陡度,判断该连接周期性,将结果上报长连接通信告警模块,并清理三元组对应哈希表项,准备计算新的连接。

如果没有明确的流结束标记,则判断当前流记录和上一个流记录之间的时间间隔是否大于30秒。如果小于30秒,则依照约定,判定为该流记录间隔过小,不记录流记录间隔,只更新流记录的结束时间。

如果当前流记录和上一个流记录之间的时间间隔大于30秒,则判断该流记录时间间隔是否大于15分钟。如果大于15分钟,则记连接超时结束,当前流记录不计入连接,计算连接现有流记录时间间隔所有峰值的陡度,判断该连接周期性,将结果上报长连接通信告警模块,并清理三元组对应哈希表项,将当前流记录计为下一个新连接的第一个流记录。

如果当前流记录和上一个流记录之间的时间间隔小于15分钟,则将该时间间隔计入哈希表项,并更新当前连接的结束时间。

如图4所示,在本发明实施例中,所述长连接通信分析模块包括以下步骤:

步骤1,收到流记录解析模块解析后的流记录信息。

步骤2,根据流记录三元组,将流记录分组到对应哈希表项中。该哈希表项中,记录该三元组上一个流记录的结束时间以及当前的流持续时间。

步骤3,判断当前收到的流记录,是否有明确的流结束标记,例如TCP的FIN标记等。

如果有明确的流结束标记,则判定为该连接结束。将该流记录的时间间隔,以及该流记录自身的持续时间,计入到连接的持续时间中,将连接持续时间结果上报长连接通信告警模块,并清理三元组对应哈希表项,准备计算新的连接。

如果没有明确的流结束标记,则判断当前流记录和上一个流记录之间的时间间隔是否大于15分钟。如果大于15分钟,则记连接超时结束,当前流记录不计入连接,将连接持续时间结果上报长连接通信告警模块,并清理三元组对应哈希表项,将当前流记录计为下一个新连接的第一个流记录。

如果当前流记录和上一个流记录之间的时间间隔小于15分钟,则将该流记录的时间间隔,以及该流记录自身的持续时间,计入到连接的持续时间中,并更新当前连接的结束时间。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中组件分或者全组件技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种基于蜂窝网络的车路实时通信系统及通信方法
  • 一种多用户短波通信网络模型及信道探测方法
  • 一种基于TCP流状态的网络扫描检测方法及检测系统
  • 基于周期性信标信号在无线传感器网络内提供通信的系统和方法
  • 网络系统、通信方法、通信设备以及记录有通信程序的计算机可读取的记录介质
技术分类

06120116154160