日前,以色列安全公司JSOF曝出的一“波”19个物联网软件漏洞(统称Ripple20,其中四个很严重)波及全球数亿个物联网(IoT)和工业控制设备。
研究人员表示,他们将这19个漏洞命名为“Ripple20”并不是说发现了20个漏洞,而是因为这些漏洞将在2020年及以后的IoT市场中连锁引发安全风暴。更糟糕的是,研究人员指出目前发现的19个Ripple20零日漏洞可能只是冰山一角,而且攻击者的恶意代码可能会在嵌入式设备中潜伏多年。
物联网安全风暴:从打印机、胰岛素泵、智能家居再到ICS工控设备全部“中标”
Ripple20漏洞存在于一个90年代设计的软件库——物联网开发商广泛使用的,由Treck公司开发的TCP/IP软件库,用于实现轻量级的TCP/IP堆栈。在过去的20多年间,该库已经被广泛使用并集成到无数企业和个人消费者设备中。
JSOF研究实验室的研究人员称,受影响的硬件几乎无所不在,包括从联网打印机到医用输液泵和工业控制设备的海量设备。Treck的用户包括大把财富500强跨国公司,例如惠普、施耐德电气、英特尔、Rockwell Automation、Caterpillar,Baxter…以及医疗、运输、工业控制、能源(石油/天然气),电信,零售和商业等行业的许多其他主要国际供应商。
研究人员在周二的一篇文章中说:“软件库的广泛传播(及其内部漏洞)是供应链“涟漪效应”的结果。”“单个易受攻击的组件虽然影响很小,但可能会向外扩散,从而影响广泛的行业、应用程序、公司和个人。”
这些被称为Ripple20的漏洞包括四个高危远程代码执行漏洞。如果将这四个漏洞武器化,它们可使攻击者轻松接管智能设备或任何工业或医疗设备。如果设备在线连接,则可以通过互联网进行攻击;如果攻击者获得了内部网络的立足点(例如,通过受损的路由器),则可以通过本地网络进行攻击。
这四个漏洞对于僵尸网络运营商和针对性攻击都是理想的选择。考虑到Treck在整个软件领域的庞大影响,测试并修复所有系统的Ripple20漏洞应成为所有公司的首要任务。
漏洞详情
“Ripple20”包含四个高危漏洞,详情如下:
CVE-2020-11896,其CVSS v3评分为10(满分10分),可以通过将多个格式错误的IPv4数据包发送到支持IPv4隧道的设备来触发。
CVE-2020-11897的CVSS v3漏洞严重性评分也达到了10分,属于越界写入漏洞,可以通过向设备发送多个格式错误的IPv6数据包来触发。它会影响任何运行旧版支持IPv6的Treck设备,并且先前已通过例行代码更改对其进行了修复。该漏洞可能潜在地允许稳定的远程代码执行。
CVE-2020-11901的CVSS v3漏洞严重性评分9,可以通过回答设备发出的单个DNS请求来触发。它可以使攻击者绕过任何安全措施,从而渗透网络,执行代码并接管设备。
JSOF表示:
它会影响任何运行支持DNS的Treck的设备,并且我们证明了它可用于在施耐德电气的APC UPS上执行远程代码执行。在我们看来,这是最严重的漏洞,尽管CVSS评分仅为9(因为DNS请求可能会离开该设备所在的网络),但聪明的攻击者可能会使用此漏洞来通过DNS缓存中毒或其他方法从网络外部接管设备。
CVE-2020-11898,CVSS v3评分9.1,当处理未经授权的网络攻击者发送的数据包时,这是对IPv4/ICMPv4组件中的长度参数不一致错误的不当处理。它可以导致信息被公开。
其他15个漏洞的严重性评分从8.2到3.7不等。高达8.2的严重漏洞(例如CVE-2020-11900,一种可使用后使用的缺陷)到低严重性的不正确输入验证问题(例如CVE-2020-11913,严重性评分为3.7)。
JSOF表示:
其他15个漏洞的严重程度不同,CVSS评分从3.1到8.2,影响范围从拒绝服务到潜在的远程代码执行。大多数漏洞都是真正的零日漏洞,多年来,由于常规代码更改,其中有四个已被关闭,但在某些受影响的设备中仍处于打开状态(三个较低的严重性,一个较高的严重性)。由于这些年来的堆栈可配置性和代码更改,许多漏洞都有几种变体。
JSOF警告说:
有效利用漏洞可能导致许多严重后果,例如设备的远程接管和受感染网络内的横向移动。发动广播攻击可以同时接管网络中所有受影响的设备,或者隐藏在受感染的设备中以进行隐身侦察,并绕过网络地址遍历(NAT)保护。
据悉,JSOF将在8月的Black Hat USA虚拟大会上提供有关漏洞的更多详细信息。
补丁和缓解措施
安全人士指出,Ripple20漏洞的影响预计与2019年7月披露的Urgent/11漏洞类似,后者至今仍在调查中,业界至今仍在定期发现并修补新的漏洞设备。Urgent/11漏洞影响了VxWorks实时操作系统的TCP/IP(IPnet)网络堆栈,该系统是IoT和工业领域中广泛使用的另一种产品。Ripple20漏洞的修补进程可以参考Urgent/11,后者至今仍有很多产品未能修复补丁(因为产品报废、供应商停止运营、设备无法停机等原因)。
Treck本周一已经发布了补丁,供OEM使用最新的Treck堆栈版本(6.0.1.67或更高版本)。现在的主要安全挑战是如何让如此多的企业尽快修复漏洞。除了ICS CERT,CERTCC和JPCERT/CC的建议之外,英特尔和惠普也发布了警报。
JSOF分析师称:
尽管最好的方法是安装原始的Treck补丁,但在许多情况下无法安装原始补丁。因此,CERT仍在努力开发可用于最小化或有效消除Ripple20风险的替代方法。
Knudsen补充说,这属于供应链问题,因此很多受影响的产品应该能够进行自我更新,但是在IoT和工业控制领域,并非总是如此。
对于无法安装补丁程序的用户,CERT/CC和CISA ICS-CERT建议:
如果无法修补设备,则管理员应最大程度地减少嵌入式设备和关键设备的网络暴露,确保除非绝对必要,不应允许从互联网访问设备。此外,工控运营网络和设备应隔离在防火墙之后,并与任何业务网络隔离。
用户还可以采取措施阻止异常IP流量,采用抢占式流量过滤,通过安全的递归服务器或DNS检查防火墙对DNS进行标准化,或提供具有DHCP侦听等功能的DHCP/DHCPv6安全性。
研究人员总结说:
软件库传播广泛,对其进行跟踪一直是一个重大挑战。当我们追踪Treck的TCP/IP库的分布轨迹时,我们发现在过去的二十年中,这种基本的网络软件已经遍及全球。作为传播媒介,复杂的供应链提供了理想的攻击渠道,使原始漏洞几乎可以无休止地渗透和伪装。
Synopsys的高级安全策略师Jonathan Knudsen指出:
首先,安全必须集成到软件开发的每个部分:从设计过程中的威胁建模到实施过程中的自动化安全测试,软件开发的每个阶段都必须融入安全性。第二,开发软件的组织必须管理其第三方组件。Ripple20漏洞产生深远影响的主要原因是,它们是许多组织在许多产品中广泛使用的网络组件中的漏洞。每个软件开发组织必须了解他们正在使用的第三方组件,以最大程度地降低它们所代表的风险。
最后,让人担忧的是,存在漏洞的软件库不仅由设备供应商直接使用,而且还集成到大量其他软件套件中,这意味着许多公司甚至都不知道他们正在使用存在漏洞的代码。