基于追踪痕迹重要性评估的单包溯源方法与流程

文档序号:15579793发布日期:2018-10-02 17:40阅读:326来源:国知局

本发明涉及一种基于追踪痕迹重要性评估的单包溯源方法,属于IP网络的匿名包追踪技术领域。



背景技术:

拒绝服务(Denial-of-Service,简称DoS)攻击在互联网兴起之初就已经产生,并且在短短几年内就迅速成为阻碍互联网发展的最主要安全威胁。近几年,随着黑客技术不断升级,DoS攻击正在经历一场变革。2013年,全球顶级的网络安全和管理解决方案提供商Radware在报告中指出DoS攻击正在逐渐演化为一种高级持续性渗透攻击,而引起这种变化的最根本原因是“混合拒绝服务攻击(即MDos)”的出现。与传统DoS攻击不同,MDoS属于智能型攻击,其“智能”主要体现在:为了弥补传统攻击的手段单一、命中率低等不足,MDoS在正式攻击之前通常会发起试探性偷袭,寻找受害者的软肋。鉴于任何组织都无法保证自己绝对安全,入侵者总能探查出一些事先未被察觉的安全漏洞,利用多种已成熟的攻击工具通过构建多重极具针对性的攻击向量(包括LDoS,BDoS等)来发起进攻,使得攻击目标延伸到与受害主机相连的任一容易产生瓶颈效应的实体(甚至包括负载均衡器和边界路由器),从而极大地提升成功率。仅在2014年,黑客组织就利用该类攻击成功地攻破数十个国家级金融中心和政府部门,直接损失高达数百亿美元。进入2015年后,由于国际安全形势进一步复杂化,国家之间暗潮汹涌的网电空间战再次升级。中国、美国、日本、韩国、朝鲜、北约、俄罗斯都先后声称遭到国外敌对势力的网络攻击,而MDoS攻击作为网络对抗的重要手段,其发生频率、规模和危害性都有不同程度上升。因此,如何抵御MDoS攻击将成为国防安全保障中一个亟待解决的问题。

既然无法完全预防MDoS攻击,那么采取基于溯源和阻断的事中防御来及时减轻其危害就显得非常重要。在网络攻击发生后,它的防御过程通常包括3个阶段:威胁预警、攻击定位和恶意流过滤,分别对应威胁检测、溯源和阻断技术。其中,溯源技术的产生原因是由于入侵者为了绕过系统防御和躲避追责,通常会利用互联网“无认证”和“无状态”的特点,通过在网络攻击中伪造IP包的源地址(即IP匿名)来隐藏身份;然而互联网为了提高可扩展性,都使用无状态方法来处理数据包,致使受害者在路由设备上无法采集到任何攻击痕迹,更不必说追踪回溯。基于此,单包溯源问题的基本解决思路就是如何在具备溯源功能的路由器(简称溯源路由器)上记录IP包的转发状态,然后通过收集相关信息还原整条攻击路径。

目前,国内外绝大部分溯源研究只针对传统的高速匿名攻击,而对较新型的兼顾高速和低速攻击向量、可抵抗MDoS的单包溯源研究较少。尽管已有一些研究分别在降低存储开销、支持可增量部署以及增强可操作性等方面取得一定效果,但是仍然存在一些不足:

1)它们大都采用包记录技术来建立追踪痕迹,致使溯源路由器的存储开销与它的IP包转发量成正比,也就是说,随着运行时间的推移,路由器存储开销将呈线性增长。例如,就华为生产的型号为NE 5000E的核心路由器来说,在1秒内追踪痕迹的记录数就可达1600M。虽然研究者已经利用一些空间使用率较高的压缩工具(例如:布鲁姆过滤器)或包标记技术来存储追踪痕迹,进而降低溯源存储开销,但是这些技术也只是减少了追踪痕迹的单位存储容量,并没有改变存储与包转发量的正比关系,因此溯源存储问题依然严峻。

2)它们通常使用集中方式来管理追踪痕迹,致使溯源路由器只能串行处理到达的数据包。很明显,增加额外操作必然会严重降低路由器的包处理速率,从而引发较大的网络时延。例如,路由器通常只需执行IP包解封和封装操作,但是溯源路由器除了二者,还需执行包记录和包标记等操作,在NE5000E路由器中,IP包的平均处理时间大约为0.06ns,当它升级为溯源路由器后,IP包处理时间必将远超过0.06ns,导致网络传输性能下降。

3)它们没有区分同一溯源路由器上不同追踪痕迹的重要程度,试图通过无差别管理方式来对待所有的追踪痕迹,造成路由器上本就数量有限的存储资源,其中绝大部分可能被分配给了用来建立正常路径的追踪痕迹,而面向攻击路径的追踪痕迹却只能因资源不足出现彼此覆盖的情况,进而破坏了追踪痕迹的唯一标识性,降低了溯源精度。例如,溯源路由器在记录攻击痕迹之前,往往在很长一段时间内都忙于正常痕迹的建立,由此会耗费大量的存储资源,造成低效的资源利用效率。



技术实现要素:

本发明的目的在于,提供一种基于追踪痕迹重要性评估的单包溯源方法,它可以有效解决现有技术中存在的问题,尤其是未区分同一溯源路由器上不同追踪痕迹的重要程度,通过无差别管理方式来对待所有的追踪痕迹,造成路由器上本就数量有限的存储资源,其中绝大部分可能被分配给了用来建立正常路径的追踪痕迹,而面向攻击路径的追踪痕迹却只能因资源不足出现彼此覆盖的情况,进而破坏了追踪痕迹的唯一标识性,降低了溯源精度的问题。

为解决上述技术问题,本发明采用如下的技术方案:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

步骤S2中,所述的IP包追踪痕迹最初都存储于GHOST中。

优选的,步骤S2中,所述的重要程度移动平均预测值S通过以下公式获得:

其中,Sn(I)为数据包I的重要程度移动平均预测值,Pn(I)为数据包I的重要程度值,n为当前时间,t为计算Sn(I)的时间窗(即移动平均数周期);γ是为了降低Sn(I)的惩罚系数,属于经验值;

上式中的Pn(I)通过以下公式获得:

Pn(I)=F·m+R·(tc-tp)

其中,F为追踪痕迹出现频率的权重,根据数据包I的追踪痕迹在单位时间内出现的次数统计得出;R为数据包I的近因权重(为了有效计算,可以设F+R=n;如果看中频率因素,则可以将F设置的稍大一些,比如0.8n,此时R为0.2n;如果看中近因权重,则可以将R设置的稍大些,比如0.8n,此时F为0.2n),属于经验值;m为数据包I出现的次数;tc和tp分别为数据包I的最近一次到达时间和上一次到达时间。

更优选的,上述公式中,将所述的t值大小设为攻击时间的平均值;若t越大,溯源路由器的计算开销越小,但预测精度也越低;若t越小,则溯源路由器的计算开销越大,但预测精度也越高,因此,为了平衡二者,本发明中将t设置为攻击时间的平均值。

前述的基于追踪痕迹重要性评估的单包溯源方法中,步骤S2中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;通过借鉴多协议标签交换网络的交换路径生成原理,将转发包与路径标识符——标签进行逐一绑定,完成溯源路由器上下游之间的标签交换,进而建立了面向反向路由的追踪痕迹,使得溯源路由器的存储开销不再与IP包转发量相关(即溯源路由器的存储开销不再与它的IP包转发量成正比,且随着运行时间的推移,路由器存储开销不再呈线性增长),而只与经过它的路由路径数量有关,从而大大降低了溯源路由器的存储开销。

优选的,所述的溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签。

通过上述方法,从而可以进一步准确的实现溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP数据包的追踪痕迹,从而使得溯源路由器的存储开销不再与IP包转发量相关,而只与经过它的路由路径数量有关,大大降低了溯源路由器的存储开销。

前述方法的步骤S21中,所述的溯源路由器通过利用路由器ID和路由器IP地址的映射表,来判断IP包携带的上游路由器IP是否合法,从而可以避免攻击者通过伪造标记域信息来破坏追踪,提高了溯源精度。

优选的,采用12位路由器ID与路由器IP地址进行映射,从而可以利用设计更紧凑的路由器标识符来取代冗长的IP地址,大大提升了标记空间的利用率。

前述的基于追踪痕迹重要性评估的单包溯源方法中,步骤S23中,所述的溯源路由器对IP包进行标记时,将标签信息[上游路由器ID,出标签]写入到IP包的标记域中,具体的标记域编码方式包括:通过重载IP包头的Identification字段、保留位和分片偏移字段来设计标记域,根据IP协议,分片相关字段总共占据30位,其中,前12位用于存放路由器ID,剩余的18位用于存放标签,从而可以实现将IP包与标签进行唯一性绑定。

前述的基于追踪痕迹重要性评估的单包溯源方法中,采用基于资源池的标签分发策略进行标签分配,具体的,将标签与资源池绑定,如果溯源路由器需要建立新的追踪痕迹,则资源池随机选取一个标签分配给该路径,同时将该标签标记为忙状态,不再被发布;当标签资源短缺时,选择GHOST中S最小值对应的追踪痕迹进行删除,释放标签,同时资源池重新设置相应标签的状态信息,回收相关标签。本发明采用这种方式可以更灵活的分配标签,而且由于标签分配较为随机,因此标签值很难被攻击者猜中。

优选的,步骤S23还包括:将所述的追踪痕迹表根据IP包的目的地址划分为若干个子表,即每个子表都会与一个目的地址相关联,将属于该目的地址的追踪痕迹都存放到该子表中,从而可以使得不同的子表能够享用相同的出标签,大大提高了标签的利用率。

优选的,步骤S23中,采用基于内容寻址的相联存储器来实现追踪痕迹表,追踪痕迹的查找步骤具体包括:若携带标签信息[上游路由器ID,出标签]的IP包x到达溯源路由器,溯源路由器首先将标签信息写入到比较数寄存器,并将屏蔽寄存器的相关字段设置为1;然后再与存储器中所有行的[上游路由器ID,入标签]进行比较,若有内容相同的行,则将其相应的[出标签]取出,将结果寄存器的相关位设置为1,同时给出标签寄存器赋值,由于相联存储器的比较操作是并行进行的,也就是说比较数寄存器的关键字段与存储器的所有行的相应字段同时进行比较,因此,表查询消耗的时间大大减少,减少为各行最大比较时间,即为o(1)。

前述的基于追踪痕迹重要性评估的单包溯源方法中,所述的溯源路由器采用不规则流水线方式对IP包进行处理,从而可以大大提高溯源路由器的包处理效率,提高了包转发速度和网络传输性能。

前述的基于追踪痕迹重要性评估的单包溯源方法中,步骤S3中所述的发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径具体包括以下步骤:

S31,发生网络攻击后,受害者识别IP匿名包,然后将所述的IP匿名包以溯源请求的形式发送给溯源管理器;

S32,溯源管理器接收请求后,从该IP匿名包中提取标记信息[上游路由器ID,出标签],识别出离受害者最近的溯源路由器;然后将[出标签,受害者IP]以取证请求的形式发送给离受害者最近的溯源路由器;

S33,离受害者最近的溯源路由器接收到请求后,利用IP匿名包的目的地址选定与该受害者IP相关联的子表,然后将该出标签与所有表项的出标签进行匹配,并将符合表项返回;

S34,利用路由器ID和路由器IP地址的映射表将所述表项的上游路由器ID转换为路由器IP,从而确定上游路由器;然后将[上游路由器,符合表项的入标签]以溯源回复的形式发送给溯源管理器,由此发起新一轮溯源请求;若溯源回复的符合表项的入标签是标准出标签SOL,则上游路由器就是路径入口,溯源过程结束。

采用上述方法后,从而进一步准确实现了利用MPLS网络标签交换技术进行溯源,提高了溯源精度。

上述方法中,通过采用着色理论获得路由器ID;每隔一段时间为邻居路由器重新着色,通过及时变换标识符(即路由器ID)的方式避免被欺骗(可防止攻击者通过中间人等技术手段来骗取R1的邻居标识符)。另外,通常来说,所述的间隔时间设置越长,意味着通信开销会越大,反之亦然,因此,操作者可根据当前网络的性能变化来设定该间隔时间。

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

1、本发明通过将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;也即本发明将溯源路由器的存储空间分为ghost和real,然后根据追踪痕迹的重要性,决定把追踪痕迹存在哪里,若为攻击痕迹则存于real中,若为正常痕迹则存于ghost中,这样当溯源路由器内存不足时,覆盖的时候不会覆盖攻击痕迹,从而提高了溯源精度。

2、本发明通过观察网络攻击发生前后标签发布量的变化(在计算重要程度移动平均预测值时,统计IP包中标签的出现频率,根据统计结果,获取平均值;因为攻击发生前后,统计结果会有不同,依据结果获取的重要程度移动平均预测值也会不同,如果预测值超过阈值,则可判定该标签所对应的路径就是攻击路径),使用轻量级的移动平均线理论来预测路径类型,进一步采用延时和及时两种方式来管理攻击痕迹和正常痕迹(其中,延时就是指当标签被存储到Real,只能等到它降到Ghost,才能被替换;及时就是指如果标签属于Ghost,就可以被直接替换;因为使用平均移动理论来预测,因此通常将攻击标签放到Real,而正常标签放到Ghost,这样正常标签更容易被替换和重用,而攻击标签存活时间较长),从而提高了存储利用率的同时降低了因资源不足造成的溯源精度问题;

3、本发明采用基于资源池管理模型的标签发布策略来实现数据转发包与标签的绑定,从而可以更快、更灵活地分配标签;而且由于标签分配较为随机,因此标签值很难被攻击者猜中。

4、本发明摒弃了传统的包记录技术,采用MPLS网络中标签交换路径的建立原则建立IP数据包的追踪痕迹,也就是说,本发明借鉴多协议标签交换网络的交换路径生成原理,通过将转发包与路径标识符——标签进行逐一绑定,完成溯源路由器上下游之间的标签交换,进而建立了面向反向路由的追踪痕迹,使得溯源路由器的存储开销不再与IP包转发量相关(即溯源路由器的存储开销不再与它的IP包转发量成正比,且随着运行时间的推移,路由器存储开销不再呈线性增长),而只与经过它的路由路径数量有关,从而大大降低了溯源路由器的存储开销。据大量数据统计表明,采用本发明的方法后,溯源路由器的存储开销可至少降低25%以上;

5、本发明通过采用MPLS网络中标签交换路径的建立原则建立IP数据包的追踪痕迹,因而可以将拥有相同路由路径的数据包集合定义为溯源等价类(即TEC),并把它作为溯源路由器中的最小处理单位,使得溯源存储只与TEC有关,而与IP包没有关系,从而大大减少了存储开销;

6、本发明中所述的溯源路由器通过利用路由器ID和路由器IP地址的映射表,来判断IP包携带的上游路由器IP是否合法,从而可以避免攻击者通过伪造标记域信息来破坏追踪,提高了溯源精度;

7、本发明采用12位路由器ID(经验证,12位路由器ID就足以唯一标识它的所有邻居)与路由器IP地址进行映射,从而可以利用设计更紧凑的路由器标识符来取代冗长的IP地址,大大提升了标记空间的利用率;若采用大于12位的路由器ID与路由器IP地址进行映射,则会使得标记域中存放标签的位数减少,导致溯源路由器能够支配的标签可能不足;若采用小于12位的路由器ID与路由器IP地址进行映射,则可能会导致路由器ID不能唯一标识它的所有邻居,从而降低了溯源精度;

8、本发明将所述的追踪痕迹表根据IP包的目的地址划分为若干个子表(即采用两级追踪痕迹表),即每个子表都会与一个目的地址相关联,将属于该目的地址的追踪痕迹都存放到该子表中,从而可以使得不同的子表能够享用相同的出标签,大大提高了标签的利用率;

9、本发明采用基于内容寻址的相联存储器来实现追踪痕迹表,由于相联存储器的比较操作是并行进行的,也就是说比较数寄存器的关键字段与存储器的所有行的相应字段同时进行比较,因此,表查询消耗的时间大大减少,减少为各行最大比较时间,即为o(1);

10、本发明中所述的溯源路由器采用不规则流水线方式对IP包进行处理,从而可以大大提高溯源路由器的包处理效率,提高包转发速度。具体的说,由于溯源路由器每处理一个IP包都需按顺序执行IP包解封、追踪痕迹表查询和IP包封装等操作,而且并不是每个动作都需要所有硬件参与执行,因此,发明研究表明,如果调度恰当,让各个部分紧张工作,即可把多条追踪痕迹建立在时间上重叠起来,完全可以提高各个部件的工作效率和运行速度。假设(如图4所示)溯源路由器处理IP包的周期T=5t,其中IP包解封和封装各需时间t,而追踪痕迹表查询所需时间为3t。如果串行处理4个IP包,那么处理时间为20t;如果流水线处理,那么处理时间降低为12t。根据流水线原理,与串行相比,该技术能够将溯源路由器完成n个连续任务的时间可降低为[∑ti+(n-1)t2]/n∑ti;

11、本发明在追踪痕迹建立的过程中,除了记录操作,溯源路由器还同时执行标记操作,用于将标签信息[路由器ID,标签]写入到标记域中。发明人经过研究后发现:随着TCP协议中最大分段大小(Maxitum Segment Size,简称MSS)的广泛应用,在当前互联网中IP分片的使用率已经从原来的0.25%降低到0.06%,其中60%的分片包还都是攻击包。因此,IP分片技术已处于淘汰边缘,分片相关字段也就变得无关紧要,进而可做他用。因此本发明通过重载IP包头的Identification字段、保留位和分片偏移字段来设计标记域,既实现了将IP包与标签进行唯一性绑定,而且还对现有网络协议的改动非常小;

12、本发明中通过采用着色理论获得路由器ID;每隔一段时间为邻居路由器重新着色,通过及时变换标识符(即路由器ID)的方式避免被欺骗,从而可以使得获得路由器ID的长度较短,提高了标记域的利用率。

附图说明

图1是本发明的一种实施例的方法流程图;

图2为本发明中建立追踪痕迹的方法流程图;

图3为本发明中重构攻击路径的方法流程图;

图4为本发明中基于不规则流水线的追踪痕迹建立机制举例示意图;

图5为标记域编码示意图;

图6为本发明实验例对应的示意图。

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

具体实施方式

本发明的实施例1:一种基于追踪痕迹重要性评估的单包溯源方法,如图1~图3所示,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;

所述的重要程度移动平均预测值S通过以下公式获得:

其中,Sn(I)为数据包I的重要程度移动平均预测值,Pn(I)为数据包I的重要程度值,n为当前时间,t为计算Sn(I)的时间窗(即移动平均数周期,t越大,溯源路由器的计算开销也就越小,但预测精度越低;t越小,溯源路由器的计算开销越大,但预测精度却越高;为了平衡二者,本发明中将t设置为攻击时间的平均值);γ是为了降低Sn(I)的惩罚系数,属于经验值;

上式中的Pn(I)通过以下公式获得:

Pn(I)=F·m+R·(tc-tp)

其中,F为追踪痕迹出现频率的权重,根据数据包I的追踪痕迹在单位时间内出现的次数统计得出;R为数据包I的近因权重(为了有效计算,可以设F+R=n;如果看中频率因素,则可以将F设置的稍大一些,比如0.8n,此时R为0.2n;如果看中近因权重,则可以将R设置的稍大些,比如0.8n,此时F为0.2n),属于经验值;m为数据包I出现的次数;tc和tp分别为数据包I的最近一次到达时间和上一次到达时间;

溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,利用路由器ID和路由器IP地址的映射表判断其携带的上游路由器ID是否合法;其中,采用12位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

其中,所述的溯源路由器采用不规则流水线方式对IP包进行处理;

以上方法还包括:将所述的追踪痕迹表根据IP包的目的地址划分为若干个子表,即每个子表都会与一个目的地址相关联,将属于该目的地址的追踪痕迹都存放到该子表中;

所述的溯源路由器对IP包进行标记时,将标签信息[上游路由器ID,出标签]写入到IP包的标记域中,具体的标记域编码方式包括(如图5所示):通过重载IP包头的Identification字段、保留位和分片偏移字段来设计标记域,根据IP协议,分片相关字段总共占据30位,其中,前12位用于存放路由器ID,剩余的18位用于存放标签;

采用基于资源池的标签分发策略进行标签分配,具体的,将标签与资源池绑定,如果溯源路由器需要建立新的追踪痕迹,则资源池随机选取一个标签分配给该路径,同时将该标签标记为忙状态,不再被发布;当标签资源短缺时,选择GHOST中S最小值对应的追踪痕迹进行删除,释放标签,同时资源池重新设置相应标签的状态信息,回收相关标签;

采用基于内容寻址的相联存储器来实现追踪痕迹表,追踪痕迹的查找步骤具体包括:若携带标签信息[上游路由器ID,出标签]的IP包x到达溯源路由器,溯源路由器首先将标签信息写入到比较数寄存器,并将屏蔽寄存器的相关字段设置为1;然后再与存储器中所有行的[上游路由器ID,入标签]进行比较,若有内容相同的行,则将其相应的[出标签]取出,将结果寄存器的相关位设置为1,同时给出标签寄存器赋值;

通过采用着色理论获得路由器ID;每隔一段时间为邻居路由器重新着色,通过及时变换标识符(即路由器ID)的方式避免被欺骗(具体实施时,可以给追踪痕迹表加一个时间戳,这样追踪痕迹表很明确的即可知道在这个时间段内,它的路由器ID是哪个);

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径;具体包括以下步骤:

S31,发生网络攻击后,受害者识别IP匿名包,然后将所述的IP匿名包以溯源请求的形式发送给溯源管理器;

S32,溯源管理器接收请求后,从该IP匿名包中提取标记信息[上游路由器ID,出标签],识别出离受害者最近的溯源路由器;然后将[出标签,受害者IP]以取证请求的形式发送给离受害者最近的溯源路由器;

S33,离受害者最近的溯源路由器接收到请求后,利用IP匿名包的目的地址选定与该受害者IP相关联的子表,然后将该出标签与所有表项的出标签进行匹配,并将符合表项返回;

S34,利用路由器ID和路由器IP地址的映射表将所述表项的上游路由器ID转换为路由器IP,从而确定上游路由器;然后将[上游路由器,符合表项的入标签]以溯源回复的形式发送给溯源管理器,由此发起新一轮溯源请求;若溯源回复的符合表项的入标签是标准出标签SOL,则上游路由器就是路径入口,溯源过程结束。

实施例2:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径;具体包括以下步骤:

S31,发生网络攻击后,受害者识别IP匿名包,然后将所述的IP匿名包以溯源请求的形式发送给溯源管理器;

S32,溯源管理器接收请求后,从该IP匿名包中提取标记信息[上游路由器ID,出标签],识别出离受害者最近的溯源路由器;然后将[出标签,受害者IP]以取证请求的形式发送给离受害者最近的溯源路由器;

S33,离受害者最近的溯源路由器接收到请求后,利用IP匿名包的目的地址选定与该受害者IP相关联的子表,然后将该出标签与所有表项的出标签进行匹配,并将符合表项返回;

S34,利用路由器ID和路由器IP地址的映射表将所述表项的上游路由器ID转换为路由器IP,从而确定上游路由器;然后将[上游路由器,符合表项的入标签]以溯源回复的形式发送给溯源管理器,由此发起新一轮溯源请求;若溯源回复的符合表项的入标签是标准出标签SOL,则上游路由器就是路径入口,溯源过程结束。

实施例3:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;所述的溯源路由器采用不规则流水线方式对IP包进行处理;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例4:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

其中,可以使用软件方式来实现追踪痕迹表(但是其查找速度肯定要大于o(1),最大可能需要o(n),其中n是表项的总数)。

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例5:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;其中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;其中,可采用8位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

其中,所述的溯源路由器对IP包进行标记时,将标签信息[上游路由器ID,出标签]写入到IP包的标记域中,具体的标记域编码可采用以下方式:通过重载IP包头的Identification字段、保留位、分片偏移字段和Option字段来设计标记域,根据IP协议,分片相关字段(即标记域)总共占据30位,其中,前12位用于存放路由器ID,剩余的18位用于存放标签,从而可以实现将IP包与标签进行唯一性绑定。

所述的路由器ID可采用其他启发式着色方法获得(但是这些方法产生的路由器ID长度会更长,从而使得标记域的利用率较低);

步骤S23还包括:将所述的追踪痕迹表根据IP包的目的地址划分为若干个子表,即每个子表都会与一个目的地址相关联,将属于该目的地址的追踪痕迹都存放到该子表中;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例6:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;其中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹,具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;其中,可采用16位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

采用基于资源池的标签分发策略进行标签分配,具体的,将标签与资源池绑定,如果溯源路由器需要建立新的追踪痕迹,则资源池随机选取一个标签分配给该路径,同时将该标签标记为忙状态,不再被发布;当标签资源短缺时,选择GHOST中S最小值对应的追踪痕迹进行删除,释放标签,同时资源池重新设置相应标签的状态信息,回收相关标签;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例7:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;其中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;其中,可采用10位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

所述的溯源路由器对IP包进行标记时,将标签信息[上游路由器ID,出标签]写入到IP包的标记域中,具体的标记域编码方式包括:通过重载IP包头的Identification字段、保留位和分片偏移字段来设计标记域,根据IP协议,分片相关字段总共占据30位,其中,前12位用于存放路由器ID,剩余的18位用于存放标签;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例8:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

其中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,通过利用路由器ID和路由器IP地址的映射表,来判断IP包携带的上游路由器IP是否合法;其中,采用12位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签。

实施例9:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;其中,溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;具体包括:

S21,对每个到达溯源路由器的IP包,判断其携带的上游路由器ID是否合法;其中,可采用14位路由器ID与路由器IP地址进行映射;

S22,若不合法,则说明该上游路由器即为该IP包的入口路由器,分配标准出标签SOL,并对该IP包标记新的路由器ID和标准出标签SOL,生成新的IP包,并将其转发至下游路由器;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表;

S23,若合法,则说明该上游路由器不是入口路由器,利用其目的地址获取溯源路由器的追踪痕迹表,并通过追踪痕迹表和IP包标签信息[上游路由器ID,出标签]判断相关的追踪痕迹是否已经建立;

若追踪痕迹已建立,则将追踪痕迹表中相应的出标签取出,并对IP包标记该出标签和新的路由器ID作为标签信息,生成新的IP包后,将其转发至下游路由器;

若追踪痕迹未建立,则分配新的出标签,并将追踪痕迹[入标签,出标签,Ri-1 ID]插入到追踪痕迹表中,生成新的追踪痕迹表,同时对IP包标记新的路由器ID和出标签作为标签信息,生成新的IP包后,将其转发至下游路由器,其中,所述的Ri-1表示路由器Ri的上游路由器;追踪痕迹中的入标签即为上游路由器对该IP包标记的出标签;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例10:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;溯源路由器根据MPLS网络中标签交换路径的建立原则建立IP包的追踪痕迹;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实施例11:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;其中,所述的重要程度移动平均预测值S通过以下公式获得:

其中,Sn(I)为数据包I的重要程度移动平均预测值,Pn(I)为数据包I的重要程度值,n为当前时间,t为计算Sn(I)的时间窗(可根据对溯源路由器的计算开销与预测精度的需求进行设置);γ是为了降低Sn(I)的惩罚系数,属于经验值;

上式中的Pn(I)通过以下公式获得:

Pn(I)=F·m+R·(tc-tp)

其中,F为追踪痕迹出现频率的权重,根据数据包I的追踪痕迹在单位时间内出现的次数统计得出;R为数据包I的近因权重(为了有效计算,可以设F+R=n;如果看中频率因素,则可以将F设置的稍大一些,比如0.8n,此时R为0.2n;如果看中近因权重,则可以将R设置的稍大些,比如0.8n,此时F为0.2n),属于经验值;m为数据包I出现的次数;tc和tp分别为数据包I的最近一次到达时间和上一次到达时间;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

也可以将上述的追踪痕迹重要性评估机制嵌入到基于包特征提取的单包溯源、基于包摘要的单包溯源和基于路由器标记的单包溯源,通过增加它们的存储资源利用率来提高溯源精度。但是,在具体实施时,这些方法需要做出一些修改,例如,由于这些方法都使用布鲁姆过滤器来压缩存储追踪痕迹,因此在加入重要性评估机制后,它们开辟两块基于布鲁姆过滤器的内存空间,一块称为Real,用来存放攻击痕迹,一块称为Ghost,用来存放正常痕迹。如果该IP包所对应追踪痕迹的重要程度移动平均预测值S大于阈值,则将该IP包的追踪痕迹记录到REAL中;若S小于阈值,则将它记录到GHOST中。与本发明不同的是,这些方法无需删除追踪痕迹,也就没有溯源漏报率,但是采用本发明的上述方法后,可以降低它们的溯源误报率。

实施例12:一种基于追踪痕迹重要性评估的单包溯源方法,包括以下步骤:

S1,将溯源路由器的存储空间划分为GHOST和REAL两类,其中,REAL中追踪痕迹的保存时间长于GHOST;

S2,当IP包在网络中传播时,溯源路由器建立IP包的追踪痕迹,同时计算该IP包所对应追踪痕迹的重要程度移动平均预测值S;若S大于阈值,则将该IP包的追踪痕迹从GHOST升至REAL;若S小于阈值,则将该IP包的追踪痕迹从REAL降至GHOST;当溯源路由器内存不足时,选择GHOST中S最小值对应的追踪痕迹进行删除;

S3,发生网络攻击后,受害者发出溯源请求,溯源管理器根据所述的追踪痕迹重构攻击路径。

实验例:

如图6所示,TEC0表示由攻击者A发向受害者V的数据包集合,攻击路径PA=(N,L)表示TEC0在网络上传播时所遵循的路由路径,其中N={R1,R2,R3},L={R1→R2,R2→R3};TEC1表示由正常用户H发向受害者V的数据包集合,正常路径PH=(N,L)则是它所对应的路由路径,其中N={R2,R3},L={R2→R3}。不失一般性地假设A和H之间不发生任何通信。

【追踪痕迹建立】当IP包x到达入口路由器(Ingress Router,简称IR)R1,溯源路由器首先判断其携带的上游路由器ID是否合法(即与邻居映射表NMT进行匹配);匹配后发现不合法,则说明该上游路由器R1即为x的入口路由器,分配标准出标签(Standard Out Label,简称SOL)3给x并标记[R1ID,SOL]到x中,然后将它转发到下游路由器R2;其中,所述的溯源路由器中存储有路由器ID和路由器IP地址的映射表(即邻居映射表NMT)。

那么如何认定R1是入口路由器呢?在一般情况下,由于到达入口路由器的标记域是没有赋值的,因此判别IR(即入口路由器)非常容易。但是,考虑到某些攻击者可能会利用该系统漏洞,通过伪造标记域信息来破坏追踪,为此R1需要将x携带的路由器ID从邻居映射表NMT中所有标识符进行匹配。如果不符合,就可认定x是恶意包,进而将R1判定为IR。此外,为了进一步防止攻击者通过中间人等技术手段来骗取R1的邻居标识符,R1可以每隔一段时间为邻居路由器重新着色,通过及时变换标识符的方式来避免被欺骗。

当x到达某个中间溯源路由器(i>1)Ri,Ri首先根据x的目的地址调用追踪痕迹子表,判断出追踪痕迹未建立,则Ri首先分配出标签给x,然后将追踪痕迹[入标签,出标签,Ri-1 ID]插入到与x相关的子表中,同时将[Ri ID,出标签]标记到x中,最后将它转发到下游路由器。需要注意的是,如果出现同宿路由汇聚现象,例如R2和R3,为了能够清晰地区分TEC(即溯源等价类),溯源路由器必须为它们分配不同的出标签。当x到达受害者V,就说明PH和PA在溯源网络中已经被完全建立。之后,所有路径节点只需执行子表的查找和包标记操作,不再需要执行表插入操作。

【攻击路径重构】当网络攻击发生后,受害者首先利用已有的入侵检测技术(Intrusion Detection System,简称IDS)来识别IP匿名包,然后将它们以溯源请求的形式发送给溯源管理器。溯源管理器接收请求后,首先从IP匿名样本包中提取标记信息[上游路由器ID,标签],进一步识别出离受害者最近的溯源路由器R3,然后将[标签:1,受害者IP:10.1.2.1]以取证请求的形式发送给R3;R3接收到请求后,首先从TMT(即追踪痕迹表)中选定与该受害者IP相关联的子表10.1.2.1,其次将该标签与所有表项的出标签进行匹配,并将符合表项返回,然后利用NMT将该表项的上游路由器ID转换为路由器IP,进而确定R2,最后将[R2,符合表项的入标签]以溯源回复的形式发送给溯源管理器,由此发起新一轮溯源请求。当溯源管理器发现溯源回复的入标签是SOL,也就意味着上游路由器就是路径入口,溯源过程结束。

本发明设计了一种更紧凑的路由器标识符来取代冗长的IP地址,方式如下:

发明人研究发现,由于溯源路由器标识符(简称溯源路由器ID)仅需唯一标识上下游关系,无需全网标识,因此如果将整个溯源网络看成是一个简单无向有限图,而且采用图着色理论来对路由器ID编码,那么只需要保证2跳以内的邻居路由器具有不同的颜色即可。另一方面,要想获得更多的标签资源,就必须尽可能缩短路由器ID所占位数,也就是使用最少的颜色数对路由器着色,因此,路由器标识符编码问题进一步被抽象为2-距离点着色问题,具体定义如下:

定义1:用一个无向图G(V,E)表示溯源网络,其中集合V={v1,v2,…,vn}的元素是溯源路由器,集合E={e1,e2,…,en}的元素是连接两个溯源路由器的链路。溯源网络是一种虚拟网络系统,它以底层物理网络为基础.在溯源网络中,节点之间的虚拟链路是逻辑上的,通常对应于底层网络的物理路径,即路由路径。

定义2:给定图G=(V,E),称映射π:V→{1,2,…,k}为G的一个k点着色,简称着色,称{1,2,…,k}为色集;若对G中任意两个距离不大于2的顶点u和v均满足π(u)≠π(v),则称该着色为正常的。图G的正常k着色的最小k值称为G的色数,记为χ2d(G),简记χ2d。

鉴于n阶图G的2-距离点着色数的界已被证明为:

其中Δ:=max{d(v)|v∈V},d(v)表示顶点v的度,通过对CAIDA搜集的真实互联网路由器级拓扑进行了面向自治域的特征统计和分析,当前互联网中绝大部分的自治域节点数n<212,而最大节点度Δ>24。基于此统计结果,溯源网络中2-距离点着色数的界进一步推进到:

24≤χ2d(G)-212 (2)

也就是说,对于任一溯源路由器来说,12位路由器ID就足以唯一标识它的所有邻居。因此,本发明溯源路由器还需维护一张路由器ID和IP地址的映射表,称为邻居映射表(Neighboring Mapping Table,简称NMT)。

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