高级持续性威胁的检测方法和装置与流程

文档序号:13887238阅读:380来源:国知局

本发明涉及信息安全技术领域,特别涉及一种高级持续性威胁的检测方法。



背景技术:

apt(advancedpersistentthreat,高级持续威胁),是一种利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。所谓的“高级”体现在其攻击行为特征的难以提取、攻击渠道的多元化和攻击空间的不确定性上,传统的进行恶意代码的检测和主机应用保护,都是基于单点进行特征匹配,难以有效地检测出apt攻击。



技术实现要素:

本发明所要解决的一个技术问题是:如何有效地检测出apt攻击。

根据本发明的一个方面,提供的一种高级持续性威胁的检测方法,包括:获取实时全流量的流量信息的观测序列,流量信息包括:流量包大小信息、访问时间信息和访问行为信息中的至少两项;基于隐半马尔可夫模型,分别计算实时全流量的流量包大小信息的观测序列的平均对数或然概率,访问时间信息的观测序列的平均对数或然概率,或访问行为信息的观测序列的平均对数或然概率;将实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,分别与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率进行比对,获得至少两项比对结果;根据比对结果确定是否出现高级持续性威胁。

根据本发明的第二个方面,提供的一种高级持续性威胁的检测装置,包括:全流量获取单元,用于获取实时全流量的流量信息的观测序列,流量信息包括:流量包大小信息、访问时间信息和访问行为信息中的至少两项;模型应用单元,用于基于隐半马尔可夫模型,分别计算实时全流量的流量包大小信息的观测序列的平均对数或然概率,访问时间信息的观测序列的平均对数或然概率,或访问行为信息的观测序列的平均对数或然概率;比对单元,用于将实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,分别与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率进行比对,获得至少两项比对结果;高级持续性威胁确定单元,用于根据比对结果确定是否出现高级持续性威胁。

本发明中,对实时数据流的全流量进行获取,并且获取一段时间内多个全流量形成观测序列,进一步,基于隐半马尔可夫模型,从流量包大小信息、访问时间信息或访问行为信息多个维度评估实时全流量与历史全流量的符合程度,从而确定是否出现高级持续性威胁,全方面多角度的对全流量进行观测,能够有效地检测出高级持续性威胁。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本发明的一个实施例的高级持续性威胁的检测方法的流程示意图。

图2示出本发明的一个实施例的高级持续性威胁的检测装置的结构示意图。

图3示出本发明的一个实施例的高级持续性威胁的检测装置的设置方式的网络结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有技术基于单点进行特征匹配的方法,难以有效地检测出高级持续性威胁的问题,提出本方案。

下面结合图1描述本发明的高级持续性威胁的检测方法。

图1为本发明高级持续性威胁的检测方法的一个实施例的流程图。如图1所示,该实施例的方法包括:

步骤s102,获取实时全流量的流量信息的观测序列。

流量信息包括:流量包大小信息、访问时间信息和访问行为信息中的至少两项。

其中,可以通过镜像或旁路的方式获取网络侧实时的数据流的全流量,对二进制的数据流进行还原,以pcap(processcharacterizationanalysispackage,过程特性分析软件包)文件的形式将这些http(hypertexttransferprotocol,超文本传输协议)raw(未加工)的数据进行保存,其中包括httprequest(请求)和httpresponse(响应)的报文,例如通过httprequest或httpresponse中的contentlength字段获取流量包大小信息,通过httprequest或httpresponse中port字段获取源地址信息、目的地址信息,通过httprequest或httpresponse中path字段获取访问路径信息,通过httprequest或httpresponse中method字段获取访问方式信息,还可以获取访问来源、接入方式、跳转方式等访问行为信息,以及httprequest或httpresponse的时间信息,在此不再赘述。

其中,将预设时间范围内获取的多个实时数据流的流量包大小信息、访问时间信息或访问行为信息作为观测值组成观测序列。

步骤s104,基于隐半马尔可夫模型,分别计算实时全流量的流量包大小信息的观测序列的平均对数或然概率,访问时间信息的观测序列的平均对数或然概率,或访问行为信息的观测序列的平均对数或然概率。

其中,分别以流量包大小信息访问时间信息或访问行为信息作为观测值,形成三个观测序列,分别计算每个观测序列相对于hsmm(隐半马尔可夫模型)的平均对数或然概率。后续会对hsmm算法进行具体描述。

步骤s106,将实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,分别与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率进行比对,获得至少两项比对结果。

其中,历史全流量及其流量信息的获取方式参考步骤s102中的实时全流量的获取方式,历史全流量相当于上一个预设时间周期内的实时全流量。

步骤s108,根据比对结果确定是否出现高级持续性威胁。

具体的,分别计算实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率的差,获得至少两个差值。如果其中两个以上的差值超过预设阈值,确定出现高级持续性威胁,如果其中一个差值超过预设阈值,则通知维护人员检测是否出现高级持续性威胁。

上述实施例的方法,对实时数据流的全流量进行获取,并且获取一段时间内多个全流量形成观测序列,进一步,基于隐半马尔可夫模型,从流量包大小信息、访问时间信息或访问行为信息多个维度评估实时全流量与历史全流量的符合程度,从而确定是否出现高级持续性威胁,全方面多角度的对全流量进行观测,能够有效地检测出高级持续性威胁。

下面具体描述本发明中如何应用hsmm算法检测高级持续性威胁。

apt攻击会长时间潜伏收集信息,模仿正常的数据流访问业务平台,攻击渠道的多元化和攻击空间的不确定性,难以识别,因此获取网络侧的数据流的全流量,正常的数据流相当于“隐藏”在这些获取的数据流中。因此,本方案中采用hsmm算法。虽然apt攻击可以模仿正常的数据流,但其在流量包大小信息、访问时间信息和访问行为信息等方面还是与正常的数据流存在区别,例如,apt攻击大多出现在非工作时间,由某些特定的服务器发出等特点。下面以访问时间信息为例,描述本方案中hsmm算法的应用过程。

(1)建立hsmm模型

首先选取http请求发出的时间作为观测量来描述数据流的访问时间信息,当然还可以选取http请求响应的时间和时间差等其他时间信息,或者多项时间信息作为观测量。每个数据流作为一个状态,所有状态的集合表示为s={1,2,…,m},http请求发出的时间作为一个观测值,其集合表示为v={1,2,…}。把实时全流量的访问时间信息的观测序列表示为o={γ1,…,γt},其中,γt∈v(1≤t≤t),表示http请求发出的时间。用b={bm(v)}表示模型的输出概率矩阵,bm(v)表示对于给定状态m∈s,http请求发出的时间γt=v∈v的概率。且满足∑vbm(v)=1。用p={pm(d)}表示在m∈s状态的停留时间,且满足∑dpm(d)=1。用∏={πm}表示初始状态的概率向量,πm表示初始状态为m∈s的概率。用a={amn}表示状态转移概率矩阵,amn表示从状态m∈s转移到n∈s的概率。用ω={∏,a,b,p}表示hsmm的参数集。

(2)hsmm模型的训练

将预设时间范围内观测到的多个数据流的http请求发出的时间作为观测数据,利用向前-向后算法或多观测序列hsmm模型参数估计算法迭代训练模型,计算得到hsmm模型的部分参数(πm,amn,bm(v),pm(d)),以及观测序列的或然概率具体的向前-向后算法或多观测序列hsmm模型参数估计算法,在此不再赘述。其中,ot表示一个观测量即一个数据流的http请求发出的时间,1≤t≤tl,tl表示第l个观测序列的长度,表示第l个观测序列中从第1个到第tl个观测量,ω表示隐半马尔可夫模型的参数集。本实施例中以ot只包含一个观测值为例,ot也可以为多维向量,例如将访问方法、跳转方式同时作为观测值,则ot为二维向量。

(3)hsmm模型的应用

本方案中利用观测序列的平均对数或然概率作为观测序列与模型符合度的度量。具体的,观测序列的平均对数或然概率采用以下公式表示:

将利用训练集中的数据计算得到的平均对数或然概率即利用历史全流量的访问时间信息作为观测序列得到的平均对数或然概率作为比对标准,获取预设时间范围内的实时全流量的访问时间信息作为观测序列,观测序列的长度可以预先设定,同样利用hsmm模型计算得到平均对数或然概率,将该实时全流量的平均对数或然概率与比对标准进行比对。

采用上述方法计算实时全流量和历史全流量的流量包大小信息、访问行为信息的观测序列的平均对数或然概率。并进行比对,最终确定是否存在apt攻击。

每隔预设时间利用最新获取的全流量的流量信息,更新历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,能够动态的根据数据流的变化更新比对标准,更加准确的判断出是否存在apt攻击。

本发明还提供一种高级持续性威胁的检测装置,下面结合图2进行描述。

图2为本发明高级持续性威胁的检测装置的一个实施例的结构图。如图2所示,该装置20包括:

全流量获取单元202,用于获取实时全流量的流量信息的观测序列,流量信息包括:流量包大小信息、访问时间信息和访问行为信息中的至少两项。

其中,全流量获取单元202,用于从实时全流量的超文本传输协议请求或超文本传输协议响应中获取实时全流量的流量信息,将预设时间范围内获取的实时全流量的流量信息作为观测序列。

其中,流量包大小信息包括:超文本传输协议请求的数据包大小、超文本传输协议响应的数据包大小中的至少一项;或者,访问时间信息包括:超文本传输协议请求发送的时间、超文本传输协议响应的发送时间、超文本传输协议请求发送的时间和超文本传输协议响应的发送时间的时间差中的至少一项;或者,访问行为信息包括:源地址信息、目的地址信息、访问路径、访问方法、访问来源、接入方式、跳转方式中的至少一项。

模型应用单元204,用于基于隐半马尔可夫模型,分别计算实时全流量的流量包大小信息的观测序列的平均对数或然概率,访问时间信息的观测序列的平均对数或然概率,或访问行为信息的观测序列的平均对数或然概率。

其中,每个全流量的流量包大小信息、访问时间信息或访问行为信息表示为一个观测量ot,1≤t≤tl;

观测序列的平均对数或然概率采用以下公式表示:

其中,tl表示第l个观测序列的长度,表示第l个观测序列中从第1个到第tl个观测量,ω表示隐半马尔可夫模型的参数集,表示第l个观测序列相对于隐半马尔可夫模型的或然概率。

比对单元206,用于将实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,分别与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率进行比对,获得至少两项比对结果。

高级持续性威胁确定单元208,用于根据比对结果确定是否出现高级持续性威胁。

其中,比对单元206,用于分别计算实时全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率,与历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率的差,获得至少两个差值;高级持续性威胁确定单元208,用于在其中两项以上的差超过预设阈值的情况下,确定出现高级持续性威胁,在其中一项差超过预设阈值的情况下,则通知维护人员检测是否出现高级持续性威胁。

进一步的,高级持续性威胁的检测装置20还可以包括:模型更新单元210,用于每隔预设时间利用最新获取的全流量的流量信息,更新历史全流量的流量包大小信息、访问时间信息或访问行为信息的观测序列的平均对数或然概率。

本发明的高级持续性威胁的检测装置20的设置方式参考图3所示,可以设置于防火墙之后,ids(intrusiondetectionsystems,入侵检测系统)或ips(intrusionpreventionsystem,入侵防御系统)之前,能够在数据流到达具体的主机、业务平台、用户之前获取全流量并进行判断,将攻击的防范从事后处置前推至事中处理,提高整体网络信息安全能力。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1