假定因素:客户面临的风险不仅来自于外部,也可能来自于攻击者通过客户端主机的渗透(如通过对某员工笔记本挂马再接入内网的方式),还有可能来自于内部。安全要保护全面的安全,我们不能假定攻击者路径一定处于同渗透测试一样的纯外部严密防护中,也无法假定攻击者通过时间积累社工或自身特性(员工)获取到一些信息。同时攻击利用技术发展到现在,已经和具体应用的特性结合起来,攻击者时刻有可能发现以前我们认为低危,不好利用的漏洞的利用方法。因此安全测试关注点是业务系统在失去所有外部防护之后,自身实现的安全性,关注高覆盖的安全测试和安全度量,而不是单一的渗透测试。

      当然目前,由于用户对安全的理解还存在很多认识误区,还需要慢慢改善。

      近一个项目,用户的目标是希望能业务系统上线之前,通过测试改善安全,用户以前的安全主要是某国际大公司提供流程咨询一套,但难以解决安全问题,因此用户希望引入安全测试来全面提升安全,其实是很符合安全测试目标的,但是在选型之后,给予几家厂商PK的项目则是纯网站渗透测试性的,评价标准也只是在谁后真实入侵了谁牛的标准,虽然我们也渗透成功,但是出具的报告则是针对某个页面具体的威胁分析,改进建议,没有去放置破坏性实质入侵的东西,用户反倒觉得没其他做渗透测试厂商报告漂亮,抓了WEBSHELL的屏,拿了敏感文件什么的,其实和安全测试的本意远了。当然既然用户的认识只在这个阶段,也没办法,后面的测试我们只能以渗透利用的方式去做和出报告了,但我一直在想,用户需要的是提升自身业务系统的安全,继续渗透这套方法,我们难道又要回到卖防护设备被动防护的方式吗?在给微软测试当中,我提交的报告无需去写EXP,除了MDB那个例外,因为微软认为MDB不是安全文件,我给他们说了可以利用来打IIS,但估计我拙劣的英文没让他们明白,后才以BLUEHAT上的实际演示来证明。其实技术发展到现在,安全漏洞具体怎么利用成为了一门艺术,但是漏洞理论上是否可被利用却是基本可以定性的,只要理论上可以被利用的漏洞,厂商都应该修补,因为我们不能假设攻击者不能通过深入研究达到实质可利用,厂商也没必要花费大量的成本去研究实质可利用。所以微软无需我提交EXP,只要指出是否理论可利用可以了。

      其实攻击者只要付出研究成本,大多数理论上可被利用的漏洞都是可以达到很高利用程度的,近提交了一个非常严重的安全漏洞,但对方认为这个漏洞太难利用了,因为有应用自身编码检测要求,否则无法写自己可控内容到文件;没办法,只能花了一晚上时间熬夜逆向分析,后写出了编码的代码,可以非常容易实施攻击,证实这是个极度高危的安全漏洞。但是厂商会对发现自身安全漏洞支付成本,会对发现的安全漏洞写出可利用攻击来支付成本吗?房屋安全验收员发现了房屋存在空鼓可以了,而不是非得贴上瓷砖等上2年让墙砖出现开裂、脱落的现象才能给业主证明。