IBM的黑客团队在2019年9月发现了一种绕过安全检查访问数百万物联网设备中安全数据的方法;漏洞在2月2日得到修复。

2020-08-22 14:03:52

社会严重依赖技术,预计到2025年,全球使用的联网设备数量将增长到559亿台。其中许多设备跨越工业控制系统(ICS)的各个部分,这些设备影响物理世界,帮助我们在家中进行日常生活,并监控和自动化从能源使用到工作中的机器维护的一切。滥用这些系统的可能性已经引起了网络犯罪分子的注意;根据2020 IBM X-Force威胁情报指数,自2018年以来,针对这些系统的攻击增加了2000%以上。

作为他们正在进行的研究的一部分,IBM的黑客团队X-Force Red发现了一个新的物联网漏洞,可以远程利用。自2020年2月以来,制造商泰利斯公司已经向客户提供了适用于CVE2020-15858的补丁程序,X-Force Red一直在共同努力,以确保用户知道该补丁程序,并采取措施保护他们的系统。

在当今使用的数十亿智能设备中,泰利斯公司是领先的零部件制造商之一,这些零部件使它们能够连接到互联网,安全地存储信息和验证身份。泰利斯的整个产品组合每年连接超过30亿件东西,3万多个组织依赖其解决方案提供从智能电能表到医疗监测设备和汽车的各种解决方案。

然而,在2019年9月,X-Force Red在泰利斯(前身为Gemalto)的Cinterion EHS8 M2M模块中发现了一个漏洞,该模块在过去十年中用于数百万台联网设备。经过进一步测试,泰利斯公司确认此漏洞会影响EHS8同一产品线内的其他模块(BGS5、EHS5/6/8、PDS5/6/8、ELS61、ELS81、PLS62),进一步扩大了此漏洞的潜在影响。这些模块是迷你电路板,支持物联网设备中的移动通信。

更重要的是,它们存储和运行Java代码,通常包含密码、加密密钥和证书等机密信息。利用从模块窃取的信息,恶意攻击者可能会控制设备或访问中央控制网络,以进行广泛的攻击-在某些情况下,甚至可以通过3G远程进行攻击。利用这个漏洞,攻击者可能会指示智能电表切断城市的电力供应,甚至给患者过量用药,只要负责这些关键功能的设备使用的是暴露给攻击者的未打补丁的模块,例如,通过该模块启用的3G/4G连接。

EHS8模块及其系列中的其他模块旨在允许通过3G/4G网络在连接的设备之间进行安全通信。可以将此模块等同于一个值得信赖的数字密码箱,公司可以在其中安全地存储一系列秘密,如密码、凭证和操作码。此漏洞允许攻击者窃取组织机密,从而破坏该功能。

X-Force Red发现了一种绕过对未经授权用户隐藏文件或操作代码的安全检查的方法。此漏洞可使攻击者危害数百万台设备,并通过旋转到提供商的后端网络来访问支持这些设备的网络或VPN。反过来,知识产权(IP)、凭证、密码、加密密钥都可以随时提供给攻击者。换句话说,模块存储的机密信息可能不再是机密的。攻击者甚至可能抓取应用程序代码来完全更改逻辑并操纵设备。

此漏洞的潜在影响取决于使用此模块行的设备攻击者可能危害的设备。据了解,全球有数百万台设备在汽车、医疗、能源和电信行业使用该模块。

鉴于其中许多设备的危害性,有针对性的网络攻击可能会非常严重。以下是一些示例,展示了如果未打补丁的模块暴露在各种类型的设备中,攻击者可能会执行的操作:

医疗设备:操纵监测设备的读数,以掩盖有关生命体征的信息,或制造虚假恐慌。在一个根据输入提供治疗的设备中,比如胰岛素泵,网络罪犯可能会给病人过量或减量。

能源和公用事业:折衷智能电表,提供伪造的读数,从而增加或减少每月账单。通过控制网络访问一大组这样的设备,恶意攻击者还可以关闭整个城市的仪表,导致需要单独维修的大范围停电,或者更糟糕的是,损坏电网本身。

与该系列中的其他模块一样,EHS8模块由一个带有嵌入式Java ME™解释器和闪存的微处理器以及GSM、GPIO、模数转换器、数字和模拟音频、全球定位系统、I2C、串行外围接口和通用串行总线接口组成。它还提供更高级别的通信堆栈,如PPP和IP。嵌入式Java环境允许安装Java‘midlet’,以提供可定制的功能和与主机设备的交互,和/或充当主逻辑。当在基本OEM集成商级别运行时,该模块的工作方式与传统的“Hayes”调制解调器非常相似。这意味着,除了加载到系统上的Java应用程序外,还可以通过内置在电路中的物理UART连接使用‘AT’串行命令来控制它。

实际上,这意味着可以绕过Java应用程序并将控制权交还给低级别,从而允许攻击者直接控制模块。一旦控制了AT命令接口,就可以发出大量的标准命令,例如‘ATD’-拨号,或‘ATI’-显示制造商信息。还有一些配置命令和特定的命令子集,用于访问覆盖在闪存上的基本文件系统-‘AT^SFA’。这提供了对文件和子目录的读取、写入、删除和重命名。

为了方便Java环境,还有许多与Java相关的命令,其中一个命令“安装”先前上传到闪存文件系统的Java midlet。这可以有效地将Java代码复制到闪存文件系统内的“安全存储”中,理论上是“只写”的-即数据可以复制到其中,但不能读回。这样,包含其IP的OEM私有Java代码以及任何与安全相关的文件(如PKI密钥或证书)以及与应用程序相关的数据库都会受到保护,以防被第三方窃取。

但是,X-Force Red发现的漏洞允许完全读取、写入和删除隐藏区域(尽管Thales已经针对特定文件类型设置了额外的检查)。这将允许攻击者读出在系统上运行的完整Java代码(OEM midlet和Thales的主‘主’代码)以及它们可能拥有的任何其他‘隐藏’支持文件。

由于Java很容易还原成人类可读的代码,这可能会暴露任何应用程序的完整逻辑以及任何嵌入的“秘密”,如密码、加密密钥等,并使窃取IP成为一项非常简单的操作。有了这些数据,攻击者可以很容易地创建“克隆”设备,或者更令人震惊的是,修改功能以启用欺诈性或恶意活动。

上图显示了对路径子字符串中的字符数进行计数并检查第四个字符是否为点(字符数组中的第三个索引)的代码中存在漏洞的地方。在正常情况下,任何访问带有点前缀的隐藏文件的尝试都将被拒绝(例如:A:/.HIDDED_FILE)。但是,将斜杠替换为双斜杠(示例:A://.den_file)将导致条件失败,并且代码执行将跳转到与任何可打印字符匹配的字符检查循环。在第二个斜杠(系统将忽略该斜杠)之后,没有任何东西可以阻止攻击者绕过安全测试条件使用点前缀文件名。

一旦发现该漏洞,它立即报告给泰利斯,泰利斯与X-Force Red团队合作,于2020年2月测试、创建并向其客户端分发了补丁。

该补丁可以通过两种方式进行管理:一种是插入USB以通过软件运行更新,另一种是通过无线方式(OTA)进行更新。此漏洞的修补过程完全取决于设备的制造商及其功能-例如,设备是否可以访问互联网可能会使其工作变得复杂。另一点需要注意的是,设备(医疗设备、工业控制等)越受监管,应用补丁程序就越困难,因为这样做可能需要重新认证,这通常是一个耗时的过程。

我们要赞扬泰利斯公司对这一缺陷的处理,以及他们花费大量时间与客户合作,以确保他们知道补丁程序并采取措施保护他们的用户。有关CVE2020-15858的更多信息,请访问https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15858.。

考虑到此漏洞的重大潜在影响,X-Force Red提供了以下步骤来降低风险并立即解决问题:

应用补丁程序:使用受影响模块的设备制造商需要遵循泰利斯公司提供的指导,尽快提供固件更新。设备用户需要立即安装这些更新,同时还要确保他们使用的是最新版本的模块。

重新考虑您存储的内容:利用这一时刻来思考这些设备上存储了哪些信息,以及这些信息是否可以更安全地存储在其他地方。

应用行为分析实践:仅将登录凭据视为一层安全措施,并分析用户和设备以识别异常行为。这样,即使网络罪犯窃取了这些凭据,也会有机制来帮助识别和阻止它们。

确保物联网在您的安全团队的雷达上:使用威胁管理服务,如IBM Security的X-Force Threat Management for IoT,使安全团队能够更好地了解他们的环境并响应针对非托管设备的威胁。

雇佣黑客:定期对您的公司和设备进行渗透测试,以识别并帮助您修复运营中的漏洞。寻找提供广泛测试服务(包括硬件和软件测试)的团队,以确保全面覆盖您。X-Force Red提供硬件和物联网测试,可帮助您降低此特定漏洞和其他漏洞的风险。

关于该漏洞和其他研究的信息在X-Force Red的虚拟Red Con 2020活动上公布。要观看所有会话回放,请访问Red Con活动页面。