作者:
冷漠 (C.R.S.T) 来源:
http://www.lengmo.net最近一直出差在外在做项目,在评估项目中学到很多东西,也积累了一点经验,总想抽时间整理下,也算是对自己前一段时间的工总结吧。
本次要总结的是关于风险评估项目中的
渗透测试,可能提到渗透测试,大家就会想到
黑客入侵,而渗透测试和黑客入侵的最大区别在于渗透测试是经过客户授权的,采用可控制、非破坏性质的方法和手段发现目标服务器和网络设备中存在的弱点。
渗透测试只是风险评估项目中一部分,一个完整的评估项目应包括管理评估和技术评估两方面,而管理类评估主要从管理制度、人员的访谈、问卷调查等几方面展开,技术类评估采用的主要手段是
工具扫描、人工评估、应用评估、渗透测试、网络架构评估等。渗透测试只是技术评估的一个部分,它和工具扫描互相补充,因为大家都知道工具扫描有很高的效率和速度,但是因为
软件的局限性,在实际的扫描中会存在一定的漏报和误报的问题,不能发现高层次、复杂性的安全问题,这时就需要渗透测试作为补充。
一个完整的渗透测试流程应包括范围的确定、制定方案、具体的实施、撰写报告几部分构成,具体如下图:

下面将从以上几个方面谈谈个人对渗透测试的理解
一、确定渗透测试范围
在我们进行渗透测试之前,首先要知道我们渗透的目标是什么?这个目标即是客户给出的渗透测试的范围,明确了渗透测试的范围,下面我们要做的是制定渗透测试方案。
二、制定渗透测试方案
渗透测试方案是对渗透测试工作的说明,即向用户展示你在渗透测试过程可能会采取的测试手段以及工具的说明等。下面给出一份渗透测试方案的整体框架:
1、目标
2、范围
3、渗透测试的必要性
4、渗透测试的可行性
5、系统备份和恢复措施
6、风险规避
目标 :阐述本次渗透测试的目标是什么?即通过渗透测试我们能帮助用户发现哪些问题?譬如发现服务器和网络设备中存在的弱点和威胁等。
范围: 说明渗透测试的范围,渗透测试都会有范围的限定,即用户会给定范围,可能是一个应用系统或者一个IP 地址甚至整个内网,这便是渗透测试的范围。渗透测试原则上是不允许对授权范围外的主机和网络设备进行渗透的。
渗透测试的必要性:主要说明为什么要做渗透测试?渗透测试能帮助解决哪些问题等。
渗透测试的可行性:因为一般客户对渗透测试不是很了解,通常会将渗透测试和黑客入侵归于同一类,因此我们在渗透测试方案中要向用户说明什么是渗透测试?渗透测试的流程和采取的方法与手段是什么?以及渗透测试可能会采用的工具有哪些?譬如:
◆ AppScan 扫描web应用的基础架构,进行安全
漏洞测试并提供可行的报告和建议。
◆ Acunetix Web Vulnerability Scanner 网络漏洞扫描工具,通过网络爬虫测试你的网站安全,检测流行的攻击方式等,它会自动检查您的网页程序漏洞,例如SQL注入、跨网站脚本和验证页面弱密码破解。
◆ WebInspect 用于网络应用程序扫描工具。
◆ thc-orakel Oracle测试工具
系统备份和恢复措施: 虽然渗透测试采用的是可控制、非破坏性质方法,但在实际的渗透测试过程中可能会发生不可预知的风险,所以在渗透测试前要提醒用户进行渗透测试前要进行系统的备份。防止在出现问题时,可以及时的恢复。
风险规避: 主要对渗透测试中可能发生的风险进行说明,并针对这些风险我们将采取哪些手段进行有效的控制。譬如渗透测试的扫描不采用带有拒绝服务的策略、渗透测试安排在业务低峰期进行等。值得提醒的是在渗透测试过程中,如果发现被评估系统发生服务停止或者服务器宕机的现象,应立即停止测试,并联系客户的管理人员进行原因的分析,在查明原因后方可继续进行测试。
三、渗透测试的实施
渗透测试的具体实施,即模拟黑客攻击的手段,对被评估系统进行渗透。一般渗透测试采取的步骤如下图:
