渗透测试

什么是渗透测试?

渗透测试是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估。渗透测试人员使用与攻击者相同的工具、技术和流程,来查找和展示系统弱点对业务带来的影响。

渗透测试通常会模拟各种可能威胁您业务的攻击。渗透测试可以检查系统是否足够稳定,能否抵抗来自经过认证和未经认证的攻击,以及一系列系统角色发起的攻击。在合适的范围内,针对您需要评估的系统的任何方面,渗透测试都可以深入其中。

渗透测试 | Synopsys

渗透测试的收益

理想情况下,您的组织在开始对其软件和系统进行设计时,就力争消除危险的安全漏洞。渗透测试帮您深入了解这一目标的实现情况。其中,渗透测试支持以下安全活动:

  • 找出系统的弱点
  • 确定安全控制的可靠性
  • 支持符合数据隐私和安全规范(例如,PCI DSSHIPAAGDPR
  • 为管理层提供当前安全态势和预算优先级的定性和定量示例

渗透测试类型

根据渗透测试的具体目标,组织针对目标系统向测试者提供不同级别的信息或访问权限。有时,渗透测试团队会在开始时设置一种方法并一直坚持下去。有时,测试团队会随着在渗透测试期间对系统认识的加深而改进其策略。在本行业中,我们讨论了三种类型的渗透测试:

  • 黑盒。 团队对目标系统的内部结构一无所知。他们充当黑客,探寻任何可从外部发起攻击的弱点。
  • 灰盒。 团队对一套或多套凭证有一定了解。他们还了解目标的内部数据结构、代码和算法。渗透测试人员可以根据详细的设计文档(如目标系统的架构图),构建测试用例。
  • 白盒。 对于白盒测试,渗透测试人员可以访问系统和系统工件:源代码、二进制文件、容器,有时甚至是运行系统的服务器。白盒方法可在最短的时间内提供最高水平的安全保证。

渗透测试阶段

渗透测试人员意在模拟怀有动机的对手发起的攻击。为此,他们遵循的方案通常包含以下步骤

  • 侦察。从公共和专用来源收集尽可能多的目标相关信息,以制定攻击策略。这些来源包括互联网搜索、域注册信息检索、社会工程、非侵入式网络扫描,有时甚至是搜索垃圾箱。这些信息有助于渗透测试人员破解出目标的攻击面和潜在漏洞。侦察可能因渗透测试的范围和目标不同而有所差异,可能简单到打个电话即可了解系统的功能。
  • 扫描。渗透测试人员使用工具检查目标网站或系统是否存在弱点,包括开放服务、应用安全问题和开源漏洞。渗透测试人员根据在侦察和测试期间的发现来使用各种工具。
  • 获得访问权限。攻击者可能怀有各种动机,可能是窃取、更改或删除数据,可能是转移资金,也可能仅仅是要损害您的声誉。在执行每个测试案例时,渗透测试人员都必须确定访问系统的最佳工具和技术,无论是利用弱点(如  SQL 注入),还是通过恶意软件、社会工程或其他方式。
  • 维护访问权限。一旦渗透测试人员取得目标的访问权限,其模拟攻击必须保持足够长时间的连接,以达成其目标:提取数据、修改数据或滥用功能。目标是展示潜在的影响。
渗透测试:买方指南

本指南详细介绍了渗透测试的收益、渗透测试解决方案的必备功能以及应当询问潜在供应商的问题。

下载指南

渗透测试工具的类型

渗透测试没有通用的解决方案。而是不同的目标需要使用不同的工具套件进行端口扫描、应用扫描、Wi-Fi 侵入或网络直接渗透。但一般而言,渗透测试工具的类型分为五个类别:

  1. 用于发现网络主机和开放端口的侦察工具
  2. 用于发现网络服务、Web 应用和 API 问题的漏洞扫描器
  3. 代理工具(例如,专用网络代理或通用中间人代理)
  4. 用于到达系统或访问资产的利用工具
  5. 用于在利用之后与系统交互、维护和扩展访问权限以及实现攻击目标的工具

渗透测试对比自动化测试

渗透测试大多采用手动操作。渗透测试人员确实会在过程中使用自动化扫描和测试工具。但他们还会进行不借助工具的测试,利用最新攻击技术的知识,思考越过安全屏障的方法,旨在提供比漏洞评估(即自动化测试)更深入的测试。以下是手动渗透测试相较于自动测试的几个优势:

手动渗透测试

渗透测试能够发现未列入常用列表(例如, OWASP Top 10)的漏洞和弱点,并测试自动测试可能忽略的业务逻辑(例如,数据验证、完整性检查)。此外,手动渗透测试审查可以帮助识别自动化测试报告误报的问题。总之,手动渗透测试人员都是“像对手一样思考”的专家,可以使用脚本例程的自动化测试解决方案无法做到的方式分析数据,锁定攻击目标并测试系统和网站。

自动化测试

与完全手动的渗透测试流程相比,自动化测试生成结果的速度更快,且需要的专业技术人员更少。自动化测试工具可自动跟踪结果,有时还能将其导出至集中式报告平台。此外,不同测试的手动渗透测试结果可能会有差别,但在同一系统上重复运行自动化测试将产生相同的结果。

渗透测试的优缺点

随着安全漏洞的发生频率和严重程度逐年增加,各组织前所未有地渴望了解如何抵御攻击。PCI DSS 和 HIPAA 等法规强制要求定期进行渗透测试,以确保遵守其最新要求。考虑到这些压力,以下是这种类型的缺陷查找技术具有的一些优缺点:

渗透测试的优点

  • 找出上游安全保证活动中的漏洞,活动如自动化工具、配置和编码标准、架构分析以及其他轻量的漏洞评估活动
  • 查找已知和未知软件缺陷和安全漏洞,包括自身不会引起太多关注但可能成为复杂攻击模式一部分并会引起重大危害的小缺陷
  • 可攻击任何系统,模仿大多数恶意黑客的行为方式,并尽可能模拟现实世界的对手

渗透测试的缺点

  • 耗费大量人力和成本
  • 不会全面防止漏洞和缺陷进入生产环节