安全测试不同于渗透测试,渗透测试着重于几个点的穿透攻击,而安全测试是着重于对安全要挟的建模,系统的对来自各个方面,各个层面要挟的全面考量。安全测试可以告诉您,您的系统可能会来自哪个方面的要挟,正在遭遇哪些要挟,以及您的系统已经可抵抗什么样的要挟。当然,安全测试涵盖渗透测试的部分内容。
安全测试与渗透测试的差别重要在:
渗透测试考虑的是以黑客方法,从单点上找到利用道路,证明你有问题,帮助客户进步认识,也能解决急切的一些问题,但无法也不能去针对系统做完备性的安全测试,所以难以解决系统自身本质性的安全问题,所以供给渗透测试的厂商一般都是自己买什么防护设备,以自己防护设备针对的要挟为重要渗透点,找到你有类似的问题,解决计划就以卖对应的防护设备作为手段,针对具体的要挟,通过防护设备采用被动的防护。而安全测试的厂商,则从整体系统架构,安全编码,安全测试,安全测试笼罩性,安全度量等多个因素去考虑问题,提出的解决方法则是逐步帮助客户引入安全开发过程,供给相应的工具支撑,目标是最后让客户提升业务系统自身本质性安全问题。
安全测试首先会对被测试系统做系统分析,分析其架构,软件系统以及程序安排等等,然后再对被测系统做系统安全分析,在这之后会对系统进行安全建模,明白本系统可能来自的各个潜在要挟,之后需要分析系统,确认有哪些攻击界面,根据测试计划进行测试。
安全测试只关注漏洞的可利用性分析,但不关注漏洞如何被真实利用的技巧,这当中有几个因素:
成本因素:对攻击者来说,利用漏洞的收益是系统所保护的资产,所以可以投入更多的成本来研究漏洞的利用,包含时间,人员,手段。但是对安全测试来说,全部收益是客户愿意投入的成本,系统所保护的资产远大于系统开发投入,安全投入又只占系统开发投入的百分之三左右,所以从成本角度考虑,安全测试只关注评估漏洞被利用的可能性,而不应当具体去研究漏洞如何被利用且展现给客户。
视角因素:安全测试是帮助客户下降安全要挟,减少安全漏洞。本身是一种防护技巧,尽量发明安全问题并领导客户修复安全问题是要害,沿着的路径是发明安全问题->分析评估安全问题-〉提出修补建议-〉度量安全,而不是以攻击者视角发明安全问题-〉利用安全问题-〉获得非法收益的路径。对防护方最有价值的是发明问题,解决问题,而不是发明问题,利用问题。防护方关注都漏洞是否可被利用断定安全漏洞和修复级别就够了,研究再多的具体攻击利用技巧,对操作系统级别的防护是有意义的,但是对普通利用系统的开发与应用者则是无价值的。
假定因素:客户面临的风险不仅来自于外部,也可能来自于攻击者通过客户端主机的渗透(如通过对某员工笔记本挂马再接入内网的方法),还有可能来自于内部。安全要保护全面的安全,我们不能假定攻击者路径就必定处于同渗透测试一样的纯外部周密防护中,也无法假定攻击者通过时间积累社工或自身特征(员工)获取到一些信息。同时攻击利用技巧发展到现在,已经和具体利用的特征联合起来,攻击者时刻有可能发明以前我们认为低危,不好利用的漏洞的利用方法。因此安全测试关注点是业务系统在失去所有外部防护之后,自身实现的安全性,关注高笼罩的安全测试和安全度量,而不是单一的渗透测试。
当然目前,由于用户对安全的懂得还存在很多认识误区,还需要慢慢改良。
最近1个项目,用户的目标是盼望能业务系统上线之前,通过测试改良安全,用户以前的安全重要是某国际大公司供给流程咨询一套,但难以解决安全问题,因此用户盼望引入安全测试来全面提升安全,其实是很符合安全测试目标的,但是在选型之后,给予几家厂商PK的项目则是纯网站渗透测试性的,评价标准也只是在谁最后真实入侵了谁牛的标准,虽然我们也渗透成功,但是出具的报告则是针对某个页面具体的要挟分析,改良建议,没有去放置损坏性本质入侵的东西,用户反倒感到没其他做渗透测试厂商报告美丽,抓了WEBSHELL的屏,拿了敏感文件什么的,其实就和安全测试的本意就远了。
相关阅读