目标
- 找到基础设施或应用的安全漏洞,防止被利用从而造成损失
- 评估安全性级别
- 识别薄弱环节
- 提出详细的带有建议的应对措施目录
合法性
- 法律保障:需要书面形式的委托书,在哪一时间段对哪个目标执行哪些测试,明确测试范围和过程等。
- 定义好的范围(defined scope)
- 定义好的测试过程(defined test process)
- 特定的测试点
- 可复现的结果
范围定义
攻击者模型
描述可能的攻击者、他们的访问方式、权限、前提等。
确定攻击者模型:系统需要防范哪种攻击者?
- 外部人员,无特权(最常见的攻击者类型,没有任何系统相关的密码,不知道IP对应的系统运行什么)
- 外部人员,有特权
- 内部人员,无特权
- 内部人员,低权限
- 内部人员,高权限(系统管理员)
测试计划中需要明确一个或多个角度,从而推导出测试覆盖面(test coverage)和测试深度(test depth)。
测试覆盖
确定有多少组件、哪些组件需要被测试,确定测试中被研究的测试对象,例如:
- 单个组件(Web应用、服务器)
- 单个接口(API、无线通信接口/Funkschnittstelle/air interface)
- 端到端测试(从设备、API、到Web应用,检查系统中涉及到的所有组件和接口)
部分系统测试:例如构建新的组件时对不同供应商的产品进行评估。不够全面。
端到端测试:考虑系统整体。但是开销更大、更昂贵。
增量测试(delta test):适合对于经过少量更新的系统进行测试。