0day漏洞
2010年6月,震网病毒把伊朗纳坦兹核设施的离心机干废了。不是炸掉,是让它们自己转疯、转坏。操作员盯着屏幕,一切正常。实际上,监控画面是提前录好的循环视频。这就是0day漏洞的恐怖之处——攻击发生的时候,防守方连自己正在被攻击都不知道。 0day,直译就是“第零天”。软件厂商刚发布补丁的那天叫第一天,倒推回去,漏洞被利用的时候厂商还不知道,所以叫第零天。说白了,就是一把还没有锁能挡住的钥匙。 这东西在黑市上贵得离谱。一个能远程攻破iPhone的0day,价格在250万美元以上。能突破Chrome沙箱的,100万美元起步。买的人是谁?不全是黑客。政府机构、情报部门、甚至一些专门做监控软件的公司,都是大买家。意大利那家叫Hacking Team的公司,2015年被黑之后泄露的邮件显示,他们常年从灰色市场采购各种0day,再打包卖给各国政府。讽刺的是,他们自己被黑,靠的也是一个0day。 漏洞怎么来的?写代码的人也是人。缓冲区溢出、类型混淆、权限校验遗漏——这些东西在几百万行代码里几乎是必然出现的。微软每个月第二个周二发补丁,修几十个漏洞。但那些还没被发现的呢?没人知道有多少。有人估计,光是Windows系统里,未被发现的0day可能就有几十个。这个数字你没法验证,但想想也合理。 发现0day的人面临一个选择:报告给厂商,拿一笔漏洞赏金,通常几千到几万美元;或者卖给中间人,拿几十万甚至上百万。Google的Project Zero团队每年报大量漏洞,他们不缺钱,但全世界只有一个Google。一个东欧的年轻程序员,在地下论坛上被人开价50万美元买他手里的漏洞,你觉得他会怎么选? 防守方这边基本是绝望的。你装了杀毒软件、部署了防火墙、做了入侵检测,但0day攻击不走已知特征库。它利用的是合法程序里的合法功能,只是用了一种开发者没想到的方式。传统的安全模型是“已知威胁,已知防御”,0day直接把这个模型掀翻了。你只能靠行为分析、沙箱检测这些手段去猜——猜对了是运气,猜错了就是震网。 更麻烦的是,0day一旦被用了,它就不再是0day了。安全研究者会捕获样本、分析流量、找到漏洞点,然后厂商出补丁。所以攻击者用0day的时候非常谨慎,目标越精准越好。震网只打伊朗,火焰病毒只在中东活动。一旦大面积传播,漏洞就废了。这跟子弹一样,打一颗少一颗。 那普通人怎么办?说实话,没什么好办法。你打补丁的速度永远赶不上0day被利用的速度。但有一点是确定的:软件越少、越简单,攻击面就越小。你手机上装了两百个App,每个都可能带着未知的漏洞。攻击者不需要攻破你的系统,他只需要找到你装的某个冷门App里的一个0day就够了。 这个游戏没有终局。只要还有人写代码,就会有漏洞。只要漏洞还有价,就会有人卖。攻防两端都在进化,但0day永远站在时间轴的最前面——厂商还没醒,它已经动手了。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-