很多重度用户都有这样一个习惯动作:登录路由器后台,看到有新固件提示,点一下更新,然后觉得网络边界已经焕然一新。厂商的网页界面和品牌包装确实看起来挺新,但翻到软件物料清单那一层,露出来的往往是一个长期没打补丁的 Linux 内核,以及一批将近五年前的开源工具库。
消费级路由器厂商把固件维护当成一件可有可无的事。即便是一台刚买来、或者刚刚更新过固件的设备,底下那层开源基础也常常老得惊人,系统性的漏洞就藏在明面上。想补上这层安全缺口,一条现成的路是刷开源固件。
固件更新了,底层却没跟上
问题出在一条断裂的软件供应链上。路由器厂商,不管是 Netgear、TP-Link、D-Link 还是其他数不清的品牌,都不自己从零写无线驱动。它们依赖的是博通、高通、联发科这类芯片巨头提供的闭源二进制 blob 和板级支持包(BSP)。
芯片厂商把驱动交给路由器厂商时,驱动是针对某个特定旧版 Linux 内核构建的,比如古老的 4.x 或者早期 5.x 分支。路由器厂商把这个构建锁死,很少愿意投入工程时间把这些专有 blob 往前移植到新内核上。结果就是路由器的核心软件架构被冻结在某个时间点。
那普通消费级路由器里到底装着哪些老掉牙的开源组件?
- 石化的 Linux 内核:不少在售的 Wi-Fi 6 路由器,用的内核多年前就停止主流支持了,现代的内存安全缓解机制和性能改进全都用不上。
- 上古用户态工具:老版本的 dnsmasq、BusyBox、iptables,加上带着废弃编译选项、静态编译产物和未修补边缘漏洞的 OpenSSL,全靠厂商往回移植补丁撑着。
这会带来实打实的安全和性能代价。当某个关键漏洞出现在 DNS 解析器或加密例程这类常见网络库上时,消费级厂商可能要花几个月才修,而且还得看它愿不愿意为那个型号修。等补丁的这段时间里,设备就处在很脆弱的状态。
硬件也可能被故意做成过时。厂商会有意终止软件支持来逼用户换硬件,把本来完全够用的网络芯片变成电子垃圾,原因只是它们的更新管线太慢,维护不下去。
自己动手,先审计再刷机
可以先把路由器的软件栈接管过来。第一步是审计现有硬件:查一下路由器底层操作系统、内核版本,以及开源许可证披露页面,看看这些信息是不是太久远了。如果组件确实很老,就该重新评估了。
接着查 OpenWRT 或第三方固件支持。研究一下自己的硬件型号是否被 OpenWRT、Asus WRT-Merlin 这类面向上游的开源固件项目支持。如果找到了受支持的更新,就可以刷了。用一套干净、活跃维护的发行版替换掉停滞的厂商软件,能拿到真正的包管理和现代 Linux 内核安全补丁。
不过,既然是依赖开源软件,就不可能覆盖所有品牌和型号。如果找不到适配自己路由器的固件,可能就该考虑换一台硬件了,尤其是设备已经过时、不再收到基础安全补丁的时候。
在消费级路由器上点一下“更新”,很多时候只是给一栋摇摇欲坠的房子刷了层新漆。真正的网络安全需要透明的、现代的软件生命周期。别只看路由器界面那些光鲜的营销菜单,去审计底下真正在跑什么,再考虑换到一个能持续更新、安全性和性能都更好的开源路由基础上。
热门跟贴