高通晶元存缺陷,可破解Android全磁碟加密

前段時間,蘋果和聯邦調查局就iPhone解鎖問題引起的撕逼激起了對大家對加密技術的熱議。我們知道,加密技術一直是用來保護比特、位元組安全的。對於蘋果的用戶我們不多說,但當談到Android的個人和敏感數據的加密技術時,這些用戶則要小心了。

如果黑客使用暴力破解或稍有點耐心,Android的全磁碟技術破解起來就比想像中的要容易多了。破解後又怎樣呢?——數百萬的移動設備將受到潛在影響。

最糟糕的是:

對於當前市場上的Android手機,可能還沒有一個完整的修復方法。

谷歌在Android 5.0及以上版本的系統中,出廠時就默認了使用全磁碟加密技術。全磁碟加密技術(FDE)能阻止黑客以及相關執法機構訪問未被授權設備的數據。

Android的全磁碟加密技術是一項在Android設備上編碼所有用戶數據的過程,並且在此之前會將用戶的授權代碼來寫進磁碟中。一旦加密成功,想要解密只能通過用戶輸入他設置的密碼。然而在徹底分析Android全磁碟加密技術的安裝和啟用後,一位安全人員得出結論,其實它並不像公司宣傳的那樣安全,並且亮出了他的工作代碼來證明這一點。

破解Android全磁碟加密技術

安全研究員Gal Beniamini發現了一個漏洞問題(CVE-2015-6639 and CVE-2016-2431),即Android設備是如何處理它的全盤加密技術的,這項發現也說明對攻擊者來說,獲得用戶的敏感數據許可權更容易了。Beniamini這周發布了一份詳細的步驟指南,該指南包含了如何破解那些使用了高通驍龍處理器的Android手機上的加密保護技術。

完整的開發源代碼詳見Github

全磁碟加密技術用來做什麼?

採用高通晶元的Android設備,在進行磁碟加密的時候,一般僅基於用戶的密碼。不過實際上,Android系統會用你的密碼創建了一個2048位RSA強密鑰(KeyMaster),讓所有數據在關鍵密鑰的保護下偽裝起來。

高通驍龍晶元中有個TrustZone區域,能夠用來保護一些很重要的功能,像加密技術和生物識別掃描——實際上這應該說是ARM公版設計中就有的。但是Beniamini發現,利用Android安全漏洞,完全可以從TrustZone提取出密鑰。想起來還真是可怕,TrustZone一度被認為是絕對安全的。

在高通驍龍晶元產品中,TrustZone內會運行一個小內核,以提供名叫QSEE的信任可執行環境(Trusted Execution Environment)。這個環境可以讓小型App在其中運行,而非在Android操作系統內運行。實際上,上面提到的KeyMaster就是個QSEE應用。

研究人員描述了利用此Android內核安全漏洞的細節,黑客可以在上述安全環境中載入他們自己的QSEE應用,這樣也就能夠起到提權的作用,完成QSEE空間劫持,當然也包括全磁碟加密生成的密鑰。而攻擊者一旦拿到了密鑰,就可以實施暴力破解來獲得用戶的密碼或PIN碼,從而真正打破Android的全盤加密技術。

此外,高通或 OEM製造商們也完全可以採用上述方法,按照政府或執法機構的要求打破全磁碟加密技術。

Beniamini寫道:

「既然可從TrustZone中獲取密鑰,高通和OEM製造商們就很容易創建並簽署一份TrustZone鏡像,這份鏡像可以提取KeyMaster的密鑰,並可以將其快閃記憶體到目標設備上。」

這將很容易允許執法部門使用泄露的密匙,然後通過採用蠻力攻擊的辦法獲得全磁碟加密的密碼。Beniamini在他的博客上已經提供了一部分的技術分析,如果你對Android的全磁碟加密的技術細節感興趣可以瀏覽他的博客。

儘管Beniaminni正在與高通和谷歌合作,但這個問題的核心可能不會被徹底解決,需要等到有新的硬體更新才可以。

*參考來源:The Hacker News,NetworkWorld,FB小編Sophia編譯,轉載須註明來自FreeBuf黑客與極客(FreeBuf.COM)


推薦閱讀:

三. caffe2&pytorch之在移動端部署深度學習模型(全過程!)
在 Android 中實現 Redux 的一點經驗
從 SQLite 逐步遷移到 Room

TAG:Android | 破解 | 手机芯片 |