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

一种面向主机社区行为的异常流量检测方法

文献发布时间:2023-06-19 10:03:37


一种面向主机社区行为的异常流量检测方法

技术领域

本发明涉及社交网络和网络流量异常检测技术领域,具体地讲,是涉及一种面向主机社区行为的异常流量检测方法。

背景技术

随着云计算和大数据技术日趋成熟发展,网络服务的分布式框架技术应用的快速增长,为用户提供多站点并行线路、集群式的数据服务,形成大量网络服务器主机以业务为轴心且须交互协作的复杂网络行为。与此同时,集群式的计算资源相较于以往更容易获取和使用,利用分布式技术进行攻击的受害案例日益增多。这些异常流量形成了以受害主机、恶意主机为中心的主机社区,这些主机社区之间具有密切的网络交互行为。可见,使用网络服务的用户主机越多,这个网络应用系统的业务处理越大、网络流量越大、网络结构更复杂;同理,攻击规模和强度越大,恶意主机越多、企事业单位波及的受害主机数量级越大,造成的损失越无法衡量。

网络应用快速普及和增长,网络流量的数据规模大规模剧增,分析和检测异常、不期望的网络行为比以往更具挑战性。异常流量对网络行为的影响是多方面的,网络中主机等设备既具有功能独立性,又具有业务协作的空间交互性。在网络边界流量中,可见大量以某个(服务器)、某些主机(客户端)聚合为社区的通信行为,还发现利用分布式技术执行大规模攻击的异常行为,形成了以受害主机为聚合的主机社区。面向具有社区和大规模特性的主机交互,传统异常检测方法无法有效的从整体流量、一个主机的视角进行检测,使传统安全检测工具的局限性更显突出。

发明内容

针对上述现有技术中的上述问题,本发明提供一种面向主机社区行为的异常流量检测方法,采用合适的算法分析这种主机社区规律性,应该能够提供更加全面描述网络流量中呈现的主机社会化关系的视图,提高异常检测能力。

为了实现上述目的,本发明采用的技术方案如下:

一种面向主机社区行为的异常流量检测方法,包括以下步骤:

S10、利用配置于内网与外网之间的网络交换设备获取网络流量数据,并镜像到数据采集服务器解析、重组和存储;

S20、对数据采集服务器获取的网络流量数据进行固定时间窗口的处理和分析,通过对固定时间窗口的网络流量进行图模型的构建,生成该网络环境中主机的社交网络图的图序列;

S30、基于图序列进行主机社区行为挖掘,先识别出该时间窗口的主机社区,再抽取每个主机社区行为的特征值向量,进而量化主机社区行为的演化状态,同时构建每个正常主机社区行为的特征基线;

S40、基于每个正常主机社区行为的特征基线,利用偏离度计算方法将基线特征值与当前检测的主机社区行为的特征值进行主机社区行为状态变化的度量,获得每个检测时刻主机社区行为在网络流量中的异常程度值;

S50、将超出设定阈值范围的主机社区行为在网络流量中的异常程度值判定为异常流量,输出异常流量所涉及的主机集合。

具体地,所述步骤S10中存储网络流量数据时还对原始网络流量数据进行预处理,包括对原始网络流量数据的数据包进行合法性检查,以及将数据包汇聚成网络流。

具体地,所述步骤S20中对固定时间窗口的网络流量进行图模型的构建具体为:

从存储的网络流量数据中以固定时间窗口形式获取数据集,以主机为社交网络图的节点,以网络流为边,生成每个时间窗口的图模型。

具体地,所述步骤S30中计算每个主机社区演化状态的特征值向量,以及正常主机社区行为的特征基线包括:

从每个时间窗口的图模型,依次识别主机社区、识别每个主机社区事件,根据主机社区行为的特征集及其度量方法,计算并存储每个主机社区对应时间窗口的特征值;

利用主机社交网络图获取主机社区,计算并存储每个主机社区对应时间窗口的特征值向量;

利用异常数据校验方法剔除采集到的数据样本中的异常值,获得第一轮每个主机社区行为的基线;

利用后续时间窗口的数据继续量化主机社区行为,用正常值定期更新到每个主机社区行为的基线,由此形成自更新模式的正常主机社区行为的特征基线。

其中,所述第一轮每个主机社区行为的特征基线的异常数据校验方法为箱型图分析方法。

具体地,所述主机社区行为的特征集包括:

主机社区各个不同状态的检测窗口特征集,用于统计检测窗口的主机社区处于不同状态的个数;

主机社区成员数的特征集,用于统计每个主机社区的主机成员数的均值、最大值、最小值、中位数;

主机社区各个不同状态数的特征差集,用于计算并统计当前检测窗口与相邻窗口的特征值变化情况;

主机社区内主机成员的相似度,用于统计当前时间窗口各个主机社区之间的主机成员的IP地址的相似度、入度和出度的相似度;

主机社区内部主机成员的相似度特征差集,用于计算并统计当前检测窗口与相邻窗口的每个主机社区的主机成员的相似度变化情况。

并根据主机社区行为的特征集计算主机社区行为的特征值的统计值,包括最大值、最小值、中位数、方差、均值。

并且,所述主机社区行为的特性至少包括演化特性、统计特性、社区成员特性、时空特性。

具体地,所述步骤S40中计算偏离度的过程为:

从当前检测窗口的主机社交网络图中提取每个主机社区行为的特征值;

基于每个主机社区行为的特征基线,利用余弦相似性方法计算特征向量空间的距离,得到每个主机社区行为的异常程度值。

具体地,所述偏离度计算中以三个角度量化:

以主机社区行为演化状态为度量、以主机社区行为的主机成员规模变化情况为度量、以主机社区行为与主机社区行为基线的特征空间距离为度量。

具体地,所述步骤S50中异常程度判定过程为:

利用箱型图分析方法初选阈值,并根据每个主机社区行为偏离度的历史数据和初选阈值来设置阈值,当主机社区行为的异常程度值超出阈值范围时,则判断为异常。

与现有技术相比,本发明具有以下有益效果:

本发明通过采集网络边界网络流量数据,构建主机社交网络图对主机社区进行识别,并量化正常主机社区行为的特征基线,度量主机社区行为与其正常社区行为的偏离度以检测异常主机社区。本发明在识别流量社交网络图中主机社区的基础上,提出了基于主机社区演化的异常检测算法,通过识别密切联系的主机社区行为,从而有效检测隐蔽参与网络安全事件的异常主机。该方法适用于具有社区行为的主机进行异常流量检测,融合了社交网络和网络流量异常检测两个交叉学科领域,为异常流量检测问题提供了新方法、新途径和分析视角。

附图说明

图1为本发明-实施例的流程框图。

图2为本发明-实施例中网络采集架构的示意图。

图3为本发明-实施例中主机社区的状态转换示意图。

图4为本发明-实施例中异常检测流程举例的示意图。

图5为本发明-实施例中全体主机社交网络示意图。

图6为本发明-实施例中HTTP应用的主机社交网络示意图。

图7为本发明-实施例中eDonkey应用的主机社交网络示意图。

图8为本发明-实施例中skeype应用的主机社交网络示意图。

图9为本发明-实施例中SSL应用的主机社交网络示意图。

图10为本发明-实施例中HTTP应用3个时间窗口的主机社交网络示意图。

图11为本发明-实施例中主机社区行为状态总数波动情况的量化示意图。

图12为本发明-实施例中主机社区行为事件数的特征示意图。

图13为本发明-实施例中主机社区行为的异常流量检测示意图。

图14为本发明-实施例中数据集1中主机社区异常流量的偏离度示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。

如图1和2所示,该面向主机社区行为的异常流量检测方法,通过采集内网与外网之间边界网络流量数据,构建网络流量中主机的社交网络图对主机社区进行识别,并构建其正常主机社区行为的基线,度量主机社区行为与其正常社区行为的偏离度以检测异常主机。

具体包括以下步骤:

S10、利用配置于内网与外网之间的网络交换设备获取网络流量数据,并镜像到数据采集服务器解析、重组和存储;

S20、对数据采集服务器获取的网络流量数据进行固定时间窗口的处理和分析,通过对固定时间窗口的网络流量进行图模型的构建,生成该网络环境中主机的社交网络图的图序列;

S30、基于图序列进行主机社区行为挖掘,先识别出该时间窗口的主机社区,再抽取每个主机社区行为的特征值向量,进而量化主机社区行为的演化状态,同时构建每个正常主机社区行为的特征基线;

S40、基于每个正常主机社区行为的特征基线,利用偏离度计算方法将基线特征值与当前检测的主机社区行为的特征值进行主机社区行为状态变化的度量,获得每个检测时刻主机社区行为在网络流量中的异常程度值;

S50、将超出设定阈值范围的主机社区行为在网络流量中的异常程度值判定为异常流量,输出异常流量所涉及的主机集合。

本发明研究的对象是主机社区。主机社区是由监测网络环境中所有网络主体(主机)组成集合的一个子集,主机社区的行为以特定的目的和功能为驱动,社区内部主机交互通信连接在一起,其结构上形成紧密连接的社区,与主机社区内部主机子集外的主机、其他主机社区连接通信稀疏。主机社区行为是由主机行为构成,主机社区行为离不开主机行为,但主机社区行为并不是主机行为的简单相加;监测的网络环境中由多个主机社区构成,每个主机社区有多个主机构成,最大的主机社区就是全体主机的集合。

本实施例需要采集网络流量数据,根据企事业单位大多是边界采集的方式,其对应的网络架构环境如图2所示,其中内部和外部主机在边界呈现的主机社区行为是本发明所要检测的对象,旨在检测异常流量,流量可镜像到通过交换机、路由器等网络设备镜像到数据采集服务器。本发明方法部署到这台服务器,实现对网络边界流量进行采集、处理和分析,然后根据主机社区行为的异常流量检测方法,对网络行为进行建模,并对主机的异常流量进行检测。系统部署后,可以进行实时和离线分析两种方式,满足实际的业务需求。

基于本发明的系统架构,检测主机社区行为的异常状态的主要过程如下:

1)进行基础数据获取。数据集均以固定时间窗口获取,根据主机社区行为的特征度量方法计算对应值,刻画这个时间窗口的主机社区行为,计算并存储。

2)实施基线数据准备。反复运行7天,获得企事业单位边界流量中充足的主机社区行为,为本系统构建主机社区行为的基线提供了当前网络环境的数据样板。

3)完成基线数据的构建。利用异常数据校验方法:箱型图分析方法,剔除采集到的数据样本的异常值,从而获得第一轮每个主机社区行为的基线;随着系统的持续运行,同样会将正常的数据样本更新到每个主机社区行为的基线。

4)偏离度计算。根据每个主机社区行为的基线,通过度量每个主机社区行为的检测时间窗口的特征值,利用余弦相似性方法计算特征向量空间的距离,得到每个主机社区行为的异常程度。

5)异常结果输出。利用箱型图分析方法,根据主机社区行为的偏离度的统计值,例如最大值、最小值和中位数等,设置阈值,一旦超出阈值范围,则判断为异常。

具体来说,本实施例将企事业单位的网络边界的流量,构建为主机的社交网络图模型,度量主机社区行为的变化情况,从而通过基于主机社区行为的变化来检测异常流量。主机社区行为的结构可以揭露重要、有趣的主机社区行为,而这些网络行为恰恰在网络行为研究整体流量、一个主机行为时所忽略。如图3所示,本发明实施例对主机社区的状态进行了枚举,描述了主机社区的不同状态变化,可见各个状态之间的单向和双向的主机社区状态转换性,变化的状态包括了下面所列的7种:出现、扩大、合并、分离、维持、缩小、消失。

主机社区的状态是否在历史状态中出现过,观察发现主机社区会长时间持续变化,处于包括了出现,并演化为扩大、缩小、消失等状态中,这些主机社区的状态有助于网络安全管理分析人员及时排查网络故障或错误,在真实数据样本中,从未出现的主机社区的状态的异常度较高;

攻击者通过组织与操作多主机攻击单个主机、多个主机进行诸如扫描、探测、垃圾邮件投放、拒绝服务等攻击行为。由于分布式攻击技术具有隐蔽性好,攻击效率高的特点,使其被越来越多的攻击者所采用。因此,发现与防御主机社区行为引起的异常流量更加引起网络安全管理员的重视。除此之外,还能够发现网络管理配置变更导致的不期望主机社区行为的状态改变,常见的企事业单位网络边界流量的主机社区行为:1)服务器主机为中心的主机社区行为;2)主机社区的各个主机间存在协作关系,如数据备份、备用机、分布式计算、存储集群。

根据综上所述的过程,本发明实施例利用举例的方式,绘制了异常检测流程举例的示意图,如图4所示。

主机社区稳定性

通过对企事业单位内外网络边界网络流量的数据集分析发现,存在大量的主机社区行为。各个网络应用的网络流量在主机社区上表现出固有的稳定性,不随时间变化而出现巨大差异,主机社区特性的稳定性易在遭受攻击、网络环境变化时发生波动,因此主机社区固有的稳定性能够描述主机社区行为的基线,同时将异常网络流量区分开来,如下表1展示的网络应用在3个相邻时间窗口的主机社区个数,SSL、Skpye和eDonkey为例,其每个网络应用相关的主机社区总数随时间变化趋于稳定状态。

表1网络应用3个相邻时间窗口的主机社区个数

观察发现相邻时间窗口的主机社区会发生不同的状态变化,或者消失、或者分离为多个主机社区、或者与其他主机社区合并。主机社区的状态改变能够用来度量主机社区的变化情况,作为判断是否出现了异常流量的一个分析视角。

接着,利用数据可视化方式,绘制了数据样本中全部流量的主机社交网络信息,如图5至图9所示,其中图5展示了全体主机社交网络示意图,图6展示了HTTP应用的主机社交网络示意图,图7展示了eDonkey应用的主机社交网络示意图,图8展示了skeype应用的主机社交网络示意图,图9展示了SSL应用的主机社交网络示意图。

不同的网络应用的主机社交网络示意图的结构、形状、规模,由主机与主机之间的网络行为决定,呈现出动态的变化,引发了图中的主机社区的规模、结构发生变化,如图10所示的HTTP应用3个时间窗口的主机社交网络示意图,其中10a为T-1时间窗口、10b为T时间窗口、10c为T+1时间窗口,既有明显的主机社区,又通过不同时间窗口可见主机社区行为的稳定性和规律性。

主机社区行为的规律性

本实施例通过对大量数据集进行分析,发现网络环境中的主机社区大都不会随着时间变化而剧烈波动,而具有稳定特性,这也是很多真实世界的社交网络研究公认的属性。相比稳定主机社区,异常的主机社区通常也会隐藏于大量稳定主机社区中。当网络环境中发生安全事件,会导致主机社区规模的变化和主机社区结构的变化,这些都属于主机社区的状态变化。

如图11所示的每个时间窗口的主机社交网络图中主机社区行为状态总数波动情况的量化示意图,展示了7个数据集主机社区的状态变化数量,数据集1中主机社区总数量为112,正常的主机社区数量为90,扩大的主机社区数量为3,缩小的主机社区数量为19;数据集2中主机社区总数量为133,正常的主机社区数量为115,扩大的主机社区数量为3,缩小的主机社区数量为13,消失的主机社区数量为1,分离的主机社区数量为1;数据集3中主机社区总数量为256,正常的主机社区数量为246,扩大的主机社区数量为4,缩小的主机社区数量为6;数据集4中主机社区总数量为242,正常的主机社区数量为226,扩大的主机社区数量为5,缩小的主机社区数量为9,出现的主机社区数量为2;数据集5中主机社区总数量为260,正常的主机社区数量为245,扩大的主机社区数量为2,缩小的主机社区数量为2,消失的主机社区数量为6,分离的主机社区数量为5,出现的主机社区数量为1;数据集6中主机社区总数量为399,正常的主机社区数量为393,扩大的主机社区数量为2,缩小的主机社区数量为4;数据集7中主机社区总数量为494,正常的主机社区数量为493,扩大的主机社区数量为1。处于变化状态的主机社区和异常流量所在的主机社区,数据集中的异常占比是从0.039%到0.202%,为了能够有效监测异常,这是一个重要的主机社区行为的特征,还需要进一步分析这种行为具有的其他特性。

通过对主机社区行为状态的特征可视化为堆积图进一步分析,1)在检测的时间跨度中,主机社区的各个状态占比都相对稳定;2)主机社区的各个状态中,缩减、扩大事件的主机社区占比相对低,分布相对稳定;3)合并、分离、出现和消失状态的主机社区总体占比数高,分布情况同样处于相对稳定的。如图12所示的主机社区行为的异常流量检测示意图,通过31个时间窗口的数据样本,展示了主机社区6类状态(XZ-出现、XS-消失、FL-分离、HB-合并、ZD-扩大、SX-缩小)的主机社区总数堆积图,这个图反映了各个状态涉及的主机社区总数相对稳定的占比情况。如图13所示,进一步通过56个时间窗口的数据样本,展示了主机社区动态变化过程中,主机社区的6类状态的主机社区总数在时间轴呈现出的波动性,显示的颜色深浅代表不同的社区总数。

在真实数据样本中,分别对通信节点聚合为主机社区的现象,主机社区行为随着主机交互和安全事件的发生,使这些主机社区在不同的状态交替,主机社区的总数和主机社区主机成员的总数也会随之变化。如图13中深色占多,浅色占少部分,这也正是本发明所提出方法检测到安全事件发生的时间。根据样板数据发现主机社区规模越大、协同性的特性越明显时,或者对主机社区行为的影响越大时,检测结果越好。

主机社区的不同状态变化对整体网络流量的主机社区的影响各不相同,但是任何一个主机社区的状态改变都会引发更多的主机社区发生状态变化,如分离事件会导致主机社区消失、出现了主机群,合并主机社区同样会导致主机社区的消失、新增主机社区,还不排除伪造的IP地址访问其他主机的网络安全事件,从而导致网络安全事件的状态改变。

主机社区行为特征抽取和计算

本实施例利用主机社区的不同状态变化,根据主机社区的历史状态变化的规律:历史状态、主机社区成员相似性、主机社区总数和主机社区成员总数等信息,作为主机社区行为的特征集。通过识别的主机社区行为进一步计算特征值,抽取出可以描述主机社区行为动态变化的特征值,还要对这些数据进行统计特征的二次计算,主要的主机社区行为的特征集包括下面几类。

1)主机社区各个不同状态数的检测窗口特征集f

2)主机社区成员数的特征集f

3)主机社区各个不同状态数的特征差集f

4)主机社区内主机成员的相似度f

5)主机社区内主机成员的相似度特征差集f

本实施例从以下三个角度量化了主机社区的异常与否,进而计算三类偏离度异常值的加权平均,如公式1~4所示,从而可以判断每个主机社区每个时间窗口是否出现异常流量。基于前述对主机社区行为特征抽取的分析,本实施例将主机社区行为的演化状态是否符合历史规律融入了检测方法。本实施例通过匹配每个主机社区行为是否属于新出现、重生、合并、分离或消失的状态,根据这些主机社区行为的变化强弱和历史规律,为每个状态都枚举了异常值,分别如下表2所示:

表2主机社区行为演化状态异常值

异常值1:以主机社区行为演化状态为度量的偏离度值如下公式1所示,匹配如表2所示,则是当前主机社区行为的演化状态的异常值。

该式中,根据第一种偏离度的计算方法,

异常值2:以主机社区行为的主机成员规模变化情况为度量的偏离度值如公式2所示,计算涉及到变化的主机成员个数。

该式中,根据第二种偏离度的计算方法,利用方法getAbscale获取主机成员规模变化的异常值,

异常值3:以欧式距离度量检测窗口的主机社区行为与主机社区行为基线的特征空间距离,计算如下公式3所示。

该式中,根据第三种偏离度的计算方法,利用方法getChgdis获取主机社区行为特征空间距离的异常值,

主机社区偏离度的异常值,可以根据以上3个视角所得的异常值进行加权累加,如下公式4所示,从而可以判断每个主机社区是否出现异常流量。针对企事业单位环境下网络流量的观察越充分,阈值的设置越准确,判断是否异常的精度也更加高。

该式中,m=3,score

在图11展示的数据集1中,总计是22个主机社区,通过本发明提出的方法,准确识别到异常流量所在的主机社区序号,图14中序号19的主机社区的异常偏离度值远远高于其他正常的主机社区,说明本发明方法的有效性和准确性,偏离度值如图14所示。

检测时间窗口是否具有高相似度的主机社区,如不同的主机社区的主机成员IP地址相似度、成员个数,以及主机社区内部的主机成员的IP地址相似度。在真实数据样本中,这类特征尤其适用于多对多所形成主机社区的网络攻击行为;比较当前事件快照的主机社区总数、主机成员总数的统计分布(均值、方差、最大值、最小值、四分位值等)与历史统计值去除离异数据后均值比较,高于三倍的可判定是异常流量,真实数据样本和公开数据集均检测有效。

上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。

相关技术
  • 一种面向主机社区行为的异常流量检测方法
  • 一种面向智慧社区的异常行为检测方法及系统
技术分类

06120112407067