新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統安全性(上)

        嵌入式系統安全性(上)

        作者:■ Frank Altschuler 和 Bruno Zoppis, Trango Virtual Processors公司 時間:2008-04-30 來源:電子產品世界 收藏

          由于這些種類數據結構的廣泛使用,這是一種相當普遍的攻擊方式。所以,在一些任何安全防護壁壘中,如:管理程序,安全內核,應該盡量少地使用緩存和堆棧,如果能夠完全避免使用它們,那就更好了。

        本文引用地址:http://www.104case.com/article/82062.htm

          正如我們所指出的,通過破襲正在運行的組件,可以進行大量的控制。然而,當關閉時,可以生成大量其它的惡意程序。在一些情況下,侵入者可以在存儲裝置上寫入代碼,比如導入代碼。這就允許侵入者可以更改代碼,使驅動程序在下次導入時按照攻擊者所希望的方式而不是它原來的設計所期望的方式工作。這種進攻更有可能是由更高一個層次的黑客來執行的,比如:“了解情況的內部人員”。

          在整個程序開發過程中所使用的設計功能,通常是進入系統的秘密途徑。聯合測試行動組(JTAG)標準的端口是一個邊界掃描端口,可以連接到許多電路板級和芯片級的資源上,可以讓攻擊者獲得對幾乎任何一種敏感資源的控制,更改執行流程或執行代碼。

          通常情況下,是否在交付產品時提供JTAG端口,是一個復雜而難以決斷的問題,這是因為,將其取消,就意味著在現場進行的調試變得十分困難,但是,若是保留它,又會讓系統存在潛在的弱點,而極易被擊破。這是一個很好的例子,它說明,在設計過程中,把產品設計得盡可能開放有用,而同時又要封閉可造成危害的途徑,這兩者是相互沖突的。

          如果存在一條外部存儲總線,它為攻擊者提供了重要的機會,并對安全設計來說是一個重要的挑戰。如果攻擊者可以偵測外部存儲總線,那么他就有可能形成一個代碼序列,這個序列反加到原來的那些總線上后,可以誘騙系統泄漏一些內部秘密。這就是我們之前所提到的“重放攻擊”(replay attack)。即使加密的SDRAM,也可由于復制或回放被選擇的存儲內容,而受到這種類型的攻擊。

          旁路轉換緩沖器(translation lookaside buffer,TLB)是一個高速緩沖存儲器,它將虛擬內存地址轉換成物理地址。應對對這個子系統進行特別嚴格的審查,這是因為,作為系統的一部分,不但對于系統性能來說很重要,而且也是可被攻擊的弱點。從我們的目標出發,主要有兩大類:硬件填充,即集成一個稱作“硬件表walker”的裝置,以及軟件填充。

          對于具有“硬件表walker”的系統而言,TLB再次填充是在出現TLB丟失時由硬件自動完成的。如果攻擊者具有可以向存儲有MMU描述符表格的存儲器寫入的權限,那么攻擊者就可以改變表內的內容,并寫入錯誤的轉換關系。這種行為會產生很多影響,比如產生一個對內存或敏感裝置的映射。

          一個稍微有些不同的策略適用于具有TLB的軟件填充策略的體系架構。MMU和TLB是寄存器控制的,而且需要進入優先權才能訪問,但系統仍然存在弱點,即執行重填入的代碼和該代碼所操作的數據都保留在內存中,因此容易被惡意的應用程序所使用。

          在密碼學中,“旁路攻擊”是基于從加密系統的物理實現方案所獲取的信息、而非基于理論算法缺陷的任何攻擊行為。眾所周知的攻擊包括定時攻擊2、功率測量、輻射監測。在這些攻擊中,功率或輻射特征經匯編后,與已知的系統行為相比較,以便找出行為的模式。一旦模式和相應的內部行為被確定,就可以設定故障誤注入的時機和位置,以使得系統按照需要出現異常。

          而一些黑客滿足于他們從SOC封裝之外所了解的信息,為了實現一些高價值的目標[如電子收款機系統(POS)終端],我們應關注一個更現實的問題,黑客們將會嘗試將器件的封裝去除,來進行信號探查和內部存儲的分析。作為這個方法的第一步,攻擊者,很可能是一個團伙中的一員,會通過加熱或酸腐蝕來融化芯片的外殼,以便能置入微探針。完成這一步后,器件開始運行,黑客嘗試分析模式并測定弱點。


        圖1   描述硬件表Walker攻擊的代碼序列。在初始狀態下(1),敏感數據駐留在內部存儲中,無法從虛擬地址空間獲取。攻擊者利用專門的探測手段,可以直接訪問外部存儲,以修改MMU描述符表(2)。當應當進行下一次虛擬地址(3)的TLB重填的時刻到來時,所針對的數據被映射到虛擬地址空間中,從而被攻擊者所截獲

          黑客通過使用故障注入的方法,使用能量脈沖、熱量和高頻率,試圖影響正常的系統運行。一旦這些方法的某種組合可以將系統驅動到一個更“有用”的狀態,黑客就能獲得更多的信息,從而進一步破壞系統的

          在一種資源可再生的攻擊中,應用程序的開發者已經假設,一旦某種資源,如一個目標文件,被刪除,存儲器中資源的內容也就會被刪除了。但實際情況并不總是這樣,攻擊可以利用這個情況來掃描存儲器,找到有用的殘留信息。一般而言,在一個安全的環境中,用密碼寫的應用程序,被用來跟蹤任何包含敏感信息的資源,并在將那些資源返回信息資源池之前將其清除。

          然而,在應用程序崩潰或外部中止的情況下,那種行為就不能得到保證。即使安全地使用存儲器,緊密地控制資源區,只要在一個恰當時機注入故障條件,比如能量脈沖,存儲器中就會殘留數據,而這些數據隨后將被黑客所盜取。

          拒絕服務型(DoS)攻擊,是試圖通過讓某個計算機的通信通道飽和或者公然強制發生復位來阻止計算機的資源為其合法用戶所用。

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泾川县| 兰州市| 丹阳市| 丹东市| 集安市| 安龙县| 揭西县| 台江县| 白山市| 荆州市| 略阳县| 乐都县| 新余市| 西昌市| 山丹县| 海兴县| 依兰县| 正安县| 兴宁市| 衡东县| 修水县| 康保县| 永昌县| 昌乐县| 汶上县| 青浦区| 阿克陶县| 喀喇| 新乐市| 织金县| 时尚| 嘉黎县| 南和县| 惠州市| 元氏县| 漳浦县| 柳州市| 红河县| 那曲县| 留坝县| 大荔县|