厂商还没有进行修复的厂商漏洞,业内管它叫 0day。还没这个名字听着挺酷,有进但含义很直白:厂商知道这个漏洞存在的行修时间,恰好是漏洞漏洞0天——还没来得及出补丁,攻击者就已经下手了。厂商
我见过最典型的还没0day案例是2017年的Equifax数据泄露。黑客利用的有进是Apache Struts框架里的一个漏洞,CVE编号CVE-2017-5638。行修当时Apache官方在3月就发布了修复版本,漏洞漏洞但Equifax拖到7月才打补丁。厂商这严格来说不算0day,还没因为补丁早就有了,有进只是行修没人去装。真正的漏洞漏洞0day,是那种漏洞被公开利用时,厂商连补丁的影子都拿不出来。
比如Chrome浏览器在2021年被曝出的一个渲染引擎漏洞。谷歌安全团队在日志里发现异常请求,追踪下去发现攻击者已经利用这个漏洞在目标机器上执行了代码。从发现到确认,谷歌花了整整两周。而在这两周里,攻击者依然逍遥法外,因为没有任何补丁能堵住这个口子。
0day之所以危险,不只是因为没补丁。更麻烦的是它的交易市场。在黑市上,一个能远程控制Windows系统的0day漏洞,成交价可以到几十万美元。买家可能是网络犯罪团伙,也可能是国家级情报机构。他们买下来不是为了报告厂商,而是为了在关键时候用一次。用完之后,这个漏洞的价值就归零了——因为被攻击方会开始调查,厂商也会收到报告。
这里有个反直觉的事实:很多0day漏洞其实是厂商自己先发现的,但他们选择不立刻公开。为什么?因为补丁开发需要时间,如果提前公布漏洞细节,反而会给攻击者提供攻击指南。所以厂商会悄悄开发补丁,等测试完毕才一起发布。这个过程通常需要几周甚至几个月。在这段时间里,漏洞仍然处于"未修复"状态,但知道它存在的人极少。这种不公开的0day,安全圈叫它"私藏漏洞",比公开的0day更危险,因为没人防备。
我认识一个做渗透测试的朋友,他跟我说过一句话:0day不是技术问题,是时间差问题。厂商的研发节奏永远赶不上攻击者的研究速度。攻击者可以花几个月慢慢逆向一个软件,找它的逻辑漏洞,而厂商要同时维护几十个产品,每个产品里还有成千上万行代码。这个不对等,注定了0day永远存在。
那普通用户能怎么办?说实话,没什么好办法。你不可能自己审计所有软件的源码。但有一点值得做:关注那些更新频率高的软件——浏览器、操作系统、办公套件。因为它们一旦出0day,影响面最大。厂商通常会在几天内发布紧急补丁,这时候别嫌烦,立刻更新。你晚一天打补丁,就多暴露一天。
最后说个有点讽刺的事。有些安全研究员发现新漏洞后,会先写个利用代码自己玩几天,然后再报给厂商。按严格定义,这期间漏洞也算0day。但他们不会公开,也不拿去卖。这种行为在圈子里被称为"灰色研究",虽然不违法,但确实游走在道德边缘。厂商对此睁一只眼闭一只眼,因为至少漏洞最终会到他们手里。真正可怕的,是那些连报告都懒得写,直接拿去变现的人。
0day不会消失。只要软件还在更新,代码还在写,就总会有新漏洞冒出来。厂商能做的只是尽量缩短那个"0天"的时间窗口。而我们能做的,就是别当那个连补丁都懒得打的倒霉蛋。
顶: 39574踩: 2856






评论专区