cover_image

安全漏洞披露的演化

Sinbad 辛巴达历险记 2014年10月16日 05:21

软件是人写的,人有弱点,软件就有了漏洞。码农们没日没夜的赶进度敲代码主要是实现功能,而不是安全,所以漏洞总是存在。有人是无意发现漏洞,安全人员是主动挖漏洞,漏洞出来之后,如何披露一直是各方争议的一个话题。

在多年之前,安全漏洞的披露是Full Disclosure即全公开。当时安全不受厂商巨人们的重视,安全研究者们直接把漏洞细节完全公开,为的是给软件开发商压力,促进他们尽快修复。

漏洞细节公开了,坏人们可以立即用来做坏事也不好,于是出现了Responsible Disclosure即负责任的披露,先私下把漏洞给厂商,给一定的时间去修复,最后公开的时候是带着补丁一起的。感觉不错吧,双方都尽了保护用户的责任,这是一个双赢的局面,厂商争取到修复时间窗口,降低了直接曝光的风险,安全人员赚到了名声,公司或个人名字出现在厂商官网的致谢栏。

游戏玩久了,安全人员发现厂商占了大便宜,义务挖洞给的名声不能直接当饭吃,每个人总要make a living即赚钱养家,那么就直接把漏洞变现,因为出现了买家,需要未公开的漏洞,能做很多事。最大的买家是政府,以国家安全的名义收购未公开漏洞,用于情报收集行动,最后在适当的时候才披露给厂商去开发补丁,这个策略奥巴马是认可的。

有买卖就有市场,有公开做漏洞买卖的VUPEN和ZDI,也有地下市场的交易。有人出钱买漏洞,对改进软件安全是好还是坏呢?大量秘密的、未公开的漏洞在流传,厂商不知道也就无法开发补丁,这些漏洞一直处于未修复状态,随时可以引爆。码农如果见利忘义,在开发时故意留下漏洞,也可以卖钱。

厂商的英文单词是Vendor,靠Vending即卖东西活着,从风险管理角度,没有公开的漏洞,影响面小,风险不高,不太重视也是常理。如果要对用户的安全负责,就要去了解和分析非公开漏洞,促进编写更安全的软件。基于各家对风险的评估,应对策略是不同的。比如互联网公司的业务都跑在Internet上,带着隐私或钱,谁都可以来尝试入侵,直接影响业务,必须自己花钱买漏洞了,这就是Bug Bounty即漏洞奖励计划。

漏洞奖励计划不能和政府比,政府收购的漏洞是几十万美元的单价,涉及到基础设施组件。厂商是找了一个更加具有效率的方法,招聘一个安全人员专职挖漏洞一年至少开25万,绩效也不好衡量。不如拿出资金公开悬赏,利用群体的力量来挖漏洞,收到更多漏洞的同时,也能发现顶尖人才,再招聘回来为己所用。腾讯最近拿出100万奖金,收购微信和QQ的漏洞,开的单个价格是1万-30万。

政府也有自己挖漏洞的队伍。TOR软件能够帮助用户匿名上网不留下痕迹,这影响了政府去监控网络。据TOR的维护者说收到过一些漏洞上报,是专业人员每天看代码才能发现的漏洞,他们推测认为是政府内有人良心发现,把发现的漏洞私下发给TOR让他们修复。

一个漏洞采用哪种方式的披露,是各方角逐的结果。整个生态环境中的参与者很多,从安全研究者,到应急响应协调组织、安全产品厂商、威胁情报服务商、漏洞收集平台、政府机构、开源组织和厂商,都有着各自的利益。结果最近的几个案例来看,Heartbleed的披露仓促,Sandworm等到微软出了补丁,SSLv3还没补丁,去年的Struts则是一团糟。如何建立和谐的漏洞生态环境,让世界变得更加安全,是需要各方共同探讨和创新的话题。

(配图来自iSIGHT Partners报告:http://www.isightpartners.com/2014/10/cve-2014-4114/)

微信扫一扫
关注该公众号

继续滑动看下一个
辛巴达历险记
向上滑动看下一个