一种结合会话行为和通信关系的隐蔽通信检测方法转让专利

申请号 : CN201910570344.9

文献号 : CN110336806B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈兴蜀陈敬涵邵国林曾雪梅

申请人 : 四川大学

摘要 :

本发明公开了一种结合会话行为和通信关系的隐蔽通信检测方法,包括以下步骤:步骤1:会话流还原;将采集到的数据包还原成会话流并存储于Hadoop分布式文件系统;步骤2:面向会话行为隐蔽性的隐蔽通信初步判定;步骤3:再面向通信关系持续性的隐蔽通信增强判定。本发明采取了结合会话行为和通信关系的检测方式,使真实网络环境下的隐蔽通信检测更具有效性。

权利要求 :

1.一种结合会话行为和通信关系的隐蔽通信检测方法,其特征在于,包括以下步骤:

步骤1:会话流还原

将采集到的数据包还原成会话流并存储于Hadoop分布式文件系统;会话流是两个网络主机之间一次完整网络连接中从第一个网络数据包到最后一个网络数据包的集合;会话流中数据包具有相同五元组,且数据包的源IP、目的IP、源端口、目的端口能够互换;对基于TCP的会话流,则属于从TCP连接建立的SYN包开始,到收到最后一个FIN包或RST包结束,这一范围内的数据包所构成的会话流集合;对基于UDP的会话流则满足每个数据包的时间间隔都不超过老化时间;

步骤2:面向会话行为隐蔽性的隐蔽通信初步判定

步骤2.1:会话流聚合;利用源IP、目的IP、目的端口和开始时间在Spark平台下聚合会话流得到聚合后会话流;

步骤2.2:特征向量生成;对每组聚合后的会话流计算发送字节数均值、接收字节数均值、发收字节比均值、发收包数比均值、平均发包长均值、平均收包长均值、持续时间均值、发送字节数相似性、发收字节数比相似性、持续时间相似性、会话流数量和端口有序度;

步骤2.3:模型构建与初步判定;在训练阶段,利用已有的隐蔽通信会话数据和正常通信会话数据,通过Spark平台的MLlib提供的决策树、逻辑回归、梯度提升树三个分类算法,训练三个分类器,作为检测阶段的分类模型;在检测阶段,利用三个分类器的输出,采取绝对多投票的方式,决定隐蔽通信初步判定结果,该结果将作为增强判定的输入;

步骤3:面向通信关系持续性的隐蔽通信增强判定

步骤3.1:隐蔽通信增强判定指标计算;将初步判定输出的通信关系数据作为隐蔽通信增强判定指标计算的数据基础,利用单个时间窗口下通信数据和多时间窗口下通信关系数据,计算通信行为持续性评价指标;

步骤3.2:基于层次分析-模糊综合评价的隐蔽通信增强判定;基于层次分析进行权重设置,通过若干影响因素,确定影响因素层次结构,并在此基础上进行研究影响因素权重的设置;

步骤3.3:基于模糊综合评价模型进行最终评价;通过建立因素集、评价集和单因素评价矩阵,实现对通信数据是否为隐蔽通信所产生数据进行最终判定。

2.如权利要求1所述的一种结合会话行为和通信关系的隐蔽通信检测方法,其特征在于,所述步骤2.1会话流聚合具体为:首先,将单条会话流构造成以通信IP对及目的端口为键,以会话流开始时间及会话流数据为值的键值对;其次,将输入的会话流按通信IP对和目的端口进行分组,并将同分组会话流按开始时间顺序排序;最后,将排序后的会话流,按时间阈值进行聚合。

3.如权利要求1所述的一种结合会话行为和通信关系的隐蔽通信检测方法,其特征在于,在步骤2.3检测阶段中,利用三个分类器的输出,采取绝对多投票的方式,得到隐蔽通信初步判定结果,初步判定结果将被作为隐蔽通信增强判定的输入。

4.如权利要求1所述的一种结合会话行为和通信关系的隐蔽通信检测方法,其特征在于,还包括步骤4:对最终判定结果进行存储、告警和可视化展示。

说明书 :

一种结合会话行为和通信关系的隐蔽通信检测方法

技术领域

[0001] 本发明属于恶意网络流量监测领域,特别是一种结合会话行为和通信关系的隐蔽通信检测方法。

背景技术

[0002] 网络空间已成为国家之间安全博弈的新战场,木马、僵尸网络、高级持续性威胁等已成为当前网络中的重大安全问题。隐蔽通信——一种通过伪装通信过程,将自身隐藏于合法的正常网络数据中,以躲避安全设备的检测,从而长期控制利用受害主机或设备的恶意通信行为。因其通信的隐蔽性和持续性而被大量应用于上述网络威胁并成为了其中一个关键阶段。
[0003] 现阶段基于网络行为的木马检测更关注建连和操作阶段的检测,僵尸网络和APT的检测分别侧重攻击的协同性和多步性,因此现有检测方案对这一通信行为的检测能力略显不足。且上述攻击检测的现有方法在实验环境下具有良好表现,但应用于真实网络环境下往往存在误告警占比较高的问题。如何实现真实网络环境下对隐蔽通信的有效检测是当前亟待解决的问题。该问题正面临以下挑战:(1)隐蔽通信本身所采用的隐蔽技术提高了恶意行为特征分析、特征提取和检测的难度;(2)互联网时代下网络数据的急速增长,数据复杂性和多样性增加了真实环境下从海量数据中检测隐蔽通信的难度。

发明内容

[0004] 本发明所要解决的技术问题是提供一种结合会话行为和通信关系的隐蔽通信检测方法,采取结合会话行为和通信关系的检测方式,使真实网络环境下的隐蔽通信检测更具有效性。
[0005] 为解决上述技术问题,本发明采用的技术方案是:
[0006] 一种结合会话行为和通信关系的隐蔽通信检测方法,包括以下步骤:
[0007] 步骤1:会话流还原
[0008] 将采集到的数据包还原成会话流并存储于Hadoop分布式文件系统(HDFS);会话流是两个网络主机之间一次完整网络连接中从第一个网络数据包到最后一个网络数据包的集合;会话流中数据包具有相同五元组,且数据包的源IP、目的IP、源端口、目的端口可互换;对基于TCP的会话流,则属于从TCP连接建立的SYN包开始,到收到最后一个FIN包或RST包结束,这一范围内的数据包所构成的会话流集合;对基于UDP的会话流则满足每个数据包的时间间隔都不超过老化时间;
[0009] 步骤2:面向会话行为隐蔽性的隐蔽通信初步判定
[0010] 步骤2.1:会话流聚合;利用源IP、目的IP、目的端口和开始时间在Spark平台下聚合会话流得到聚合后会话流;
[0011] 步骤2.2:特征向量生成;对每组聚合后的会话流计算发送字节数均值、接收字节数均值、发收字节比均值、发收包数比均值、平均发包长均值、平均收包长均值、持续时间均值、发送字节数相似性、发收字节数比相似性、持续时间相似性、会话流数量和端口有序度;
[0012] 步骤2.3:模型构建与初步判定;在训练阶段,利用已有的隐蔽通信会话数据和正常通信会话数据,通过Spark平台的MLlib提供的决策树、逻辑回归、梯度提升树三个分类算法,训练三个分类器,作为检测阶段的分类模型;在检测阶段,将对通信数据是否为“疑似隐蔽通信”所产生的数据进行判断,在初步判定阶段被判定为“疑似隐蔽通信”的数据,将作为增强判定的输入(即在检测阶段,利用三个分类器的输出,采取绝对多投票的方式,决定隐蔽通信初步判定结果,该结果将作为增强判定的输入);
[0013] 步骤3:面向通信关系持续性的隐蔽通信增强判定
[0014] 步骤3.1:隐蔽通信增强判定指标计算;将初步判定输出的通信关系数据作为隐蔽通信增强判定指标计算的数据基础,利用单个时间窗口下通信数据和多时间窗口下通信关系数据,计算通信行为持续性评价指标;
[0015] 步骤3.2:基于层次分析-模糊综合评价的隐蔽通信增强判定;基于层次分析进行权重设置,通过上一步的研究得到若干影响因素,确定影响因素层次结构,并在此基础上进行研究影响因素权重的设置;
[0016] 步骤3.3:再基于模糊综合评价模型进行最终评价;通过建立因素集、评价集,单因素评价矩阵,实现对通信数据是否为隐蔽通信所产生数据进行最终判定。
[0017] 进一步的,所述步骤2.1会话流聚合具体为:首先,将单条会话流构造成以通信IP对及目的端口为键,以会话流开始时间及会话流数据为值的键值对;其次,将输入的会话流按通信IP对和目的端口进行分组,并将同分组会话流按开始时间顺序排序;最后,将排序后的会话流,按时间阈值进行聚合。
[0018] 进一步的,在步骤2.3检测阶段中,利用三个分类器的输出,采取绝对多投票的方式,决定初步判定结果,判定通信数据是否为“疑似隐蔽通信”数据(即得到隐蔽通信初步判定结果,初步判定结果将被作为隐蔽通信增强判定的输入)。
[0019] 进一步的,还包括步骤4:对最终判定结果进行存储、告警和可视化展示。
[0020] 与现有技术相比,本发明的有益效果是:1)通过会话流聚合算法,实现了特征提取,使得到的特征向量能够在描述单挑会话流特征的同时,能够刻画会话流之间的相似性,从而能从会话行为的角度更好的描述检测目标。2)通过结合单时间窗口下的通信关系数据和多时间窗口下的通信数据,使评价指标能突破单时间窗口下攻击特征描述的局限性,从而能从通信关系的角度更好的描述检测目标。3)采取了结合会话行为和通信关系的检测方式,使真实网络环境下的隐蔽通信检测更具有效性。

附图说明

[0021] 图1是结合会话行为和通信关系的隐蔽通信检测框架图;
[0022] 图2是流量还原流程图;
[0023] 图3是会话流聚合算法;
[0024] 图4是基于层次分析的权重设定流程图;
[0025] 图5是GCP层次结构模型图;
[0026] 图6是基于模糊综合评价模型的评价流程图;
[0027] 图7是检测结果可视化展示;
[0028] 图8是告警结果多源威胁情报分析结果。

具体实施方式

[0029] 下面结合附图和具体实施方式对本发明作进一步详细的说明。如图1所示,结合会话行为和通信关系的隐蔽通信检测方法的具体如下:
[0030] 步骤1:会话流还原,如图2所示,包括以下过程:
[0031] (1)程序调用C#的SharpPcap从采集服务器网卡获得原始数据包。SharpPcap是一个.NET环境下的网络包捕获框架,提供了捕获、注入、分析和构建的功能。
[0032] (2)通过队列机制实现数据包采集与数据包的异步处理。
[0033] (3)多线程下的数据包获取与处理。要得到传输层内容,需先剥离数据包IP头,但此处保留了MAC地址信息;接着识别并区分TCP及UDP包,而其他协议包,如ICMP,此处不做处理。
[0034] (4)TCP及UDP格式定义。
[0035] (5)TCP及UDP流量还原。将从数据包中获取的源IP、目的IP、源端口、目的端口及协议作为键,会话流相关属性统为值,构建哈希表;进行会话流重组;当满足结束条件时,从哈希表输出。结束条件为满足以下任意一项:(a)FIN或RST标志位置1;(b)距第一个包到达时间大于30分钟;(c)距最后一个包到达时间超过1分钟。
[0036] 步骤2:面向会话行为隐蔽性的隐蔽通信初步判定;该步骤着眼于隐蔽通信的隐蔽性特征,其判定结果将作为后续面向通信关系持续性的隐蔽通信增强判定的数据依据,具体如下:
[0037] 步骤2.1:会话流聚合
[0038] 为在描述单条会话流特征的同时,刻画会话流之间的相似性,基于Spark平台进行会话流聚合,得到聚合后会话流。首先,将单条会话流构造成以通信IP对及目的端口为键,以会话流开始时间及会话流数据为值的键值对。其次,将输入的会话流按通信IP对和目的端口进行分组,并将同分组会话流按开始时间顺序排序。最后,将排序后的会话流,按时间阈值(秒)进行聚合,本发明中取阈值为180。其具体算法实现过程如图3所示。
[0039] 步骤2.2:基于会话流聚合的特征提取
[0040] 从会话流基本特征、会话流相似性特征、聚合流特征三个角度,综合考虑数据的集中趋势和离散程度,最终提取12维度特征。以任意聚合流F=为例,对特征的计算方式进行说明:
[0041] 会话流基本特征集合B=中元素分别代表F的发送字节数均值、接收字节数均值、发收字节比均值、发收包数比均值、平均发包长均值、平均收包长均值及持续时间均值。公式(1)以发送字节数均值SendLenAve为例,对B中各元素计算方式进行说明:
[0042]
[0043] 会话流相似性特征集合S={s1,s2,s3}中元素分别代表发送字节数相似性、发收字节数比相似性及持续时间相似性。公式(2)以发送字节数相似性SendLenSim为6例,对S中各个元素计算方式进行说明:
[0044]
[0045] 其中:
[0046]
[0047]
[0048] 聚合流特征中,会话流数量C如公式(5):
[0049] C=n  (5)
[0050] 端口有序度PtOrderDegree计算方式如公式(6):
[0051]
[0052] 步骤2.3:在训练阶段,利用隐蔽通信会话数据和正常通信会话数据,通过Spark平台的MLlib提供的决策树、逻辑回归、梯度提升树三个分类算法,训练三个分类器。在检测阶段,利用三个分类器的输出,采取绝对多投票的方式,决定初步判定结果,即判断是否为“疑似隐蔽通信数据”,若是,则将数据作为后续增强判定的输入。
[0053] 步骤3:面向通信关系持续性的隐蔽通信增强判定
[0054] 此步骤着眼于隐蔽通信的持续性特征,从通信关系的角度进行增强判定,具体如下:
[0055] 步骤3.1:隐蔽通信持续性检测指标计算
[0056] (1)相关源IP数量
[0057] 对任意时间窗口Δt下通信信息集合Q={q1,q2,…,qn},qi(i=1,2,…,n)表示通信信息即时间、源IP及目的IP,n表示该时间窗口下通信信息数量,Q中所有目的IP构成的不含重复元素集合D={d1,d2,…,dk},k为Q中出现的不重复目的IP数量,在Q中与di(i=0,1,…,k)相关的不含重复元素的源IP构成集合 具体计算方式如(7)所示:
[0058] y=atan(x)×2/π  (7)
[0059] 故对相关源IP数量结果表征的计算方式如(8)所示:
[0060] C(t,di)=atan(|S|)×2/π  (8)
[0061] 其中,|S|为时间窗口Δt下di相关源IP数量,C(t,di)表示归一化后数量。
[0062] (2)目的IP相似度
[0063] 对任意时间窗口Δt下通信信息集合Q={q1,q2,…,qn},qi(i=1,2,…,n)表示通信信息即时间、源IP及目的IP,n表示该时间窗口下通信信息数量,Q中所有源IP构成的不含重复元素集合S={s1,s2,…,sm},m为Q中不重复源IP数量,在Q中与si(i=0,1,…,m)相关的不重复目的IP集合为 其中k为不重复目的IP数,集合D对应的网段集合为 遍历DS中每个元素,得到唯一对应集合
其中 表示在集合DS中与元素 值相等的元素个数。时间
窗口Δt下si相关目的 的相似度 的具体计算方式如公式(9)所示:
[0064]
[0065] (3)目的IP评价指数
[0066] 对任意时间窗口Δt下通信集合Q={q1,q2,…,qn},qi(i=1,2,…,n)表示通信信息即时间、源IP及目的IP,n表示该时间窗口下隐蔽通信信息数量,Q中所有源IP构成的不含重复元素集合S={s1,s2,…,sm},m为Q中不重复源IP数量,在Q中与si(i=0,1,…,m)对应的目的IP集合为 利用IBM提供的X-Force Exchange对集合D中每个元素进行评估,并得到唯一集合 其中 表示集合D中
对应的评分。时间窗口Δt下si相关目的 的评价指数 的具体计算方式如
公式(10)所示:
[0067]
[0068] (4)相关目的IP出现次数
[0069] 对任意时间窗口Δt下通信集合Q={q1,q2,…,qn},qi(i=1,2,…,n)表示通信信息即时间、源IP及目的IP,n表示该时间窗口下通信信息数量,Q中所有源IP构成的不含重复元素集合S={s1,s2,…,sm},m为Q中不重复源IP数量,在Q中与si(i=1,2,…,m)对应的目的IP集合为 遍历集合D中每个元素,得到唯一对应集合其中 表示集合D中与 值相等的元素个数。时间窗口Δt
下si相关目的 的出现次数表征值 的具体计算方式如公式(11)所示:
[0070]
[0071] (5)目的IP持续度
[0072] 任意按时间先后排序的时间窗口序列W=中元素wi(i=1,2,…,n)表示以小时为单位的时间窗口Δt,n表示时间窗口数量。序列W对应的通信信息集合序列为P=,其中Qi(i=1,2,…,n)表示第i个时间窗口下的通信信息集合,即表示第i个时间窗口下一组通信信息 即时间、源IP及目的IP,k表示该时间窗口下通信信息数量。由集合序列P可得到集合序列PD=,其中 表示Qi中不重复目的IP集合。对第i个时间窗口下Di中
任意元素 在连续h个时间窗口wi-(h-1),wi-(h-2),…,wi-1,wi下的出现次数 可通过遍历并计算 对应IP出现的次数得到。则时间ti下,连续h个时间窗口
下目的 的持续度 的具体计算方式如公式(12)所示:
[0073]
[0074] (6)源IP关联度
[0075] 任意按时间先后排序的时间窗口序列W=中元素wi(i=1,2,…,n)表示以小时为单位的时间窗口Δt,n表示时间窗口数量。序列W对应的通信信息集合序列为P=,其中Qi(i=1,2,…,n)表示第i个时间窗口下的通信信息集合,即表示第i个时间窗口下一组通信信息 即时间、源IP及目的IP,k表示该时间窗口下通信信息数量。由Qi可得ti时间窗口下的去重目的IP集合 对ti时间窗口下Di中任意元素 在连续h个时间窗口wi-(h-1),
wi-(h-2),…,wi-1,wi下Qi-(h-1),Qi-(h-1),…,Qi-1,Qi中与 相关的源IP集合为S={s1,s2,…,sl},且S中不含重复元素。则时间ti下,连续h个时间窗口下目的 的源IP关联度
的具体计算方式如公式(13)所示:
[0076]
[0077] (7)源IP出现次数占比
[0078] 任意按时间先后排序的时间窗口序列W=中元素wi(i=1,2,…,n)表示以小时为单位的时间窗口Δt,n表示时间窗口数量。序列W对应的通信集合序列为P=,其中Qi(i=1,2,…,n)表示第i个时间窗口下的通信集合,即表示该时间窗口下一组通信信息 即时间、源
IP及目的IP,k表示该时间窗口下通信信息数量。由Qi可得第i个时间窗口下的去重源IP集合 在连续h个时间窗口wi-(h-1),wi-(h-2),…,wi-1,wi下的Qi-(h-1),
Qi-(h-1),…,Qi-1,Qi中的源IP集合SH={sh1,sh2,…,shl},其中l为在Qi-(h-1),Qi-(h-1),…,Qi-1,Qi出现过的源IP数量。则结合si和SH可得唯一集合 其中 为 在集合SH
中的出现次数。则在时间ti下,连续h个时间窗口下源 的出现次数占比 的
具体计算方式如公式(14)所示:
[0079]
[0080] (8)目的IP出现次数占比
[0081] 任意按时间先后排序的时间窗口序列W=中元素wi(i=1,2,…,n)表示以小时为单位的时间窗口Δt,n表示时间窗口数量。序列W对应的通信集合序列为P=,其中Qi(i=1,2,…,n)表示第i个时间窗口下的通信集合,即表示该时间窗口下的一组通信信息 即时
间、源IP及目的IP,k表示该时间窗口下通信信息数量。由Qi可得第i个时间窗口下的去重目的IP集合 对第i个时间窗口下Di中任意元素 在连续h个时间窗口
wi-(h-1),wi-(h-2),…,wi-1,wi下的Qi-(h-1),Qi-(h-1),…,Qi-1,Qi中的目的IP集合DH={dh1,dh2,…,dhl},其中l为在Qi-(h-1),Qi-(h-1),…,Qi-1,Qi出现过的目的IP数量。则结合Di和DH可得唯一集合 其中 为 在集合DH中的出现次数。则在时间ti下,连续h个时间窗口
下目的 的出现次数占比 的具体计算方式如公式(15)所示:
[0082]
[0083] 步骤3.2:基于层次分析的权重设定
[0084] 如图4所示,包括以下步骤:
[0085] (1)层次结构模型构造;层次模型如如图5所示。
[0086] (2)对比矩阵建立;分别针对图4中p1-p4和p5-p8建立两个形如A1及A2的对比矩阵。
[0087]
[0088]
[0089] ( 3 ) 特 征 向 量 和 相 对 权 重 计 算 ;本 发 明 方 法 中 相 对 权 重[0090] (4)一致性检验。
[0091] (5)层次总排序及一致性检验;本发明方法中WG-C=(0.6,0.4)。
[0092] 步骤3.3:基于模糊综合评价模型的评价方法
[0093] 其实现过程如图6所示:
[0094] (1)因素集建立;本发明方法因素集为U={C1,C2},其中单因素子集分别为:
[0095]
[0096] 其中Pi(i=1,2,…,8)分别对应图5中P层的8个指标。
[0097] (2)评价集建立;本发明方法中评价集V={v1,v2,…,vm},取m=3,分别代表“强”、“中”和“弱”三种隐蔽通信可疑等级。
[0098] (3)单因素模糊评价及模糊综合评价矩阵建立;首先是指标向量构建:根据步骤(1)中构建的因素集,对wi时间窗口下的任意通信数据,构建对应的指标向量Z=(z1,z2,…,z8);其次是辅助矩阵构建:根据上一步得到的指标向量,对当前时间窗口wi下,对指标集合P={p1,p2,…,p8}分别计算出wi-(h-1)到wi(本方法中h=3)时间内的最大值、均值、最小值,对于指标pi(i=1,2,…,8)可得Di=(di1,di2,di3),dij(j=1,2,3)分别表示指标pi在上述时间段内的最大值、均值和最小值。D1,D2,…,D8为行,构成辅助矩阵D8×3;最后是模糊综合评价矩阵构建:根据前两步分别得到的指标向量和,计算对应的模糊集合Ri=(ri1,ri2,ri3)=(1-|zi-di1|,1-|zi-di2|,1-|zi-di3|),则对应的模糊综合评价矩阵如(16)所示:
[0099]
[0100] 根据R8×3得到C1及C2分别对应的单评价因素矩阵R1及R2:
[0101]
[0102] (4)因素权重向量确定;本发明方法中权重系数向量为
[0103] (5)单因素评价;单因素评价公式为Bi=Wi·Ri=(bi1,bi2,bi3)。
[0104] (6)综合评价;具体计算方法如公式(17),最终的模糊综合评价结果计算方法为:E=WG-C·RC=(e1,e2,e3)。
[0105]
[0106] (7)最终判定;对时间窗口wi中通信数据对应的指标向量Z=(z1,z2,…,z8)计算得到的模糊综合评价结果向量E=(e1,e2,e3)中e1,e2,e3分别对应当前数据为隐蔽通信的可疑度的隶属值,则该数据对应的最终评价结果由e1,e2,e3最大值决定。本方法中,当对通信数据的模糊综合评价结果为e1或e2时,将该通信数据判定为隐蔽通信并输出告警。
[0107] 图7是本发明在某校园网内的检测结果的可视化展示,其中包含了30个源、目的IP对。检测对象是2018年11月22日13时到14时的数据中心流量。图8是对上述检测结果的所属地及在threatbook、360威胁情报中心、RedQueen及VenusEye中的威胁情报信息的描述,其中除5个IP在威胁情报中不存在标记或被标记为DDoS Target之外,其余IP均存在僵尸网络、木马、恶意软件的标记,而发明所关注的对象正属于它们的重要通信过程。告警中涉及的8个此校内IP已被恶意攻击者通过隐蔽通信的方式控制利用。
[0108] 从上述分析可知,发明方法应用于实际环境后具有良好的检测效果,且检测出了防火墙未拦截的隐蔽通信流量。