您的位置:首页 > 代理IP资讯
发布时间:2020-03-02 16:53:37
如何修改ip地址、基于动态概率的多条标记IP追踪方法

  近年来,随着因特网在工作和生活中的广泛应用,网络安全问题越来越成为一个不容忽视的问题。在各式各样的网络攻击中,DoS和DDoS攻击被广泛采用,它们所带来的后果也非常严重。目前,对于防范DoS和DDoS攻击主要有两类:一是通过减轻其对受害者的影响来容忍攻击行为;二是尝试定位攻击源,从而希望可以阻止攻击者,这种重构攻击路径并定位攻击源的技术称为IP


  经过分析,不管是静态包标记或动态包标记,都有一个共同的问题——标记空间受限。因为其在数据包中的标记域都采用IP包头中的16位标识域,所能标记的信息量很有限。而IP数据域因携带有用户信息,不可用作标记。针对该问题,ICMP标记被提出[12]。该方法的思想是:针对利用ICMP回声请求和应答机制的DoS攻击,将标记信息填写在ICMP包的数据域里。ICMP包是差错控制报文,其数据域一般不携带用户信息,可用作标记。ICMP标记相较于传统的标记方法,标记空间大大扩充,从而解决了标记空间受限的问题。


  由于DPPM解决了最弱链问题,而ICMP标记又解决了标记空间受限问题,所以结合以上两点,提出了n倍动态概率多条标记方法。该方法的标记空间采用ICMP包的数据域部分,可以追踪利用ping命令发送过量ICMP回声请求来淹没受害者的ICMP flood攻击。


  1 n倍动态概率多条标记方法


  n倍动态概率多条标记方法是把动态概率算法和多条标记方法结合起来,实现高性能的IP Traceback。下面给出该方法的设计思路。


  1.1标记概率选择


  Peng等人[10]提出的自适应包标记是一种较为经典的动态概率包标记方法。该方法的思路是使路由器根据其在攻击路径中所处的位置来动态决定其标记数据包的概率,采用的动态概率算法为pi=1/i。其中,i是指路由ri在攻击路径上的序号。


  pi=1/i的动态概率标记算法可以解决静态概率标记算法的最弱链问题[5-6],且其重构攻击路径所需的数据包数可减少至D(D为路由总数),大大少于静态概率标记算法所需的数据包数[11]。因此,在n倍动态概率多条标记方法中,其动态概率算法便采用该种方法,即攻击者到受害者方向上的第i个路由的标记概率取pi=1/i。


  1.2标记字段及空间设计


  n倍多条标记方法是一种针对ICMP flood攻击的数据包标记方法,其标记空间采用ICMP包的数据域部分。在不同网络的最大传输单元(MTU)的限制下,IP包的大小有所限制,而ICMP包封装在IP包中,因而其大小也受到限制。但是即便对于MTU最小的PPP网络(MTU为296字节),除去20字节的IP包头和8字节的ICMP包头,仍有268字节的ICMP数据域可供路由标记。


  一条完整的路由信息包括被标记数据包的当前TTL值和该路由的IP地址。TTL域用1个字节来标记,IP地址域用4个字节来标记,共占用5个字节。因此,ICMP数据域的大容量标记空间使得一个数据包中可以携带多条路由信息实现多条标记,如图1所示。


  图1 ICMP标记字段


  1.3路由标记算法


  路由针对每一个经过的数据包,采用的标记算法为:


  ①读取IP包头中的TTL值,并实施减一操作;②由i=32TTL计算出该路由是攻击者至受害者方向上的第i个路由。将ICMP包从IP包数据域中提取出来,执行n倍多条标记方法——针对ICMP数据域中可供标记的每条信息域,路由ri均以1/i的概率选择是否标记数据包。若一个包中共有n条信息域,则路由共做n次标记选择,如图2所示。


  图2 n倍多条标记


  1.4路径重构算法


  受害者针对每一个到达的数据包,采用的路径重构算法为:


  1)将ICMP包从IP包中提取出来,依次读取ICMP数据域中的每条路由信息。


  2)针对包中的每一条路由信息,受害者读取其中所记录的TTL值和IP地址,该条标记信息即为攻击者至受害者方向上第(32-TTL)个路由的相关信息。若该路由已被重构过,则分析下一条路由信息;若该路由尚未被重构,则在攻击路径中加入该路由。任何单条路由信息都包含了重构一个路由所需的完整信息量,因为由TTL值可知重构的是攻击者至受害者方向上的第(32-TTL)个路由,IP地址则记录了该路由在因特网中的IP地址。


  3)每分析完一条路由信息,便判断一次攻击路径是否重构完成。若重构完成,则整个路径重构工作结束;若尚未完成,则接着分析包中的下一条路由信息。


  4)当包中的n条路由信息均被分析完毕后,将该包纳入重构所需数据包总数的统计中,并抓取下一个到达的数据包,重复上述工作。


  n倍多条标记方法的实质是让每个路由针对一个数据包中的每条信息域都做一次标记选择。因此,n_ tag_packet(包含n条信息域的数据包)携带路由信息的能力将是1_tag_packet的n倍,其在受害者处完成IP Traceback过程的能力也是1_tag_packet的n倍。若将该“能力”用重构攻击路径所需的攻击包数目来表现,则有n倍动态概率多条标记方法重构攻击路径所需的攻击包数目是相应的动态概率单条标记方法的1/n。后面将设计相应的模拟实验来测试上述两种方法的IP Traceback性能,并检验该理论推断是否属实。


  2实验测试与结果分析


  2.1实验流程设计


  这里设计了相关模拟实验来测试n倍动态概率多条标记方法与动态概率单条标记方法的性能,分别统计两种标记方法在不同路由总数下完成IP Traceback过程所需的平均攻击包数目,并检验1.4节中的理论推断是否成立,即n倍多条标记方法所需的攻击包数是否为单条标记方法所需包数的1/n。实验通过Visual Studio 10.0下编写的C程序来测试n倍多条标记方法,如通过发包函数来模拟ICMP flood攻击、通过路由标记函数和路径重构函数来实现IP Traceback过程。具体实验流程如下:


  1)首先调用发包函数,通过创建一个packet的数据结构来模拟ICMP flood攻击中发出的一个攻击包,并初始化packet。


  2)packet依次通过攻击路径上D个路由,通过调用D次路由标记函数来模拟,该标记函数则采用1.3节中的路由标记算法,且通过修改packet数据结构中的成员变量来记录标记信息。


  3)packet到达受害者后需完成路径重构工作,通过调用路径重构函数来实现,该重构函数则采用1.4节中的路径重构算法,通过读取packet数据结构中的标记信息来进行路径重构工作。


  本次重构工作结束后,将该packet纳入到重构所需攻击包总数的统计中,并判断攻击路径上D个路由是否全部重构完成。若是,则结束实验;反之,则再次调用发包函数,重复上述过程,直至重构工作全部完成。


  2.2实验结果分析


  针对不同路由总数的情况,分别模拟两种标记方法下的IP Traceback过程。由于实际因特网中数据包经过的路由跳数很少会超过25跳[13],因此所研究的路由总数为1,


  2,⋯,25个的25种情况。


  针对路由总数为D(D∈{1,2,⋯,25})的每一种情况,分别测试n倍动态概率多条标记方法和动态概率单条


  68信息安全与通信保密·www.cismag.com.cn


  标记方法的各自性能。其中,标记方法的性能通过统计其完成IP Traceback过程所需的攻击包数来体现,即统计在特定路由数下,某一种标记方法完成IP Traceback过程所需的平均攻击包数目。针对每一种路由数下的每一种标记方法,分别做1 000次实验来求得其平均值。


  针对n倍多条标记方法,文中共研究了标记条数为3、5、7的3种情况,实验结果如表1所示。表1中的“倍数”一栏是指“单条”方法所需的数据包数与“n倍”方法所需数据包数的比值。由于实验结果与1.4节中的理论推断是一致的,所以可以看到:“倍数”一栏的值近似等于标记条数N。


  将n倍动态概率多条标记和动态概率单条标记这两种标记方法的性能进行了仔细比较,发现实验结果确实印证了1.4节中的理论推断,即n倍动态概率多条标记方法完成IP Traceback所需的攻击包数是相应的动态概率单条标记方法所需攻击包数的1/n。且当路由总数越大时,实验结果越精确。从而可知,n倍多条标记方法具备良好的可行性。


  3结语


  文中根据目前移动智能终端操作系统的特点,结合相关标准提出一种安全测评模型并实现了一个自动化测评工具,对Android操作系统的部分安全功能进行了测评。在这个测评工具的设计和实现中,最关键的是能否设计好终端客户端,因为这一部分直接和待测操作系统相关。今后将继续研究终端测评方法的设计,使其更精确地反映移动智能终端的安全需求。


上一篇 下一篇