黑莓QNX嵌入式操作系统内存漏洞使设备受到攻击 影响数百万汽车、医疗设备
共 1794字,需浏览 4分钟
·
2021-08-20 13:23
黑莓正忙于解决其用于医疗设备汽车的QNX实时操作系统中的BadAlloc漏洞。
黑莓QNX实时操作系统(RTOS)的老版本存在一个重大漏洞,可能会让恶意行为者削弱并控制各种产品,包括汽车、医疗和工业设备。
该缺陷(CVE-2021-22156, CVSS评分:9.0)是更广泛的缺陷集合的一部分,统称为BadAlloc,最初是由微软在2021年4月披露的,它可能会打开许多这些设备的后门,允许攻击者占领它们或扰乱它们的操作。
美国网络安全和基础设施安全局(CISA)在周二的公告中表示:威胁行为者可以通过利用与黑莓QNX 操作系统 (OS) 相关的所谓 BadAlloc 漏洞来接管或对设备和关键基础设施发起拒绝服务攻击。截至目前,没有证据表明该漏洞被积极利用。但若企业在开发该操作系统时,进行源代码安全检测,可以及时修补可发现的安全漏洞,提高软件自身安全性。
QNX是一种实时操作系统,用于汽车、医疗设备和手机等嵌入式系统。黑莓在2010年收购Quantum Software Systems时获得了该操作系统。黑莓QNX技术在全球范围内超过1.95亿辆汽车和嵌入式系统中使用,涉及广泛的行业,包括航空航天和国防、汽车、商用车辆、重型机械、工业控制、医疗、轨道和机器人。
黑莓,在一份独立的咨询中,将该问题描述为“C运行时库的calloc()函数中的整数溢出漏洞”,影响其QNX软件开发平台(SDP)版本6.5.0SP1及更早版本,QNX OS for Medical 1.1及更早版本,以及QNX OS for Safety 1.0.1。
建议包含受影响的基于qnxx系统的物联网和OT设备制造商应用以下补丁:
QNX SDP 6.5.0 SP1 -应用补丁ID 4844或更新到QNX SDP 6.6.0或更高版本
QNX OS for Safety 1.0或1.0.1 -更新到QNX OS for Safety 1.0.2,和
QNX OS for Medical 1.0或1.1 -申请补丁ID 4846以更新到QNX OS for Medical 1.1.1
不正确的输入验证
根据微软的说法,BadAlloc 漏洞源于一个系统性问题,其中多年来作为设备和嵌入式软件的一部分编写的内存分配实现没有包含适当的输入验证。如果没有这些验证,攻击者可以利用内存分配功能来执行堆溢出,从而在目标设备上执行恶意代码。
BadAlloc错误特别归因于跨设备存在的易受攻击的内存函数的使用,例如malloc、calloc、realloc、memalign、valloc、pvalloc等。它们如此普遍的原因在于它们可以存在于设备的各个方面,包括 RTOS、嵌入式SDK和C标准库。
黑莓警告称,黑莓 QNX SDP 6.5.0SP1及更早版本、QNX OS for Medical 1.1 及更早版本以及QNX OS for Safety 1.0.1 上的漏洞没有已知的解决方法。然而,为了避免被利用,系统管理员可以通过阻止所有其他端口和协议来确保只有使用RTOS的应用程序使用的端口和协议才能访问,该公司表示。
黑莓还建议管理员遵循适合在其网络安全环境中使用QNX产品的网络分段、漏洞扫描和入侵检测最佳实践,“以防止对易受攻击的设备进行恶意或未经授权的访问。”
CISA还强烈鼓励关键基础设施组织和其他开发、维护、支持或使用受影响的基于QNX 的系统的组织与黑莓联系以获得其产品的补丁。
在OWASP TOP 10安全漏洞中,60-70%的安全漏洞类型是通过源代码静态分析技术检测出来的,如注入漏洞、跨站脚本等。黑客无时不刻在检测网络中的安全漏洞,因此建议企业在开发软件或验收时,增加对源代码安全检测这一步骤,以发现在代码中的缺陷及运行时漏洞,及时修正问题所在确保软件自身安全性,避免在后续使用中增加遭遇网络攻击的风险,同时也能将修复成本降至最低。
参读链接:
https://thehackernews.com/2021/08/badalloc-flaw-affects-blackberry-qnx.html
https://threatpost.com/blackberrys-qnx-devices-attacks/168772/