Android 開源多媒體操作系統已成為智能手機、上網本和其他眾多新興電子消費產品的重要選擇。與此同時,這些設備的安全問題——通信、數字版權管理(DRM) 和金融交易保密變得越來越重要。功能與安全通常不能兼得,Android® 就是高端產品存在安全漏洞的一個很好例證。本文將介紹如何利用ARM® TrustZoneTM 大幅提升Android 產品的安全標準,滿足市場日益增加的應用安全需求。
Android的安全:歷史回顧
早在2008年9月第一款A ndroidTM智能手機發布時,Google就高調宣稱:與其他智能手機操作系統相比,Android安全架構采用了重大創新。Android官網的原文是:“Android安全架構的設計要點是,默認情況下,任何應用程序均無權執行會對其他應用程序、操作系統或者用戶產生不利影響的操作。”
就在該款手機發布后幾天,其Web瀏覽器軟件中便發現了一個廣為人知的嚴重漏洞。Google工程師在沒有認真了解內容和來源的情況下,整體采用了數百萬條開源代碼,其中包括網絡瀏覽器。隨后在2008年11月,黑客又發現了一個更嚴重的操作系統漏洞——可在手機上安裝任意程序的方法,讓Google也不禁哀嘆:“為確保Andr oid的安全,我們確實下足了功夫,但毫無疑問,這的確是一個很大的程序缺陷,我們認為這是一個重大的安全問題,因為設備的根存取權限打破了我們的應用程序沙盒。”
如果說Google、微軟、蘋果和IBM的智能手機技術為我們的社會進步做出了巨大貢獻,恐怕一點也不為過。Android無疑是出色的多媒體平臺,各種眼花繚亂的功能和開源開發環境對技術創新和提高生產力有很大幫助。
然而,Android和其他通用多媒體操作系統(最近iOS遭黑客攻擊表明目前還沒有哪個智能手機平臺可以幸免)無法為用戶、企業和重要基礎設施供應商提供足夠的安全保障,也使他們缺乏足夠的信心,不敢輕易在智能手機應用安全關鍵型功能。更為嚴重的是,服務供應商可能已將智能手機列為高安全級別服務對象,并沒有真正意識到潛在的風險。
策略與方法
既然你的技術無法抵御全球日益兇猛的專業黑客攻擊,我們為何要將自己的數字身份和金錢托付給你?我們希望智能手機能夠實現安全的個人信息保護、移動付費、汽車遠程控制和企業重要信息處理。但現在缺少的是值得信任的安全平臺。
TrustZone簡介
對于上述難題,倒是有一套技術解決方案,這就是現代移動微處理器中一項經常被忽略且被嚴重低估的技術:ARM TrustZone。TrustZone可以實現專業的硬件系統虛擬化。
TrustZone提供了兩個區域:“正常”區域和“信任”或“安全”區域。使用Tru st Zo n e時,多媒體操作系統(即用戶通常可看到的系統)在正常區域運行,而安全關鍵型軟件則在信任區域運行(圖1)。安全區域管理員權限軟件可以訪問正常區域,但卻不允許逆向訪問。因此,正常區域實際上充當了虛擬機的角色,由信任區域中運行的系統管理程序進行控制,不過,與Intel V T等其他硬件虛擬化技術不同,如果不運行Trust Zone,正常區域客戶操作系統運行時不會額外占用資源。因此,Trust Zone解決了在低功耗器件中采用系統虛擬化技術的性能障礙(或者說是最大障礙)。
圖 1:TrustZone硬件虛擬化
TrustZone現代ARM應用處理器內核(包括A R M1176、CortexTM-A5、CortexTM-A8和 Cortex-A9)中固有的一項功能。不過,值得注意的是,并非所有使用這些內核的S o C都完全兼容Tr u st Zo n e。芯片供應商必須允許對儲存器進行安全分區,并提供全面的I/O外設中斷處理。此外,芯片供應商還必須為第三方可信任操作系統和應用程序開放安全區。目前飛思卡爾的i.MX53 (Cor texTM-A8) 和德州儀器的OMAP 4430(CortexTM-A9) 移動芯片都能支持TrustZone。
多年來,Green Hills Software公司與這些芯片供應商及其他支持TrustZone處理器的主流供應商能力合作,提供功能全面并且獲得安全認證的操作系統和軟件開發工具(SDK),為移動設備開發和安裝可信任開源應用程序提供支持。
可信任軟件可能包含加密算法、網絡安全協議(如S S L/ T L S)和密鑰材料、數字版權管理(DRM)軟件、用于可信任路徑身份輸入的虛擬鍵盤、移動支付子系統、電子身份數據,以及服務提供商、手機制造商和/或移動SoC供應商可能認為值得為之提供安全保護的其他任何資料。
除了提高安全性能外,針對移動設備的某些功能需要金融和其他重要行業的認證授權,TrustZone還能降低這些設備的開發成本,縮短產品上市時間。利用TrustZone,銀行(或認證機構)就可以將認證限制在信任區域,從而避免多媒體操作環境進行認證的復雜性(如果認證工作切實可行)。
經過認證的安全區域操作系統可以進一步降低成本和減少認證時間,原因有兩個:第一,經過認證的操作系統已經得到信任,并且認證機構可以獲取其所有設計和測試工件,這樣就無需對安全區域操作環境進行認證,從而節省了時間和成本。第二,由于安全區域是一個完整的邏輯A R M內核,操作系統可以使用其內存管理單元(M M U)分區功能將安全區域進一步劃分為元區域(圖2)。例如,銀行可能要求對用于銀行交易信息驗證和加密的加密元區域進行認證,但是銀行不會關心對多媒體DRM元區域的認證,盡管多媒體DRM元區域對整個設備來說至關重要,但由于它不用于銀行交易,因此,安全操作系統只要保證其不產生干擾就行了。
圖 2:利用TrustZone中的元區域(meta-zone)大幅減少認證時間和成本
TrustZone分離內核
TrustZone安全操作系統采用了一種稱為分離內核的架構。分離內核安全架構的原理基于高可靠性器件、嚴格隔離和器件間的信息流動控制。分離內核實際上是一個專業的實時操作系統(R TO S),可為通用型、安全關鍵型和硬實時型應用程序提供一個強大的運行環境,同時又滿足最高標準的安全保障要求。
作者:David Kleidermacher,Green Hills Software公司首席技術官
(審核編輯: 智匯小新)
分享