注:原文来自《白帽子讲Web安全》
讨论范围限定在互联网公司,是为了避免和一些安全公司打口水战。我一向认为互联网公司的安全做到极致后,是不太需要购买安全软件或解决方案的,因为一个大的互联网公司发展到一定程度后,其规模和复杂程度决定了世界上没有哪一家安全公司能够提供这样的解决方案,一切都得自力更生。当然这句话也不是绝对的,一些非关键领域或者基础安全领域还是需要安全厂商的支持,比如防火墙设备、桌面安全设备、防DDOS设备等。
但我今天要是的是互联网公司安全的方向。我的命题是:我们今天做了什么,做得够不够,接下来我们还需要做什么?
在过去的很长时间内,无论是漏洞挖掘者还是安全专家们,都在致力于研究各种各样的漏洞,以此为代表的是OWASP每隔几年就会公布的Top 10 威胁list。所以在很长一段时间内,互联网公司的安全专家们,包括安全厂商的产品专家们,都在致力于桌意见事情:不管是产品还是方案,尽可能地消灭这些漏洞。
因此,我把互联网公司安全的第一个目标,定义为:让工程师写出的每一行代码都是安全的!
这第一个目标应该理解为互联网公司的产品安全。一个以产品(包括网站、在线服务等,在互联网公司里在线服务也被称为产品)驱动的公司,要做安全,第一件事情必然是要保证核心业务的健康发展。为了达到这个目标,微软有了SDL,基于对软件工程的改造,SDL可以帮助工程师编写出安全的代码。微软的SDL达成了“让微软的工程师写出的大部分代码都是安全的”这一目标。所以我认为SDL是伟大的创造,它在无限接近终极目标。
在这个SDL中,我们就有很多东西需要去完善,也促进了相当多的衍生技术研究和技术产品。比如代码安全扫描工具的研究,仅此一项,就涉及语法分析、词法分析、数据关联、统计学等诸多问题;再比如fuzzing,则涉及各类协议或文件格式、统计学、数据处理、调试与回溯、可重用的测试环境建设等诸多复杂问题。把每一项做精,都不是件容易的事情。
所以SDL是一项需要长期坚持和不断完善的工作。但是光有这个还无法100%保证不会出现安全问题,于是我们定义了互联网公司安全的第二个目标:让所有已知的、未知的攻击,都能在第一时间发现,并迅速报警和追踪
。
这个目标也是需要无限逼近去完成的一个宏伟目标。我目前在公司做的部分事情,就是在朝这个目标努力,所以无法再这里详谈、深谈。
光前面两个目标,就不知道需要投入多少人力、时间来努力,但我还有点不满足,所以我定义了第三个目标:让安全成为公司的核心竞争力,深入到每一个产品的特性中,能够更好地引导用户使用互联网的习惯
。
在一开始,我们使用电脑时,是不需要安装任何杀毒软件的。但是到了今天,如果一个普通用户新买了电脑,却没有安装任何的杀毒软件或者桌面保护软件,那么大家都会担心他会不会中病毒或木马。这种需求和市场,就完全是病毒和杀毒软件厂商培养和熏陶出来的。所以在今天,很多电脑生产商甚至在电脑出厂时就会预装一个杀毒软件。
前两天我去超市,看到乐事的薯片捆绑销售一盒小的番茄酱。我马上想到了肯德基和麦当劳,我不知道在它们之前是否还有别的速食食品是把薯条和番茄酱配在一起销售的,但是我认为肯德基和麦当劳改变了人们吃薯条的习惯:是要蘸着番茄酱吃的。所以乐事的薯片捆绑销售番茄酱,也可以看做是被肯德基和麦当劳做出来的需求和市场。
所以,我认为做互联网公司安全需要达成的一个目标是让安全成为深深植入产品骨髓的一个功能和特性,引导用户使用互联网的习惯,把这个需求和市场做出来。这更是一件需要长期投入和坚持的事情。
我还有最后一个目标:能够观测到整个互联网安全趋势的变化,对未来一段时间内的风险做出预警
。
这个预警的目标也是我们部门当初草创的目标之一,我至今还没有很好的头绪来想这些问题。但是这个目标反而是今天列举的这些目标中最容易达到的一个,因为已经有公司在做了,而且比较成功。比如McAfee和赛门铁克每隔一段时间都会有互联网威胁报告,国外一些组织比如SANS等也有类似的报告。腾讯这几年一直在做挂马检测方面的工作,所以他们也能在一定程度上预警挂马方面的趋势。
由于有前人的榜样,再借助大规模的客户端或者是强力搜索引擎的海量数据,要做这件事情的路线和方法还是非常清晰的,只是要想做好,还得花很多的时间和精力。
安全技术一直是依附于技术发展的,不光是技术发展开辟了新的需求安全的领域,技术发展也能给安全技术带来更多的想象空间。
比如10年前,甚至是5年前,可能我们都不需要去想手机是否需要安全这件事情。但是今天,手机安全已经成为刻不容缓的一个战场,比如前两天报道的在澳洲传播的iPhone蠕虫,这些已经是实实在在的威胁。
而手机安全反过来也促进了一些新的安全技术,比如手机认证能够起到与客户端证书类似的作用,甚至比客户端证书更进一步,因为手机不是装在电脑上的,而是放在用户的裤兜里的。类似的还有随着计算能力的提升,已经能够处理更大规模的数据,从而使得安全分析会有一些新的发展和变化,这些都是在过去不敢想象的。
在互联网公司做安全一定要有想象力,同时需要紧密关注其他技术领域的发展,这样就不会止步于几种漏洞的研究,而会发现有非常多的有趣的事情正等着去做,这是一个非常宏伟的蓝图。