微软物联网安全研究小组公布市面上25款物联网系统内存分配漏洞,各种大家熟悉的OS全部上榜

https://us-cert.cisa.gov/ics/advisories/icsa-21-119-04
https://msrc-blog.microsoft.com/
https://os.mbed.com/blog/entry/M ... cess-vulnerability/

今早看到Mbed OS的博文,报道了这个事情,从这次公布的报告来看,受到影响的系统基本都是大家熟知的OS。

1、Azure Defender for IoT安全研究小组,最近发现了IoT和OT设备中的一系列关键内存分配漏洞,攻击者可以利用这些漏洞绕过安全控制,以执行恶意代码或导致系统崩溃。这些远程代码执行(RCE)漏洞涵盖了超过25个CVE,并可能影响从消费者和医疗IoT到工业IoT,运营技术(OT)和工业控制系统的广泛领域。这些漏洞存在于标准内存分配功能中,这些功能涵盖了广泛使用的实时操作系统(RTOS),嵌入式软件开发工具包(SDK)和C标准库(libc)实现。这些发现已通过微软安全响应中心(MSRC)和国土安全部(DHS)领导的负责人披露与供应商共享,从而使这些供应商能够调查和修补漏洞。

2、考虑到IoT和OT设备的普遍性,如果成功利用这些漏洞,则对各种组织构成巨大的潜在风险。迄今为止,微软尚未发现任何迹象表明存在利用这些漏洞的迹象。但是,强烈建议尽快修补其系统。同时,考虑到修补IoT / OT设备可能很复杂。对于无法立即打补丁的设备,建议减轻控制措施,例如:通过最小化或消除易受攻击的设备在网络上的暴露程度来减少攻击面;实施网络安全监控,以发现危害的行为指标。


3、注意,微软的Azure RTOS ThreadX在其默认配置中不易受到攻击。


1、“ BadAlloc”:通过易受攻击的内存功能运行恶意代码

“ BadAlloc”是Microsoft第52节为嵌入式IoT和OT操作系统以及软件中发现的描述此类内存溢出漏洞的漏洞家族分配的名称。所有这些漏洞源于易受攻击的内存功能的使用,例如malloc,calloc,realloc,memalign,valloc,pvalloc等。我们的研究表明,作为物联网设备和嵌入式软件的一部分,多年来编写的内存分配实施并未纳入适当的输入验证。如果没有这些输入验证,攻击者可能会利用内存分配功能来执行堆溢出,从而导致目标设备上执行恶意代码。

可以通过调用内存分配函数(例如malloc(VALUE))来调用内存分配漏洞,其中VALUE参数是从外部输入动态派生的,并且其大小足以触发整数溢出或环绕。概念如下:发送该值时,返回的结果是新分配的内存缓冲区。尽管由于卷回而分配的内存大小保持较小,但与内存分配关联的有效负载超过了实际分配的缓冲区,从而导致堆溢出。堆溢出使攻击者能够在目标设备上执行恶意代码。以下是“ BadAlloc”示例:

 

 

2、缓解“ BadAlloc”漏洞

对于具有IoT和OT设备的组织,我们建议采取以下缓解措施:

补丁程序:
请遵循供应商的说明,将补丁程序应用到受影响的产品。

如果您无法打补丁,请监控:
由于大多数旧式IoT和OT设备均不支持代理,因此请使用支持IoT / OT的网络检测和响应(NDR)解决方案(例如适用于IoT的Azure Defender)和SIEM / SOAR解决方案(例如Azure Sentinel)来自动发现并持续监控设备异常或未经授权的行为,例如与陌生的本地或远程主机进行通信。这些是实施IoT / OT零信任策略的基本要素。

减少攻击面
通过消除到OT控制系统的不必要的互联网连接,并在需要远程访问时使用多因素身份验证(MFA)来实现VPN访问。DHS警告说,VPN设备也可能存在漏洞,应将其更新为可用的最新版本。

网络分段
网络分段对于零信任非常重要,因为它会限制攻击者在初始入侵之后横向移动并破坏您的皇冠上的宝石资产的能力。特别是,应使用防火墙将物联网设备和OT网络与公司IT网络隔离。

 


安全漏洞的OS和C库
(1)Amazon FreeRTOS, Version 10.4.1
(2)Apache Nuttx OS, Version 9.1.0
(3)ARM CMSIS-RTOS2, versions prior to 2.1.3
(4)ARM Mbed OS, Version 6.3.0
(5)ARM mbed-uallaoc, Version 1.3.0
(6)Cesanta Software Mongoose OS, v2.17.0
(7)eCosCentric eCosPro RTOS, Versions 2.0.1 through 4.5.3
(8)Google Cloud IoT Device SDK, Version 1.0.2
(9)Linux Zephyr RTOS, versions prior to 2.4.0
(10)Media Tek LinkIt SDK, versions prior to 4.6.1
(11)Micrium OS, Versions 5.10.1 and prior
(12)Micrium uCOS II/uCOS III Versions 1.39.0 and prior
(13)NXP MCUXpresso SDK, versions prior to 2.8.2
(14)NXP MQX, Versions 5.1 and prior
(15)Redhat newlib, versions prior to 4.0.0
(16)RIOT OS, Version 2020.01.1
(17)Samsung Tizen RT RTOS, versions prior 3.0.GBB
(18)TencentOS-tiny, Version 3.1.0
(19)Texas Instruments CC32XX, versions prior to 4.40.00.07
(20)Texas Instruments SimpleLink MSP432E4XX
(21)Texas Instruments SimpleLink-CC13XX, versions prior to 4.40.00
(22)Texas Instruments SimpleLink-CC26XX, versions prior to 4.40.00
(23)Texas Instruments SimpleLink-CC32XX, versions prior to 4.10.03
(24)Uclibc-NG, versions prior to 1.0.36
(25)Windriver VxWorks, prior to 7.0

当前漏洞修复进展

posted @ 2021-05-07 18:16  硬汉嵌入式  阅读(170)  评论(0编辑  收藏  举报