<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式系統(tǒng)安全性(下) 對攻擊狀況和防衛(wèi)策略的概述和分析

          嵌入式系統(tǒng)安全性(下) 對攻擊狀況和防衛(wèi)策略的概述和分析

          作者:Frank Altschuler 和 Bruno Zoppis, Trango Virtual Processors公司 時間:2008-07-08 來源:電子產(chǎn)品世界 收藏

          技術

            是一種將軟件和硬件相結合為消費者產(chǎn)品提供安全保護的技術9,10,11。在硬件方面,特殊的具有“安全意識”的存儲器包裹層(wrapper),系統(tǒng)總線,調試端口,及中斷控制器都被集成到了SOC中。另外,為CPU結構和核心增加了一個新的安全監(jiān)控模式。

            在軟件方面,一個從受信任的邏輯提供的安全監(jiān)控器,在新的安全監(jiān)控模式下運行,并擔當安全與不安全狀態(tài)之間的看門監(jiān)控任務。當操作系統(tǒng)調用指令(安全監(jiān)控中斷或SMI)時,安全監(jiān)控器受到了控制,與此同時,處理器獲得了額外層次的特權以運行受到信任的代碼,并通過嵌入已知有安全意識的外設的安全審核位或“S-位”,來控制對受到信任的資源的訪問。對安全存儲器的訪問是通過使用MMU和TLB中的安全位標記符和“S-位標記符”來控制的。這些標志被用來將存儲器劃分為安全區(qū)和不安全區(qū)。安全監(jiān)控器通過將中斷分為安全和不安全兩類,來進一步增強安全性,并實現(xiàn)斷開/連接調試端口的能力。

            TrustZone技術,已被用來保護在芯片上或不在芯片上的存儲器和外圍設備免受軟件攻擊。通過對系統(tǒng)的精心設計,TrustZone可以額外地提供安全措施以抵抗一些硬件攻擊。例如,將可信的代碼放入SoC內(nèi)部存儲器,并保證置于外部存儲器的硬件表 walker列表不能指向內(nèi)部存儲器或敏感程序(TLB的再次寫入會失敗)。因此,有進入外部存儲器的許可并不能提供進入敏感資源的許可。

            TrustZone為操作系統(tǒng)在無安全狀態(tài)下的運行提供了二進制兼容性。如果操作系統(tǒng)需要與安全區(qū)域的應用程序進行交流,就必須寫擴展名。同樣的,在無TrustZone的平臺上處于特權模式的一些可以被訪問的寄存器, 一旦在TrustZone.內(nèi)運行時,可以被強迫處于特權/不可信模式。

            然而,這種方法一個潛在的缺點是TrustZone僅提供兩種環(huán)境。一般的應用程序需要三種或更多:一個操作系統(tǒng)核(如RTOS)、一個用于處理DRM或其它安全處理要求的安全內(nèi)核,以及“豐富的操作系統(tǒng)”—用于控制用戶的界面(一般包括Windows Mobile、Symbian、Linux等)。如圖5所示的小型終端交互操作平臺(STIP)應用12是一類安全付款的方式。正如圖中所示的那樣,它被保護起來,免受任何在壁壘的“正常”一側所發(fā)生的入侵行為影響,該壁壘是受控于安全監(jiān)測器。

            很多方案的一個關鍵目標是減少材料單成本。許多OEM的發(fā)展動力,則是確保了單獨的處理器有足夠的CPU馬力來容納大量功能。在理想情況下,一個CPU可以同時運行無線工作棧、應用操作系統(tǒng),及安全應用軟件(DRM,還款應用)。將無線工作棧置于特權安全模式下,則產(chǎn)生容易遭受在外部存儲器上發(fā)生的硬件攻擊的弱點,并大大地增大了可信代碼基(TCB)的尺寸,其原因可以由如下的例子來說明:一個3G GSM堆棧普遍有幾兆大小,比普通的SOC內(nèi)部存儲器要大很多。這就使得設計只能在如下兩個方面進行選擇:通過將GSM堆棧與應用操作系統(tǒng)集成到一起,使得它能夠在正常模式下運行,或是在第三種執(zhí)行環(huán)境中運行它,這種特性是TrustZone所不具有的。

            所以TrustZone能夠很好地保護硬件,但是卻不能為很多系統(tǒng)級的應用程序管理其安全區(qū)域。一個獨立的系統(tǒng)管理程序可以提供一定程度的、針對軟件攻擊的防護力,可以讓開發(fā)者生成多種執(zhí)行環(huán)境,但它在防范硬件攻擊方面只采取了很少的措施。不過,把這兩者組合起來,就可以產(chǎn)生一種對兩個領域來說都是最佳的選擇。

            正如圖6所示的那樣,一個以監(jiān)控模式運行的系統(tǒng)管理程序,可以取代TrustZone安全監(jiān)控器以及圖5所示的安全內(nèi)核的位置。所有其他軟件組件都被推入用戶空間中,于是特權模式實際上并未被使用。

          本文引用地址:http://www.ex-cimer.com/article/85412.htm


          圖5  TrustZone架構概覽


          圖6   帶有系統(tǒng)管理程序的TrustZone

            這種方式的優(yōu)點是,具有運行大量虛擬機的能力,其中一些有安全區(qū),另一些有不被保護的區(qū)域。所以,在這種方法中,GSM堆??梢栽谒约旱挠蛑羞\行,但是當它在用戶態(tài)模式下運行時,如果堆棧被攻擊,對黑客公開的資源僅限于那些在引導時就被賦予的資源。STIP應用程序在有墻壁保護且安全的區(qū)域是安全的。

            系統(tǒng)管理程序精心地管理著對SOC內(nèi)部的硬件資源的訪問,以保證所有可信的數(shù)據(jù)和應用程序仍存在于合適的安全區(qū)域。敏感資源受益于TrustZone所提供的硬件保護,而對安全性來說不那么關鍵的虛擬機,例如容納GSM堆棧的虛擬機,可以在外部存儲器運行。

          技術處理器

            為具有安全保護的應用程序提供4KSd13內(nèi)核。這個核心包括應用專用的擴展——以改進加密算法的執(zhí)行,隱藏處理器活動、使之不至于受到能量信號特征分析和探測的手段,以及具有每頁讀/寫/執(zhí)行特權設置功能的安全MMU。

            這個核心除了具有安全保護功能外,獲得使用許可的人還可以增加額外的工具,比如獨有的芯片級序列號、加密處理器、隨機數(shù)發(fā)生器、USB防火墻以及安全引導加載機制。
          使用分層的方法以提高安全性,一個合理設計的系統(tǒng)管理程序可以利用內(nèi)核內(nèi)置的安全防護功能以及SOC設計者增加的特性,來增強整體系統(tǒng)的安全性。

            處理器的旁路轉換緩沖器(TLB)的設計是一個關鍵問題。處理器的TLB兼容了一個軟件替換策略。當采取措施來保護MMU和關聯(lián)的TLB時,執(zhí)行TLB重填的代碼和被該代碼所操作的數(shù)據(jù)都處于內(nèi)存之中,可能被流氓軟件所訪問。一個系統(tǒng)管理程序可以用來在TLB重填時執(zhí)行額外的檢查,以保護系統(tǒng)不受通過外部SDRAM進行的硬件攻擊。

            另外,一些MIPS處理器提供了一個中間“超級用戶”模式,以使系統(tǒng)管理程序可以用其來執(zhí)行一個執(zhí)行虛擬內(nèi)核模式。這樣就減少了虛擬的開銷。

          Power/處理器

            32位和64位兩種體系的已經(jīng)在很寬范圍的產(chǎn)品中被廣泛應用,包括通信處理器,通用設備,性能導向型游戲系統(tǒng)以及企業(yè)計算。

            的衍生體一般會應用于產(chǎn)品中,比如32位PowerPC405和440,它們使用一種軟件重填策略來保持TLB實體不斷更新。另外,有一種區(qū)域保護寄存器(ZPR),它允許TLB訪問控制被撤銷。這些特征產(chǎn)生了一些弱點,這些薄弱環(huán)節(jié)可以通過組合操作系統(tǒng)的安全策略管理和虛擬技術來阻止流氓軟件的訪問。

            一些PowerPC的衍生體,比如索尼Playstation 3中所使用的多核單元寬帶引擎(BE),具有先進的安全機制,它包括經(jīng)過加密的、得到標記的安全引導機制和將執(zhí)行敏感任務的處理器在物理上單獨隔離開的功能。

          系統(tǒng)加固:多少才夠用?

            正如我們所述,有多少攻擊的方法,就有多少防御攻擊的技術。強勁的防御策略通常是依賴于一個“分層”防御,這個“分層”防御兼容了大量硬件和軟件技術。確定一個系統(tǒng)是否被充分地保護起來,是一件很復雜的事情。

            對于確定給定產(chǎn)品是否可以滿足給定應用的安全需要的程度這一問題,有著正規(guī)的方法。對于安全分析來說,一個被廣泛接受的標準是信息技術安全評估的通用標準(簡稱通用標注或CC14)。這是一個計算機安全方面的國際標準(國際標準化組織/國際電工委員會15408),它為廠商和客戶創(chuàng)造了一套系統(tǒng)框架,供廠商和客戶在該框架中運行,該框架可以為用戶環(huán)境提供詳細的描述和隨之而來的威脅,以及分析和測試方法學,以便決定給定的產(chǎn)品滿足環(huán)境的特定要求的程度。

            例如,德國BMI(Bundesamt für Sicherheit in der Informationstechnik)與歐洲智能卡協(xié)會(EUROSMART)合作,開發(fā)了一種保護狀況(PP),命名為智能卡IC平臺保護狀況(BSI-PP-0002),包括及其詳細的、與他們行業(yè)特別相關的攻擊狀況描述。希望提供產(chǎn)品來響應這個特殊的保護狀況需要的公司,隨后選擇了一種評估保證級別(EAL),此級別從1級(最低)到7級(最高)。這些保證級別不是對應于關于給定PP的保護程度,而是對應于實驗室所測結果與列舉的安全聲明的符合程度。測試實驗室會將一系列的保證要求與所選擇的水平進行聯(lián)系,進行分析、測試,得出合格/與不合格的結論。

            我們提出一種更基本的度量方法,在開發(fā)階段的初期給設計打分。每個保護的措施和結構的特征都會是一個得分點。那么,對不同種類基本分的調整,就要根據(jù)其安全要素(如:最大覆蓋面和最小受攻擊面)。

          網(wǎng)格(+80):可能調整±40
          TrustZone可信區(qū)(+80):可能調整±40
          安全導入(+80) :可能調整±40
          虛擬化 (+80): 可能調整±40

          安全操作系統(tǒng)

            DMA控制器(-80): 可能調整±40
            在分層的策略中,每一個組件對整個安全性的貢獻是可以相加的。一個組件,如操作系統(tǒng),有一個固有的“虛擬化”以盜用一個加分條款,80就被加到另一個組件固有的分數(shù)上,比如安全導入機制的80分,加起來就是160分?,F(xiàn)在,如果操作系統(tǒng)由于大量附加特征,呈現(xiàn)出一個大的攻擊表面,那么,這個組分的分數(shù)就會降低一些,最多減少40分。

            加權分數(shù)計算實例:挑選一個有MMU的SoC,MMU是系統(tǒng)管理程序對存儲器的控制所不能缺少的,和一個安全操作系統(tǒng)。選擇一個系統(tǒng)管理程序,它允許操作系統(tǒng)和應用程序在“用戶空間”運行,從而產(chǎn)生一個更安全的處理環(huán)境。系統(tǒng)管理程序(+80)呈現(xiàn)出一個小的攻擊表面,因此不會從它的安全分中減分。選擇一個安全操作系統(tǒng),比如SE Linux (+80),但是,在開發(fā)者加入大量代碼的同時,也會生成一個大的攻擊表面(-40)。加權分數(shù)就是:
            虛擬化:80
            安全操作系統(tǒng):80
            代碼尺寸減分:-40
            總安全分:160

            一些設計的組成,由于其本身特點,在裝置的安全裝甲中形成了固有的裂痕,需要小心地處理。一個好的例子就是DMA控制器。有DMA控制器的系統(tǒng),考慮到其存在這樣一個弱點,應該從總分中減去80分,那么在那個分數(shù)上,就明顯需要一個保護系統(tǒng)的機制。有DMA控制器的系統(tǒng)的調整范圍表明,這樣的系統(tǒng)可以被設計得更加安全,但是機制的性質就是這樣,在成塊存取中以及從安全的觀點來說,它永遠不可能達到100%的效率,這是不可避免的。

            這種方法的正式、細致、凝練允許了度量的產(chǎn)生,它允許設計者使用安全措施來滿足他們特定的需要。由于基準提供了處理器在特定應用中可能性能的粗略評估,所以安全分數(shù)的產(chǎn)生也就提供了測量產(chǎn)品在抵御外來攻擊時可能性能的方式。

          結語

            現(xiàn)在應該清楚的是,真正強健的不能單靠軟件來保證的。加密和迷惑僅能減緩黑客的進攻。即使是高度防篡改的系統(tǒng),也會受到軟件硬件聯(lián)合的進攻15的威脅,而且,對于任何攻擊者可以在物理上接觸的器件,都它至少需要安全的引導。

            另一方面,全硬件的解決方式很昂貴且不具有彈性的,由于這個原因,如果它們過于冗瑣,就會迫使設計者和最終使用者轉而采用節(jié)省時間的、規(guī)避性的方法,而這些方法是器件的安全防護架構所無法預料到的。因此,最好的安全解決方案是基于以硬件為中心(如TrustZone)、軟件(如安全操作系統(tǒng))和虛擬技術相結合的平衡結合方式,以保護存儲區(qū)域,DMA控制器,或其他潛在的易受攻擊的因素。

          參考文獻:

          9. Tom R. Halfhill. " Dons Armor-TrustZone Security Extensions Strengthen v6 Architecture" (MPR August 25, 2003). http://www.mdronline.com/mpr/p/2003/0825/173401.pdf
          10. Tiago Alves, Don Felton. Trustzone: Integrated Hardware and Software Security, ARM White Paper, July 2004. http://www.arm.com/pdfs/TZ_Whitepaper.pdf
          11. Designing with Trustzone—Hardware Requirements#&151;ARM.  http://www.arm.com/pdfs/TrustZone_Hardware_Requirements.pdf
          12. STIP (Small Terminal Interoperability Platform).  http://www.globalplatform.org/
          13. MIPS32 4KST Family. http://www.mips.com/products/cores/32-bit-cores/mips32-4ks/
          14. Common Criteria Portal. http://www.commoncriteriaportal.org/
          15. Sudhakar Govindavajhala and Andrew W. Appel. "Using Memory Errors to Attack a Virtual Machine," 2003 IEEE Symposium on Security and Privacy, May 2003. http://www.cs.princeton.edu/sip/pub/memerr.pdf

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關文章:linux教程


          存儲器相關文章:存儲器原理


          負離子發(fā)生器相關文章:負離子發(fā)生器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();