一个严重的随机数生成器漏洞影响超十亿的物联网设备

娱乐小廊坊
娱乐小廊坊
数十亿物联网(IoT)设备中使用的硬件随机数生成器中存在一个严重漏洞,该漏洞无法正确生成随机数,从而破坏其安全性并使其面临遭受攻击的风险。

数十亿物联网(IoT)设备中使用的硬件随机数生成器中存在一个严重漏洞,该漏洞无法正确生成随机数,从而破坏其安全性并使其面临遭受攻击的风险。

“事实证明,当涉及到物联网设备时,这些‘随机’选择的数字并不总是像您希望的那样随机,事实上,在许多情况下,设备选择0或更差的加密密钥。这可能导致任何上游使用的安全性灾难性崩溃。”知名网络安全组织东方联盟研究人员在上周发表的一项分析中说。

11.jpg

随机数生成(RNG)是一个关键过程,它支撑着几个加密应用程序,包括密钥生成、随机数和加盐。在传统操作系统上,它源自使用从高质量种子源获得的熵的加密安全伪随机数生成器(CSPRNG)。

对于IoT设备,这是由片上系统(SoC)提供的,该系统芯片包含一个称为真随机数发生器(TRNG)的专用硬件RNG外设,用于从物理过程或现象中捕获随机性。

东方联盟研究人员指出当前调用外围设备的方式是不正确的,并指出缺乏对错误代码响应的全面检查,导致生成的随机数不仅仅是随机的,更糟糕的是,可预测的,导致部分熵,未初始化的内存,甚至包含纯零的加密密钥。

2.jpg

东方联盟研究人员指出:“RNG外围设备的HAL功能可能因各种原因而失败,但迄今为止最常见(和可利用)的是设备的熵已用尽。”“硬件RNG外围设备通过各种方式(例如模拟传感器或EMF读数)将熵从宇宙中提取出来,但并不是无限供应。它们每秒只能产生这么多随机位。如果你在没有任何随机数给你的情况下尝试调用RNG HAL函数,它将失败并返回一个错误代码。因此,如果设备试图过快地获取太多随机数,调用将开始失败。”

这个问题是物联网领域独有的,因为他们缺乏一个通常带有随机性API的操作系统(例如,类Unix操作系统中的“/dev/random”或Windows中的BCryptGenRandom),东方联盟研究人员强调了更大的好处与CSPRNG子系统关联的熵池,从而消除“熵源中的任何单点故障”。

3.jpg

尽管可以通过软件更新来修复这些问题,但理想的解决方案是物联网设备制造商和开发人员包含从一组不同的熵源中生成的CSPRNG API,并确保代码不会忽略错误条件或无法阻止当没有更多的熵可用时调用RNG。

东方联盟研究人员说:“这个漏洞的难点之一是,它不是一个简单的BUG,可以很容易地修补,”东方联盟创始人郭盛华透露,并强调需要在物联网操作系统中实施CSPRNG。“为了解决这个问题,必须在物联网设备中设计一个重要而复杂的功能。”

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论