安卓TrustZone可信機制被“降級”攻破
當下,使用者越來越頻繁使用手機進行賬號登入和金錢交易,這也可能帶來隱私洩露及財產損失等安全隱患。面對這一現狀,手機廠商透過ARM TrustZone硬體隔離技術打造“可信執行環境”,從而實現為手機上的敏感程式和資料提供安全保護。
近日,百度安全實驗室和弗羅裡達州立大學(Florida State University)聯合研究發現,“TrustZone的底層安全系統(TZOS)和上層安全應用(Trustlet)都存在降級攻擊的風險”,包括華為、三星、Google等廠商的多款主流手機都存在這一漏洞。值得注意的是,一旦TrustZone被駭客攻破,整個手機的安全性都會受到威脅。
缺版本號驗證可致TrustZone被攻陷
可信執行環境(TEE)是硬體製造商推出了一種新型安全機制,如ARM的TrustZone,在數字世界中被廣泛應用。它有兩個獨立世界――Normal World和Secure World,Normal World中的使用者應用程式和普通作業系統是比較傳統的模式,而Secure World中的使用者應用程式和其作業系統具有專門用途。
(配圖:可信執行環境典型構造圖 )
以Android為例,諸如數字版權保護和一些登入、支付協議的加解密過程和資料均存在與Secure World中,而Secure World中的程式可以自由訪問Normal World中的內容,反之卻禁止,因此這在理論上便給攻擊者造成了攻擊難度,即使其攻陷了Normal World裡的元件,也無法偷盜或篡改TrustZone裡的內容。
然而,Trustlet和TZOS並非固化在硬體中。為了有效防止攻擊者篡改或替換Trustlet和TZOS,手機廠商會在設計上,透過包括引導載入程式(Bootloader)、可信作業系統及相應的證書或金鑰形成的信任鏈進行驗證操作,從而確保了Secure World的完整性。
但是,弗羅裡達州立大學和百度安全實驗室透過實驗發現,主流手機廠商均沒有對Trustlet和TZOS的版本號做驗證。因此,只要攻擊者拿到了手機Root許可權(攻陷Normal World),他可以用既有漏洞的Trustlet/TZOS舊版本覆蓋當前Trustlet/TZOS新版本,然後利用既有漏洞進一步攻陷TrustZone系統。
TrustZone存在降級攻擊風險可致Android使用者隱私和機密洩露
一旦ARM的TrustZone被控制,就具備發動Android TrustZone的降級攻擊條件,攻擊者可以用存在已知漏洞的版本去替換現有的版本。當Android TrustZone缺乏回滾保護機制,就會被攻擊者回滾到存在安全漏洞的舊版本。
事實上,目前的TZOS和Trustlet都存在降級攻擊的風險――攻擊者在TrustZone之外,可以用低版本TZOS/Trustlet替換當前手機上執行的版本,然後利用低版本TZOS/Trustlet的漏洞攻入TrustZone。簡單來說,如果一個過時的版本有漏洞可以利用,而漏洞在最新的版本上才被修補時,駭客仍然可以透過將最新版本的軟體降級到可利用的較低版本,從而獲得一切藏在TrustZone中使用者的賬號密碼等隱私資訊。
以Google Nexus6為例,其舊版本的DRM Trustlet存在可以讓Normal World攻擊者獲得TrustZone執行許可權的CVE-2015-6639漏洞,並且已有公開的漏洞利用程式碼。經實驗發現,儘管當手機升級之後(例如更新到N6F26Y這一編號的ROM)這一漏洞得到了修復,但擁有Root許可權的攻擊者仍然可以用舊版(例如LMY48M這一編號的ROM)中提取的Trustlet覆蓋新版Trustlet,併成功將其執行起來。一旦舊版Trustlet執行在了TrustZone裡,攻擊者即可發起既有攻擊拿到TrustZone的執行許可權。因此,即便手機進行了升級和漏洞修補,仍然沒有阻止攻擊者進入TrustZone。
類似地,針對TZOS也可以做類似的降級攻擊。研究者用舊版ROM裡提取的TZOS覆蓋了升級之後的手機裡TZOS所在分割槽,手機仍然通過了Bootloader驗證、能夠正常啟動。攻擊者可以因此攻擊TZOS的漏洞動態獲得TrustZone裡的核心許可權――這樣便獲得了一切藏在TrustZone裡的秘密和能力。
主流廠商緊急修復 TrustZone將補發補丁
截止目前,百度安全實驗室和弗羅裡達州立大學已將這項聯合研究成果提供給包括谷歌,三星,華為等在內的全球主流手機廠商。最新訊息稱,國內手機廠商華為等已針對TrustZone降級攻擊著手修復。Google Project Zero也獨立地對這一問題進行了研究和披露,希望各大Android廠商對這一問題引起重視,儘快進行全面地修復。
此外,一些手機廠商逐漸在產品上引入Security Enclave處理器,相當於在TrustZone之下引入一層額外的隔離和保護。然而,Security Enclave如果設計或實現時考慮不當,也會面臨同樣的威脅,需要廠商予以注意。