IP溯源技术及其标准化1陈剑勇、1滕志猛、2郑水金摘要:本文通过比较社会安全和网络安全的共同特征,说明溯源技术对网络安全的重要性。
在此基础上介绍当前溯源技术三种主要的方法:手工溯源、路由溯源和特征值溯源,提出了巡视溯源方法的框架和工作状态流程。
最后探讨溯源技术标准化的现状和未来。
关键词:溯源技术 手工溯源 路由溯源 特征值溯源 巡视溯源 NGN一、概述随着计算机的普及和网络技术的不断发展,在向社会提供诸多便利的同时,网上各种未授权访问、非法窃取网络资源、拒绝服务,甚至恶意攻击与破坏等事件也层出不穷,给计算机用户和网络运营商造成巨大的损失。
网络安全技术不断发展的同时,黑客攻击网络的技术也在不断发展。
这就形成了一种无止境的对抗,而消费者(运营商)成了这场对抗游戏的受害者,并且消耗掉一部分技术进步带来的益处。
如用户的电脑主频、内存不断升级,防病毒和防火墙的软件也在不断升级,消耗电脑升级带来的益处,这种互相抵消的消耗很难看到一个尽头。
在网络的应用规模还比较小的时候,还没有影响到普通老百姓日常生活的阶段,采用技术对抗的方式,即仅使用安全技术阻止黑客攻击,花费的社会成本比较低,也比较直接。
然而随着网络对社会生活的渗透逐步深入,网络的规模越来越大,特别是社会经济行为日益依赖网络,仅仅依靠安全技术来应对安全威胁,所承受的代价越来越大。
因为安全防护的投入规模和网络扩张规模同步增长,同时更因网络承载的信息资产价值增长而增长。
因此客观上需要另辟蹊径,找到适合网络大规模应用环境下的安全解决方案。
既然网络已经成为社会经济生活赖以存在的基础设施,我们可以从社会安全的解决方法中获得启发。
下面简要对比当前网络和社会安全的异同,具体如表1所示。
表1 社会安全和网络安全对比社会安全网络安全保护对象走在大街上的人接入互联网的终端防护措施没有保护措施防火墙、防病毒保护侵害他人的能力非常容易有一定困难[需要网络技术]原因法律+强溯源能力法律+没有(弱)溯源能力代价人无需购买越来越牢固的盔甲保护自己外出终端需要购买功能越来越强大的防火墙和杀毒软件后,接入Internet将来在下一代社会中,可持续发展在下一代网络中,不可持续发展现实社会安全经过几百上千年的考验,“法律+强溯源能力”成为目前各个国家解决社会安全的普遍方式。
网络安全和社会安全对比,撇开存在方式的差异,两者在安全威胁方面具有许多共同特征,因此借鉴社会安全的解决方法,增强网络的可溯源能力,是解决网络安全的可持续发展之路。
和单纯的安全防护技术相比,依靠法律的手段将随着网络规模的不断扩大越显示其社会成本优势。
网络这种技术的对抗赛,背后是网络溯源技术的缺失。
溯源技术指通过技术手段,将内容、网络行为以及应用行为等追溯到该行为发起者。
而溯源技术的缺失,更多的是由于开放的IP网络缺乏足够溯源能力,导致针对网络违法行为的法规缺乏有效的技术支撑。
目前IP网络溯源能力比较弱,根源在于网络协议和操作系统的缺陷,如IP协议本身无法验证源地址段中的IP地址是否是发送者的IP地址。
比如一台机器可以将自己伪装成另一台机器甚至路由器等。
只有修改与优化协议和系统,使其具备溯源的功能,才能从根本上提高IP网络的溯源能力。
当协议能定位攻击者的地址,就能对网络攻击事件起到威慑作用,使互联网朝着安全与健康的方向发展。
二、溯源技术的发展历程对入侵者进行追踪,最早出现在八十年代末九十年代初,当时网络安全技术还没有形成,对付黑客只能依靠网络管理员的经验,许多相关的组织和机构开始针对黑客行为进行研究,包括入侵动机、入侵者的真实身份、入侵者所在地点、采用的入侵方法和技术、入侵模式、入侵目的和对受害主机造成的影响等,这是溯源技术的最初形式。
目前的研究方向主要在两方面开展:一是在路由转发数据包的过程中实现溯源,二是根据网络连接所具备的特征实现溯源。
对于前者,在路由转发数据包时,搜集入侵者的独特特征,达到追踪入侵者的目的。
对于后者,主要研究和有效区分不同网络连接具备的不同特征,作为入侵证据,达到有效区分入侵者和正常用户的目的。
总的来说,IP溯源作为一门技术还在发展阶段,一些关键问题还没有很好的解决方案,比如一些研究在理论上确实可以实现良好的溯源能力,但缺乏可行性。
三、主要的溯源技术3.1 手工溯源手工溯源主要由多个物理网段的网络管理员和ISP相互协作来实现。
首先画出网络拓扑图(图1),从被攻击的主机开始,主机与第一层路由器之间的连接叫做第一层连接集合,同时为每个路由器分配唯一的标识;紧接着从第一层路由集合出发,依次画出第二层的路由集合和后续路由集合;每一层路由集合都是一个管理域,以此类推,得到类似树结构的网络拓扑图。
当第一层路由集合检测到入侵攻击的时候,记录入侵行为,分析系统日志,得出攻击包来自上一级路由集合中哪个路由器,并把这些信息提交给上一级路由集合的管理者;之后再重复以上操作,直到找到攻击主机为止。
V:受害主机R:路由A:攻击主机图1 网络拓扑图这种溯源方式,实践的时候,溯源的准确度高,不存在技术上的问题。
但投入的人力与物力太大,比如需要多个网络管理员配合工作,并有机构来协调,网络管理员需要二十四小时待命。
3.2 路由溯源整个互联网可以简单地看成是由路由器构成的。
数据包通过的路由器,构成数据包的传输路线节点,路线的源头就是数据包的真实发送点,显然利用路由器完成溯源工作,理论上是可行的。
但是路由溯源在具体实现上比较困难,因为现有的路由器都不支持溯源功能,而路由器的主要任务是转发数据包,如果同时进行溯源定位的工作,需要增加路由器的处理能力和存储能力。
同时要求路由器生产商必须都支持溯源功能,在短期内不易实现。
路由溯源主要通过两种方式实现。
第一种方式是路由对转发的数据包进行处理。
如把路由器地址的信息标志在数据包上面,那样在入侵的目标主机上可以查看源路由地址;第二种方式是通过配置路由的一些属性实现攻击源的溯源。
(1)路由器记录路线信息的方法路由器在转发数据包的同时,在数据包中加入数据包的传输路线信息,如果加入的路线信息是本路由器的IP地址,那么数据包中将包括它经过的所有路由器的IP地址。
当数据包到达目的主机时,重组加入的路线信息,就得到数据包的传输路线,完成溯源定位。
在数据包中加入路线信息的目的是有效地标识途经的路由,路线信息可以是路由器的有效地址或一些数字形式的水印(经过hash处理的数据信息)等,并保证通过重组可以得到数据包的传输路线。
路由器记录路线信息会导致路由器负担激增,数据包长度增加,造成包重组、分片,导致网络负担增强、服务质量下降等一系列问题。
而且一旦入侵数据包经过的某个路由器没有对数据包进行处理,就无法得到完整的入侵路线。
因此缺乏实用性,无法广泛推广。
(2)配置路由器属性的方法路由器的主要功能是转发数据包,路由器的生产商通常提供路由属性,供使用者按照不同的需求进行配置,完成不同的功能。
溯源定位技术兴起后,许多路由器具有抽入调试属性,它允许操作者在路由器出口过滤数据包,判断数据包的入口。
利用这个属性可以进行溯源。
路由溯源方法理论可行,同时能及时查看到数据源头的信息。
但会增加数据报文的长度,加大传输压力;所有路由器全部要执行这种算法,加重路由器的计算量。
同时不易管理和不易实施,因为与不同网段系统管理员交换信息、进行协调需大量时间、精力和相应的权限。
3.3 特征值溯源研究分析表明,网络连接具有不同形式的特征,每个登录连接链的特征具有唯一性,将每个登录连接链的唯一特征量化,得到的特征值可用于区分不同的登录连接链。
由于特征值的唯一性,如同人类的指纹一样具有唯一性,所以称为指纹,指纹唯一标识一个登录连接链。
指纹溯源通过计算比较不同登录连接链的指纹,确定组成入侵登录连接链的各个网络连接,而入侵登录连接链的源头就是入侵源。
因为可以唯一标识登录连接链的因素不止一个,所以每个登录连接链有多种形式指纹,目前的研究包括如下几种:z传输时间指纹:网络登录连接链具有时间特征,包括登录连接链中的各个连接开始传输数据的时间、结束传输数据的时间、连接空闲的时间等。
通过量化登录连接链的时间特征,得到时间指纹。
z内容指纹:组成同一登录连接链的各个网络连接传输的数据包具有相同的特征。
例如数据包的大小、数据包的内容等,通过量化内容特征,得到内容指纹。
z流量指纹:入侵行为往往明显区别于正常行为,例如TCP-RESET数据包、ICMP 数据包和目的/端口不可达数据包,而正常网络操作和误操作不具备这些特征。
通过量化入侵登录连接链的流量特征,得到流量指纹。
z TCP序列号指纹:组成同一登录连接链的各个网络连接的TCP序列号具有相关性,通过量化TCP序列号的相关性,得到TCP序列号指纹。
利用指纹进行溯源,需要采用分布式代理形式。
代理模块分布在不同网段,主要功能是搜集网络登录连接链的指纹,作为入侵者入侵证据。
因此指纹溯源的有效性依赖于代理分布范围的广泛性,计算比较指纹的合理性和正确性。
它在单一管理员控制区域内能够有效工作,但是对于穿越多个管理区域的入侵行为,溯源定位的完整性取决于入侵经过的管理区域是否安装了代理。
总的来说,只要网络连接具备不同的特征,而且是唯一的,将其特征量化,就可以实现定位攻击源的功能。
特征值溯源方式不会大量增加处理量,比较容易大范围推广,但指纹量化标准不一,不够稳定,同时对某些网络不适用;如对加密的报文不适用。
3.4 巡视溯源巡视溯源是指在各主要路由器上增加巡视模块,巡视模块只有被触发才工作。
当受害者需要溯源,在通过一定的认证程序后,触发离用户最近的巡视模块开始工作。
巡视模块先过滤一些干扰数据包,确定攻击数据包,进而找到攻击数据包的上一级路由,找到上一级路由后,把其信息记录到记录模块,并触发上一级路由器的巡视模块,停止现在路由器的巡视模块。
做同样工作,递归下去,直至找到攻击路由的IP地址,最后把溯源结果传回给申请此次溯源的受害用户。
这种溯源方式兼有手工与路由溯源的特点,即将手工溯源的功能交由路由器配置的巡视模块以接力的方式自动完成。
由于巡视模块是采用接力的方式工作,这种方式不会大量增加网络负担,不用对数据包做标志,减少了计算量。
图2显示巡视模块的子功能模块,这些子功能模块共同作用,实现巡视模块的溯源能力。
子模块之间的接口,以及路由器和巡视模块之间的接口还有待研究和定义。
图2 巡视模块内部各子模块巡视模块工作时,处于四个状态,分别是:启动状态、溯源就绪状态、溯源进行状态和溯源完成状态。
状态转换描述如下:首先启动巡视模块,若能正常启动,则进入溯源就绪状态,否则就返回重启;在溯源就绪状态下,先判断状态是否正常,不正常返回修正错误;在状态正常情况下,判断是否有任务到达,如有就进入溯源进行状态,没就返回就绪状态;接着从溯源进行状态判断任务是否完成,若完成就返回溯源就绪状态,否则返回溯源进行状态;在溯源进行状态下,同时定期判断巡视模块是否工作正常,在正常情况下继续溯源,否则根据错误状态重启巡视模块。