安全测试不同于渗透测试,渗透测试侧重于几个点的穿透攻击,而安全测试是侧重于对安全威胁的建模,系统的对来自各个方面,各个层面威胁的全面考量。安全测试可以告诉您,您的系统可能会来自哪个方面的威胁,正在遭受哪些威胁,以及您的系统已经可抵御什么样的威胁。当然,安全测试涵盖渗透测试的部分内容。安全测试与渗透测试的区别主要在:

      渗透测试考虑的是以黑客方法,从单点上找到利用途径,证明你有问题,帮助客户提高认识,也能解决急迫的一些问题,但无法也不能去针对系统做完备性的安全测试,所以难以解决系统自身实质性的安全问题,所以提供渗透测试的厂商一般都是自己买什么防护设备,以自己防护设备针对的威胁为主要渗透点,找到你有类似的问题,解决方案以卖对应的防护设备作为手段,针对具体的威胁,通过防护设备采取被动的防护。而安全测试的厂商,则从整体系统架构,安全编码,安全测试,安全测试覆盖性,安全度量等多个因素去考虑问题,提出的解决方法则是逐步帮助客户引入安全开发过程,提供相应的工具支撑,目标是后让客户提升业务系统自身实质性安全问题。

      安全测试首先会对被测试系统做系统分析,分析其架构,软件体系以及程序部署等等,然后再对被测系统做系统安全分析,在这之后会对系统进行安全建模,明确本系统可能来自的各个潜在威胁,之后需要剖析系统,确认有哪些攻击界面,根据测试方案进行测试。

      安全测试只关注漏洞的可利用性分析,但不关注漏洞如何被真实利用的技术,这当中有几个因素:

      成本因素:对攻击者来说,利用漏洞的收益是系统所保护的资产,所以可以投入更多的成本来研究漏洞的利用,包括时间,人员,手段。但是对安全测试来说,整个收益是客户愿意投入的成本,系统所保护的资产远大于系统开发投入,安全投入又只占系统开发投入的百分之三左右,所以从成本角度考虑,安全测试只关注评估漏洞被利用的可能性,而不应该具体去研究漏洞如何被利用且展示给客户。

      视角因素:安全测试是帮助客户降低安全威胁,减少安全漏洞。本身是一种防护技术,尽量发现安全问题并指导客户修复安全问题是关键,沿着的路径是发现安全问题->分析评估安全问题-〉提出修补建议-〉度量安全,而不是以攻击者视角发现安全问题-〉利用安全问题-〉获得非法收益的路径。对防护方有价值的是发现问题,解决问题,而不是发现问题,利用问题。防护方关注都漏洞是否可被利用确定安全漏洞和修复级别够了,研究再多的具体攻击利用技术,对操作系统级别的防护是有意义的,但是对普通应用系统的开发与使用者则是无价值的。