一個(gè)嚴(yán)重的隨機(jī)數(shù)生成器漏洞影響超十億的物聯(lián)網(wǎng)設(shè)備

娛樂小廊坊
娛樂小廊坊
數(shù)十億物聯(lián)網(wǎng)(IoT)設(shè)備中使用的硬件隨機(jī)數(shù)生成器中存在一個(gè)嚴(yán)重漏洞,該漏洞無法正確生成隨機(jī)數(shù),從而破壞其安全性并使其面臨遭受攻擊的風(fēng)險(xiǎn)。

數(shù)十億物聯(lián)網(wǎng)(IoT)設(shè)備中使用的硬件隨機(jī)數(shù)生成器中存在一個(gè)嚴(yán)重漏洞,該漏洞無法正確生成隨機(jī)數(shù),從而破壞其安全性并使其面臨遭受攻擊的風(fēng)險(xiǎn)。

“事實(shí)證明,當(dāng)涉及到物聯(lián)網(wǎng)設(shè)備時(shí),這些‘隨機(jī)’選擇的數(shù)字并不總是像您希望的那樣隨機(jī),事實(shí)上,在許多情況下,設(shè)備選擇0或更差的加密密鑰。這可能導(dǎo)致任何上游使用的安全性災(zāi)難性崩潰。”知名網(wǎng)絡(luò)安全組織東方聯(lián)盟研究人員在上周發(fā)表的一項(xiàng)分析中說。

11.jpg

隨機(jī)數(shù)生成(RNG)是一個(gè)關(guān)鍵過程,它支撐著幾個(gè)加密應(yīng)用程序,包括密鑰生成、隨機(jī)數(shù)和加鹽。在傳統(tǒng)操作系統(tǒng)上,它源自使用從高質(zhì)量種子源獲得的熵的加密安全偽隨機(jī)數(shù)生成器(CSPRNG)。

對(duì)于IoT設(shè)備,這是由片上系統(tǒng)(SoC)提供的,該系統(tǒng)芯片包含一個(gè)稱為真隨機(jī)數(shù)發(fā)生器(TRNG)的專用硬件RNG外設(shè),用于從物理過程或現(xiàn)象中捕獲隨機(jī)性。

東方聯(lián)盟研究人員指出當(dāng)前調(diào)用外圍設(shè)備的方式是不正確的,并指出缺乏對(duì)錯(cuò)誤代碼響應(yīng)的全面檢查,導(dǎo)致生成的隨機(jī)數(shù)不僅僅是隨機(jī)的,更糟糕的是,可預(yù)測(cè)的,導(dǎo)致部分熵,未初始化的內(nèi)存,甚至包含純零的加密密鑰。

2.jpg

東方聯(lián)盟研究人員指出:“RNG外圍設(shè)備的HAL功能可能因各種原因而失敗,但迄今為止最常見(和可利用)的是設(shè)備的熵已用盡。”“硬件RNG外圍設(shè)備通過各種方式(例如模擬傳感器或EMF讀數(shù))將熵從宇宙中提取出來,但并不是無限供應(yīng)。它們每秒只能產(chǎn)生這么多隨機(jī)位。如果你在沒有任何隨機(jī)數(shù)給你的情況下嘗試調(diào)用RNG HAL函數(shù),它將失敗并返回一個(gè)錯(cuò)誤代碼。因此,如果設(shè)備試圖過快地獲取太多隨機(jī)數(shù),調(diào)用將開始失敗。”

這個(gè)問題是物聯(lián)網(wǎng)領(lǐng)域獨(dú)有的,因?yàn)樗麄內(nèi)狈σ粋€(gè)通常帶有隨機(jī)性API的操作系統(tǒng)(例如,類Unix操作系統(tǒng)中的“/dev/random”或Windows中的BCryptGenRandom),東方聯(lián)盟研究人員強(qiáng)調(diào)了更大的好處與CSPRNG子系統(tǒng)關(guān)聯(lián)的熵池,從而消除“熵源中的任何單點(diǎn)故障”。

3.jpg

盡管可以通過軟件更新來修復(fù)這些問題,但理想的解決方案是物聯(lián)網(wǎng)設(shè)備制造商和開發(fā)人員包含從一組不同的熵源中生成的CSPRNG API,并確保代碼不會(huì)忽略錯(cuò)誤條件或無法阻止當(dāng)沒有更多的熵可用時(shí)調(diào)用RNG。

東方聯(lián)盟研究人員說:“這個(gè)漏洞的難點(diǎn)之一是,它不是一個(gè)簡(jiǎn)單的BUG,可以很容易地修補(bǔ),”東方聯(lián)盟創(chuàng)始人郭盛華透露,并強(qiáng)調(diào)需要在物聯(lián)網(wǎng)操作系統(tǒng)中實(shí)施CSPRNG。“為了解決這個(gè)問題,必須在物聯(lián)網(wǎng)設(shè)備中設(shè)計(jì)一個(gè)重要而復(fù)雜的功能。”

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論