什么是渗透测试
渗透测试的分类 |
作为一种对抗性和定制要求都非常高的服务,渗透测试的完成质量依赖于实施人员即渗透测试者(PenetrationTester, Pentester)的技术能力、专业素养以及团队协作能力。提供渗透测试服务的安全公司或组织都需要由职业化渗透测试者组成的专业团队,这些渗透测试者一般称为渗透测试工程师。 |
熟练掌握测试方法、流程与技术,面对复杂渗透场景能够运用自己的创新意识、技术手段与实践经验,从而成功取得良好渗透测试效果的技术专家称为渗透测试师(PenetrationTest Expert)。 |
渗透测试的两种基本类型包括: |
|
黑盒测试黑盒测试(Black-boxTesting)也称为外部测试(ExternalTesting)。采用这种方式时,渗透测试团队将从一个远程网络位置来评估目标网络基础设施,并没有任何目标网络内部拓扑等相关信息,他们完全模拟真实网络环境中的外部入侵者,采用流行的攻击技术与工具,有组织有步骤地对目标组织进行逐步的渗透与入侵,揭示目标网络中一些已知或未知的安全漏洞,并评估这些漏洞能否被利用获取控制权或造成业务资产的损失。 黑盒测试还可以对目标组织内部安全团队的检测与响应能力做出评估。在测试结束之后,黑盒测试会对发现的目标系统安全漏洞、所识别的安全风险及其业务影响评估等信息进行总结和报告。 黑盒测试是比较费时费力的,同时需要渗透测试者具备较高的技术能力。在安全业界的渗透测试眼中,黑盒测试通常更受推崇,因为它能更逼真地模拟一次真正的攻击过程。 |
白盒测试白盒测试(White-boxTesting)也称为内部测试(InternalTesting)。进行白盒测试的团队将可以了解到关于目标环境的所有内部与底层知识,因此这可以让渗透测试者以最小的代价发现和验证系统中最严重的安全漏洞。如果实施到位,白盒测试能够比黑盒测试消除更多的目标基础设施环境中的安全漏洞与弱点,从而给客户组织带来更大的价值。 白盒测试的实施流程与黑盒测试类似,不同之处在于无须进行目标定位与情报收集;此外,白盒测试能够更加方便地在一次常规的开发与部署计划周期中集成,使得能够在早期就消除一些可能存在的安全问题,从而避免被入侵者发现和利用。 白盒测试中发现和解决安全漏洞所需花费的时间和代价要比黑盒测试少许多。而白盒测试的最大问题在于无法有效地测试客户组织的应急响应程序,也无法判断出他们的安全防护计划对检测特定攻击的效率。如果时间有限或是特定的渗透测试环节(如情报搜集)并不在范围之内,那么白盒测试可能是最好的选项。 |
灰盒测试以上两种渗透测试基本类型的组合可以提供对目标系统更加深入和全面的安全审查,这就是灰盒测试(Grey-boxTesting),组合之后的好处就是能够根据对目标系统所掌握的有限知识与信息,来选择评估整体安全性的最佳途径。在采用灰盒测试方法的外部渗透场景中,渗透测试者也类似地需要从外部逐步渗透进入目标网络,但他所拥有的目标网络底层拓扑与架构将有助于更好地决策攻击途径与方法,从而达到更好的渗透测试效果。 |
渗透测试的方法与流程 |
要想完成一次质量很高的渗透测试过程,渗透测试团队除了具备高超的实践技术之外,还需要掌握一套完整和正确的渗透测试方法学。 虽然渗透测试所面临的目标组织网络系统环境和业务模式前边万化,而且过程中需要充分发挥渗透测试者的创新与应变能力,但是渗透测试的流程、步骤与方法还是具有一些共性,并可以用一些标准化的方法体系进行规划和限制。 目前,安全业界比较流行的开源渗透测试方法体系标准包括以下几个。 |
安全测试方法学开源手册由ISECOM安全与公开方法学研究所定制,最新版本为2010年发布的v3.0。安全测试方法学开源手册(OSSTMM)提供物理安全、人类心理学、数据网络、无线通信媒介和电信通信这五类渠道非常细致的测试用例,同时给出评估安全测试结果的指标标准。 OSSTMM的特色在于非常注重技术的细节,这使其成为一个具有很好可操作性的方法指南。 |
NIST SP 800-42 网络安全测试指南美国国家标准与技术研究院(NIST)在SP800-42 网络安全测试指南中讨论了渗透测试流程与方法,虽然不及OSSTMM全面,但是它更可能被管理部门所接受。 |
OWASP十大Web应用安全威胁项目针对目前最普遍的Web应用层,为安全测试人员和开发者提供了如何识别与避免这些安全威胁的指南。OWASP十大Web应用安全威胁项目(OWASPTop Ten)只关注具有最高风险的Web领域,而不是一个普适性的渗透测试方法指南。 |
Web安全威胁分类标准与OWASPTop Ten类似,Web应用安全威胁分类标准(WASC-TC)全面地给出目前Web应用领域中的漏洞、攻击与防御措施视图。 |
PTES渗透测试执行标准2010年最新发起的渗透测试过程规范标准项目,核心理念是通过建立起进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。 通过深入了解这些开放的渗透测试方法标准,将有助于你对渗透测试建立起一个整体的知识与技能体系,所有这些方法标准背后的基本想法就是你的渗透测试过程应该按步骤实施,从而确保更加精确地评价一个系统的安全性。我们无法在这里细致地介绍每一个标准的细节,只是简要地介绍最新的PTES标准中定义的渗透测试过程环节。当你更加深入地了解渗透测试技术之后,可以更进一步去了解这些渗透测试方法体系,并在实际的渗透测试中加以应用。 |