IPv6穿透性测试研究

时间:2022-03-28 01:52:20

IPv6穿透性测试研究

摘要:IPv6穿透性测试研究对于设计和开发IPv6入侵检测系统是至关重要的。IPv6穿透性测试的目的是为了从理论上发现IPv6的脆弱性,提出了通过穿透性测试这种方法来发现IPv6脆弱性,设计了IPv6脆弱性穿透性测试模型和穿透性测试工具通用结构,以改进IPv6入侵检测系统的检测规则,提高IPv6入侵检测系统的检测效果。

关键词:Ipv6;穿透性;攻击树

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)07-1592-02

The Research of IPv6 Penetration Testing

ZHANG Xiao-ping, WANG Qing-sheng

(College of Computer and Software,Taiyuan University of Technology, Taiyuan 030024, China)

Abstract: IPv6 penetration testing is essential for the design and development of IPv6 intrusion detection system.The purpose of IPv6 penetration testing is to find more security threats. The method that applies the penetration testing to the research of IPv6 vulnerability have been presented.The vulnerability model of IPv6 penetration testing and the general model of Penetration testing tools have been designed.which Can improve the detection results of IPv6 IDS.

Key words: Ipv6; Attack-Tree; penetration testing

IPv6协议存在安全脆弱性,增强它的安全性已经刻不容缓。如何尽早发现更多更具体的安全漏洞,进而及时改进IPv6网络的安全性,增强IPv6入侵检测系统的检测能力,是一个值得深入研究的问题。

本文从安全测试的角度出发,提出了应用攻击树来对IPv6脆弱性进行穿透性测试这一研究方法,IPv6穿透性测试的目的是为了从理论上发现IPv6的脆弱性,并将已发现的IPv6脆弱性应用到IPv6入侵检测系统规则库中,以增强IPv6入侵检测系统的检测能力。

1 攻击树

基于不同攻击手段,攻击树(Attack-Tree)提供一种正式的方法和途径来描述系统的安全特性。其基本思想是:如果能够了解所有可能的攻击方法,就有可能设计出防御这些攻击的策略;而且如果能了解攻击者是谁(包括攻击者的能力、动机和目的等),也就能够安排正确的策略来避免这些威胁 。

基本上,我们可以用严格的树型结构来表示攻击一个系统的攻击途径,把攻击目标作为其根节点,达到这个攻击目标的不同途径作为其叶子节点。每个节点就是一个子目标,而这个节点的孩子就是实现子目标的方法或途径。

1.1 创建攻击树

如何创建Attack-Tree呢?首先,确定可能的攻击目标,每个目标组成一个独立的树,它们可以共享子树或节点;接着,找出所有攻击被攻击目标的方法,并把它们加到树里去。

攻击树包括AND分支和OR分支,可以用图形方式表示。AND分支和OR分支分别具有不同的意义,其定义如下:

1) AND分支:所有的子目标必须都完成,攻击才能成功,这样一组攻击子目标标为AND分支,如图1所示。

2) OR分支:所有子目标中只要有一个攻击成功,那么攻击就成功,把这样一组攻击子目标标识为OR分支,如图2所示。

Attack.Tree是由AND分支和OR分支的任意组合构成的。叶子目标(叶子节点)在它们产生之时就被加到攻击过程的末端。OR分支导致新的攻击途径产生;AND分支导致现有的攻击途径扩展 。

1.2 攻击树深度优先遍历

遍历攻击树的方法采用深度优先算法,来生成攻击序列。例如,如图3的一棵Attack-Tree,由深度优先遍历算法产生的攻击序列,;如图4的Attack.Tree,那么由深度优先遍历算法产生的攻击序列为,,,。

1.3 攻击树着色算法

为了支持穿透性测试过程的实施,需要在原有的Attack―Tree模型的基础之上,增加新的节点或者扩充节点的属性。在从叶结点开始遍历测试之前,增加状态采集过程。在从Attack-Tree向上回溯的时候,增加状态收集和实施评估过程,确认测试是否通过,并更新系统状态信息。

遍历攻击树,如果某条路径测试通过,即系统不存在该路径威胁,则要回溯到新的路径,并将该节点标记为绿色;如果该路径没有通过测试,即系统具有该路径威胁,则将节点标记为红色,并回溯到新的路径。

假设攻击树T的深度为n,用i,j表示测试节点所在的层,那么,i,j∈[1,n]。攻击树的着色过程,即为树的遍历过程,采用后序遍历法。攻击树着色算法共分五步,其步骤如下:

1) 确定测试子树 。

2) 在 搜索具有AND属性的节点 。如果对该节点测试成功, 就标记为红色;如果对该节点测试不成功,那么就对该节点的兄弟 进行测试,即执行第三步。

3) 对子树 的叶节点 着色。如果该节点测试通过,该节点就标记为绿色,否则,标记为红色。如果所有子节点为红色,则 的根节点标记为红色;如果所有子节点为绿色,则 的根节点标记为绿色;如果子节点着色不同,则 的根节点为黄色。

4) 判断攻击树T是否遍历完全,如果遍历完全,执行第五步,否则,跳回第一步。

5) 测试结果生成的是所有节点分别标注为红、绿、黄三色着色树。

2 IPv6穿透性测试模型

2.1 IPv6穿透性测试模型

IPv6穿透性测试模型采用树形结构表示攻击途径,将对IPv6(攻击目标)的攻击作为树的根节点,然后将实现该攻击目标的不同方法作为子节点。然后再以这些子节点为根,重复上面这个过程。直到目标不能再分解为止。这个过程产生一棵Attack-Tree。

Attack-Tree分析方法将对某个目标的攻击实施结构化,对于任何一次成功攻击,它的实施步骤必然会映射到这些结构中。Attack-Tree分层细化可重用的特性为网络安全分析提供了一个通用的方法。

IPv6 Attack tree是把攻击目标以及攻击该目标的方法集合构建成树状的攻击模型。提出IPv6穿透性测试模型,或称其为攻击模型主要意义在于对IPv6潜在的威胁进行形式分析,为评估IPv6安全改进方面提供一种方法,同时找到更多的IPv6安全威胁,并将这些安全威胁应用的IPv6入侵检测系统规则库中,以增强IPv6入侵检测系统的检测能力。利用IPv6穿透性测试模型,可以完整地、全面地描述IPv6的脆弱性。IPv6的脆弱性总共包括五类原子攻击目标,其结构如图5所示。

IPv6穿透性测试模型所包含的这五类原子攻击目标涵盖了IPv6的各个方面,系统地分析了IPv6存在的安全威胁。每个原子攻击目标的实现均可以通过多种攻击手段来实现,即每个节点(一个攻击目标)可以分解为子节点(子目标)。

IPv6这个原子目标的涵盖内容太多,其子节点又可以分解出若干个子节点,这些子节点还可以继续分解。IPv6攻击树结构层次比较多且每一层的节点也比较多,所以本文在此就以父攻击树和子攻击树的形式进行介绍。其中IPv6 Attack tree为父攻击树,IPSec Attack tree、IPv6在实现和部署上Attack tree、IPv6中传统安全威胁Attack tree、IPv6过渡阶段Attack tree、IPv6特有的脆弱性Attack tree这五个攻击树为子攻击树。由于篇幅有限,这里只介绍IPv6中传统安全威胁Attack tree一种。

2.2 IPv6中传统安全威胁穿透性测试模型

IPv6中传统安全威胁Attack tree是IPv6 Attack tree的子树之一。利用IPv6中传统安全威胁穿透性测试模型,可以完整地、全面地描述IPv6中传统安全威胁。IPv6(传统安全威胁)这个原子目标总共包括五类原子攻击目标,其中每一类原子攻击目标又可以分解为好几类小的原子攻击目标,其结构如图6所示。由于第二层原子攻击节点的子节点比较多,分解起来十分麻烦,图6中只是对应用层攻击这个原子攻击目标进行了分解,分解为九个小的节点。IPv6中传统安全威胁穿透性测试模型所包含的这五类原子攻击目标涵盖了IPv6中传统安全威胁的各个方面,能够系统地分析IPv6中的传统安全威胁。由于IPv6中传统安全威胁Attack tree的子节点较多,且每个子节点的测试子树都是比较复杂的,由于篇幅有限,本文不在此详述。

3 IPv6穿透性测试工具的设计

在进行穿透性测试前,首先需要编写相应的穿透性测试工具,在IPv6脆弱性穿透性测试中,所有的穿透性测试工具的功能结构大体上是相同的。穿透性测试工具通用结构如图7所示。穿透性测试工具通用结构分为三个大的模块,一是监听模块,收集需要测试的漏洞的相关信息;二是攻击模块,该部分按照需要分解成多个测试子系统,进行全面的测试;三是评估模块,穿透性测试完成后对测试工具的效能和IPv6网络的安全性进行总体评估,并显示出量化的结果。其具体的穿透性测试工具参照穿透性测试工具通用结构进行编写。

4 结束语

本文首先对攻击树进行了简单介绍,设计了攻击树着色算法;将攻击树应用到IPv6脆弱性研究中,设计了IPv6脆弱性穿透性测试模型和其子模型――IPv6中传统安全威胁穿透性测试模型,最后设计了IPv6脆弱性穿透性测试工具通用结构。

参考文献:

[1] Schneier B.Atack Trees:Modeling Security Threats[J].Dr.Dobb,S journal,1999,12(24):21-29.

[2] 崔博一.改进攻击树的生成及应用研究[J].信息安全与通信保密,2008(8):67-69.

[3] 李振强,赵晓宇,马严.IPv6安全脆弱性研究[J].计算机应用研究,2006 (11):109-112.

[4] 官理.乔鹏.下一代互联网中的IP技术[J].网络安全技术与应用,2008(2):49-51.

上一篇:Hibernate框架下信息系统数据初始化问题的研究 下一篇:基于PHP5和Axis实现四则运算的Web服务系统