链接漏洞
上周三凌晨两点,链接漏洞我蹲在路由器旁边刷手机,链接漏洞突然所有设备断网。链接漏洞重启之后发现,链接漏洞家里那台智能音箱的链接漏洞固件版本号变了——从2.1.3跳到了2.1.4。我没点过更新。链接漏洞翻后台日志,链接漏洞一条来自“未知设备”的链接漏洞指令在凌晨1:47分触发了自动升级,IP归属地是链接漏洞立陶宛。 这就是链接漏洞链接漏洞的典型模样。不是链接漏洞代码写错了,也不是链接漏洞密码太简单。问题出在“连接”这个动作本身——当你的链接漏洞设备信任了某个不该信任的节点,漏洞就产生了。链接漏洞 我后来查了那台音箱的链接漏洞通信协议。它每隔15秒向厂商服务器发一次心跳包,用的是明文HTTP。任何人在同一个局域网里抓包,都能看到设备ID和认证令牌。更离谱的是,升级指令的签名验证被注释掉了。开发者留了一行 你可能会说,家用设备而已。但同样的逻辑放在工业场景里,就是另一回事了。去年某汽车厂的生产线停了六小时,原因是一台机械臂的固件被推送了错误参数。攻击者没破解任何密码,只是伪造了升级服务器的DNS响应。机械臂以为自己在跟原厂通信,实际上连的是攻击者的树莓派。 链接漏洞的核心在于:系统A信任系统B,系统B信任系统C,但A和C之间没有任何验证。攻击者只需要攻破B,或者伪装成B,就能让A执行任意指令。这种信任链的传递,比单个系统的漏洞更难防。因为每个节点都觉得自己在做正确的事。 我见过最离谱的案例是一个智能门锁。它通过蓝牙跟手机App通信,App通过云端验证用户身份。攻击者写了个假App,在蓝牙配对阶段冒充门锁,骗过了手机。手机以为自己在跟门锁握手,实际上把加密密钥发给了攻击者。整个过程没有破解任何加密算法,只是利用了蓝牙配对协议里“设备名称可以任意设置”这个特性。 怎么防?我自己的做法很粗暴。智能设备单独划一个VLAN,禁止访问外网,升级走本地镜像。听起来麻烦,但比半夜被立陶宛的IP唤醒强。企业层面更复杂,需要做流量基线分析——正常的心跳包间隔是15秒,突然变成3秒,或者数据包大小从128字节跳到4KB,这些都是信号。 有个做安全的朋友跟我说过一句话:“漏洞不在代码里,在连接里。” 我越琢磨越觉得对。你写再多的输入验证、加再多的加密算法,只要信任链上有一个节点是软的,整条链就废了。而信任链的节点数量,随着物联网设备的普及,正在指数级增长。 那台音箱我最后刷了开源固件。拆开外壳的时候发现,主板上有个未焊接的调试接口,丝印写着UART。厂商留的后门,还是生产测试用的,没人知道。我用万用表测了引脚定义,接上TTL转USB,直接进了bootloader。里面有个命令叫 现在它安静了。但我知道,下一个链接漏洞已经在某个开发者的TODO列表里躺着,等着被凌晨两点的数据包唤醒。// TODO: enable signature check,三年没动过。factory_reset,执行之后会关闭所有远程管理端口。
-
上一篇
-
下一篇