一种基于K-Means的正常Server IP白名单的挖掘方法转让专利

申请号 : CN201910794738.2

文献号 : CN112448911A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘亮李凯郑荣锋

申请人 : 四川大学

摘要 :

本发明涉及计算机网络流量分析技术领域,旨在通过K‑Means聚类算法对网络流量进行聚类,从而挖掘出正常Server IP白名单。本发明首先采集所需通信流量,从中还原出两个IP间的双向流,并提取出初始白名单,然后解析双向流统计流基础信息并保存,之后便根据统计的流基础信息进行特征提取,将特征用K‑Means算法进行聚类,最后统计初始白名单在聚类结果中的分布从而得到正常Server IP白名单。本发明能够方便的从网络流量中提取出正常Server IP白名单,减少建立白名单时的工作量,并且更新方便。

权利要求 :

1.一种基于K-Means的正常Server IP白名单的挖掘方法,其特征在于,所述方法包括如下步骤:A. 采集大量的网络流量并进行解析,提取出常用互联网公司的Server IP及对应域名并保存得到初始白名单,然后还原两个IP间的双向流并保存为pcap文件;

B. 根据步骤A得到的双向流pcap文件,进行解析然后统计分析流的基本信息;

C. 根据步骤B得到的流信息,以Server IP为研究对象提取流特征;

D. 利用K-Means聚类算法进行聚类,然后分析聚类结果得到正常Server IP白名单。

2.根据权利要求1所述的一种基于K-Means的正常Server IP白名单的挖掘方法,其特征在于,所述的步骤A进一步包括如下步骤:A1. 通过Wireshark和Streamdump流量采集工具采集所需网络流量并保存为pcap文件;

A2. 利用Streamdump解析出两个IP间的双向流,保存四元组参数命名IP[Port]-IP[Port].pcap文件;

A3. 从采集的网络流量中提取出常用域名的Server IP构建初始白名单。

3.根据权利要求1所述的一种基于K-Means的正常Server IP白名单的挖掘方法,其特征在于,所述的步骤B进一步包括如下步骤:B1. 利用Streamdump解析步骤A中得到的四元组参数命名pcap文件;

B2. 根据解析结果,统计实验所需相关流信息;

B3. 提取的流信息具体包括:流开始时间戳、源地址、目的地址、源端口、目的端口、上行包个数、下行包个数、上行包总载荷大小(网络层)、下行包总载荷大小(网络层)、传输层上行包载荷不为0个数、传输层下行包载荷不为0个数、目的地址对应的域名、上行包总载荷与下行包总载荷的比值;

B4. 将提取到的流信息存入数据库。

4.根据权利要求1所述的一种基于K-Means的正常Server IP白名单的挖掘方法,其特征在于,所述的步骤C进一步包括如下步骤:C1. 从数据库读取步骤B中提取到的流信息;

C2. 提取实验所需的流特征;

C3. 提取的流特征的属性包括:目的地址、域名、所有流中最大的下行流载荷大小、所有流中最大的上行流载荷大小、总上行流与总上行流和总下行流和的比值、下/上在[0-

0.2)内的条数占总条数的值、下/上在[0.2-0.6)内的条数占总条数的值、下/上在[0.6-1)内的条数占总条数的值、下/上在[1-4)内的条数占总条数的值、下/上在[4-10)内的条数占总条数的值、下/上大于10的条数占总条数的值、上行流载荷在[2,6)KB的条数占总条数的比例、上行流载荷在[6,14)KB的条数占总条数的比例、上行流载荷大于14KB的条数占总条数的比例、下行流载荷在[0,2)KB的条数占总条数的比例、下行流载荷在[2,6)KB的条数占总条数的比例、下行流载荷在[6,14)KB的条数占总条数的比例、下行流载荷大于14KB的条数占总条数的比例;

C4. 将提取到的流特征集保存为CSV文件。

5.根据权利要求1所述的一种基于K-Means的正常Server IP白名单的挖掘方法,其特征在于,所述的步骤D进一步包括如下步骤:D1. 利用K-Means聚类算法,对提取到的流特征集进行聚类,并将聚类结果以(Server IP,聚类标签)的形式进行保存;

D2. 分析步骤A中得到的初始白名单在聚类结果中的分布,从而挖掘出正常Server IP白名单。

说明书 :

一种基于K-Means的正常Server IP白名单的挖掘方法

技术领域

[0001] 本发明涉及计算机网络流量分析技术领域,旨在通过抓取网络流量并重组为双向流,然后以Server IP为研究对象提取对应流的相关特征,利用K-Means聚类算法对特征数据进行聚类,再分析预先构建的白名单在聚类结果中的分布,从而挖掘出正常Server IP白名单,得到该白名单后,便可以过滤掉许多正常网络行为产生的流量,减小入侵检测系统的检测压力。

背景技术

[0002] 随着计算机技术与物联网技术的不断发展与普及,联网设备数量迅速增长,且联网设备产生的流量也越来越多,这对入侵检测系统(IDS)带来了巨大的挑战。入侵检测系统通过对网络流量进行实时监控,发现存在于其中的异常行为,但实际经过入侵检测系统的大部分流量其实是正常网络行为产生的流量,这种流量占比高且数量大,十分影响入侵检测系统的检测效率。
[0003] 为了解决输入入侵检测系统的待检测流量正常流量占比较大的问题,需要对原始流量进行过滤,从而减小待检测流量的数量。目前主流的过滤方法为基于策略的过滤,通过编写规则文件,限制流量的长度、通信频率等,从而实现过滤功能;也有通过建立白名单,直接过滤掉目的地址在白名单内的流量。上述方法中,规则编写较为繁琐,且无法全面的考虑到流量的特征,而完善的白名单建立过程久,需要投入较多的人力,更新困难。
[0004] 主流的过滤方法的确能够减小待检测流量的数量,但由于其局限性,过滤效果不太理想,因此本文提出了一种基于K-Means的正常Server IP白名单的挖掘方法。

发明内容

[0005] 本发明提供的基于K-Means的正常Server IP白名单的挖掘方法能够通过对网络流量中的单个流进行重组、统计以及特征提取,然后利用K-Means聚类算法进行聚类,得到两个类别,通过分析白名单在聚类结果中的分布,从而完成对正常Server IP白名单的挖掘,之后便可以根据该白名单过滤出网络流中的正常流量,减小入侵检测系统的检测压力。
[0006] 本发明所提出的“一种基于K-Means的正常Server IP白名单的挖掘方法”具体步骤如下:步骤1:利用Streamdump进行流量采集,重组采集到的流量中所有的流,并将每个流单独保存为一个pcap文件为后续步骤提供数据基础;
步骤2:统计每个流的基本信息,通过分析每个流对应的pcap文件,提取出源IP、目的IP等信息保存至数据库,为后续特征提取提供数据支撑;
步骤3:从数据库中读取各流基本信息,以Server IP为对象,计算出每条流的上下行流量比值、上下行载荷大小等特征并保存;
步骤4:利用K-Means聚类算法,对提取得到的特征数据进行聚类,等到聚类结果,然后分析预先构建的白名单在聚类结果中的分布,从而挖掘出正常Server IP白名单。

附图说明

[0007] 下面将结合附图来进一步阐明本发明的目标、实现方法和优点。
[0008] 图1是展示本发明的总体流程图。
[0009] 图2是展示本发明特征提取的流程图。
[0010] 图3是展示本发明提取特征的属性介绍。

具体实施方式

[0011]  如图1所示,本发明的总体流程包括进行流量采集、双向流生成、建立初始白名单、流信息统计、流特征提取、K-Means聚类、类别分析,最终得到一个正常Server IP白名单,下面将对这些步骤进行详细介绍。
[0012] 1、 流量采集本发明需要预先采集正常用户在一段时间内操作计算机所产生的网络流量,通过利用Wireshark和Streamdump等技术,将采集到的流量保存为pcap文件(一种数据报存储格式)用于后文处理。
[0013] 2、 初始白名单利用Wireshark分析在步骤1中得到的pcap文件,解析其中所有通信记录,然后提取较为知名的27家互联网企业的相关Server Name和Server IP并保存为csv文件,保存内如形如“git***, test.git***.com, 140.***.***.25”,本步骤中保存的csv文件即为初始白名单。
[0014] 3、 双向流生成利用Streamdump解析步骤1采集到的pcap文件,将流量根据四元组进行切割,每个数据流单独存入一个pcap文件,保存名称为四元组IP[Port]-IP[Port].pcap,以捕获到的第一个packet中的四元组参数进行命名,超过两分钟没有数据交换的连接视为连接断开。
[0015] 4、 流信息统计解析步骤3中保存的四元组参数命名IP[Port]-IP[Port].pcap文件,提取每一个流中的一些基础信息,如时间戳、源地址、源端口、目的地址、目的端口、上行流量包个数、下行流量包个数、上行流量载荷大小、下行流量载荷大小、服务器名和下行流量载荷大小与上行流量载荷大小得比值等,然后将其存入数据库中为后续步骤提供数据支撑。
[0016] 5、 流特征提取根据步骤4中得到的流基础信息,按照图2中的特征提取流程,以Server IP为研究对象,提取涉及Server IP的流特征,最终得到各Server IP的特征向量,特征向量中包含的各属性介绍如图3所示。
[0017] 6、 K-Means聚类步骤5完成后,将得到的流特征数据利用K-Means聚类算法进行聚类,把输入的特征集聚为两类,然后输出Server IP与类别标签对应的csv文件,用于类别分析。
[0018] 7、 类别分析由步骤6中的到聚类结果和步骤2中得到的初始白名单,可以分析初始白名单中的Server IP在聚类结果中不同类别上的分布,通过观察分布特征,便能挖掘出更为完善的Server IP白名单。