昨日Forescout的安全研究人员披露了四个开源TCP/IP库中的33个安全漏洞(代号AMNESIA:33),影响150多家供应商的数百万个智能设备和工业互联网产品。
据Forescout的研究人员估计,目前发现的数百万个消费级和工业级设备受到他们发现的33个安全漏洞(其中四个是高危漏洞)的影响,几乎你能想到的所有联网/物联网设备都有可能中招:包括智能手机、游戏机、传感器、片上系统(SOC)板、HVAC系统、打印机、路由器、交换机、IP摄像机、自助结账亭、RFID资产跟踪器、证章读取器、不间断电源和各种工业设备。
33个Bug驻留在四个开源TCP/IP堆栈中
AMNESIA:33漏洞驻留在四个广泛使用的开源库中:uIP、FNET、picoTCP和Nut/Net。
在过去的二十年中,设备制造商经常在其设备的固件中添加这四个库之一,以使其产品支持TCP/IP(当今使用最广泛的网络通信协议)。
由于TCP/IP堆栈提供设备的关键功能,Forescout表示,如果被利用,这33个漏洞将使攻击者可以实施广泛的攻击,例如:
- 远程代码执行(RCE)以控制目标设备;
- 拒绝服务(DoS)会削弱功能并影响业务运营;
- 信息泄漏(infoleak)以获取潜在的敏感信息;
- DNS缓存中毒攻击,用于将设备指向恶意网站。
例如,路由器等可以连接到公司外部接口的网络设备,可以被远程利用。其他设备,例如传感器和工业设备,可能要求攻击者首先访问公司的内部网络。
从RIPPLE20到AMNESIA:33
受去年在Treck TCP/IP堆栈中发现Ripple20漏洞的启发 ,Forescout今年早些时候启动了Project Memoria项目,分析了其他七个TCP/IP堆栈(下图)的安全性,结果发现了AMNESIA:33漏洞。
“我们的分析结合使用了自动模糊测试(基于libFuzzer的白盒代码检测 )、Joern 代码查询引擎的变体搜寻指导的手动分析、漏洞的现成语料库,以及手动代码审查。”研究小组介绍道。
从以上公布的研究结果可以看出,研究小组在lwIP、uC/TCP-IP和CycloneTCP三个堆栈中未发现任何漏洞 。
研究人员补充说:“尽管这并不意味着这些堆栈中没有漏洞,但我们观察到这三个堆栈具有非常一致的边界检查,并且通常不依赖shotgun解析。”
虽然AMNESIA:33漏洞很容易发现和修补,但真正的麻烦才刚刚开始。就像Ripple20漏洞一样,设备供应商需要更新TCP/IP堆栈并将其集成到产品的更新固件中。
尽管在某些情况下(例如智能手机或网络设备)设备自带无线更新机制,漏洞的修补可能很容易,但是许多其他易受攻击的设备甚至都没有提供更新固件的功能,这意味着某些设备很可能在剩余的产品生命周期内仍然很脆弱。
在这种情况下,公司可能需要替换设备,或采取对策以防御利用AMNESIA:33漏洞的攻击。
但是,Forescout表示,检测漏洞本身也是一项艰巨的工作,因为当今许多设备都未附带软件物料清单,很多公司甚至都不知道他们正在运行的系统是否使用了四个TCP/IP堆栈中的一个。
AMNESIA:33无疑打开了物联网的潘多拉盒子,同时警告世人智能设备和物联网的生态系统仍然是一团乱麻,并且很可能在未来几年仍将是一场安全灾难。根据Forescout的说法,所有这些漏洞都可归结为不良的编码实践,例如缺乏基本的输入验证和shotgun解析,这是Ripple20和AMNESIA:33漏洞的共同核心问题。
Forescout提供了一个47页的PDF文档:
https://www.forescout.com/company/resources/amnesia33-how-tcp-ip-stacks-breed-critical-vulnerabilities-in-iot-ot-and-it-devices/
详细介绍了AMNESIA:33漏洞。以下是从这个47页的PDF文档中摘录的所有“AMNESIA:33”漏洞列表:
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】