荷蘭拉德堡德大學的兩名研究人員日前發(fā)表論文,描述了固態(tài)硬盤流行加密軟件Bitlocker中的關(guān)鍵漏洞。固態(tài)硬盤需要口令來加密和解密其上存儲的內(nèi)容,但該口令可以被繞過。只要能接觸到設(shè)備,固態(tài)硬盤(SSD)所用加密系統(tǒng)中的漏洞可被黑客用于輕松解密數(shù)據(jù)。
固態(tài)硬盤會用其存儲的密鑰來加密和解密其上存儲的內(nèi)容,但問題在于,用于加密和解密數(shù)據(jù)的密鑰不是從用戶的口令導(dǎo)出的,也就是說,只要能拿到硬盤,通過調(diào)試端口對其重編程,就可以重設(shè)任意口令。沒錯,固態(tài)硬盤的加密設(shè)計就是這么令人無語。
兩名研究人員測試了3塊英睿達(Crucial)和4塊三星固態(tài)硬盤,發(fā)現(xiàn)它們或多或少都不能免疫上述攻擊。這幾款固態(tài)硬盤都試圖實現(xiàn) TCG Opal 加密標準,但顯然未能成功。
研究人員分析發(fā)現(xiàn)多款固態(tài)硬盤的加密都能被完全繞過,不用任何密鑰或口令就能完整恢復(fù)出數(shù)據(jù)。尤其是,固態(tài)硬盤未能將用戶的口令與實際數(shù)據(jù)加密密鑰(DEK)相關(guān)聯(lián),二者都存儲在硬盤上。固態(tài)硬盤的內(nèi)置處理器和固件都能自由使用該DEK,但只在接到正確口令的時候才選擇這么做。如果固件被人通過調(diào)試端口重編程或加以篡改,就能跳過口令驗證環(huán)節(jié)直接使用DEK。
DEK其實應(yīng)該在某種程度上出自用戶的口令。沒有口令,就沒有完整密鑰。但實際上,固態(tài)硬盤并沒有遵守這一原則。不僅如此,很多硬盤整顆盤都只用一個DEK加密——盡管這些硬盤提供不同分區(qū)使用不同口令加密的功能。
兩名研究人員表示,通過連接硬盤電路板上的調(diào)試接口,修改固件中的口令核對流程,使硬盤在獲取DEK以加密或解密設(shè)備之前可以接受任意口令,他們成功解密了多款固態(tài)硬盤上的數(shù)據(jù)。
其他案例中,研究人員可以修改硬盤固件,或利用可修改口令核驗流程的代碼注入漏洞來獲取密鑰,當然,兩種方法都需要攻擊者能物理接觸到硬盤。
在論文中,研究人員表示,有方法可以保護這些硬盤,那就是確保解密硬盤所需的秘密信息存儲在硬盤本身以外的地方。使用運行在主機上的全盤加密軟件,并在數(shù)據(jù)進入硬盤之前和離開硬盤之后用從用戶提供的口令導(dǎo)出的密鑰加密及解密數(shù)據(jù),可以幫助達成這一目標。
論文中呈現(xiàn)的結(jié)果告訴我們,不能僅依靠固態(tài)硬盤提供的硬件加密來保證機密性。依賴固態(tài)硬盤實現(xiàn)硬件加密的用戶應(yīng)再加一道全盤加密軟件解決方案,最好還是開源和經(jīng)過審計的那種。
但不幸的是,某些流行數(shù)據(jù)加密系統(tǒng),包括 Windows 10 中采用的Bitlocker工具,都沒有為固態(tài)硬盤采取軟甲加密防護,而是依賴硬盤本身脆弱的硬件加密。
密碼學大師 Matt Green 對此也沒有保留他的意見:
老實說,微軟信任這些設(shè)備來實現(xiàn)Bitlocker的舉動,真心是這家公司史上最蠢。這就好像撐把雨傘就跳飛機而不是背好降落傘再跳一樣。
某些情況下,研究人員建議用戶和管理員試試采用VeraCrypt之類的東西替代Bitlocker。
他們稱:VeraCrypt可以在操作系統(tǒng)運行時就地加密,能與硬件加密共存。而且,即便通過調(diào)整組策略設(shè)置就可以支持硬件加密,Bitlocker用戶也可以修改偏好強制實施軟件加密。
在發(fā)給媒體的電子郵件中,兩名研究人員之一寫道:
因為只懂ARM架構(gòu),我們只測試了上述幾款應(yīng)用此架構(gòu)的固態(tài)硬盤。話雖如此,TCG Opal 標準也太難以正確實現(xiàn)了。該規(guī)范的要求特別多,而且相當復(fù)雜。
一個簡單點兒的標準可以讓供應(yīng)商更好實現(xiàn),也可以保證其實現(xiàn)更加安全。從安全角度上看,應(yīng)該公開一個參考性質(zhì)的實現(xiàn),讓安全界審查其設(shè)計與實現(xiàn)。這樣一來,供應(yīng)商也就方便實現(xiàn)這些加密策略了。
我們對固態(tài)硬盤硬件加密用戶的一般性建議是,不要完全依賴當前的硬件加密技術(shù),應(yīng)采取額外的安全保護措施,比如安裝VeraCrypt軟件加密。
關(guān)于該漏洞的論文地址:
TCG Opal 加密標準地址:
https://trustedcomputinggroup.org/resource/storage-work-group-storage-security-subsystem-class-opal/