当前位置:首页 > 综合

什么是软件的漏洞和 后门

2017年,什软WannaCry勒索病毒在几天内席卷了150多个国家,漏洞超过20万台电脑被锁死,和后医院的什软手术被迫取消,工厂的漏洞生产线停摆。造成这一切的和后,是什软Windows系统里一个已经被微软修补过的漏洞。补丁发了,漏洞但大量机器没打。和后一个已知的什软漏洞,加上一群没更新的漏洞系统,就足以让半个世界的和后IT部门连夜加班。

漏洞这件事,什软本质上不复杂。漏洞它就是和后代码里的一个错误。程序员也是人,人写的东西就会有疏漏。一段逻辑没考虑周全,一个边界条件没检查,一次内存操作越了界——这些在正常使用中可能毫无征兆,但一旦有人刻意去触发它,程序就会做出设计者完全没预料到的事。比如本该拒绝的请求被放行了,本该只读的数据被改写了,本该隔离的内存被读出了。

有人觉得漏洞是“高级黑客”才能发现的东西,离普通人很远。实际上你每天用的浏览器、聊天软件、甚至智能门锁里,都可能藏着几十个未被发现的安全缺陷。区别只在于,有没有人去找、值不值得去找。一个漏洞在黑市上能卖多少钱?取决于它影响多少设备、利用起来有多难、能拿到多高的权限。iOS的远程越狱漏洞曾经报价超过250万美元。有价就有市,有市就有人挖。

后门跟漏洞经常被混为一谈,但它们的出身完全不同。漏洞是“不小心犯的错”,后门是“故意留的门”。

最经典的后门案例发生在加密领域。上世纪90年代,美国国家安全局推动了一套叫Clipper芯片的加密方案,声称是为了保护公民通信安全,实际上芯片里嵌入了一个只有政府能调用的密钥。这个方案后来被密码学家们猛烈抨击并最终废弃,但它确立了一个范式:表面上给你加密,暗地里留一把万能钥匙。

后门的形态很多。有些是代码里一段看起来像调试接口的逻辑,输入特定字符串就能绕过认证;有些是硬件层面的,比如某些路由器固件里预置的超级账户;还有些更隐蔽——供应链攻击。你买的软件本身没问题,但它在更新过程中被劫持了,攻击者往里面塞了一段代码。2020年的SolarWinds事件就是这样,黑客入侵了软件厂商的构建系统,在正规更新包里植入后门,然后这个后门被分发给了包括美国政府部门在内的18000个客户。你信任更新机制,攻击者就利用这份信任。

漏洞和后门有一个共同点:它们都是“非预期行为”。系统设计者希望你按规矩来,但它们给了不按规矩来的人一条路。区别在于,漏洞需要被发现和利用,后门则是等着被激活。

普通人能做什么?说实话,很有限,但不是零。及时更新系统这件事,听起来像老生常谈,但它确实能挡住绝大多数已知漏洞的攻击。WannaCry的悲剧就在于,补丁提前两个月就发了。另外,对“太好用”的免费工具保持一点警惕——一个来路不明的破解软件,里面塞后门的成本几乎为零。还有,别在多个重要账户上复用同一个密码,因为一旦某个网站被拖库,攻击者会拿着你的邮箱和密码去撞其他所有平台。

安全这件事没有一劳永逸。你今天打的补丁,可能明天就被新发现的漏洞绕过。你信任的厂商,可能某天就被入侵了。漏洞和后门不会消失,因为代码是人写的,而人永远会犯错,也永远有人想走捷径。理解这一点,比记住任何具体的安全技巧都重要。

分享到: