当前位置:首页 > 热点

任何漏洞

2017年,任何漏洞WannaCry勒索病毒横扫全球,任何漏洞150个国家的任何漏洞20多万台电脑被锁死。黑客利用的任何漏洞,是任何漏洞Windows系统里一个叫EternalBlue的漏洞。这个漏洞原本是任何漏洞美国国家安全局自己发现的,囤了五年没公开,任何漏洞结果被黑客组织偷走,任何漏洞改成了武器。任何漏洞微软其实在两个月前就发了补丁,任何漏洞但很多人没更新。任何漏洞英国有几十家医院的任何漏洞系统瘫痪,手术取消,任何漏洞病人转院。任何漏洞一个漏洞,任何漏洞让整个医疗体系差点崩掉。

漏洞这东西,听起来像技术术语,说白了就是“没想到”。写代码的人没想到有人会从这个角度输入数据,没想到两个看似无关的功能凑一起会出事,没想到用户会这么操作。任何系统只要足够复杂,就一定有没想到的地方。这不是能力问题,是复杂度问题。

我认识一个做渗透测试的朋友,他的工作就是专门找漏洞。有次他跟我说,他进一家公司的内网只花了二十分钟。不是因为他技术多牛,而是那家公司把测试环境的数据库密码写在了员工手册的附录里,而员工手册挂在官网上。他说这话的时候在笑,但笑完补了一句:“其实每个公司都这样,只是没人去看。”

漏洞不全是技术层面的。2018年,Facebook爆出剑桥分析丑闻,8700万用户数据被第三方应用拿走。问题出在API的设计上——用户授权某个小测试应用后,这个应用不仅能拿到自己的数据,还能拿到好友的数据。这个设计在2007年上线时没人觉得有问题,因为那时候大家觉得“好友之间分享信息很正常”。十一年后,这个“正常”变成了史上最大的数据泄露事件之一。

人类对漏洞的态度很分裂。一方面,我们依赖的系统越来越复杂,漏洞必然越来越多。另一方面,我们总假设系统是完美的,直到它出事。飞机自动驾驶系统被曝出有漏洞时,波音说“飞行员可以手动接管”,但模拟测试显示,留给飞行员的反应时间只有几秒。几秒,够干什么?

更麻烦的是,补漏洞这件事本身也会制造新漏洞。微软每个月发安全更新,有些更新装完,打印机不能用了,或者某个老软件直接崩溃。IT管理员最怕的就是“补丁星期二”,因为总有人要加班。这就像修一堵墙,补了东边的洞,西边的砖松了。

我有时候想,漏洞这个词本身就带着一种错觉——好像系统本来应该是密不透风的,只是不小心破了个口子。但真实情况是,任何系统都是一堆妥协的产物。时间不够,预算不够,需求变来变去,代码越堆越厚。漏洞不是意外,是常态。区别只在于,有些漏洞被人发现了,有些还没有。

那个做渗透测试的朋友后来转行了,去了一家做安全审计的公司。我问他为什么,他说:“找漏洞太容易了,没意思。难的是让人相信他们有问题。”他说很多客户拿到报告后的第一反应是质疑:“这个路径我们内部测试过,不可能。”然后他就现场演示一遍,对方就不说话了。

漏洞不会消失。它只会换地方。今天你修好了SQL注入,明天可能栽在供应链攻击上。你加固了服务器,员工把密码贴在显示器边框上。任何系统都是人做的,人就会犯错,犯错就有漏洞。我们能做的,大概就是别假装它不存在。

分享到: