基于时间相关性的异常流量检测模型研究

(整期优先)网络出版时间:2020-11-06
/ 3

基于时间相关性的异常流量检测模型研究

廖莹璐 李寒箬

( 云南电网有限责任公司信息中心 云南省 , 昆明市 ,650217 )

摘要:近些年国家在网络安全领域投入的心血巨大,习总书记早在2014年针对网络安全提出了重要论调:没有网络安全就没有国家安全。在网络中,不仅有着大量有声有色的娱乐内容,同时,还充斥着黄、赌、毒、黑灰产等不良信息和网络威胁。如何发现网络中的异常流量,特别是在内网中的异常流量,对于趁早发现威胁,阻断威胁极为有效。本文就针对基于时间相关性的异常流量检测方法,提出了一种新的模型。

关键词:时间相关性;异常流量检测;网络流量

0 引言

业务系统在数据交互的过程中,数据是以流量的形式存在的。网络中流量的监测可以有效发现异常行为;并进行及时预警和处理,以减少对网络的危害,保证网络环境的安全与稳定。

通过大量的文献研究,发现网络流量不是单独存在的,而是相互之间有着千丝万缕的联系,并且网络流量是可以监测的。现实中所有对于网络的攻击是有计划,有预谋,分阶段进行的,当网络中两者之间通信异常时,这个异常的行为在时间上也是相互依存的。大量资料和文献表明,网络流量具有自相似的特点,所以本文就依据这个特点提出一个优化的模型,并通过实验数据进行了验证,证实了时间与流量之间的相关性。

1基于时间相关的流量特征提取

异常行为是有规律、不间断的行为,也就是说,如果在某个时间段内发生了异常行为,那么在下一个时间段内有很大的概率网络行为是异常的,所以时间局部性是网络通信具有的特征。在一个时间段内有很大概率网络流量之间的关系是相互依存的,在一个时间段内对网络流量进行详细的监测是可实施的[1]

提取每条数据流的时间戳、源IP、目的IP特征,并以此为依据构建基于时间相关性、表示数据流依赖关系的流量网络,分析流量网络的特征值,以发现网络异常通常在什么时间发生[2]。为了便于采样需要将网络流量按照时间的推移分成更小的、便于度量的采样窗口,将5fa51506ba3c8_html_979f0adf7f66b62e.gif 作为每个采样窗口的长度,然后构造网络模型依据一定时间内数据的依赖关系,分析哪段时间可能出现网络异常,从而监测异常流量[3-7]

流量子集可以用5fa51506ba3c8_html_979f0adf7f66b62e.gif 对数据集进行分割得到,计算公式如下:

5fa51506ba3c8_html_7b23ad1d7ca9cac1.gif

其中,5fa51506ba3c8_html_f9a72a87c37f5323.gif 表示在5fa51506ba3c8_html_ea8e4275938d7273.gif5fa51506ba3c8_html_9525241a0bc77fcb.gif 采样窗口下的网络数据流

1.1 网络节点分析

对服务器流量进行观察和数据分析,针对其反映的网络状态有方向、有目标地进行研究,由于通信的产生可以是源IP到目的IP,也可以是目的Ip到源Ip,需要构造两种时间节点的网络模型。

1.2 网络流量是怎么产生关系的

在一个时间段内,网络模型上的节点与网络流量之间均具有相关性,如果发生了网络攻击行为,在网络模型中的各个节点都会受到影响,基于此可以建立连接关系[7-8]。它表示网络中的各个网络设备之间的通信是相互依赖的。

把数据集按照5fa51506ba3c8_html_979f0adf7f66b62e.gif 分割成许采样窗口,每个窗口都可以按照需求搭建一个临时的网络,这些网络标记为5fa51506ba3c8_html_4a19e6d75347b36.gif

1.3 时间相关性网络流量模型

为了便于模型的构建,用0~8来表示按照需求搭建的、需要进行采样的临时网络采样窗口下数据流的时间戳;用A~D表示按照需求搭建的、需要进行采样的临时网络采样窗口下存在的数据流;用a~D按照需求搭建的、需要进行采样的临时网络采样窗口下数据流量的不同源地址与目的地址的组合数据流;流时间影响域用矩形条表示[9-10]

把一个采样窗口内的数据流作为开始节点,分析它对应的节点在时间影响域内有没有其他的节点产生连接,得到一个以时间为依据的网络模型。

2 现在行之有效的异常流量检测的方式对比

2.1 以时间为基础的检测方式

大量资料和文献表明,网络流量有自相似的特点,网络流量异常的检测就是依据这个特点开展的。

正常情况下网络数据的平均度会保持在一定的合理的范围内,如果发生异常,那么异常网络的平均度就会有所偏移,根据平均度分布来判断发生异常的时间段。在时间上,异常网络行为是有序的,而且它们的特性大多相同:时间短、攻击集中。

如果在某个时间段S内,一个终端向服务器发送某些请求,把这些请求的对象流记为l。那么这些具有相同特性的对象流可以时序关系,以S的特性聚合起来,把这个聚合起来的、具有一定规律的时序流标记为L。将L开始传输数据包的时间节点记为TS,结束传输数据包的时间节点记为TE,在传输的时间范围内,数据实时时间记为Current,每个时序流的传输不是连续的,是有一定的时间间隔的,把它标记为d,得到下面的式子:

5fa51506ba3c8_html_d42bcc15db994e5.gif

其中的k代表的是对象流的个数,TS以及Current可以通过计算得其具体的值。当Current-TE>d的时,表示L传输周期结束,标志时序流的生命周期结束。

为了防止对象在某个时间周期内不受控制,超出预期结果,在将d作为划分时序流周期的因素时,需要综合考虑对象的变化规律以及它的变化与收敛程度之间的关系。为了减少工作量,降低流表大小,需要以间隔时间d作为阈值控制时序流的传输周期的划分条件把所有相同的IP网络流量聚合,防止其他流量对象混入。比如,使用DHCP自动分配地址时,当其中一个终端不再使用当前IP,那么这个IP就可能被其他终端获取,这样就会造成IP与设备的不对应。

想要提升流表的综合性能,就需要想方设法减少流表的时序流数量和占用空间。通过上文分析可知,时序流数量主要受到间隔时间d的影响,需要在时序流收敛程度与间隔时间之间取得最优值。时序流占用的空间主要受到特征数量N的影响,需要在DPI次数与识别准确率之间取最优值。

2.2 以时间为基线的检测异常流量的算法分析:

采集到网络流量以后,会把它编译为PCAP的格式并输入到系统中。当系统接受到这个格式的数据后,开始进行TSFT的初始化,按照先后顺序获取网络流量的数据包,从数据包中解析源IP地址和时间戳。如果流表中存在源IP,通过时间戳与间隔时间的差值来判断是否超时,如果超时就输出原来的TERM并创建一个新的TERM;如果不超时就获取特征数量的值,如果这个值大于等于N,则需要更新TS=Current;利用超文本传输的协议特征判断数据包是否具有特征,如果解析的数据包不具有特征,则更新TS=Current,否则把数据包的特征获取并计算类型和更新TS=Current;具体的描述可以看下面的伪代码:

输入:文件格式为Pcap的网络数据流量

输出:5fa51506ba3c8_html_b0051ddf9d486691.gif

1. 项目初始化:PORJECT_INIT()

2. 设置输入变量N:N=INPUT()

3. 设置输入变量d:d = INPUT()

4. 设置循环:FOR 5fa51506ba3c8_html_20a9c334c0d2ab91.gif

5. 循环语句: 5fa51506ba3c8_html_b559716519193f8d.gif =PKT_PARSE.SRCIP(5fa51506ba3c8_html_f715bd54ecbb686a.gif )

6. 循环语句:Current=PKT_PARSE.TIMESTAMP(5fa51506ba3c8_html_f715bd54ecbb686a.gif )

7. 判断语句:IF PROJECT_FIND(5fa51506ba3c8_html_b559716519193f8d.gif )= NULL THEN

8. 添加功能:PROJECT_INSERT(5fa51506ba3c8_html_b559716519193f8d.gif ,Type,n,5fa51506ba3c8_html_75f4b184be97c917.gif )

9. 赋值操作:5fa51506ba3c8_html_b559716519193f8d.gif =5fa51506ba3c8_html_a546fc6b6697b7d4.gif

10. 赋值操作:TS=TE=Current;

11. 条件分支:ELIF Current>d THEN

12. 输入语句:PRINT F=PROJECT.FIND(5fa51506ba3c8_html_b559716519193f8d.gif )

13. 删除操作:PROJECT.DELET(PROJECT.FIND(5fa51506ba3c8_html_b559716519193f8d.gif ))

14. 添加操作:PROJECT.INSERT(5fa51506ba3c8_html_b559716519193f8d.gif ,Type,n,5fa51506ba3c8_html_75f4b184be97c917.gif )

15. 赋值操作:5fa51506ba3c8_html_b559716519193f8d.gif =5fa51506ba3c8_html_a546fc6b6697b7d4.gif

16. 赋值操作:TS=TE=Current;

17. 分支语句:ELSE

18. 判断语句:IF n>= N THEN

19. 赋值操作:PROJECT.TE=Current

20. 分支语句:ELSE

21. 赋值操作:Protocol = PKT_PARSE.PRO-TOCOL(5fa51506ba3c8_html_f715bd54ecbb686a.gif )

22. 赋值操作:FLAGES=PKT_PARSE.FLAGS(5fa51506ba3c8_html_f715bd54ecbb686a.gif )

23. 判断语句:IF Protocol = = 06 AND (Flags = = 0x010 OR Flags = = 0x018) THEN

24. 赋值操作:TE=Current

25. 赋值操作: 5fa51506ba3c8_html_730d795c7c789395.gif

26. 赋值操作:Type = PROJECT.CALC-UL-ATETYPE(5fa51506ba3c8_html_ece6106abc6320b1.gif )

27. 自增:n=n+1

28. 分支语句:ELSE

29. 赋值操作:PROJECT.TimeEnd = Delay

30. 自增:j=j+1

3 结论

本研究提出了一种时间相关性的异常网络检测模型,用于检测网络流量将会在哪个时间段内发生问题,以网络稳定度作为衡量指标,通过分析其分布特点,分析网络异常在哪个时间段发生会是一个大概率事件,为研究检测网络流量的异常提供了新的思路和方法,该方法仅需获取网络数据流中的时间段、原始IP、目的IP,可以满足绝大部分网络,具有普适性。






参考文献:

[1]蹇诗婕,卢志刚,姜波,刘玉岭,刘宝旭.基于层次聚类方法的流量异常检测[J].信息安全研究,2020,6(06):474-481.

[2]杨挺,侯昱丞,赵黎媛,盆海波,原凯,宋毅.基于时-频域混合特征的变电站通信网异常流量检测方法[J/OL].电力系统自动化:1-12[2020-07-02]..

[3]刘慕娴,陈文迪,刘桂华.一种基于K-means算法的网络流量异常检测模型研究[J].无线互联科技,2019,16(18):25-27.

[4]范硕. 分布式环境下的实时网络流量检测与分析[D].成都信息工程大学,2019.

[5]孟月芸. 基于流式的网络异常流量检测方法的研究[D].湖南大学,2019.

[6]李冰. 基于异常流量分析的网络攻击检测技术研究[D].中国民航大学,2018.

[7]卜国卿. 网络流量异常检测技术研究与实现[D].电子科技大学,2018.

[8]闫伟,张军.基于时间序列分析的网络流量异常检测[J].吉林大学学报(理学版),2017,55(05):1249-1254.

[9]夏会. 基于用户行为模式特征的时间序列异常检测[D].重庆大学,2017.

[10]宋先强. 互联网异常流量动态检测技术研究[D].曲阜师范大学,2017.