号称最安全的苹果TEE被黑客攻破了,怎么办?
蘋果產(chǎn)品一直以其高安全性著稱,嚴(yán)格的應(yīng)用審查制度幫助蘋果系統(tǒng)打造了一個(gè)所謂“沒有病毒的桃花源”,而獨(dú)立于系統(tǒng)之外單獨(dú)運(yùn)行在特制芯片上的“安全區(qū)(TEE - Trust Execution Environment可信執(zhí)行環(huán)境)”更是將蘋果系統(tǒng)的安全性能推上了新高度。
然而,這并不意味著蘋果建立起了一道全然堅(jiān)不可摧的安全大壩。
近日,一名為“xerub”的黑客便聲稱已經(jīng)攻破了蘋果TEE芯片“安全區(qū)”并獲取到了內(nèi)部代碼和密鑰,這意味著手機(jī)指紋識(shí)別傳感器與“安全區(qū)”之間的通信可被破譯,用戶指紋等數(shù)據(jù)可被截獲。這次被黑客攻破安全芯片并公布代碼的重大事件無疑對(duì)蘋果將是非常沉重的打擊。
有一點(diǎn)需要明確,雖然本次事件告訴大家TEE技術(shù)并非完美,且暴露出若干安全隱患,但是安全隔離運(yùn)行區(qū)的概念仍是目前最先進(jìn)的思路和最安全的模式之一。
蘋果的硬件TEE芯片是怎么工作的?
蘋果的硬件TEE安全區(qū)是設(shè)備中一個(gè)自帶操作系統(tǒng)、獨(dú)立運(yùn)行于系統(tǒng)之外的輔助處理器。該芯片搭載了蘋果特制的L4微核系列,擁有一套獨(dú)立的安全啟動(dòng),并且可以由一個(gè)與應(yīng)用處理器分開的個(gè)性化軟件升級(jí)程序升級(jí)。
(圖片來自蘋果)
在A9和后續(xù)的A系列處理器上,這枚芯片負(fù)責(zé)生成一串每個(gè)用戶獨(dú)有的UID,這串UID便是打開安全區(qū)的鑰匙。每當(dāng)一臺(tái)iPhone設(shè)備啟動(dòng)時(shí),系統(tǒng)會(huì)根據(jù)這串UID生成一段密鑰,這串密鑰會(huì)直接授權(quán)啟用安全區(qū)。當(dāng)用戶觸摸指紋識(shí)別器時(shí),處理器并不讀取數(shù)據(jù),而是將數(shù)據(jù)傳送給安全區(qū)處理。識(shí)別器與安全區(qū)之間的數(shù)據(jù)傳輸就是由安全區(qū)完成加密的。
這一過程中外界很難獲知安全區(qū)內(nèi)部的運(yùn)算邏輯和加密算法,如此一來用戶用以支付等高敏感操作的指紋信息和其他重要數(shù)據(jù)就可以說是非常安全的了。
本次事件暴露出硬件TEE的諸多隱患,其中最關(guān)鍵的一點(diǎn)就是:基于硬件的TEE環(huán)境難以做到安全指令動(dòng)態(tài)更新。
能夠?qū)崟r(shí)動(dòng)態(tài)更新的“虛機(jī)源碼保護(hù)”(軟件TEE)
虛機(jī)源碼保護(hù)其實(shí)就是軟件TEE,將安全區(qū)以軟件的形式在處理器內(nèi)打造一塊完全加密的運(yùn)行環(huán)境,使系統(tǒng)內(nèi)通信達(dá)到硬件TEE芯片級(jí)別的保護(hù),外界難于攻破。
它通過移動(dòng)威脅防控系統(tǒng)的實(shí)時(shí)監(jiān)測(cè),從而做到動(dòng)態(tài)更新,一旦原有安全區(qū)被攻破,云端系統(tǒng)可以實(shí)時(shí)下發(fā)一套全新密鑰,虛機(jī)源碼保護(hù)即可主動(dòng)防御。
如圖所示,未經(jīng)保護(hù)的系統(tǒng)中APP以明文形式運(yùn)行,和CPU之間的通信內(nèi)容也一覽無遺。而虛機(jī)源碼保護(hù)利用與硬件TEE相仿的保護(hù)思路,APP在加密環(huán)境中安全運(yùn)行。
除了動(dòng)態(tài)更新上的區(qū)別,虛機(jī)源碼保護(hù)在開發(fā)成本、數(shù)據(jù)存儲(chǔ)、部署速度上也有優(yōu)勢(shì)。
硬件TEE與虛機(jī)源碼保護(hù)方案五大區(qū)別
靈活性高:硬件TEE由于需要直接操作底層硬件芯片的接口,開發(fā)難度較高,一般面向OS系統(tǒng)開發(fā)者。上層APP開發(fā)者無法直接使用,只能通過OS封裝的接口完成特定的功能,例如指紋對(duì)比,無法根據(jù)自身需求,利用TEE芯片去保護(hù)敏感的代碼與數(shù)據(jù)。虛機(jī)源碼保護(hù)提供了靈活的防護(hù),可以根據(jù)需求,為任意一段代碼提供函數(shù)級(jí)的防護(hù),讓應(yīng)用開發(fā)者可以同樣使用高強(qiáng)度的安全防護(hù)方案。
動(dòng)態(tài)安全指令:硬件TEE芯片通過獨(dú)立的系統(tǒng)來隔離威脅,但是它所能運(yùn)行的是一組固定的指令(類似X86或ARM指令),任何固定指令集都可被逆向分析,實(shí)際上這也是常見逆向分析工具的工作原理。虛機(jī)源碼保護(hù)采用的是可變的軟件指令,即每次編譯都采用不同的指令集,這樣即使是同一份程序源碼,通過編譯也可生成不同的二進(jìn)制程序,大大增加逆向分析破解的難度。黑客即使分析出其中一套指令集,也并沒有實(shí)際意義,因?yàn)檫@只是無數(shù)指令集中的一個(gè)實(shí)例,整個(gè)方案并沒有被攻破。
數(shù)據(jù)存儲(chǔ)大:硬件TEE由于構(gòu)造、成本等原因,其內(nèi)部往往只能存儲(chǔ)少量重要數(shù)據(jù),比如少數(shù)幾枚指紋數(shù)據(jù)等。而虛機(jī)源碼保護(hù)則沒有類似限制,可被用來存儲(chǔ)重要數(shù)量、文件、照片、視頻等任何信息。
部署速度快:一款硬件TEE芯片研發(fā)完成之后,需要進(jìn)行硬件集成、軟件集成、集成測(cè)試等多個(gè)工序部署到智能手機(jī)等設(shè)備中,最終到達(dá)消費(fèi)者手中的周期更長(zhǎng),整個(gè)部署周期非常長(zhǎng)。虛機(jī)源碼保護(hù)可集成在app中,通過簡(jiǎn)單的軟件升級(jí)就能部署到終端用戶設(shè)備中,非常快捷。
升級(jí)維護(hù)方便:硬件TEE芯片及其內(nèi)部運(yùn)行的程序在出廠時(shí)被固化在智能手機(jī)等設(shè)備中,除非召回進(jìn)行硬件替換,否則無法進(jìn)行升級(jí)維護(hù)。比如,在本案例中的iPhone 5S即面臨這個(gè)問題:蘋果雖然意識(shí)到該款手機(jī)TEE出了安全問題,但也無法第一時(shí)間作出修復(fù)。而虛機(jī)源碼保護(hù)的升級(jí)與維護(hù)與普通app無異,可以方便的通過軟件更新的方式進(jìn)行升級(jí)。
綜上所述,虛機(jī)源碼保護(hù)方案的安全級(jí)別完全可以媲美硬件級(jí)的保護(hù)方案,尤其是在沒有硬件平臺(tái)支持的條件下。縱然不能像蘋果那樣大規(guī)模投入做研發(fā),可以通過虛機(jī)源碼保護(hù)方案享受同樣級(jí)別的安全。目前,頂象技術(shù)是全球能夠極少數(shù)能夠提供該方案的安全供應(yīng)商之一,其方案廣泛支持各類操作平臺(tái)及IoT設(shè)備。
作者:佚名
來源:51CTO
總結(jié)
以上是生活随笔為你收集整理的号称最安全的苹果TEE被黑客攻破了,怎么办?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python socket练习
- 下一篇: js中关于new Object时传参的一