【原創】FPGA 的 StarBleed 漏洞,真有那么可怕嗎?

winniewei 提交于 周五, 04/24/2020
【原創】FPGA 的 StarBleed 漏洞,真有那么可怕嗎?

作者:張國斌

2011年,德國魯爾大學的兩位博士花了3000美元和7個小時成功破解了Mifare DESFire MF3ICD40使用的安全算法,但這個破解在現實生活卻沒有任何價值,因為一顆RFID芯片的價值只有幾分錢,沒人傻到去花大錢去破解一個幾乎免費的芯片。

2019年,也是在魯爾大學,霍斯特·戈茨IT安全研究所兩位博士Amir Moradi和Maik Ender博士與來自Bochum Max Planck研究所的Christof Paar博士在一項聯合研究項目中驚喜地發現FPGA中隱藏了一個安全漏洞(請注意?,兩位博士用了vulnerability這個詞而不是Loophole,其實是說這是一個脆弱性,隱憂,隱患,而不完全是個漏洞,很多媒體翻譯成漏洞,姑且就這樣說吧)。他們稱這個漏洞為“ StarBleed”。他們發現,攻擊者可以利用此漏洞同時攻破FPGA配置文件的加密(confidentiality)和鑒權(authenticity),并由此可以隨意修改FPGA中實現的邏輯功能。他們稱這個漏洞并不能通過軟件補丁的方式修復,一旦某個芯片被攻破,就只能通過更換芯片的方式修復。

【原創】FPGA 的 StarBleed 漏洞,真有那么可怕嗎?

這個發現讓很多自媒體首先高潮了,以為在CPU領域的安全漏洞已經在FPGA領域重現。

但其實仔細看看這個所謂的“破解”,其所稱的影響遠沒有那么大。

首先,這次研究的是賽靈思的芯片,如果研究的是其他公司的芯片,是不是也有這個問題?肯定會有!因為破解人員用的方法就是破解FPGA的比特流文件和或獲取鑒權密鑰這是所有FPGA都用的方法!

FPGA和CPU、ASIC等相比有很大不同,FPGA只相當于一塊芯片半成品,它內部只有大量的可編程邏輯資源和一個固化的硬核IP,也不需要運行什么操作系統,開發者想要FPGA完成什么功能就把自己設計的系統邏輯導入到FPGA里,比如完成一個視頻編解碼,或者一個音頻處理等,要把自己的設計導入到FPGA里面,一般采取的方法就是通過一個“比特流(bitstream)”文件完成,它包含了FPGA設計的全部信息,一般對比特流文件的保護方式就是加密和鑒權。加密指的是使用特定算法對比特流文件進行處理,將其轉換成密文,使得其中的內容對外不可見。鑒權指的是對加密后的比特流文件進行身份驗證,防止對其進行篡改和刪減。

這次研究人員的破解就是在實驗室理想情況下先對賽靈思的FPGA比特流文件進行破解,然后破解鑒權,獲得FPGA設計信息,由于比特流文件大小不同,一次破解的時間也不同,據悉,讀出一個32位字大概需要7.9毫秒,因此破解一個Kintex FPGA的比特流就大概需要3小時42分鐘。

其次,請注意我說的是實驗室理想情況下,這是被很多人忽視的,什么條件?就是在實驗室在近距離進行破解,說穿了就好比你家里有個密碼鎖,有個賊想去破解,就蹲在你家門口進行不斷的實驗密碼,你覺得這個事情現實中可能發生嗎?

在實際應用中,沒有客戶會對外開放一個任人隨意進入的接口的。如果不是自己不加解密,不對外開放接口,就必須是在像實驗室這種物理上可以接近客戶系統的情況下才可以實現。而如果客戶可以以近距離接近系統,那安全就不只是芯片了,對吧。

所以一名賽靈思發言人對外媒表示,“要執行所謂的Starbleed攻擊,唯一被證明有效的方式是在物理位置上接近系統。當攻擊者在物理位置上接近系統時,存在許多其他的威脅需要擔心,認識到這一點也很重要我們建議所有的客戶采用篡改保護機制設計系統,以使物理位置上接近訪問難以達成。”賽靈思公司也提供了一些解決方案,詳見:

https://www.xilinx.com/support/answers/73541.html

第三,這次破解的是賽靈思20nm的產品主要是Spartan,Artix,Kintex和Virtex早期版本等,它們基本也都是10年前的產品,兩位博士也表示后續的賽靈思產品不存在這個問題。

另外,也有媒體說這次破解說明FPGA的可編程性變得不可靠了,這充分暴露了一些媒體小編的無知,簡直堪比”吃飯會噎死人所以我們以后別吃飯了“這樣的論調。FPGA的可編程性是這個產品的的最大優勢,可編程性是沒有可靠不可靠之說的,可編程性只是FPGA的一個芯片特性。如果說可編程性不可靠就等于說吃飯不可靠一樣可笑。

綜合而言,這個漏洞的影響遠沒有媒體傳言的那么大,我記得一位俄羅斯大神說過“世界上沒有破解不了的東西”,是的,任何加密設計的產品背后都是一連串的數字代碼,只要有足夠的錢足夠的時間都可以進行破解出來,關鍵是這樣的破解成本和時間價值,其實這就是一個投入和產出的經濟學問題。

安全很重要,但是安全就是一種設計和成本的妥協。

現在,疫情形勢很嚴峻,我們沒必要在這里杞人憂天,整天擔心自己的FPGA設計被破解,還是盡快開發新設計吧。

其實,每天我們用的widows系統都在被黑客破解和攻擊,我們不是還在用它嗎?

如果要查看德國博士的破解論文,請點擊閱讀原文鏈接

注:本文為原創文章,轉載請注明作者及來源

相關文章

Digi-Key