渗透测试的方法论和业界参考实践
对于任何测试而言,都会相应的测试方法或者规则。在渗透测试领域,业界的渗透测试方法论或者最佳实践可以作为一个很好的参考,但是测试人员在测试过程当中更多的是依靠自身的能力和经验去完成测试工作,因为在测试过程当中可能会遇到各种各样的问题。下面是行业中被广泛接受的测试方法或者渗透测试的最佳实践:
OWASP(Open Web Application Security Project)Testing Guide——关注在web应用安全测试的测试指导。该测试指导涵盖了web应用程序大部分功能点的安全性测试,测试指导同时会给出一些测试的实例进行简单的说明。
OSSTMM(Open Source Security Testing Methodology Manual) -- 开放源代码安全测试方法手册。OSSTMM是一个关注在安全测试和评价的方法论。OSSTMM的测试用例分为五个方面:信息和数据控制;人员安全意识水平;欺诈和社会工程学控制水平;计算机和电信网络,无线设备,移动设备以及物理安全访问控制;安全流程,如建筑物,周边环境,以及军事基地的物理位置等安全流程。
Special Publication 800-115 Technical Guide to Information Security Testing and Assessment – 美国NIST发布的针对信息安全测试和评估的技术指导
ISSAF(Information Systems Security Assessment Framework)-- 关注在信息系统安全评估的框架
Penetration Testing Framework -- 渗透测试的框架,该测试框架是渗透测试实践的操作总结,它非常详细的描述了渗透测试过程当中每一步应该做什么,怎么去做。该份测试的框架对于渗透测试的实际操作有着非常好的参考价值。
渗透测试的流程
对于渗透测试,其流程大体包括:测试协议和方法确定,免责条款签署,信息收集,脆弱性分析,对脆弱性进行渗透和利用,权限提升,最终评估和报告编写以及客户根据渗透测试发现问题的整改和追踪等环节。以下是对于上述各个环节的简要介绍:
渗透测试与恶意黑客的攻击最大的区别就是:恶意黑客为了获得想要的信息可以不计后果对目标系统进行攻击测试,而渗透测试人员的所执行的测试活动是需要在特定的测试协议下执行的。因此在正式执行渗透测试之前,明确测试协议与测试方法是最重要的工作,测试协议与测试方法是后续测试人员开展渗透测试的参照标准。对于渗透测试协议和方法的确定,下述图示展示了atsec结合了前文所提及的方法论和业界参考实践的经验总结。
在渗透测试中,根据客户提供信息的多少,我们可以人为的将渗透测试分为黑盒测试和白盒测试。所谓的黑盒测试是客户尽可能少的给测试人员提供测试目标的信息,测试人员在不了解目标系统的情况下展开测试。白盒测试是测试人员在完全了解系统的设计和架构或者网络配置的情况下对目标进行渗透,以确保所有安全问题都被发现了。从测试人员测试活动的攻击性的角度评价,可以将渗透测试划分成四种情况:
被动的测试活动,在此种情况下测试人员不会主动向目标系统发送攻击指令,测试人员通常会执行信息捕获的工作。
谨慎的测试活动,在此种情况下测试人员通常会对目标系统执行嗅探工作并根据嗅探获得的漏洞进行分析和评估。
审议的测试活动,在此种情况下测试人员通常会将发现的漏洞信息与客户进行讨论,以明确哪些漏洞在测试过程当中需要执行实际的漏洞验证和利用。
具有侵略性的测试活动,在此种情况下测试人员通常会根据所发现的漏洞信息进行逐个验证,此时测试人员考虑更多的是如何最大限度获得目标系统的系统权限或者获得目标系统上存储的信息。
(责任编辑:安博涛)