一個嚴重的亂數產生器缺陷影響了數十億的物聯網設備

Myasiacloud 2021-8-11 11:12:05 發表於 國際新聞 [顯示全部樓層] 回覆獎勵 閱讀模式 0 1414


數十億物聯網 (IoT) 設備中使用的硬體亂數產生器中存在一個嚴重漏洞,該漏洞無法正確生成亂數,從而破壞IoT設備安全性並使其面臨遭受攻擊的風險。
亂數產生 ( RNG ) 是一個關鍵過程,它支撐著幾個加密應用程式,包括金鑰生成、亂數和加密。在傳統作業系統上,它源自使用從高品質種子源獲得的熵的加密安全偽亂數產生器 (CSPRNG)。對於 IoT 設備,這是由片上系統 (SoC) 提供的,該系統晶片包含一個稱為真亂數發生器 (TRNG) 的專用硬體 RNG 外設,用於從物理過程或現象中捕獲隨機性。
Bishop Fox 研究人員指出:“事實證明,當涉及到物聯網設備時,這些‘隨機’選擇的數位並不總是像您希望的那樣隨機。”“事實上,在許多情況下,設備選擇 0 或更差的加密金鑰。這可能導致任何上游使用的安全性災難性崩潰。”
研究人員指出當前調用週邊設備的方式是不正確的,並指出缺乏對錯誤代碼回應的全面檢查,導致生成的亂數不僅僅是隨機的,更糟糕的是,可預測的,導致部分熵,未初始化的記憶體,甚至包含純零的加密金鑰。
研究人員指出:“RNG 週邊設備的 HAL 功能可能會因各種原因而失敗,但迄今為止最常見(和可利用的)是設備的熵已用完。” “硬體 RNG 週邊設備通過各種方式(例如類比感測器或 EMF 讀數)將熵從宇宙中提取出來,但並不是無限供應。“它們每秒只能產生這麼多隨機位。如果你在沒有任何亂數給你的情況下嘗試調用 RNG HAL 函數,它將失敗並返回一個錯誤代碼。因此,如果設備試圖過快地獲取太多亂數,調用將開始失敗。”
這個問題是物聯網領域獨有的,因為他們缺乏一個通常帶有隨機性 API 的作業系統(例如,類 Unix 作業系統中的“ /dev/random ”或Windows 中的BCryptGenRandom),研究人員強調了更大的好處與 CSPRNG 子系統關聯的熵池,從而消除“熵源中的任何單點故障”。
儘管可以通過軟體更新來修復這些問題,但理想的解決方案是物聯網設備製造商和開發人員包含從一組不同的熵源中生成的 CSPRNG API,一個重要而複雜的功能,並確保代碼不會忽略錯誤條件或無法阻止當沒有更多的熵可用時調用 RNG。

暫無任何回文,期待你打破沉寂

你需要登入後才可以回覆 登入 | 註冊會員

本版積分規則