并非所有渗透测试都相同。渗透测试的类型沿两个维度不同:测试人员事先对你的系统了解多少(black box、white box 或 grey box),以及环境的哪一部分纳入范围(Web 应用、API、网络边界等)。把这些选对,才能让测试既划算又真正有用,而不是走个过场。本指南解析各种选项,帮助你做出明智的选择。

要点(TL;DR)

  • black box、white box 和 grey box 描述测试人员在开始时掌握多少信息;对多数项目而言,grey box 最常见也最划算
  • 按范围划分的测试类型包括外部网络、内部网络、Web 应用、API、无线和社会工程
  • 合适的组合取决于你要保护什么、你的合规需求以及你的预算
  • 无论哪种类型,好的测试都遵循 PTES 或 OWASP 等公认方法论,并交付按优先级排序、可利用的发现

按知识水平划分的渗透测试类型

这关乎测试人员在开始前被告知多少,从而模拟不同类型的攻击者。

黑盒测试(Black Box)

测试人员几乎不获得或完全不获得事先信息,只有真实外部攻击者会拥有的东西(例如一个域名)。他们从零开始自行侦察。

  • 模拟: 没有内部知识的外部攻击者。
  • 优点: 真实呈现外部暴露面;测试投机型攻击者会发现的内容。
  • 缺点: 花在侦察上的时间可能意味着用于测试更深层问题的时间更少,一些漏洞可能仅因时间不足而被遗漏,而非风险不高。
  • 最适合: 评估真实的外部暴露面。

白盒测试(White Box)

测试人员获得完整信息:架构图、源代码、凭据和配置。

  • 模拟: 有知识的内部人员,或假设最坏情况攻击者知识的彻底审计。
  • 优点: 覆盖最为彻底;时间用于发现问题,而非了解环境;能发现深层逻辑和代码级缺陷。
  • 缺点: 需要更多准备和信息共享;对盲目外部攻击者的代表性较低。
  • 最适合: 最大化覆盖,以及彻底性胜过真实性的关键系统。

灰盒测试(Grey Box)

测试人员获得部分信息,例如标准用户凭据和高层概览,但不包括完整的内部细节。

  • 模拟: 已获得立足点的攻击者,或恶意或被入侵的普通用户。
  • 优点: 务实的平衡;高效利用时间,同时仍测试现实的攻击路径,如从普通账户进行权限提升。
  • 缺点: 既非完全盲目也非完全知情的视角,不过对多数目的而言,这种取舍反而是优势。
  • 最适合: 多数项目。grey box 是常见的默认选择,因为它兼顾真实性、覆盖度和成本。

按范围划分的测试

与知识水平无关,你要选择哪些内容纳入范围。常见类型包括:

  • 外部网络测试: 面向互联网的边界:公共服务器、防火墙、暴露的服务。
  • 内部网络测试: 从网络内部出发,模拟已在内部的攻击者(通过钓鱼、恶意设备或恶意内部人员),并测试横向移动。
  • Web 应用测试: 对特定 Web 应用的逻辑、认证和输入进行深入测试,通常与 OWASP 方法论对齐。
  • API 测试: 针对 API 的专项测试,API 是不断增长的攻击面,且往往比 Web 前端保护更弱。
  • 无线测试: Wi-Fi 网络及其与敏感系统的隔离。
  • 社会工程: 通过钓鱼和借口类手法测试人员层面(在约定的交战规则下)。

如何选择合适的测试

  • 保护某个特定应用? grey box 的 Web 应用(及 API)测试通常性价比最高。
  • 担心外部暴露面? 从外部网络测试开始,采用 black box 或 grey box。
  • 担心内部风险或隔离能力? 选择内部网络测试以评估横向移动。
  • 由合规驱动? 查看你的框架或客户合同要求;有些会规定范围或独立性。
  • 预算有限? grey box 把精力集中在要紧之处,避免把时间浪费在纯侦察上。

无论选择什么,都要坚持采用公认的方法论。专业测试遵循 Penetration Testing Execution Standard (PTES)OWASP 等标准,超越自动扫描去串联漏洞并尝试真实攻击路径,并交付概念验证(proof-of-concept)利用以及按优先级排序的修复路线图。

关键要点

  • 按知识水平划分的渗透测试主要类型是 black、white 和 grey box;grey box 是多数需求下务实的默认选择。
  • 范围(外部、内部、Web 应用、API、无线、社会工程)是与知识水平相独立的选择。
  • 让测试契合你要保护的对象、你的合规需求和你的预算。
  • 好的测试遵循 PTES/OWASP,交付按优先级排序、可利用的发现,而不仅是一份扫描器报告。

获取契合你需求的测试

在专家意见的帮助下,选择范围和知识水平会更容易。渗透测试服务 在 Web 应用、API 和网络边界上遵循 PTES 和 OWASP 方法论,提供概念验证利用和按优先级排序的修复路线图。如果你要委托第一次测试,在英国进行渗透测试可以期待什么 这篇指南将带你了解流程、时间线和费用。

常见问题(FAQ)

black box、white box 和 grey box 渗透测试有什么区别? 区别在于测试人员事先知道多少。black box 意味着几乎没有或完全没有事先信息(如外部攻击者),white box 意味着对代码和配置的完全访问(最大彻底性),grey box 意味着部分信息,例如一个用户登录(务实的折中)。

我需要哪种类型的渗透测试? 对多数应用而言,grey box 的 Web 应用和 API 测试在真实性、覆盖度和成本之间提供最佳平衡。对外部暴露面,做外部网络测试;对内部风险,做内部测试。正确答案取决于你要保护什么以及你的合规要求。

grey box 测试比 black box 更好吗? 并非绝对,但它是最常见的默认选择,因为它高效利用测试时间,同时仍演练权限提升等现实攻击路径。black box 对纯外部暴露面更真实;white box 整体上更彻底。

外部和内部渗透测试有什么区别? 外部测试像外部攻击者那样瞄准你面向互联网的边界。内部测试模拟已在网络内部的攻击者,聚焦横向移动以及一个立足点能扩散到多远。

渗透测试是否遵循标准方法论? 应当如此。专业测试遵循 Penetration Testing Execution Standard (PTES) 和 OWASP 等公认标准,从而确保一致、可重复的覆盖,而非临时扫描,并产出按优先级排序、可利用的发现。