2017年5月,漏洞一个叫WannaCry的什意思勒索病毒横扫全球150多个国家。医院停诊,漏洞工厂停产,什意思加油站断网。漏洞事后调查发现,什意思它利用的漏洞漏洞,其实早在两个月前微软就发布了补丁。什意思可还是漏洞有大量电脑没打补丁,于是什意思被钻了空子。这个漏洞,漏洞在病毒爆发时,什意思就已经是漏洞个“nday”了。
“nday”是什意思安全圈的黑话,n代表任意数字。漏洞一个漏洞被厂商知晓并发布补丁后,它就变成了nday。与之相对的是“0day”——厂商和公众都还不知道,攻击者已经偷偷在用的漏洞。0day像暗器,nday像明枪。暗器难防,可明枪一旦扫射,杀伤力往往更大。
为什么?因为补丁发布的同时,也把漏洞细节公之于众。攻击者拿到补丁,反向分析,很快就能写出利用代码。这个过程有时只需要几个小时。而普通用户呢?很多人压根不知道自己用的软件有更新。就算知道,也嫌重启麻烦,或者怕更新后出兼容问题,一拖再拖。
我认识一个运维老哥,管着几百台服务器。他说最怕的不是0day,反而是nday。0day攻击面小,一般只针对特定目标。nday不一样,全网扫描,谁没打补丁谁倒霉。他给我看了后台日志,每天有成千上万的扫描流量,全是在探测已知漏洞。那些攻击脚本就像拿着万能钥匙挨家挨户试锁,总有人忘了反锁。
更讽刺的是,有些nday已经老到“掉牙”了,依然管用。比如2017年曝出的Apache Struts2远程代码执行漏洞,到2023年还在攻陷各种政府网站。这个漏洞的利用代码在网上随便就能搜到,连脚本小子都能用。厂商早就修了,可那些跑着老系统的单位,就像住在危房里的人,明知道该搬,就是不动。
nday漏洞的真正可怕之处,在于它暴露了一个残酷现实:安全的最大短板不是技术,而是人的惰性和组织的涣散。补丁管理做得好,nday就是纸老虎。做不好,nday就是定时炸弹,而且爆炸时间完全由攻击者决定。
我自己也栽过跟头。前几年用的一套开源博客系统,提醒有更新,我寻思“功能没变,不急”,拖了两周。结果那两周里,这个系统正好被爆出SQL注入漏洞,攻击者利用它删库跑路。虽然我的站没被扫到,但后怕得很。从此养成了习惯:重要系统,补丁发布48小时内必须打完。
所以你看,nday是什么意思?它其实是一面镜子,照出的是整个行业的安全卫生习惯。别总觉得黑客用的都是什么通天本领,很多时候,他们就是捡着那些没人管的nday,轻轻一推,门就开了。你问怎么防?没什么高深秘诀,勤打补丁,别懒。就这么简单。