前段時間,蘋果和聯(lián)邦調(diào)查局就iPhone解鎖問題引起的撕逼激起了對大家對加密技術(shù)的熱議。我們知道,加密技術(shù)一直是用來保護(hù)比特、字節(jié)安全的。對于蘋果的用戶我們不多說,但當(dāng)談到Android的個人和敏感數(shù)據(jù)的加密技術(shù)時,這些用戶則要小心了。
如果黑客使用暴力破解或稍有點耐心,Android的全磁盤技術(shù)破解起來就比想象中的要容易多了。破解后又怎樣呢?——數(shù)百萬的移動設(shè)備將受到潛在影響。
最糟糕的是:
對于當(dāng)前市場上的Android手機,可能還沒有一個完整的修復(fù)方法。
谷歌在Android 5.0及以上版本的系統(tǒng)中,出廠時就默認(rèn)了使用全磁盤加密技術(shù)。全磁盤加密技術(shù)(FDE)能阻止黑客以及相關(guān)執(zhí)法機構(gòu)訪問未被授權(quán)設(shè)備的數(shù)據(jù)。
Android的全磁盤加密技術(shù)是一項在Android設(shè)備上編碼所有用戶數(shù)據(jù)的過程,并且在此之前會將用戶的授權(quán)代碼來寫進(jìn)磁盤中。一旦加密成功,想要解密只能通過用戶輸入他設(shè)置的密碼。然而在徹底分析Android全磁盤加密技術(shù)的安裝和啟用后,一位安全人員得出結(jié)論,其實它并不像公司宣傳的那樣安全,并且亮出了他的工作代碼來證明這一點。
破解Android全磁盤加密技術(shù)
安全研究員Gal Beniamini發(fā)現(xiàn)了一個漏洞問題(CVE-2015-6639 and CVE-2016-2431),即Android設(shè)備是如何處理它的全盤加密技術(shù)的,這項發(fā)現(xiàn)也說明對攻擊者來說,獲得用戶的敏感數(shù)據(jù)權(quán)限更容易了。Beniamini這周發(fā)布了一份詳細(xì)的步驟指南,該指南包含了如何破解那些使用了高通驍龍?zhí)幚砥鞯腁ndroid手機上的加密保護(hù)技術(shù)。
完整的開發(fā)源代碼詳見Github
全磁盤加密技術(shù)用來做什么?
采用高通芯片的Android設(shè)備,在進(jìn)行磁盤加密的時候,一般僅基于用戶的密碼。不過實際上,Android系統(tǒng)會用你的密碼創(chuàng)建了一個2048位RSA強密鑰(KeyMaster),讓所有數(shù)據(jù)在關(guān)鍵密鑰的保護(hù)下偽裝起來。
高通驍龍芯片中有個TrustZone區(qū)域,能夠用來保護(hù)一些很重要的功能,像加密技術(shù)和生物識別掃描——實際上這應(yīng)該說是ARM公版設(shè)計中就有的。但是Beniamini發(fā)現(xiàn),利用Android安全漏洞,完全可以從TrustZone提取出密鑰。想起來還真是可怕,TrustZone一度被認(rèn)為是絕對安全的。
在高通驍龍芯片產(chǎn)品中,TrustZone內(nèi)會運行一個小內(nèi)核,以提供名叫QSEE的信任可執(zhí)行環(huán)境(Trusted Execution Environment)。這個環(huán)境可以讓小型App在其中運行,而非在Android操作系統(tǒng)內(nèi)運行。實際上,上面提到的KeyMaster就是個QSEE應(yīng)用。
研究人員描述了利用此Android內(nèi)核安全漏洞的細(xì)節(jié),黑客可以在上述安全環(huán)境中加載他們自己的QSEE應(yīng)用,這樣也就能夠起到提權(quán)的作用,完成QSEE空間劫持,當(dāng)然也包括全磁盤加密生成的密鑰。而攻擊者一旦拿到了密鑰,就可以實施暴力破解來獲得用戶的密碼或PIN碼,從而真正打破Android的全盤加密技術(shù)。
此外,高通或 OEM制造商們也完全可以采用上述方法,按照政府或執(zhí)法機構(gòu)的要求打破全磁盤加密技術(shù)。
Beniamini寫道:
“既然可從TrustZone中獲取密鑰,高通和OEM制造商們就很容易創(chuàng)建并簽署一份TrustZone鏡像,這份鏡像可以提取KeyMaster的密鑰,并可以將其閃存到目標(biāo)設(shè)備上。”
這將很容易允許執(zhí)法部門使用泄露的密匙,然后通過采用蠻力攻擊的辦法獲得全磁盤加密的密碼。Beniamini在他的博客上已經(jīng)提供了一部分的技術(shù)分析,如果你對Android的全磁盤加密的技術(shù)細(xì)節(jié)感興趣可以瀏覽他的博客。
盡管Beniaminni正在與高通和谷歌合作,但這個問題的核心可能不會被徹底解決,需要等到有新的硬件更新才可以。