游客发表
2017年5月12日,计算机系一个叫WannaCry的统漏勒索病毒像野火一样烧遍全球。英国医院的计算机系电脑屏幕突然弹出血红色窗口,手术被迫取消;中国校园网的统漏打印机疯狂吐纸,上面印着比特币地址。计算机系最终150个国家、统漏30万台电脑中招。计算机系但最讽刺的统漏是——微软早在三个月前就发布了修复补丁,可绝大多数人根本没点“更新”那个按钮。计算机系
这就是统漏计算机系统漏洞最真实的模样:它不是黑客凭空变出的魔法,而是计算机系代码里早就存在的裂缝。你写的统漏每一行程序,本质上都是计算机系人类思维的投影。只要是统漏人就会犯错——忘了检查输入长度、搞错内存释放顺序、计算机系或者图省事用了过时的加密算法。这些错误藏在数百万行代码里,平时毫无声响,直到某个深夜被某个戴兜帽的家伙用特殊字符撬开。
漏洞分很多种。有些蠢得让人发笑,比如某知名路由器管理后台密码硬编码成“admin”,连小学生都能猜中。有些则精密得像瑞士手表,比如2014年曝出的“心脏出血”漏洞,攻击者能通过发送畸形请求,让服务器把内存里的密码、私钥、聊天记录像倒垃圾一样吐出来。那次漏洞源于一个程序员少写了一个变量检查——就一行代码的事,却让全球三分之二的HTTPS网站裸奔了两年。
别以为只有小公司才会中招。2019年,波音787客机的飞行控制系统被发现存在缓冲区溢出漏洞——理论上飞行员可以借此关闭发动机。更离谱的是,某些工控系统中的漏洞能让黑客直接操纵水坝闸门或核电站冷却系统。这些设备用的还是上世纪80年代的协议,连加密都没有,像把家门钥匙挂在门口垫子下。
为什么漏洞永远补不完?因为软件越来越复杂。一部智能手机的操作系统有超过1亿行代码,比人类基因组还多30倍。每个功能模块就像城市里纵横交错的下水道,修好一处渗漏,隔壁管道可能因为压力变化产生新裂缝。安全研究员们有个黑色幽默:写代码就像在雷区跳舞,你只能保证自己踩过的地雷不炸,但没法保证下一脚安全。
更麻烦的是,漏洞已经形成了黑市产业链。在暗网上,一个Windows零日漏洞(指厂商自己都不知道的漏洞)能卖到25万美元,比一颗反坦克导弹还贵。买家可能是国家情报机构,也可能是犯罪集团。这种军备竞赛导致一个诡异现象:安全公司拼命找漏洞,黑客组织也拼命找漏洞,而普通用户就像坐在漏水的船里,只能祈祷自己坐的位置离破洞远一点。
说到底,漏洞是人类认知局限的副产品。只要软件由人编写,它就会带着人的疏忽、侥幸和短视。你以为自己在用电脑,其实是在信任成千上万个陌生程序员在深夜敲下的每一个分号。下次系统提示“有可用更新”时,别急着点“稍后提醒”——你永远不知道这次更新,是不是在替某个粗心的同行擦屁股。
友情链接