天天看點

一個嚴重的随機數生成器漏洞影響超10億的物聯網裝置

數十億物聯網 (IoT) 裝置中使用的硬體随機數生成器中存在一個嚴重漏洞,該漏洞無法正确生成随機數,進而破壞其安全性并使其面臨遭受攻擊的風險。

“事實證明,當涉及到物聯網裝置時,這些‘随機’選擇的數字并不總是像您希望的那樣随機, 事實上,在許多情況下,裝置選擇 0 或更差的加密密鑰。這可能導緻任何上遊使用的安全性災難性崩潰。” 知名網絡安全組織東方聯盟研究人員在上周發表的一項分析中說。

一個嚴重的随機數生成器漏洞影響超10億的物聯網裝置

随機數生成 ( RNG ) 是一個關鍵過程,它支撐着幾個加密應用程式,包括密鑰生成、随機數和加鹽。在傳統作業系統上,它源自使用從高品質種子源獲得的熵的加密安全僞随機數生成器 (CSPRNG)。

對于 IoT 裝置,這是由片上系統 (SoC) 提供的,該系統晶片包含一個稱為真随機數發生器 (TRNG) 的專用硬體 RNG 外設,用于從實體過程或現象中捕獲随機性。

東方聯盟研究人員指出目前調用外圍裝置的方式是不正确的,并指出缺乏對錯誤代碼響應的全面檢查,導緻生成的随機數不僅僅是随機的,更糟糕​​的是,可預測的,導緻部分熵,未初始化的記憶體,甚至包含純零的加密密鑰。

一個嚴重的随機數生成器漏洞影響超10億的物聯網裝置

東方聯盟研究人員指出:“RNG 外圍裝置的 HAL 功能可能因各種原因而失敗,但迄今為止最常見(和可利用)的是裝置的熵已用盡。” “硬體 RNG 外圍裝置通過各種方式(例如模拟傳感器或 EMF 讀數)将熵從宇宙中提取出來,但并不是無限供應。它們每秒隻能産生這麼多随機位。如果你在沒有任何随機數給你的情況下嘗試調用 RNG HAL 函數,它将失敗并傳回一個錯誤代碼。是以,如果裝置試圖過快地擷取太多随機數,調用将開始失敗。”

這個問題是物聯網領域獨有的,因為他們缺乏一個通常帶有随機性 API 的作業系統(例如,類 Unix 作業系統中的“ /dev/random ”或Windows 中的BCryptGenRandom),東方聯盟研究人員強調了更大的好處與 CSPRNG 子系統關聯的熵池,進而消除“熵源中的任何單點故障”。

一個嚴重的随機數生成器漏洞影響超10億的物聯網裝置

盡管可以通過軟體更新來修複這些問題,但理想的解決方案是物聯網裝置制造商和開發人員包含從一組不同的熵源中生成的 CSPRNG API,并確定代碼不會忽略錯誤條件或無法阻止當沒有更多的熵可用時調用 RNG。

東方聯盟研究人員說:“這個漏洞的難點之一是,它不是一個簡單的BUG,可以很容易地修補,” 東方聯盟創始人郭盛華透露,并強調需要在物聯網作業系統中實施 CSPRNG。“為了解決這個問題,必須在物聯網裝置中設計一個重要而複雜的功能。” (歡迎轉載分享)

繼續閱讀