渗透测试简介

目标

  • 找到基础设施或应用的安全漏洞,防止被利用从而造成损失
  • 评估安全性级别
  • 识别薄弱环节
  • 提出详细的带有建议的应对措施目录

合法性

  • 法律保障:需要书面形式的委托书,在哪一时间段对哪个目标执行哪些测试,明确测试范围和过程等。
  • 定义好的范围(defined scope)
  • 定义好的测试过程(defined test process)
    • 特定的测试点
    • 可复现的结果

范围定义

攻击者模型

描述可能的攻击者、他们的访问方式、权限、前提等。

确定攻击者模型:系统需要防范哪种攻击者?

  • 外部人员,无特权(最常见的攻击者类型,没有任何系统相关的密码,不知道IP对应的系统运行什么)
  • 外部人员,有特权
  • 内部人员,无特权
  • 内部人员,低权限
  • 内部人员,高权限(系统管理员)

测试计划中需要明确一个或多个角度,从而推导出测试覆盖面(test coverage)和测试深度(test depth)。

测试覆盖

确定有多少组件、哪些组件需要被测试,确定测试中被研究的测试对象,例如:

  • 单个组件(Web应用、服务器)
  • 单个接口(API、无线通信接口/Funkschnittstelle/air interface)
  • 端到端测试(从设备、API、到Web应用,检查系统中涉及到的所有组件和接口)

部分系统测试:例如构建新的组件时对不同供应商的产品进行评估。不够全面。

端到端测试:考虑系统整体。但是开销更大、更昂贵。

增量测试(delta test):适合对于经过少量更新的系统进行测试。

继续阅读“渗透测试简介”