导语:嵌入式设备实时操作系统VxWorks中发现了11个0 day漏洞,该操作系统广泛应用于航空、国防、工业、医疗、电子、网络和其他关键行业中,预计影响超过20亿设备。
Armis Labs安全研究人员近日在目前使用最广泛嵌入式设备实时操作系统(real-time operating systems,RTOS)VxWorks中发现了11个0 day漏洞,该操作系统广泛应用于航空、国防、工业、医疗、电子、网络和其他关键行业中,预计影响超过20亿设备。
Armis Labs安全研究人员在目前使用最广泛嵌入式设备实时操作系统(real-time operating systems,RTOS)VxWorks的TCP/IP栈中发现了11个0 day漏洞,称作URGENT/11,影响v 6.5及之后版本,甚至影响13年之前的操作系统。
URGENT/11
在URGENT/11个漏洞中, 6个漏洞被分类为关键RCE漏洞,其余包括DOS、信息泄露和逻辑漏洞。URGENT/11非常严重,因为攻击者可以在没有用户交互的情况下接管设备,甚至可以绕过防火墙等安全设备。这些特征使这些漏洞可以像蠕虫般传播到其他网络中。
6个远程代码执行漏洞:
CVE-2019-12256:IPv4 options分析栈溢出漏洞
该漏洞可以通过一个精心伪造的发给目标设备的IP包触发。不需要设备上运行特定应用或配置,影响所有运行VxWorks v6.9.4及之后版本的设备。该漏洞会在处理IPv4 header IP option时引发栈溢出,最终导致RCE。
来源于TCP Urgent Pointer field处理错误导致的4个内存破坏漏洞 (CVE-2019-12255, CVE-2019-12260, CVE-2019-12261, CVE-2019-12263)
这些漏洞都是因为TCP Urgent Pointer field处理错误导致的,该域在当前应用很少使用。攻击者可以通过直接连接到目标设备的开放TCP端口或劫持来源于目标设备的出TCP连接来触发对该域的错误处理。漏洞触发后会导致目标设备上的应用接收到比原来来自recv()函数的字节更多,导致栈、堆、原来数据section变量的内存破坏。也就是说攻击者可以探测目标设备的不同TCP连接,攻击最易利用的应用。
CVE-2019-12257:ipdhcpc分析过程中DHCP Offer/ACK堆溢出漏洞
该漏洞是有漏洞的设备分析伪造的DHCP响应包时触发的堆溢出漏洞。这些包是由VxWorks内置的DHCP客户端ipdhcpc分析的。攻击者可以定位目标设备所在的子网,等待发送DHCP请求,并用伪造的DHCP响应回应。等待来自DHCP服务器的响应的目标设备很容易会被攻击者欺骗,并分析伪造的DHCP响应消息。这会导致攻击者控制的数据堆溢出并导致远程代码执行。
5个会引发DOS、信息泄露或特定逻辑漏洞的漏洞:
CVE-2019-12258:通过伪造的TCP option发起TCP连接DoS攻击
该漏洞可以通过发送含有特定TCP option的现有连接4元组队伪造的TCP包来触发漏洞,但是不知道连接的序列号,导致TCP连接被丢弃。
CVE-2019-12262:处理来路不明的逆向ARP回复(逻辑漏洞)
这是一个影响VxWorks versions 6.5及以上版本的逻辑错误,攻击者利用该漏洞可以在相同子网上通过来路不明的RARP回复包来添加多个IPv4地址给目标设备。这会破坏目标设备的路由表,引发TCP/IP应用的DoS。多次触发该漏洞会引发内存耗尽,导致在目标设备上额外的执行失败。
CVE-2019-12264:ipdhcpc DHCP客户端IPv4分配逻辑错误
该漏洞是VxWorks内置DHCP客户端ipdhcpc中的一个逻辑错误。有漏洞的设备会接受DHCP服务器分配给它的IPv4地址,即使地址不是有效的单播地址。与前面提到的RARP漏洞类似,相同子网的攻击者会迫使分配给目标设备无效的IPv4地址,这会导致错误的路由表,破坏目标设备的网络连接。另外,通过分配给目标设备多播IP地址也开启了设备IGMP相关漏洞之门。
CVE-2019-12259:IGMP分析中的空引用DoS攻击
来自本地子网的攻击者可以利用该漏洞通过发送未认证的包导致目标设备奔溃。为触发该漏洞,攻击者首先要通过伪造的DHCP响应包来为目标设备分配一个多播地址。然后发送IGMPv3成员请求包到目标设备,导致网络栈中空引用致目标设备奔溃。
CVE-2019-12265:通过IGMPv3 specific membership report泄露IGMP信息
通过CVE-2019-12264漏洞可以通过DHCP客户端漏洞来为目标设备网络接口分配一个多播地址。为触发该漏洞,攻击者可以发送IGMPv3 membership query report到目标设备。这会导致目标包堆信息泄露并通过IGMPv3 membership report发送回攻击者。
攻击场景
研究人员根据URGENT/11漏洞的攻击面将攻击场景归纳为3类,分别是:
场景1: 攻击网络防御措施
因为交换机、路由器、防火墙这样的网络和安全设备也安装VxWorks系统,所以远程攻击者可以对这些联网设备发起攻击,通过控制这些设备来实现对设备连接的网络发起攻击。
比如,目前有775,000个运行VxWorks RTOS的SonicWall防火墙设备连接着互联网。
场景2: 来自网络外部的攻击
除了攻击互联网设备外,攻击者还会尝试攻击非直接与互联网连接但是与基于云的应用进行通信的IoT设备。比如,Xerox打印机。打印机并非直接联网的,有防火墙和NAT设备对其进行保护,打印机通过这些安全设备连接到云应用中。攻击者可以拦截打印机与云端应用的TCP连接来在打印机上触发URGENT/11 RCE漏洞,并对打印机完全控制。为了拦截TCP连接,攻击者可以使用 DNSpionage恶意软件这样的技术来攻击DNS服务器并发起中间人攻击。一旦攻击者控制了网络中的设备,就可以进一步控制网络中的其他 VxWorks设备。
场景3 – 来自网络内部的攻击
一旦攻击者控制了网络内的设备,由于URGENT/11漏洞的蠕虫传播性,可以在网络中广播恶意包来入侵所有有漏洞的设备。比如,医院的病人监护器只有内网的连接权限。虽然它没有直接连接到互联网,但通过入侵网络攻击者也可以接管它。PLC也是一个很好的例子,攻击者可以利用URGENT/11漏洞来攻击有漏洞的设备,然后在内网中传播来控制整个工厂,然后进行勒索或其他恶意行为。