基于报警聚合的网络取证方法及装置与流程

文档序号:16630963发布日期:2019-01-16 06:34阅读:232来源:国知局
基于报警聚合的网络取证方法及装置与流程

本发明属于网络安全技术领域,特别涉及一种基于报警聚合的网络取证方法及装置。



背景技术:

随着网络攻击水平的不断提高和攻击工具、攻击方法的日新月异,利用计算机网络进行犯罪的行为越来越严重,网络取证对于打击网络犯罪具有重要意义。网络取证本质上属于动态取证,即在攻击事件进行时或在证据数据的传输途中进行截获,通过收集网络报警证据数据,重构网络攻击的犯罪场景,为诉讼案件提供准确有效的证据。

目前,网络取证的方法主要有两种:一种是基于蜜阱的方法,另一种是通过分析入侵检测系统报警证据的方法。蜜阱是指以蜜罐和蜜网等诱骗技术为核心的网络安全技术,由于蜜阱是一种诱骗系统,提供的是一些非真实性的信息,这些信息能否作为证据使用还值得商榷。第二种针对入侵检测系统的报警进行分析,通过得到的证据来还原入侵者采取的一系列攻击步骤,目前的网络取证方法大多采用这种方法。然而,受入侵检测系统准确性的限制,影响了网络取证结果的准确性,如何消除误报和漏报证据对取证结果的影响,是这些方法面临的一个难题。同时,入侵检测依赖于捕获的网络数据片段,所获得的证据很可能不够完整,如何通过报警去冗余和遗漏证据补充来消除误报和漏报的影响,保证证据链的完整性,识别出属于同一犯罪现场的一条或多条网络入侵证据链,反映入侵全貌,成为亟待解决的技术难题。



技术实现要素:

为此,本发明提供一种基于报警聚合的网络取证方法及装置,通过对报警数据进行证据映射、证据链生成、证据链聚类和入侵场景构建,还原网络犯罪现场,具有较强的实用性和可操作性。

按照本发明所提供的设计方案,一种基于报警聚合的网络取证方法,包含如下内容:

a)构建攻击图;并获取网络关键节点的入侵检测数据,将该入侵检测数据作为网络取证分析的报警证据集;

b)将报警证据集合中报警证据映射到攻击图中,并获取报警证据链;

c)对报警证据链进行聚类,构建网络入侵场景,恢复网络犯罪现场。

上述的,a)中,通过枚举攻击者所有入侵路径,构建有向无环图,作为攻击图;并通过网络各关键节点的开源入侵检测系统分析并抓取数据包,得到报警证据集合。

上述的,b)中,选择报警证据的类型、源地址和目标地址属性,将报警证据定位关联到相应攻击图节点上;根据攻击者攻击步骤所产生的报警证据序列获取报警证据链,将该报警证据链作为构建入侵场景的最小单元。

优选的,b)中根据攻击者攻击步骤所产生的报警证据序列获取报警证据链,包含如下内容:首先,将报警证据链集置为空集;然后,针对报警证据集中每个报警证据,判断其是否存在于报警证据链集,若不存在,则添加新的报警证据链至报警证据链集,并将该报警证据加入该新的报警证据链中;若存在,则根据报警证据产生时间上的父子关系,将报警证据集中的报警证据逐个加入报警证据链中,使得该报警证据链中的各个报警证据具有前后因果关系,直至该报警证据链长度不再增加位置,将该报警证据链并入到报警证据链集中。

上述的,c)中,获取报警证据链间的相似度,将相似的报警证据链进行聚类,构建初步入侵场景集合;对初步入侵场景集合中的每两个入侵场景,依据两者衔接关系进行合并拼接,实现入侵场景的完全构建,恢复网络犯罪现场。

优选的,c)中构建初步入侵场景集合,包含如下内容:首先,将初步入侵场景集合置为空集;然后,针对报警证据链集中报警证据链,从初步入侵场景集合寻找一入侵场景,该入侵场景为服务证据链集对应报警证据链与初步入侵场景集合各个入侵场景报警证据链相似度最大的入侵场景;判断该入侵场景中各报警证据链与报警证据链集对应报警证据链相似度最大值是否大于聚合条件阈值,如果大于,则将该报警证据链集对应报警证据链加入该入侵场景中;否则,创建新的入侵场景,将该报警证据链集对应报警证据链加入该新的入侵场景,并将该新的入侵场景加入初步入侵场景集合中,直至报警证据链集中每个报警证据链处理完毕。

优选的,c)中入侵场景的合并拼接,包含如下内容:依据两个入侵场景时间上的先后关系和行为上的递进关系,判定两者是否为同一攻击场景断裂而成的两个子场景并获取两者衔接关系,依据衔接关系得到两个入侵场景的距离;将完全构建的最终输出入侵场景置为空集;针对初步入侵场景集合中一入侵场景,从初步入侵场景集合中选取另一个与该入侵场景距离最小的入侵场景,计算该入侵场景与该另一个入侵场景两者中报警证据间的最小距离,将得到该最小距离的两个入侵场景中该两个报警证据分别记为报警证据a和a’;报警证据a和a’分别作为首尾节点,并依据属于同一入侵场景的各报警证据间的因果关系,补入相应报警证据构成报警证据链,利用该报警证据链建立新增入侵场景;将该新增入侵场景、该入侵场景和该另一个入侵场景进行合并,形成新的入侵场景,添加至初步入侵场景集合中,并剔除该入侵场景和该另一个入侵场景;直至初步入侵场景集合中任意两个入侵场景不再有衔接关系。

更进一步,c)中,依据衔接关系得到两个入侵场景的距离,包含如下内容:依据报警证据的目的地址和另一个报警证据的源地址,获取两个报警证据对应攻击图上相应攻击节点的距离;依据该距离获取对应两个入侵场景的距离。

一种基于报警聚合的网络取证装置,包含:数据收集模块、证据链构建模块和场景恢复模块,其中,

数据收集模块,用于构建攻击图;并获取网络关键节点的入侵检测数据,将该入侵检测数据作为网络取证分析的报警证据集;

证据链构建模块,用于将报警证据集合中报警证据映射到攻击图中,并获取报警证据链;

场景恢复模块,用于对报警证据链进行聚类,构建网络入侵场景,恢复网络犯罪现场。

上述的装置中,所述的场景恢复模块包含场景构建子模块和场景合并子模块,其中,

场景构建子模块,用于通过获取报警证据链间的相似度,并利用相似度获取相似的报警证据链进行聚类,构建初步入侵场景集合;

场景合并子模块,用于对初步入侵场景集合中的每两个入侵场景,依据两者衔接关系进行合并拼接,实现入侵场景的完全构建,恢复网络犯罪现场。

本发明的有益效果:

本发明针对利用入侵检测系统进行网络取证时存在的漏报和误报问题,通过对入侵过程证据链进行重构,将报警证据数据依次进行报警证据映射、证据链生成、证据链聚类和入侵场景构建,重现犯罪现场,有利于从宏观上了解入侵者的入侵动机和过程,能准确完整地展现攻击者的入侵全貌,提高了网络取证的效率;与入侵场景相关的报警数据成为重要的电子证据,具有较强的实用性和可操作性,为收集网络数据证据,重返犯罪现场及诉讼案件提供了可靠依据。

附图说明:

图1为实施例中的网络取证流程示意图;

图2为实施例中网络取证装置示意图;

图3为实施例中攻击图实例;

图4为实施例中网络取证工作原理图。

具体实施方式:

为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。实施例中涉及到的技术术语如下:

目前,针对入侵检测依赖于捕获的网络数据片段等情形,所获得的网络报警证据很可能不够完整。为此,本发明实施例提供一种基于报警聚合的网络取证方法,参见图1所示,包含:

a)构建攻击图;并获取网络关键节点的入侵检测数据,将该入侵检测数据作为网络取证分析的报警证据集;

b)将报警证据集合中报警证据映射到攻击图中,并获取报警证据链;

c)对报警证据链进行聚类,构建网络入侵场景,恢复网络犯罪现场。

上述的,通过枚举攻击者所有入侵路径,构建有向无环图,作为攻击图;并通过网络各关键节点的开源入侵检测系统分析并抓取数据包,得到报警证据集合。攻击图如图3所示,枚举了攻击者所有可能的入侵路径,是面向攻击的网络取证的技术基础,可以形式化表示为ag=(n,e),其中,1)n为节点集合,n=sua。其中s={si|i=1,…,n}为状态节点集合,变量si表示网络中资源或权限被非法侵占的情况,其取值可为1或0,分别表示攻击者已占有或未占有该资源。a={ati|i=1,…,m}为攻击行为节点集合,变量ati的取值可为1或0,分别表示某步攻击动作已发生或未发生。2)e为有向边集合,e={e1ue2}。其中,表示攻击者占有某些资源或权限后,可能发动的后续攻击动作;表示攻击行为可能导致攻击者占有新的资源或提升权限。以攻击图为基础,首先进行报警证据映射,将收集到的报警证据数据映射到攻击图中,初步呈现入侵情况;再由映射后的报警证据集输出攻击证据链,反映网络中存在的一条或多条入侵路径;接着将相似的证据链进行聚类,得到初步的犯罪场景;最后检验犯罪场景的完整性,通过补充相应的漏报证据,将可能存在断裂的犯罪场景进行拼接,恢复出完整的犯罪现场。

报警与攻击具有对应关系,报警映射即是将报警映射到攻击图中相应节点的过程。通过报警证据映射,可以直观反映报警证据的归属和分布,初步呈现犯罪场景。报警与攻击节点的对应关系主要体现在类型type、源地址srcip、目标地址dstip上,本发明在一个实施例中,选择报警证据的类型、源地址和目标地址属性,将报警证据定位关联到相应攻击图节点上;根据攻击者攻击步骤所产生的报警证据序列获取报警证据链,将该报警证据链作为构建入侵场景的最小单元。选择报警证据的type、srcip和dstip属性,从报警证据集到攻击节点集的映射map,准确地将报警证据定位到攻击节点。函数map是一个从报警集到攻击节点集的映射,将报警关联到相应的攻击节点。若报警a映射到攻击节点at,则记at=map(a)。具体映射方法可以通过下式来表达。

将报警证据链作为构建入侵场景的最小单元,证据链对应于攻击者的入侵路径,既包含到达目标的成功路径,也包含未到达目标的失败路径。证据链是由多个攻击步骤所产生的报警证据序列,记为aq=<a1,a2,…,an>,其中,ai表示第i个报警,满足关系aiorpoai+1,1≤i<n。根据攻击者攻击步骤所产生的报警证据序列获取报警证据链,包含如下内容:首先,将报警证据链集置为空集;然后,针对报警证据集中每个报警证据,判断其是否存在于报警证据链集,若不存在,则添加新的报警证据链至报警证据链集,并将该报警证据加入该新的报警证据链中;若存在,则根据报警证据产生时间上的父子关系,将报警证据集中的报警证据逐个加入报警证据链中,使得该报警证据链中的各个报警证据具有前后因果关系,直至该报警证据链长度不再增加位置,将该报警证据链并入到报警证据链集中。报警证据链生成算法可设计为如下内容:

算法1证据链生成

输入:映射后的报警证据集alerts

输出:证据链集aqueue={aq1,aq2,…}

step1将证据链集aqueue置为空集;并令i=1,j=1。

step2对ai∈alerts,若则建立新的证据链aqj,并将ai加入aqj中;否则转到step6。

step3根据报警证据产生时间上的父子关系rp,将alerts中的报警证据加入证据链aqj,使得aqj中的各报警证据具有前后因果关系。

step4重复step3,直到证据链aqj的长度不再增加。

step5将证据链aqj并入证据链集aquene中,令j=j+1。

step6若i<|alerts|,令i=i+1,算法转到step2,否则该步骤结束。

step7输出证据链集aqueue,算法结束。

在入侵活动中,下一步的攻击行动通常建立在已占有的资源或权限的基础上,且攻击者不会主动放弃已取得的资源或权限,其入侵方式类似于对攻击图进行深度优先搜索。入侵场景是一次入侵过程产生的所有攻击序列证据链的集合,记为as={aq1,aq2,…,aqn},因此,属于同一攻击场景的证据链之间具有某些相同的攻击步骤,在证据链上表现出相似性,可以通过证据链聚类的方式实现入侵场景初建。因此,本发明的另一个实施例中,获取报警证据链间的相似度,将相似的报警证据链进行聚类,构建初步入侵场景集合;对初步入侵场景集合中的每两个入侵场景,依据两者衔接关系进行合并拼接,实现入侵场景的完全构建,恢复网络犯罪现场。

在攻击活动中,属于同一攻击过程的两条证据链不一定具有相同的长度,且两条证据链中各位置上的报警证据并不一定是真正的对应关系,考虑到证据链的复杂性和攻击实际,本发明通过序列比对技术定义证据链间的相似度。引入操作集ω={add(a,i),del(i),replace(a,i)},其中add(a,i)表示在证据链的第i个元素前插入a,del(i)表示删除证据链的第i个元素,replace(a,i)表示将证据链中的第i个元素替换为a,并规定以上三种操作的代价均为1。在此基础上,使用一个序列转化为另一个序列的子序列的操作代价来衡量两序列间的相似程度。由此可定义证据链aq1和aq2间的相似度如下:

其中,c(aq1,aq2)表示将证据链aq1转换为证据链aq2的子链的最少操作次数,l(aq1)和l(aq2)分别表示证据链aq1和aq2的长度,即证据链aq1和aq2中包含的报警证据数。

优选的,构建初步入侵场景集合,包含如下内容:首先,将初步入侵场景集合置为空集;然后,针对报警证据链集中报警证据链,从初步入侵场景集合寻找一入侵场景,该一入侵场景为服务证据链集对应报警证据链与初步入侵场景集合各个入侵场景报警证据链相似度最大的入侵场景;判断该一入侵场景中各报警证据链与报警证据链集对应报警证据链相似度最大值是否大于聚合条件阈值,如果大于,则将该报警证据链集对应报警证据链加入该一入侵场景中;否则,创建新的入侵场景,将该报警证据链集对应报警证据链加入该新的入侵场景,并将该新的入侵场景加入初步入侵场景集合中,直至报警证据链集中每个报警证据链处理完毕。在证据链相似度的基础上,通过设计如下算法将报警证据链聚类,初步构建入侵场景:

算法2证据链聚类

输入:证据链集aqueue={aq1,aq2,…}

输出:初步构建的入侵场景ascenario={as1,as2,…}

step1将入侵场景ascenario置为空集;并令i=1。

step2对aqi∈aqueue,从ascenario中寻找asj,满足asj=argmaxsim′(aqi,asj)。

step3若sim′(aqi,asj)>η,将aqi加入场景asj。否则创建新的场景asnew,将aqi加入asnew,并将asnew加入ascenario中。

step4若aqueue中证据链处理完毕,则该步骤结束;否则,令i=i+1,算法转至step2。

step5输出场景集ascenario={as1,as2,…},算法结束。

该算法2中,函数sim′(aqi,asj)的返回值是证据链aqi与场景asj中各证据链相似度的最大值,即sim′(aqi,asj)=maxsim(aqi,aqj),aqj∈asj;参数η是判决证据链是否满足聚合条件的阈值,通常取η=0.6。

若对使得aoraob成立,则称攻击场景asi和asj之间具有衔接关系,记为asiorcoasj。衔接关系rc表明两个场景asi和asj具有时间上的先后关系和行为上的递进关系,因此可能是由同一攻击场景断裂而成的两个子场景。若as1、as2是由同一入侵场景as断裂而形成的两个子场景,则as1与as2满足以下两个条件:

a.as1,as2具有衔接关系,即as1orcoas2。

b.在与as1具有衔接关系的所有场景中,as2应当是与as1衔接最紧密的。

条件b基于以下假设:即多次连续的漏报是一个小概率事件。为衡量场景间衔接关系的紧密性,先给出攻击节点距离和报警证据距离的计算方法,在此基础上,定义场景间的距离,并进一步实现入侵场景的合并。

攻击节点ati和atj间的距离定义为从ati到atj经过的状态节点数,记为dat(ati,atj),当ati到atj不可达,则定义dat(at3,at4)=∞。

对报警证据a1和a2间的距离定义如下:当报警证据a1的目的地址dstip和a2的源地址srcip相同时,称其满足祖先关系ra,其距离等于相应攻击节点map(a1)和map(a2)间的距离;否则a1和a2间的距离为0,即:

入侵场景asi,asj的距离das(asi,asj)定义如下:当场景asi,asj满足衔接关系rc时,das(asi,asj)等于两场景中报警证据间的最小距离;否则,场景asi,asj的距离为0。即:

其中,ai∈as1,aj∈as2。入侵场景间的距离代表两个场景间可能缺失的报警证据数量,也反映了两个场景间的关联程度。

本发明再一个实施例中,入侵场景的合并拼接,包含如下内容:依据两个入侵场景时间上的先后关系和行为上的递进关系,判定两者是否为同一攻击场景断裂而成的两个子场景并获取两者衔接关系,依据衔接关系得到两个入侵场景的距离;将完全构建的最终输出入侵场景置为空集;针对初步入侵场景集合中一入侵场景,从初步入侵场景集合中选取另一个与该入侵场景距离最小的入侵场景,计算该一入侵场景与该另一个入侵场景两者中报警证据间的最小距离,将得到该最小距离的两个入侵场景中该两个报警证据分别记为报警证据a和a’;报警证据a和a’分别作为首尾节点,并依据属于同一入侵场景的各报警证据间的因果关系,补入相应报警证据构成报警证据链,利用该报警证据链建立新增入侵场景;将该新增入侵场景、该入侵场景和该另一个入侵场景进行合并,形成新的入侵场景,添加至初步入侵场景集合中,并剔除该入侵场景和该另一个入侵场景;直至初步入侵场景集合中任意两个入侵场景不再有衔接关系。更进一步,依据衔接关系得到两个入侵场景的距离,包含如下内容:依据报警证据的目的地址和另一个报警证据的源地址,获取两个报警证据对应攻击图上相应攻击节点的距离;依据该距离获取对应两个入侵场景的距离。在定义场景距离的基础上,根据场景间的距离,将衔接最紧密的场景进行合并,并补充相应的漏证据,实现入侵场景的完全构建,具体算法可设计如下:

算法3入侵场景合并

输入:算法2输出的初步的场景集ascenario={as1,as2,…}

输出:完全构建的场景集ascenario′={as1′,as2′,…}

step1对asi∈ascenario,从ascenario中寻找asj,使得asj=argmindas(asi,asj)。

step2计算das(as1,as2),确定满足das(asi,asj)=da(a,a′)的报警证据a和a′,其中,a∈asi,a′∈asj。

step3依据属于同一入侵场景的各报警证据间具有因果关系,补充证据{a1,a2,…},使得<a,a1,a2,l,a′>成为一条证据链,并记asadd={a1,a2,…}。

step4记asnew=asiuasjuasadd,将asnew加入ascenario中,替换asi,asj。

step5重复上述步骤,直到场景集ascenario中任意两场景asi,asj不再具有衔接关系,令ascenario′=ascenario,输出ascenario′,算法结束。

基于上述的方法,本发明实施例还提供一种基于报警聚合的网络取证装置,参见图2所示,包含:数据收集模块、证据链构建模块和场景恢复模块,其中,

数据收集模块,用于构建攻击图;并获取网络关键节点的入侵检测数据,将该入侵检测数据作为网络取证分析的报警证据集;

证据链构建模块,用于将报警证据集合中报警证据映射到攻击图中,并获取报警证据链;

场景恢复模块,用于对报警证据链进行聚类,构建网络入侵场景,恢复网络犯罪现场。

上述的装置中,场景恢复模块包含场景构建子模块和场景合并子模块,其中,

场景构建子模块,用于通过获取报警证据链间的相似度,并利用相似度获取相似的报警证据链进行聚类,构建初步入侵场景集合;

场景合并子模块,用于对初步入侵场景集合中的每两个入侵场景,依据两者衔接关系进行合并拼接,实现入侵场景的完全构建,恢复网络犯罪现场。

本发明中,参见图4所示,依据入侵检测系统产生的报警数据,通过提取有效报警证据,首先将报警映射到攻击图中,抽象出不同主机的行为;再依据攻击图从映射后的报警集中输出攻击行为证据链,反映网络中存在的入侵路径;进而对相似的证据链进行聚类,获得初步的入侵场景;最后通过分析子场景间的衔接关系,对漏报警进行必要的补充,补全入侵场景,重现犯罪场景;利用该方法得到的入侵过程证据链准确、完备,符合实际情况,有利于从宏观上了解入侵者的入侵动机和过程,提高了网络取证的效率,为网络取证提供了可靠的数据参考。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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