这25个安全漏洞被统称为 BadAlloc,是由内存分配整数溢出( Integer Overflow)或环绕错误(Wraparound)引起的。攻击者可以利用这些漏洞导致系统奔溃,并在受感染的IoT和OT系统上远程执行恶意代码。
Microsoft的研究人员在多个实时操作系统(RTOS)、C标准库(libc)实现和嵌入式软件开发工具包(SDK)里被广泛使用的标准内存分配功能中发现了这些漏洞。微软安全响应中心团队表示:作为物联网设备和嵌入式软件的一部分,多年来编写的内存分配实现并未进行适当的输入验证,导致攻击者可以利用内存分配功能来执行堆溢出,从而在目标设备上执行恶意代码。
“ BadAlloc”示例如下:
容易受到BadAlloc攻击的设备
易受BadAlloc漏洞攻击的IoT和OT设备主要在消费、医疗和工业网络上。 受影响的设备完整列表如下:
Amazon FreeRTOS 10.4.1
Apache Nuttx OS 9.1.0
ARM CMSIS-RTOS2 2.1.3之前的版本
ARM Mbed OS 6.3.0
ARM mbed-uallaoc 1.3.0
Cesanta Software Mongoose OS v2.17.0
eCosCentric eCosPro RTOS 2.0.1至4.5.3版本
Google Cloud IoT设备SDK 1.0.2
Linux Zephyr RTOS 2.4.0之前的版本
Media Tek LinkIt SDK 4.6.1之前的版本
Micrium OS 5.10.1及更低版本
Micrium uCOS II / uCOS III 1.39.0及更低版本
NXP MCUXpresso SDK 2.8.2之前的版本
NXP 浦MQX 5.1及更低版本
Redhat newlib 4.0.0之前的版本
RIOT OS 2020.01.1
Samsung Tizen RT RTOS 3.0.GBB之前的版本
TencentOS-tiny 3.1.0
德州仪器(TI)CC32XX 4.40.00.07之前的版本
德州仪器(TI)SimpleLink MSP432E4XX
德州仪器(TI)SimpleLink-CC13XX 4.40.00之前的版本
德州仪器(TI)SimpleLink-CC26XX 4.40.00之前的版本
德州仪器(TI)SimpleLink-CC32XX 4.10.03之前的版本
Uclibc-NG 1.0.36之前的版本
Windriver VxWorks 7.0之前的版本
缓解措施
目前,漏洞已经报告给了CISA与相关供应商。虽然暂时未发现相关漏洞的野外利用,但为了降低利用风险,CISA建议组织进行以下操作:
应用可用的供应商更新。
减少所有控制系统设备及其系统的网络暴露,并确保不能从Internet访问它们。
把控制系统网络和远程设备置于防火墙之后,并将其与业务网络隔离。
需要远程访问时,使用虚拟专用网(VPN)等安全方法。
如果无法立即修补易受攻击的设备,Microsoft建议:
最大程度地减少或消除易受攻击的设备在互联网上的暴露
实施网络安全监控,检测危害的行为指标;
加强网络分段以保护关键资产。
参考来源:bleepingcomputer