跳转到主要内容

渗透测试

本文约需 2 分钟阅读

渗透测试 (Penetration Testing) 是指针对系统或网络,使用与真实攻击者相同的手法尝试入侵,从而发现并验证漏洞的安全测试方法。它也被简称为「pentest」,其最大的优点是能够发现纸面评估中无法找到的实战性漏洞。截至 2024 年,针对云环境和容器环境的渗透测试需求正在急剧增加。

为什么逐项检查会漏掉入侵路径

许多安全检查采取的形式是逐项检查配置和漏洞,并为每一项分配严重程度。这种方式的盲点在于,评估在单项层面就已完结。攻击者不会按顺序评估各个项目,而是寻找可以到达的路径。即使是单独来看影响很小的配置缺陷或漏洞,当多个缺陷连接起来时,也可能构成从外部通往内部的入侵路径。逐项检查并不把这种「连接」纳入评估范围,因此即使每一项都在容许范围内,整体上仍可能被攻破。渗透测试的价值在于,以与攻击者相同的方式把系统当作「路径的集合」来评估,并实证究竟能到达多深。基于报告的修复优先级排序之所以有效,是因为它依据的不是名义上的严重程度,而是经过实证的可到达性。

测试流程

计划与范围定义
信息收集
漏洞探测
尝试入侵
编写报告

测试的种类与手法

黑盒测试在没有系统内部信息的情况下从外部尝试攻击。白盒测试基于源代码和设计信息查找漏洞。灰盒测试介于两者之间,在掌握有限信息的情况下实施。密码破解、SQL 注入、XSS 等多种攻击手法都包含在测试中。

常见的误解 (与漏洞扫描的区别)

常见的误解是「渗透测试与漏洞扫描相同」。漏洞扫描使用自动化工具检测已知漏洞,而渗透测试则由熟练的测试者组合多个漏洞实际尝试入侵。例如,单独来看属于低风险的漏洞,组合起来也可能导致管理员权限被夺取。测试费用会因对象的规模与范围、所设定的攻击者水平而有很大差异,因此在比较报价之前,应先统一对象系统的构成与排除条件。报告中会留下按什么顺序串联了哪些弱点才实现入侵的复现步骤。与仅罗列各个弱点危险程度的清单相比,更容易判断先修哪里才能切断路径本身,这一点在确定优先级时很有帮助。

密码安全性的验证

渗透测试也将密码强度作为验证对象。它能证明弱密码会在几分钟内被攻破。而足够长的随机密码已被证实即使在渗透测试中也难以被攻破。

相关术语

这篇文章对您有帮助吗?