27
欢欢欢欢欢欢欢欢欢欢欢欢欢欢欢欢欢欢 706 欢

欢迎光临!

Embed Size (px)

DESCRIPTION

欢迎光临!. 中国航天科工集团二院706所. 基于攻击图的渗透测试模型 设计. 张继业. 2005年8月5日. 主要内容. 1引言 2模型设计思想 3PTGM 模型的结构 4渗透测试图的 设计 5渗透测试图操作集的设计 6基于 PTGM 模型的渗透测试过程 7结论. 1 引言. 渗透测试与渗透测试模型 渗透测试是对网络的安全性分析和风险评估量化研究必不可少的工具 渗透测试模型用于组织测试用例,控制测试过程,是渗透测试的依据 现有渗透测试模型的不足 测试的主要方法还是漏洞的线形遍历 难以发现组合攻击对网络安全的影响 - PowerPoint PPT Presentation

Citation preview

欢迎光临!欢迎光临!

中国航天科工集团二院 706所

基于攻击图的渗透测试模型基于攻击图的渗透测试模型设计设计

张继业

2005 年 8月 5日

主要内容主要内容1 引言2 模型设计思想3 PTGM 模型的结构4 渗透测试图的设计5 渗透测试图操作集的设计6 基于 PTGM 模型的渗透测试过程7 结论

1 1 引言引言 渗透测试与渗透测试模型

– 渗透测试是对网络的安全性分析和风险评估量化研究必不可少的工具

– 渗透测试模型用于组织测试用例,控制测试过程,是渗透测试的依据

现有渗透测试模型的不足– 测试的主要方法还是漏洞的线形遍历– 难以发现组合攻击对网络安全的影响– 难以发现互联主机间相互安全性的影响

渗透测试模型应该能够模拟网络攻击过程

2 2 模型设计思想模型设计思想模型的设计借鉴了攻击图的思想

– 攻击图为有向图 – 图的顶点表示攻击状态,弧表示状态转换关系 – 目前攻击图主要应用于网络系统的安全性分析 – 攻击图结构灵活,可以应用于网络安全研究的不

同方向本文根据渗透测试的要求构建攻击图,并称

之为渗透测试图

基于攻击图的渗透测试模型攻击图—PTGM( Penetration Testing Graph Modal )

模型的思想– 渗透测试的过程映射为对渗透测试图的操作 – 图的顶点表示测试项目的测试情况– 利用弧表示对测试项目的测试 – 测试用例是相互依赖关系组织

2 2 模型设计思想模型设计思想

3 3 PTGMPTGM 模型的结构模型的结构

测试图生成操作 测试图遍历操作 测试图分析操作

被测试网络描述

测试目标

渗透测

试图

测试图

操作集

测试参数与数据

测试限制条件

测试用例库测试项目

测试结果库

渗透测试图顶点集 弧集

PTGM模型

PTGM 模型采用了分层的结构模型的底层是渗透测试图在渗透测试图上面是测试图的操作集最上层是进行渗透测试所需要的参数和数图中连接不同层之间的箭头表示映射关系

3 3 PTGMPTGM 模型的结构模型的结构

渗透测试图的定义 安全属性及其取值 状态集合 S 的设计 转换关系 τ 的设计

4 4 渗透测试图的设计渗透测试图的设计

4.1 4.1 渗透测试图的定义渗透测试图的定义渗透测试图为有向图,由一个四元组表示:

SSSSPTG ,,, 0

•其中 S 为状态的集合• S0 为初始状态集合

• SS 为成功状态集合

• τ 为状态转换

4.2 4.2 安全属性及其取值 安全属性及其取值 安全属性是能够代表网络的安全特征的软硬

件设备配置信息。从渗透测试的角度来看安全属性主要分为三

类:– 渗透测试的测试项目 – 网络中的其它软硬件配置信息 – 渗透测试的目标

安全属性可以由一个三元组表示: valtypedespp ,,

desp是安全属性的名称、 type代表安全属性的类型、 val代表安全属性的值

4.3 4.3 状态集合状态集合 SS 的设计(一)的设计(一) 取值的安全属性表示网络的安全状态

– 状态集合中的某个元素是渗透测试的某个时刻被测试网络的安全属性的取值情况

安全状态是从渗透测试人员的角度对被测网络的描述– 表示在测试过程中测试人员获得的被测网络的信息和权

限的多少– 体现渗透测试进行的程度– 并不意味着网络确实处于这种安全状况。

4.3 4.3 状态集合状态集合 SS 的设计(一)的设计(一) 取值的安全属性表示网络的安全状态

– 状态集合中的某个元素是渗透测试的某个时刻被测试网络的安全属性的取值情况

安全状态是从渗透测试人员的角度对被测网络的描述– 表示在测试过程中测试人员获得的被测网络的信息和权

限的多少– 体现渗透测试进行的程度– 并不意味着网络确实处于这种安全状况。

4.3 4.3 状态集合状态集合 SS 的设计(二)的设计(二)状态集合 S 表示安全属性在测试过程中的取

初始状态 S0 为安全属性取初始值

成功状态 Ss 为表示测试目标的安全属性的取值

状态之间的转换由执行测试用例实现

4.44.4 转换关系转换关系 ττ 的设计 的设计 转换关系表示测试用例对安全属性的测试 执行测试用例是渗透测试中最小的测试单元,

称之为原子测试。 每个原子测试由四个部分组成

– 测试条件– 测试结果– 测试代价– 用例程序

5 5 渗透测试图操作集的设计渗透测试图操作集的设计对于 PTGM 来说操作是其能够实现的功能 对于使用者来说操作代表其在测试中的行为PTGM 模型的渗透测试图操作集包括三类操作

– 测试图生成操作– 测试图遍历操作– 测试图分析操作

5.1 5.1 测试图生成操作测试图生成操作

5.2 5.2 测试图遍历操作测试图遍历操作

5.3 5.3 测试图分析操作集(一)测试图分析操作集(一)

5.3 5.3 测试图分析操作(二)测试图分析操作(二)

6 6 基于基于 PTGMPTGM 模型的渗透测试过程模型的渗透测试过程 渗透测试的三个阶段:

测试计划的制定 测试的进行 测试报告的生成

• PTGM模型的三个操作测试图的生成 测试图的遍历 测试图的分析

• PTGM模型的三个操作分别对应渗透测试的三个阶段

6.1 6.1 测试计划的制定测试计划的制定GeneratePenTestGraph() 操作制订测

试计划

测试图中弧的先后顺序表示测试用例的执行顺序

测试土中的顶点记录测试用例执行的条件和应得到的结果

6.2 6.2 测试的进行测试的进行TraversePenTestGraph() 操作实现对目标的

测试PTGM 采用深度优先遍历渗透测试图的方式组织测

试过程– 深度优先遍历是一个由初始状态到成功状态的状态转移

序列,代表一次成功的攻击过程。– 采用广度优先遍历,则测试过程退化为传统的漏洞扫描

和渗透测试过程。 采用深度优先遍历渗透测试图的优势

– 以攻击路径为测试单位– 测试多个漏洞组合攻击对网络的威胁– 模拟攻击过程

6.3 6.3 测试结果的生成测试结果的生成PTGM 模型通过测试图分析操作得到测试的结

果。通过测试项目结果分析操作AnalysisItem() 获得被测试网络中各个测试项目的测试结果

通过攻击路径的分析操作 AnalysisPath()获得对被测试网络实施攻击的攻击路径

其它分析攻击图的方法也可以被 PTGM 模型采用

渗透测试图示例渗透测试图示例

S0

S1 S7

S4

S5

S8 S13

S10

S12S11

U13 U18 U20

U12

U1

U17 U19

U15

U5

U16

S6

S2

U10

S9 S14

U8 U9

U2U11

U4U3

U14

U6

S3

U7

H1 80端口开放

H1 139端口开放

H1 Web服务器为 IIS 5.0

H1 Web服务可用性被破坏

获得 H1 管理员权限

上传 lsass 攻击程序到 H1

上传Webdavx3攻击程序到H1

H2 80端口开放

H2 25端口开放

H2 Web服务器为 IIS 5.0

H2 邮件服务器为 Imail版本低于 4.2

获得 H2 管理员权限

上传 lsass 攻击程序到 H2

上传Webdavx3攻击程序到H2

7 7 结论结论本文设计了一个基于攻击图的渗透测试模型

PTGM给出了基于 PTGM 的渗透测试流程PTGM 模型利用攻击图组织渗透测试用例,能

够实现对攻击过程的模拟和测试过程的控制PTGM 模型的测试结果有助于网络系统的安全

性评估

谢 谢!谢 谢!