网络安全渗透测试
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.3 渗透测试方法

渗透测试方法一般分为黑盒测试、白盒测试、灰盒测试三大类,根据不同的业务场景及不同的业务需求,客户可能会在不同的渗透测试项目中选择不同的测试方法。针对黑盒测试、灰盒测试、白盒测试,我们可以换一种更加直观的说法,将黑盒想象成一个不透明的盒子,将灰盒想象成一个半透明的盒子,将白盒想象成一个全透明的盒子。

在黑盒测试过程中,渗透测试人员对目标系统一无所知,他们需要从渗透测试最基础的信息收集工作开始一步步做起,慢慢熟悉这个渗透目标然后开始进行漏洞挖掘,这种测试对渗透测试人员的水平要求较高,并且耗费的时间将会比较长。当然,由于在黑盒测试过程中,企业无法预测到渗透测试人员将从哪个角度使用哪种方式发起攻击,所以往往能更好地测试企业安全应急和防御等系统、策略是否有效。

白盒测试与黑盒测试相反,客户提前将所有测试目标的详细信息,包括开放的端口及服务器上所运行的服务名称或是测试账户用户名及密码等告知渗透测试人员。测试者在拿到这些账户之后无须去做资产收集、账户注册等操作,可以直接上手展开测试,消耗的时间大大减少,相对于黑盒测试成本也会降低很多,可以以最小的代价发现最多有效的漏洞。

灰盒测试是黑盒测试与白盒测试相结合的产物,可以更好地将黑盒测试与白盒测试的优点结合在一起,有助于对测试目标进行更加深入及全面的安全测试。渗透测试人员在进行灰盒测试时,也需要进行类似于黑盒测试中的信息搜集等操作,但他们拥有测试目标的一切基础信息等有效信息,这些信息将会有助于他们排除一些无效的测试内容或帮助他们优化测试策略,从而达到更加快速、高效测试的效果。

另外,渗透测试还分为:自动化测试、人工测试、半自动化测试三个方面。在自动化测试的过程中主要是借助一些开源或商业扫描器对指定目标系统进行一个自动化测试,然后依据测试结果及报告判断目标系统是否存在特定的漏洞。人工测试则是通过借助一定量的工具,对目标系统采用逐一人工检测的方式来判断是否存在漏洞,相较于全自动化测试,人工测试可以降低测试的误报率,并且也可以测试得更加深入,更加有效地检测扫描器无法检测的比较复杂的逻辑类型漏洞。半自动化测试是自动化测试和人工测试两种测试方式融合之后的测试方法,在使用扫描器自动化测试的同时使用人工测试的方式同时寻找漏洞,这样哪怕人工测试有漏洞遗漏,借助强大的扫描器也可以将遗漏的漏洞寻找出来,让渗透测试维度更加全面。