一种可动态扩展的高效单包溯源方法与流程

文档序号:12131753阅读:231来源:国知局
一种可动态扩展的高效单包溯源方法与流程

本发明涉及一种可动态扩展的高效单包溯源方法,属于IP溯源技术领域。



背景技术:

在众多网络安全问题中,“IP匿名”无疑是制约互联网发展的最严重安全隐患之一。其中,源地址伪造技术是一种主要的IP匿名方式,为了在互联网中进行正常的通信,报文发送方发送报文时,需在源地址字段填写分配给发送方的真实IP地址,这样报文的接收方才知道发送回复时的目的地址。出于某种特殊目的,报文的发送方将报文中携带的源地址修改为任意地址,这种行为称为伪造源地址。一系列臭名昭著的网络攻击(包括SYNFlooding、DNS amplification、SMURF、SourceRoutingspoofing等)都依赖该安全隐患来隐藏攻击位置、避开攻击过滤、窃取用户隐私和增强攻击危害。

反匿名方法按照动作发生时间可划分为以下3类:预防、缓解和响应,其中预防主要通过改良当前互联网无认证缺陷来彻底根除网络匿名活动,它的代表性技术主要包括源地址认证,通常更适合下一代可信网络的建设;缓解则利用当前网络己形成的源-目的约束(例如前缀与子网捆绑、路由对称性等),在中间转发节点上事先建立一套IP包过滤规则,尽可能多地阻止匿名包抵达受害者,代表性技术包括出口边界过滤(Egress Filtering)和域间路由过滤;然而,少量但不可忽视的非常规源-目的约束(例如子网内欺骗、非对称路由等)和源路由欺骗的存在使得缓解技术无法彻底根除匿名包,响应则作为一种补充手段,通过弥补当前互联网“无状态”的不足,使得受害者即使在遭到匿名攻击后也能揭露攻击主机身份,对其进行阻断,与之对应的技术称为IP溯源。

对于IP溯源技术,首先,唯一能够阻止攻击者再次犯罪的方法,就是将其抓住并使其接受法律制裁;其次,网络取证是反网络犯罪法成功建立的重要因素,而溯源正好为实现网络取证提供了所急需的指纹数据;另外,随着带宽消耗型攻击的流行,在靠近攻击源的位置阻断攻击流,能够很好地避免它们在受害者附近聚集;最后,溯源结果能够帮助互联网建立信誉等级,例如依据攻击主机数量评估所有自治域的信誉度,对于等级较低的自治域,其他自治域可以采用限速或限行的BGP路由策略,激励它们清理各自的管辖地区,确保整个网络的清洁。因此,对于受害者和网络服务提供商(Internet Service Provider,简称ISP)来说,能够准确地识别出攻击源具有重大战略意义。

对于“IP匿名”,虽然IP包头的源地址和源站选项字段是虚假的,但是它必会被攻击者到目标机之间的中间路由节点转发,因此整个传输路径是真实的。受此启发,IP溯源研究就是借助路由器处理IP包的契机来建立路径片段信息,以便在攻击发生后能够重构攻击路径。一直以来,国内外绝大部分溯源研究都针对高速匿名攻击,然而近来随着低速匿名攻击(例如LDoS,Ping-of-Death等)的兴起与泛滥,可同时兼顾高速和低速攻击向量的基于图着色理论的单包溯源开始渐受关注。为了能够利用单个攻击样本包进行追踪,使溯源系统具备识别多种攻击类型的能力,该技术基本解决思路是在已有物理网络上建立一个由溯源路由器(具备路径片段标记和记录功能的路由器)组成的逻辑网络(称为溯源网络),并采用2-距离点着色理论为溯源网络节点重新编址,以较短的溯源地址来取代冗长的IP地址。当IP包在溯源网络上传播的时候,转发节点采用边标记边记录的交叉方法来建立路径指纹,当攻击发生后ISP通过识别和收集中间节点的指纹信息就可重构出攻击路径。尽管已有一些研究分别在降低溯源处理开销、减小路径回溯时间以及增强可操作性等方面取得一定效果,但是它们的系统结构扁平化、颜色复用率过低、不支持节点动态加入以及路径指纹建立低效等特性依然给互联网安全管理平台带来新的挑战:1),已有溯源方法只能采用静态方式来配置溯源节点,节点之间无法实时交换信息,从而导致溯源网络无法动态扩展,一旦溯源系统启动后,如果有溯源路由器申请加入或者退出,那么只能关闭系统,重新部署溯源服务后再启动;2)颜色复用率越低意味着溯源地址长度越大,这会降低标记空间利用率,致使溯源路由器不得不频繁执行指纹记录操作;3)路径指纹建立低效意味着溯源路由器无法准确记录指纹痕迹,进而降低了溯源精度。



技术实现要素:

本发明的目的在于,提供一种可动态扩展的高效单包溯源方法,它可以有效解决现有技术中存在的问题,尤其是系统结构扁平化,溯源管理粒度较为单一,使得自治域之间必须无缝合作,这不仅与当前互联网多极化的管理模式冲突,而且还会造成网络拓扑隐私泄露,从而阻碍溯源系统规模扩展的问题。

为解决上述技术问题,本发明采用如下的技术方案:一种可动态扩展的高效单包溯源方法,包括以下步骤:在由transit域构成的域间网络中,利用所有的溯源Stub域(即具备溯源功能的stub域)构成反匿名联盟,所述的反匿名联盟通过在各个溯源Stub域的边界路由器上配置ACL过滤规则,使得所有即将流入域间网络的匿名包被清理;在各个溯源Stub域内通过构建溯源网络,并在所述的溯源网络内建立路径指纹;当攻击发生后,通过利用所述的反匿名联盟,网络服务提供商直接利用匿名包的源地址及入口路由器定位攻击域,然后再通过提取所述的路径指纹还原攻击路径。

本发明中采用中心服务器模式管理整个反匿名联盟,从而可以减少通信量,提高执行速度,保证系统的可扩充性。另外,当攻击发生后,由于反匿名联盟通过在各个溯源Stub域的边界路由器上配置了ACL过滤规则,使得所有即将流入域间网络的匿名包被清理,也就是说,匿名包会在出网时被边界路由器过滤掉,不能传递到其他自治域,因此可以认为,攻击者不能再使用IP匿名技术,先改变攻击包的源地址,再发动攻击;在这个前提下,所有攻击包的源地址以及通过分析攻击包中的源地址所属的网络前缀得到的攻击域都是真实可信的,能够被唯一识别的。

优选的,所述的在各个溯源Stub域的边界路由器上配置ACL过滤规则,使得所有即将流入域间网络的匿名包被清理,包括以下步骤:

a,利用自治域地址块与子网网络前缀的绑定关系,在成员域边界路由器的访问控制列表上配置相关的出口过滤规则;

b,边界路由器检查每一个即将流出本自治域的IP包,如果其源地址属于本自治域归属的网络前缀,则直接转发;反之,转到S33;

c,检查所述IP包的源地址,若IP包的源地址不属于本自治域归属的网络前缀,但目的地址不属于反匿名联盟成员域,则直接转发;反之,转到S34;

d,检查所述IP包的源地址,若IP包的源地址不属于本自治域归属的网络前缀,但目的地址属于反匿名联盟成员域,则执行包过滤。

通过利用以上方法步骤,从而可以高效清理域间匿名流,保证联盟内成员之间不会互相转发匿名包。

本发明中,所述的反匿名联盟为一种由过滤对等体构成的集合(即各个溯源Stub域之间均为过滤对等体);所述过滤对等体(ASi,ASj)即如果自治域ASi阻止流向自治域ASj的匿名包,当且仅当ASj也阻止流向ASi的匿名包,从而排除非联盟成员以搭便车的方式享受匿名包过滤的权利,进而提高自治域加入联盟的积极性。

本发明中,采用基于图着色理论的单包溯源技术来实现匿名包追踪,首先以底层路由网络为基础,通过着色方法对溯源节点(即具备溯源功能的路由器)重新编址以及交换邻居溯源节点信息来生成溯源虚拟网络,然后在该网络上提取和记录转发包的逻辑链路特征来建立路径指纹,以便在攻击发生后可及时收集和整理它们,还原攻击路径。

上述的可动态扩展的高效单包溯源方法中,所述的溯源网络通过以下方法进行建立:

首先,将OSPF协议的第11种备用的链路状态通告LSA重新定义为溯源LSA;

其次,各溯源路由器利用底层OSPF协议交换溯源LSA信息的契机,建立溯源网络;

最后,OSPF协议的LSA更新机制确保溯源路由器的动态加入和故障处理。

本发明中,通过定义一种新的LSA,即可在底层路由网络上建立域内溯源网络,为了不对现有网络设备和网络架构造成影响,本发明把以自治域为作用范围的第11种备用LSA重新定义为溯源LSA,各溯源路由器通过彼此传送该类LSA就可组成域内溯源网络,从而在降低网络建立开销的同时又可利用OSPF更新过程收敛快的特点实现溯源系统的动态扩展。

优选的,所述的在溯源网络内建立路径指纹包括以下步骤:当溯源路由器接收到IP包时,判断该IP包是否来自上游节点,如果是来自上游节点的IP包,但是在当前的溯源转发表中不包含该IP包的信息,则溯源路由器提取该IP包的标记域信息并添加到溯源转发表中,然后为其指定新的出标记和下游链路ID;如果是来自上游节点的IP包,并且在当前的溯源转发表中已经包含该IP包的信息,则溯源路由器为其指定新的出标记和下游链路ID;如果所述的IP包不是来自上游节点,则溯源路由器标记该IP包的出标签为标准出口标记1,并指定下游链路ID。

通过上述方法建立路径指纹,从而可以准确记录指纹痕迹,进而提高了溯源精度。

优选的,所述的当攻击发生后,通过利用所述的反匿名联盟,网络服务提供商直接利用匿名包的源地址及入口路由器定位攻击域,然后再通过提取所述的路径指纹还原攻击路径,包括以下步骤:

S1,联盟注册服务器动态维护反匿名联盟成员域的信息,管理和控制成员的加入或退出;

S2,规则管理器与联盟注册服务器进行通信,完成自身注册后,获取所有成员域的网络前缀信息及其自治域唯一识别号(AS Number,简称ASN);

S3,当遭到联盟成员域的攻击后,受害域的溯源管理器发起域内溯源请求,通过提取溯源网络上的路径指纹信息还原攻击包在本域的转发路径,进而确定出入口路由器的位置;

S4,判断所述的入口路由器是否为边界过滤路由器;如果不是,则该攻击属于域内攻击,通过提取所述的路径指纹进行攻击路径重构;否则该攻击属于域外攻击,溯源管理器向反匿名联盟管理器发起域间溯源请求;反匿名联盟管理器将攻击包的源地址与联盟成员的网络前缀逐一进行匹配;若匹配到攻击域并成功验证其自治域唯一识别号,则向所述的攻击域所属的溯源管理器发起请求,完成攻击域内的攻击路径重构;若未匹配到攻击域或者验证自治域唯一识别号失败,则表明攻击域未加入反匿名联盟,出现溯源断层,终止溯源任务。

通过利用以上方法,从而可以准确、快速的进行攻击路径重构,定位到攻击者。

进一步优选的,具体通过以下方法进行攻击路径重构,定位出攻击者:

d1,受害者识别攻击包并提取攻击包所携带的标记,生成取证请求[p.destination,p.label]并转发给受害域的溯源管理器;

d2,所述的溯源管理器收到请求后,通过将匿名包的目的地址p.destination与溯源网络拓扑结构相结合,确定p攻击受害者之前流过的最后一个溯源路由器,即出口路由器,将取证信息[p.destination,p.label]转发到该出口路由器;

d3,所述的出口路由器接收请求后,将取证信息中的p.destination与溯源转发表及扩展表相匹配,确定相应的上游链路,然后从扩展表的Labelout中找出与p.label相等的表项,提取出相应的[Labelin,LinkID],以此类推,若所获得的Labelin为标准标记1,则该攻击类型为域内攻击,此时已完成攻击路径重构,定位到攻击者;否则,转发所述的取证信息[Labelin,LinkID]至上游节点;

d4,若所述的上游节点不是该域的边界过滤路由器,则重复步骤d3,直至上游节点为该域的边界过滤路由器,则完成受害域内的路径指纹的提取,并提取出此时Labelin值,返回给溯源管理器;

d5,溯源管理器向反匿名联盟管理器发起载有[Labelin,样本包=p]的域间请求,由反匿名联盟管理器定位攻击域,并依据取证信息[Labelin,样本包=p],按照d1、d2、d3所述的原理,完成攻击域内的路径指纹提取,定位出攻击者。

通过利用本发明的上述方法,从而可以更快速的提取路径指纹重构出攻击路径,同时不会泄露网络拓扑隐私,提高了单包溯源的效率和准确率。

上述的可动态扩展的高效单包溯源方法中,通过利用轻量的Hash认证技术来验证自治域唯一识别号,具体包括以下步骤:

Step1,自治域ASi向反匿名联盟管理器注册时,提交网络前缀和自治域唯一识别号,反匿名联盟管理器向所述的自治域ASi随机指定一个Hash函数;每个准备流出自治域ASi的IP包都载有该域的ASN的Hash值,Hash=Hash(ASN);

Step2,当从自治域ASi流出的IP包p到达联盟内其他自治域的边界过滤路由器时,所述的边界过滤路由器根据路径指纹建立原理,将p载有的[Hash值,出标记]写入路由器的扩展的溯源转发表中,然后将新分配的[出标记,下游链路编号]写入到p中;

Step3,如果包p为攻击包,受害域遭受攻击后,受害域的溯源管理器发起域内溯源,提取攻击包的路径指纹,确定入口路由器为边界过滤路由器,即该攻击者不属于域内攻击后,边界过滤路由器将扩展的溯源转发表中的包p的[Hash值,出标记]返回给溯源管理器,溯源管理器向反匿名联盟管理器发起域间溯源请求;

Step4,反匿名联盟管理器收到请求后,提取包p的源地址,并将它逐一与联盟成员的网络前缀进行匹配,获得匹配成功的值ASN=ASi以及ASi对应的Hash函数,计算出hash’=Hash(ASN);

Step5,判断hash’与Hash是否相同,若是,则说明自治域ASi就是攻击域,进而向ASi的溯源管理器发起域内溯源请求;否则,该自治域ASi不属于联盟成员,溯源结束。

通过利用上述的轻量Hash认证技术来验证自治域唯一识别号,从而避免了在反匿名联盟尚未完全形成之前,非联盟成员伪装成成员域的前缀地址后,发起匿名攻击,使系统在识别攻击域时发生误判,进而造成溯源误报。

更优选的,溯源路由器采用基于边着色理论的溯源地址分配策略,为溯源网络中的链路进行编码,相对于现有的2-距离点着色方式,基于边着色的溯源地址分配可以将最小着色数降低为(n-1),从而防止了因编码过长而带来的存储开销较大的问题(溯源网络经过基于边着色的溯源地址分配后,形成无向图G,n为G中的最大节点度(节点度是指和该节点相关联的边的条数))的同时,使溯源地址仍然具备上下游识别功能,而且提高了标记空间的利用率。

进一步优选的,通过重载IP包头的Identification字段作为标记域,用于存放链路编码,从而在不影响互联网包分片操作的条件下完成指纹建立。发明人研究发现:随着TCP协议中最大分段大小(MaxitumSegment Size,简称MSS)的广泛应用,IP分片的使用率己经从原来的0.25%降低到0.06%,其中60%的分片包还都是攻击包;Identification字段的作用是产生数据包的标识,使得同一数据包的分片拥有相同的标识。考虑到路由的稳定性,即使本发明重载该字段,同一数据的分片包所载链路数据也相同,因此它依然满足字段条件,使得受害者能重装出绝大部分分片包。

更优选的,溯源路由器还为每条溯源路径独立分配具备唯一性的路径识别符——标记,并将所述的标记与链路编码一同写入标记域中,从而在同宿不同源的攻击网络中,可以在路径重构的过程中准确的判别链路归属,从而提高了溯源的精确度。

本发明中将标记域划分为两部分:前8位存放链路编码;后8位存放路径标记。因为发明人研究发现(如图5所示),绝大部分自治域的节点数量通常不会超过256,因此攻击网络的传播路径最多也只有28

前述的可动态扩展的高效单包溯源方法中,所述的溯源转发表为增量式的溯源转发表,具体通过以下方法建立:

首先,遍历路由最短路径树,并根据各个节点的类型建立溯源路径压缩树;

其次,若有新增溯源节点加入,则基于OSPF协议更新最短路径树,获取以该新增溯源节点作为根节点的溯源路由器集;并定位当前的溯源路径压缩树中距离该新增溯源节点最近的祖先节点;

再次,将所述的新增溯源节点插入当前的溯源路径压缩树中,并调用TPT-growth方法,迭代修改其孩子节点;

最后,根据更新后的溯源路径压缩树建立增量式的溯源转发表。

本发明通过构建增量式的溯源转发表,从而可以大大减少网络动态扩展而带来的计算开销。

与现有技术相比,本发明具有以下优点:

1、本发明在transit域构成的域间网络内通过建立反匿名联盟,来完成匿名包清理;在Stub域内,通过构建溯源网络,并在所述的溯源网络内建立路径指纹;当攻击发生后,通过利用所述的反匿名联盟,网络服务提供商直接利用匿名包的源地址及入口路由器定位攻击域,然后再通过提取所述的路径指纹还原攻击路径;即发明人以Transit-Stub互联网拓扑模型为基础,通过综合分析攻击路径上不同边界节点的表现特征,遵循功能性内聚和自主合作的原则,全面权衡溯源过程中域内与域间行为的相关性和特异性,提出了一种以域内溯源为核心、辅以域间匿名过滤的可隐藏域间网络拓扑的跨域单包溯源架构,通过分解溯源过程,弱化自治域之间耦合性,从而达到了分阶段管理、灵活控制的目的,而且也避免了网络拓扑隐私的泄露,有利于溯源系统规模的扩展;

2、本发明在域间网络中,通过基于对等关系的出口边界过滤策略来构建可激励部署的反匿名联盟,缓解匿名包的扩散,从而既能增强域间缓解系统的可扩展性,又能使攻击域追踪不再全部依赖于路径重构;

3、本发明在域内网络中,通过重定义OSPF协议的备用链路状态通告类型来构建溯源网络,在降低网络建立开销的同时又可利用OSPF更新过程收敛快的特点实现溯源系统的动态扩展;

4、本发明通过采用基于边着色理论的溯源地址分配策略,为所述链路进行编码,相对于现有的2-距离点着色方式,基于边着色的溯源地址分配可以将最小着色数降低为(n-1),防止了因编码过长而带来的存储开销较大问题的同时,使溯源地址仍然具备上下游识别功能,而且提高了标记空间的利用率,提高了存储效率;

5、利用匿名包样式虽然繁多,但是上下游链路却相对稳定的特点,本发明通过基于链路绑定的路径指纹建立策略使得存储开销只与攻击路径所含链路数有关,而与路由路径或转发包数量无关,从而大大节约了存储开销(不会因存储开销太大而造成指纹压缩或替换),可以准确记录指纹痕迹,进而提高了溯源精度;

6、本发明中反匿名联盟利用边界网关协议中自治域都被分配唯一识别号ASN的特点,通过引入轻量的Hash认证技术,避免了在反匿名联盟尚未完全形成之前,非联盟成员伪装成成员域的前缀地址后,发起匿名攻击,使系统在识别攻击域时发生误判,进而造成溯源误报。

附图说明

图1为本发明可隐藏域间网络拓扑的跨域单包溯源架构示意图;

图2为基于对等关系的出口边界过滤系统模型示意图;

图3为基于OSPF协议的域内溯源网络搭建示意图;

图4为边着色与2-距离点着色的转换关系示意图;

图5为自治域中节点数量分布情况示意图;

图6为本发明基于链路绑定的路径指纹建立和提取策略示意图;

图7为本发明的单包溯源方法流程图;

图8为路径指纹建立流程图;

图9为路径指纹提取流程图。

下面结合附图和具体实施方式对本发明作进一步的说明。

具体实施方式

本发明的实施例:一种可动态扩展的高效单包溯源方法,如图7所示,包括以下步骤:在由transit域构成的域间网络中,利用所有的溯源Stub域(即具备溯源功能的stub域)构成反匿名联盟,所述的反匿名联盟通过在各个溯源Stub域的边界路由器上配置ACL过滤规则,使得所有即将流入域间网络的匿名包被清理;在各个溯源Stub域内通过构建溯源网络,并在所述的溯源网络内建立路径指纹;当攻击发生后,通过利用所述的反匿名联盟,网络服务提供商直接利用匿名包的源地址及入口路由器定位攻击域,然后再通过提取所述的路径指纹还原攻击路径。

为了更高效的实现域间匿名流清理,所述的在各个溯源Stub域的边界路由器上配置ACL过滤规则,使得所有即将流入域间网络的匿名包被清理,包括以下步骤:

a,利用自治域地址块与子网网络前缀的绑定关系,在成员域边界路由器的访问控制列表上配置相关的出口过滤规则;

b,边界路由器检查每一个即将流出本自治域的IP包,如果其源地址属于本自治域归属的网络前缀,则直接转发;反之,转到S33;

c,检查所述IP包的源地址,若IP包的源地址不属于本自治域归属的网络前缀,但目的地址不属于反匿名联盟成员域,则直接转发;反之,转到S34;

d,检查所述IP包的源地址,若IP包的源地址不属于本自治域归属的网络前缀,但目的地址属于反匿名联盟成员域,则执行包过滤。

为了排除非联盟成员以搭便车的方式享受匿名包过滤的权利,进而提高自治域加入联盟的积极性,本发明中所述的反匿名联盟为一种由过滤对等体构成的集合;所述过滤对等体(ASi,ASj)即如果自治域ASi阻止流向自治域ASj的匿名包,当且仅当ASj也阻止流向ASi的匿名包。

为了降低网络建立开销的同时又可利用OSPF更新过程收敛快的特点实现溯源系统的动态扩展,所述的溯源网络通过以下方法进行建立:

首先,将OSPF协议的第11种备用的链路状态通告LSA重新定义为溯源LSA;

其次,各溯源路由器利用底层OSPF协议交换溯源LSA信息的契机,建立溯源网络;

最后,OSPF协议的LSA更新机制确保溯源路由器的动态加入和故障处理。

可选的,所述的在溯源网络内建立路径指纹包括以下步骤(如图8所示):当溯源路由器接收到IP包时,判断该IP包是否来自上游节点,如果是来自上游节点的IP包,但是在当前的溯源转发表中不包含该IP包的信息,则溯源路由器提取该IP包的标记域信息并添加到溯源转发表中,然后为其指定新的出标记和下游链路ID;如果是来自上游节点的IP包,并且在当前的溯源转发表中已经包含该IP包的信息,则溯源路由器为其指定新的出标记和下游链路ID;如果所述的IP包不是来自上游节点,则溯源路由器标记该IP包的出标签为标准出口标记1,并指定下游链路ID。

所述的当攻击发生后,通过利用所述的反匿名联盟,网络服务提供商直接利用匿名包的源地址及入口路由器定位攻击域,然后再通过提取所述的路径指纹还原攻击路径,包括以下步骤:

S1,联盟注册服务器动态维护反匿名联盟成员域的信息,管理和控制成员的加入或退出;

S2,规则管理器与联盟注册服务器进行通信,完成自身注册后,获取所有成员域的网络前缀信息及其自治域唯一识别号(AS Number,简称ASN);

S3,当遭到联盟成员域的攻击后,受害域的溯源管理器发起域内溯源请求,通过提取溯源网络上的路径指纹信息还原攻击包在本域的转发路径,进而确定出入口路由器的位置;

S4,判断所述的入口路由器是否为边界过滤路由器;如果不是,则该攻击属于域内攻击,通过提取所述的路径指纹进行攻击路径重构;否则该攻击属于域外攻击,溯源管理器向反匿名联盟管理器发起域间溯源请求;反匿名联盟管理器将攻击包的源地址与联盟成员的网络前缀逐一进行匹配;若匹配到攻击域并成功验证其自治域唯一识别号,则向所述的攻击域所属的溯源管理器发起请求,完成攻击域内的攻击路径重构;若未匹配到攻击域或者验证自治域唯一识别号失败,则表明攻击域未加入反匿名联盟,出现溯源断层,终止溯源任务。

可选的,本发明具体可通过以下方法进行攻击路径重构,定位出攻击者(如图9所示):

d1,受害者识别攻击包并提取攻击包所携带的标记,生成取证请求[p.destination,p.label]并转发给受害域的溯源管理器;

d2,所述的溯源管理器收到请求后,通过将匿名包的目的地址p.destination与溯源网络拓扑结构相结合,确定p攻击受害者之前流过的最后一个溯源路由器,即出口路由器,将取证信息[p.destination,p.label]转发到该出口路由器;

d3,所述的出口路由器接收请求后,将取证信息中的p.destination与溯源转发表及扩展表相匹配,确定相应的上游链路,然后从扩展表的Labelout中找出与p.label相等的表项,提取出相应的[Labelin,LinkID],以此类推,若所获得的Labelin为标准标记1,则该攻击类型为域内攻击,此时已完成攻击路径重构,定位到攻击者;否则,转发所述的取证信息[Labelin,LinkID]至上游节点;

d4,若所述的上游节点不是该域的边界过滤路由器,则重复步骤d3,直至上游节点为该域的边界过滤路由器,则完成受害域内的路径指纹的提取,并提取出此时Labelin值,返回给溯源管理器;

d5,溯源管理器向反匿名联盟管理器发起载有[Labelin,样本包=p]的域间请求,由反匿名联盟管理器定位攻击域,并依据取证信息[Labelin,样本包=p],按照d1、d2、d3所述的原理,完成攻击域内的路径指纹提取,定位出攻击者。

为了避免在反匿名联盟尚未完全形成之前,非联盟成员伪装成成员域的前缀地址后,发起匿名攻击,使系统在识别攻击域时发生误判,进而造成溯源误报,通过利用轻量的Hash认证技术来验证自治域唯一识别号,具体包括以下步骤:

Step1,自治域ASi向反匿名联盟管理器注册时,提交网络前缀和自治域唯一识别号,反匿名联盟管理器向所述的自治域ASi随机指定一个Hash函数;每个准备流出自治域ASi的IP包都载有该域的ASN的Hash值,Hash=Hash(ASN);

Step2,当从自治域ASi流出的IP包p到达联盟内其他自治域的边界过滤路由器时,所述的边界过滤路由器根据路径指纹建立原理,将p载有的[Hash值,出标记]写入路由器的扩展的溯源转发表中,然后将新分配的[出标记,下游链路编号]写入到p中;

Step3,如果包p为攻击包,受害域遭受攻击后,受害域的溯源管理器发起域内溯源,提取攻击包的路径指纹,确定入口路由器为边界过滤路由器,即该攻击者不属于域内攻击后,边界过滤路由器将扩展的溯源转发表中的包p的[Hash值,出标记]返回给溯源管理器,溯源管理器向反匿名联盟管理器发起域间溯源请求;

Step4,反匿名联盟管理器收到请求后,提取包p的源地址,并将它逐一与联盟成员的网络前缀进行匹配,获得匹配成功的值ASN=ASi以及ASi对应的Hash函数,计算出hash’=Hash(ASN);

Step5,判断hash’与Hash是否相同,若是,则说明自治域ASi就是攻击域,进而向ASi的溯源管理器发起域内溯源请求;否则,该自治域ASi不属于联盟成员,溯源结束。

为了防止因编码过长而带来的存储开销较大的问题,本发明中溯源路由器采用基于边着色理论的溯源地址分配策略,为溯源网络中的链路进行编码。

为了在不影响互联网包分片操作的条件下完成指纹建立,本发明中通过重载IP包头的Identification字段作为标记域,用于存放链路编码。

为了在同宿不同源的攻击网络中,可以在路径重构的过程中准确的判别链路归属,从而提高了溯源的精确度,本发明中的溯源路由器还为每条溯源路径独立分配具备唯一性的路径识别符——标记,并将所述的标记与链路编码一同写入标记域中。

本发明中,所述的溯源转发表为增量式的溯源转发表,具体通过以下方法建立:

首先,遍历路由最短路径树,并根据各个节点的类型建立溯源路径压缩树;

其次,若有新增溯源节点加入,则基于OSPF协议更新最短路径树,获取以该新增溯源节点作为根节点的溯源路由器集;并定位当前的溯源路径压缩树中距离该新增溯源节点最近的祖先节点;

再次,将所述的新增溯源节点插入当前的溯源路径压缩树中,并调用TPT-growth方法,迭代修改其孩子节点;

最后,根据更新后的溯源路径压缩树建立增量式的溯源转发表。

实验例:

本发明可隐藏域间网络拓扑的跨域单包溯源架构(即域间网络和域内网络相分离的层次化系统架构模型)如图1所示,其中域间网络基于对等关系建立反匿名联盟,如图1及图2所示,假设某溯源Stub域的网络前缀为AS1_prefix,为了阻止该域的匿名流进入域间网络,该域的边界路由器需要配置两条过滤规则:1)permit AS1_prefix any;2)deny any any,即允许前缀属于该Stub域的IP包流出;2)拒绝任何前缀不属于该Stub域的匿名包流出。这两条规则,路由器优先匹配第一条,若匹配失败,则执行第二条规则。目的是限制匿名流传播,净化网络)。从中不难发现:该技术无需中间自治域节点参与就能够净化域间网络,建立反匿名联盟,从而在不泄露网络拓扑隐私的前提下完成攻击域的快速定位。本发明所提出的跨域溯源架构中,如图1所示,它的溯源功能实体主要包括溯源路由器和过滤边界路由器,前者负责提取路径指纹和组建域内溯源网络,后者负责过滤匿名包和组建反匿名联盟。此外,该架构还包括两个管理功能实体:溯源管理器和反匿名联盟管理器。前者主要功能包括:1)接收和发起域内溯源任务;2)分配溯源地址;3)获取溯源网络与底层路由网络的映射关系;4)向过滤边界路由器下发过滤规则。后者主要功能包括;1)维护联盟成员网络前缀列表;2)接受和发起域间溯源任务。按攻击源位置不同,匿名攻击可源于受害域本身,也可源于其他Stub域。当攻击发生后,如图1所示,无论匿名包中的源地址是什么,受害者AS2首先向AS2的溯源管理器发起溯源请求,通过提取溯源网络上的路径指纹信息来还原该包在本域的转发路径,进而确定入口路由器位置,若入口路由器不是边界过滤路由器,就可认为该攻击属于域内攻击,溯源任务结束;反之,则是域外攻击,在此情形下,AS2的溯源管理器向反匿名联盟管理器发起域间溯源请求,由于域间匿名流已被清理(利用自治域网络前缀与子网的关系,在边界路由器的访问控制列表(Access Control List,简称ACL)上设置相关的过滤条件,及时有效地过滤出网匿名包),因此该反匿名联盟管理器通过分析攻击包中源地址所属的网络前缀就能够直接确定攻击域AS1,(进一步优化的,本发明所述的反匿名联盟利用边界网关协议中自治域都被分配唯一识别号ASN的特点,通过引入轻量的Hash认证技术,在攻击包流出AS1之前,就将AS1特有的Hash值Hash(AS1)写入到IP包用于标记上游链路标号的空间中,反匿名联盟管理器可以通过上文所述的分析攻击包网络前缀,并且验证相应的Hash值的方法,避免在反匿名联盟尚未完全形成之前,非联盟成员伪装成成员域的前缀地址后,发起匿名攻击,使系统在识别攻击域时发生误判,进而造成溯源误报)并向它的溯源管理器发送溯源请求。当AS1的溯源管理器接受请求后,立即开启域内溯源功能。在自治域加入到反匿名联盟之后,为了实现域内溯源功能,需要先完成以下步骤:首先,基于OSPF协议构建域内溯源网络,这是一种扩展性极强的网络,并且已经建立好了一个溯源转发表,示例结果见图3;其次,采用基于边着色理论的溯源地址分配策略,为链路进行编码,示例编码结果见图4(b)(图4(a)为基于2-距离点着色的溯源地址分配示意图(其溯源网络拓扑源于图3))。最后,采用基于链路绑定的路径指纹建立和提取策略,并且引入多协议标记交换网络的标记分发原理,利用重载IP包头的Identification字段来存放链路编码和链路标记,Identification字段中存放的这两个链路特征将作为路径指纹的主要信息。

所述的路径指纹建立和提取过程具体如下:

图6的溯源网络拓扑图源于图3,假设攻击者有两个,一个来自域外,一个来自域内,分别位于网络N1和N11,与溯源路由器R1和R7相连;受害者位于N9,与溯源路由器R12相连。这就意味着AS2的溯源管理器需要重构出一条源自域外攻击者N1的完整路径和一条源自域内攻击者N11的片段路径。假设网络中只有攻击者和受害者之间会发送数据,因此攻击链路包括{R1→R4,R4→R10,R7→R10,R10→R12}。

【域内路径指纹建立】当IP包p到达入口溯源路由器R7,首先根据目的网络地址,通过查找扩展的溯源转发表,确定下一跳溯源路由器R10以及邻居链路编号LinkID=0,然后分配标准标记Label=1给p,同时将它与链路R7→R10绑定,具体方法如下,如图8所示:当p到达R7后,R7把信息[Label=1,LinkID=0]写到p的标记域中,并将p转发到R10;当R10收到p后,R10从p中提取标记信息[1,0],并将它添加到溯源转发表并指派新的标记给链路R10→R12,至此完成绑定操作。由于下游链路R10→R12同时被两条同宿但不同源的攻击路径所共享,因此R10首先依据p携带的标记信息识别出它的来源,然后分配不同的标记给它们,并将其添加到溯源转发表。例如,如果p.LinkID=2,那就说明p源于R1,R10分配Label=2;如果p.LinkID=0,那就说明p源于R7,R10分配Label=3。最后,将这些标记分别与链路R10→R12绑定。为了叙述方便,R10将标记label=3称为出标记Labelout,而R12将标记label=3称为入标记Labelin。需要说明的是:为了灵活和安全地管理标记资源,R10可采用基于资源池的标记分发策略,即以随机选取方式来分发标记,避免标记值被恶意用户所预测。此外,考虑到攻击者可能通过伪造标记域信息来欺骗入口路由器,进而破坏追踪,R7只需判断到达包所携带的链路编号是否与它的邻居链路编号相符合,如果不符合,就可判定R7是入口路由器。当p到达溯源路由器R12,通过查找溯源转发表可知下一跳是直接交付,因此只需依据p携带的标记信息识别出它的来源,然后分配不同的标记给它们并写入到p中即可。当p到达出口路由器R12后,路径指纹信息就已经建立完毕。之后,再有IP包在路径上传输,就只需执行标记操作,不需再次扩展溯源转发表。

值得注意的是:如果出口路由器是过滤边界路由器(即当前自治域是攻击域),那么从该域流入域间网络的数据包也只携带标记信息就可正常溯源,不需携带链路地址编号。如果p第一个到达的路由器是边界过滤路由器R1,而不是R7,除了提取p中标记信息[Label=5]并将其添加到溯源转发表之外,其他操作(包括标记分发和链路绑定)都与普通中间路由器相同,具体原因如下:虽然R1是p在受害域中传播时的入口,但是从整条攻击路径来看,它处于中间位置,因此根据链路绑定原理(上文以中间节点R10为例的描述),p应该除了携带由攻击域边界路由器写入的标记信息,还需载有从攻击域到受害域之间虚拟链路的编号。然而,鉴于域间网络已被净化,仅需分析p中源地址网络前缀即可识别攻击域,也就无需在p中携带该链路编号,即能实现p与虚拟链路的绑定。基于此,攻击域的边界路由器只需在p中写入出标记,而受害域的边界路由器也仅需记录该标记就完成链路绑定。这也就意味着R7溯源链路扩展表的上游链路编号ID列目前处于空闲状态,没有值写入,因此这个存储位置可用于写入上文所述的每个自治域独有的Hash值Hash(ASN)。

【域内路径指纹提取】当Stub域的溯源管理器接收到携带匿名样本包p的溯源请求后,需立即确定匿名包p在受害域内的出口路由器。具体方法是:如果溯源请求来自域外,通过将匿名包的目的地址与溯源网络拓扑结构相结合,就能确定p从哪个边界过滤路由器流出,即出口路由器;如果来自域内,采用相同方法,就能确定离受害者最近的溯源路由器,即出口路由器。一旦确定出口路由器后,上述两种情景下溯源过程完全相同,因此本实验例只拿第二种情况举例。假设溯源管理器通过分析发现,p在本域内的出口路由器是R12。之后,就直接将取证请求[p.destination,Label]发送给R12,R12接收到请求后,首先从溯源转发表查找出包含P.destination的目的网络地址,如果有多项,就从匹配结果中选择具有最长网络前缀的路由(网络前缀越长,掩码越长,根据路由掩码最长匹配原则,IP网络中当路由表中有多条结果可以匹配目的ip时,一般就采用掩码最长的一条作为匹配项并确定下一跳),然后,从扩展表的Labelout中找出与P.label相等的表项,提取出[Labelin=2,LinkID=3],然后,依据LinkID=3识别出上游链路R10→R12,并发出新的取证请求[p.destination,Labelin=2]给上游路由器R10。当上游路由器R10收到请求后,,立即提取出绑定信息[Labelin=1,LinkID=0],因包含标准标记1,既可识别出链路R10→R7,又可判定R1是入口路由器,由此结束溯源过程。若当前取证的溯源路由器已然是域边界,提取出[Labelin=5],并将其返回给溯源管理器。溯源管理器随即向反匿名联盟管理器发起载有[Labelin=5,样本包=p]的域间请求。

基于OSPF协议的虚拟转发关系表构建方式如下:

为了提取溯源网络的链路特征,溯源路由器需要建立一个溯源转发表,该表虽以底层网络节点的最短路径树为基础,却用来描述IP包在溯源网络上的虚拟转发关系。在OSPF网络中,邻接路由器通过频繁交换彼此链路状态(其实就是路由器接口描述信息,例如接口IP地址、子网掩码、网络类型、cost值等)来建立一个彼此同步的链路状态数据库,进而描绘出全网的拓扑结构图,再使用Dijkstra最短路径算法生成最短路径树,进而构造出路由转发表。它的主要特征就是使用了分布式的链路状态通告机制(Link Status Advertisement,简称LSA),同时根据路由器接口所连接物理网络的不同定义了多种LSA通告类型。例如:网络汇总LSA是由区域边界路由器(Area Border Router,简称ABR)生成,传播给其他某些区域,用途是通告另外一个区域的路由前缀。在整个传播过程中,只有区域ABR才会接收该LSA,非ABR只负责将该LSA转发和扩散出去。ABR通过收集LSA中携带着通告路由器的ID(通常是loopback接口地址)就能够获知网络中其他所有ABR的ID。此外,除了网络汇总LSA,ABR因其接口类型多样还会接受路由器LSA和网路LSA,进而能够构造出面向全网路由的最短路径树。基于此,任一ABR只需将其他ABR映射到该树中,即可获知与它相邻接的ABR,抽象出溯源转发表。以图4给出的溯源转发表为例,假设以N11为目的地的IP包p到达了溯源路由器R4。在底层路由网络上,根据最短路径树,p必定先后经过物理链路R4→R5和R5→R7,而在溯源网络上这两条链路会被压缩为一条虚拟链路R4--〉R7,因此R4只需提取该条链路的特征即可。

可动态扩展的域内溯源网络建立方式如下:

本发明利用底层路由网络采用开放式最短路径优先协议(Open Shortest Path First,简称OSPF)的特点,通过扩展该协议的链路状态通告机制(Link Status Advertisement,简称LSA).来构建溯源网络。

首先,在OSPF网络中,邻接路由器通过频繁交换彼此链路状态(即路由器接口描述信息,例如接口IP地址、子网掩码、网络类型、cost值等)建立一个彼此同步的链路状态数据库,进而描绘出全网的拓扑结构图;再使用Dijkstra最短路径算法生成最短路径树,进而构造出路由转发表。它的主要特征是使用了分布式的链路状态通告机制,同时根据路由器接口所连接物理网络的不同定义了多种LSA通告类型,例如:网络汇总LSA是由区域边界路由器(Area Border Router,简称ABR)生成,传播给其他某些区域,用途是通告另外一个区域的路由前缀。在整个传播过程中,只有区域ABR才会接收该LSA,非ABR只负责将该LSA转发和扩散出去。ABR通过收集LSA中携带着通告路由器的ID(通常是loopback接口地址)就能够获知网络中其他所有ABR的ID。此外,除了网络汇总LSA,ABR因其接口类型多样还会接受路由器LSA和网路LSA,进而能够构造出面向全网路由的最短路径树。基于此,任一ABR只需将其他ABR映射到该树中,即可获知与它相邻接的ABR,抽象出由ABR构成的逻辑网络,进而建立溯源转发表。为了实现溯源网络的动态扩展,OSPF还规定若干触发LSA更新的情形。例如:(1)路由器初始化更新。当有路由器新加入网络,它立刻会产生一个初始化LSA,将该消息扩散出去;(2)故障更新。当某路由器因故障而宕机,检测到变化的路由器即可发送触发式更新LSA,保证拓扑的准确性。受此启发,本发明只需定义一种新的LSA,就可在底层路由网络上建立域内溯源网络。目前,LSA类型共有11种,其中前8种是常用类型,后3种是不透明LSA,属于备用类型。在不对现有网络设备和网络架构造成影响的前提下,本发明把以自治域为作用范围的第11种备用LSA重新定义为溯源LSA。各溯源路由器通过彼此传送该类LSA就可组成域内溯源网络。以图3为例,底层物理拓扑源于RFC2328OSPF版本2,而{R1,R3,R4,R7,R10,R12}己升级为溯源路由器,利用溯源LSA,它们可获取邻接节点,进而构建溯源网路。即使有新增节点加入或部分节点因故障而退出,OSPF协议的LSA更新机制也能够保证溯源网络系统能够及时感知其节点动态性,从而增强网络的可扩展性。

溯源路径压缩树的建立及更新原理:

以图3给出的溯源转发表为例,假设以N11为目的地的IP包p到达了溯源路由器R4,在底层路由网络上,根据最短路径树,p必定先后经过物理链路R4→R5和R5→R7,其中,如图3所示,R5为普通路由器。建立溯源路径压缩树时,对最短路径树进行压缩,只保留溯源节点和网络节点,这样,这两条链路会被压缩为一条虚拟链路R4┄>R7;

若有(未被溯源路由器集包含的)新增溯源节点(假设R7)加入,如图3所示,则首先,基于OSPF协议更新最短路径树,结果如图3右下角所示;其次,获取以该新增溯源节点作为根节点的溯源路由器集(当新增溯源节点R7加入时,该溯源网络会立刻产生一个初始化LSA,并将该消息扩散出去,收到通告的ABR通过收集LSA中携带的通告路由器的ID(通常是loopback接口地址)就能够获知网络中的新增节点,并更新溯源路由器集);再次,在更新后的最短路径树上找到离R7最近的溯源祖先节点R4(OSPF协议中,当节点发生变化(加入或退出)时,会自动更新最短路径树);最后,在当前的溯源路径压缩树中,将R7插入到R4节点下,作为R4的子节点,并调用TPT-growth方法,压缩以R7为根节点的最短路径树。

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