随着网络空间的规模和行动不断扩大,其与日常生活日益交织。往往在网络空间一起微小的安全事件可能带来一连串“蝴蝶效应”,譬如去年全球最大的半导体代工制造商台积电工厂意外“中毒”,造成工厂停工不说还连累了要发新品的苹果,三天亏了10亿。而这次煽动翅膀的是D-Link产品的一个漏洞。
这个D-Link 不愿修复的高危漏洞
2019年9月,集成自动化网络安全解决方案商Fortinet 的 FortiGuard Labs 发现并向官方反馈了 D-Link 产品中存在的一个未授权命令注入漏洞(FG-VD-19-117/CVE-2019-16920)。攻击者可以利用该漏洞在设备上实现远程代码执行(RCE),且无需通过身份认证。该漏洞被标记为高危级别漏洞。
在 Fortinet 的报告中,受此漏洞影响的设备型号有 DIR-655C、DIR-866L、DIR-652 和 DHP-1565。
遗憾的是,D-Link 表示这些产品已超出服务周期(EOL),厂商不会再为该问题提供补丁,换句话说,D-Link不愿为这些产品修复这个补丁。
被严重低估的影响面
然而不久前,360安全研究院团队对该漏洞进行了深入分析,提炼出漏洞识别模式后,通过自研的 FirmwareTotal 对全网二十多万的固件进行全面扫描后,发现这个D-Link不愿修复的高危漏洞,影响面被严重低估了!
发现众多疑似受漏洞影响的设备固件后,FirmwareTotal还能够进一步批量动态模拟固件、自动化执行漏洞验证POC,最终确认漏洞的存在:
最终经过360安全研究院团队验证,该漏洞背后的真相是,13个 D-Link 不同型号中的58个版本固件,都存在该漏洞。
型号
受影响版本
在确认该安全问题后,360安全研究院团队第一时间通报了厂商。日前D-Link已在安全通报中更新了漏洞影响范围(https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10124)。
这不是第一个,也不会是最后一个
类似D-Link这样的事件,不是第一个,也不会是最后一个。
过去,360安全研究院团队基于大规模固件数据做了很多的分析工作,发现第三方组件重复使用的问题在固件开发过程中非常普遍。
就如下图所示,一个第三方的库,常常被上千个固件所使用。这意味着一旦该库文件出现安全问题,将会影响成千上万的固件和相关设备。比如 openssl 的心脏滴血漏洞、 Busybox 的安全漏洞等。
大多数厂商都在他们的不同产品里共用类似的供应链代码,包括在已结束生命周期的老设备和刚发布的新设备里,往往也使用着相似的代码库。
当安全问题出现时,如果只看到老设备已停止支持,就停止脚步,而不去进一步探究新设备是否还在使用这些代码库,将会带来许多安全风险。
特别是在路由器产品之外的领域,比如自动驾驶汽车、智能医疗设备、关键基础设施设备、工业控制设备等,一旦被黑客抢先一步发现类似的潜在缺陷,将会对正在运行中的大量关键设备造成重大威胁。
在上图中是 2019 年 Busybox1.30.0 及之前版本存在的漏洞,包括 CVE-2019-5747和 CVE-2019-20679 等。有非常多的固件使用了Busybox组件,并且大部分使用的都是1.30.0之前的版本。经过360安全研究院团队从数万个固件样本中统计,96%的固件都使用了1.30.0之前的版本。
这会导致各种类型的设备都受其影响,包括与GE医疗心电图分析系统密切相关的串口设备服务器、智能楼宇的自动化控制系统设备、工控系统中的RTU控制器以及工业安全路由器等。
这本质上是一个信息不对称带来的重大安全威胁问题,通过FirmwareTotal则可以为厂商提供一种“看见的能力”,消除信息不对称,以及解决其带来的潜在威胁问题。