当前位置:首页 > 百科

0day漏洞是指

2010年,伊朗核设施里的离心机一台接一台地报废。不是爆炸,不是人为破坏,是控制系统里的代码在悄悄改写转速。攻击者用的不是导弹,是一个此前没人见过的漏洞——微软Windows系统里一个还没被官方发现、自然也就没有补丁的安全缺陷。这就是0day漏洞最经典的实战案例:震网(Stuxnet)病毒。

0day漏洞,字面意思是“第0天漏洞”。软件厂商知道漏洞存在的那一天是第1天,补丁发布是第N天。而在第0天,厂商根本不知道自己的代码里有个洞,攻击者却已经拿着它干活了。这个时间差就是全部价值所在。

为什么叫“0day”?早期软件破解圈有个说法叫“warez 0day”,指软件刚发布当天就被破解。安全领域借用了这个说法,指漏洞的“保鲜期”——厂商还没反应过来,防御方毫无准备。一旦厂商发布了补丁,这个漏洞就变成了“nday”,价值大打折扣,因为防御者可以打补丁了。

一个0day漏洞在黑市上值多少钱?这得看它藏在什么软件里。Chrome浏览器的0day,能卖到几十万甚至上百万美元。iOS的0day更贵,因为iPhone的沙盒机制极其严格,攻破它需要多个漏洞串联。而一个Windows远程代码执行0day,在Zerodium这类漏洞收购平台上,报价通常在10万到50万美元之间。这些数字背后是一条完整的产业链:安全研究员挖漏洞,中间商收购,政府机构或商业间谍软件公司买单。

发现0day漏洞的过程很像考古。研究员用模糊测试工具(fuzzer)向软件喂大量随机数据,观察它什么时候崩溃。崩溃了,就顺着崩溃点往回找,看是哪段代码出了问题。有时候一个0day的挖掘要花几个月,甚至几年。也有运气好的时候——比如某个程序员忘了检查数组边界,一个简单的输入就让程序执行了攻击者的代码。

防御0day?传统杀毒软件基本没用,因为它靠特征码识别已知威胁。0day没有特征码。真正有效的防线是行为监控和沙盒隔离。比如浏览器把每个标签页放在独立的沙盒里,即使一个标签页被0day攻破,攻击者也很难逃逸到系统层面。但沙盒本身也可能有漏洞,这就是为什么高级攻击往往需要多个0day配合——一个攻破沙盒,一个提权,一个持久化。

普通人需要担心0day吗?说实话,不太需要。0day是稀缺资源,攻击者不会浪费在普通人身上。他们瞄准的是记者、律师、政客、企业高管——那些有情报价值或能支付高额赎金的目标。你更可能遇到的是钓鱼邮件和弱密码,那些才是日常威胁。

但0day的存在揭示了一个尴尬的事实:我们每天用的软件,底层并不像表面看起来那么坚固。每一行代码都是人写的,人就会犯错。有些错误被发现了,有些还没有。那些还没被发现的,就是悬在所有人头顶的达摩克利斯之剑。厂商能做的,是尽量缩短从漏洞发现到补丁发布的时间窗口。而攻击者能做的,是在这个窗口关闭之前,尽可能多地利用它。

震网病毒之后,0day武器化的趋势越来越明显。NSO集团的Pegasus间谍软件、CIA的Vault 7泄露事件、各种勒索软件团伙开始购买0day——这个市场已经不再是国家行为体的专属领地。漏洞就是武器,而武器一旦被制造出来,就总会有人想用。

分享到: