a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

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

嵌入式系統安全性(中) 對攻擊狀況和防衛策略的概述和分析

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

借助虛擬化實現安全性

  已從企業計算空間轉向世界。包括在虛擬計算機監控器的控制下提取系統資源,有時稱為系統管理程序。系統管理程序使運行同時執行環境具有可能性,每個環境孤立存在,分別運行在基礎硬件平臺的一個虛擬代表上。

  從器件整合和資源最優化的角度來說,虛擬計算機有很多優點。它們可以采用不同設計方法,從“純粹”的或“完全”的虛擬到“部分虛擬(Paravirtualization)”,部分虛擬是應用中最常用的方法。在部分虛擬中,進行進一步的細分,包括微內核、微調度程序和輕薄的產品,這種輕薄產品實際上擴大了硬件抽象層,使之包括了虛擬特性。

  從安全的角度來看,的使用,允許設計者通過執行特權分離和最小權限原則7,8,來減輕計算機安全攻擊的潛在危害。

  特權分離要求應用程序被分為有特權部分和無特權部分,有特權的部分應保存得越小越好,來減小攻擊的表面。因此,一個成功的、針對對更大的、不安全的組件的攻擊,只會獲得對敏感數據的極低的訪問能力。

  最小權限要求,每個軟件模塊僅能獲得合理用途所需的信息和資源。

  各種各樣不同的虛擬技術的一個共同點就是整齊。對于純粹虛擬和完全虛擬,VMM負責捕捉和處理所有由客戶操作系統執行的指令。這種方法的好處是客戶操作系統可以不更改地運行。另外,由于操作系統是與硬件完全脫鉤的,才有可能創造更高的便攜式應用,其應用平臺多樣化且在應用程序中。這種方法的缺點是在系統功耗方面是一個重大的支出,特別是當硬件平臺沒有配置軟件虛擬支持的情況下。

  純粹虛擬技術依靠具有重要硬件支持的底層硬件平臺來實現,如Intel公司的VT體系機構和AMD的Pacifica。在這些系統中,虛擬計算機資源的狀態在硬件中維持,而且VMM的性能消耗大幅度減小。這種技術的優點是它類似于全虛擬,表現在客戶操作系統可以無修改地運行。缺點是那些運用這一技術的產品占用的裸片面積稍大一些,而且現有可用的裝置中納入這種水平的支持能力者并不多。

  部分虛擬技術(Paravirtualization)是這樣一種技術,其特定操作系統的指示,一般具有“特權”和內核模式指示,被“hypercalls”或API對管理程序的調用所代替。這減輕了處理所有客戶指示的負擔,降低了系統的開銷,明顯地提高了執行績效。缺點是客戶操作系統必須被“觸及”,但是,實際上這種影響是很小的。

  例如,分析時,發現/dev/arch中具有優先權的指令僅存在15個文件中。

  在普通的部分虛擬技術種類中,存在一些系統管理程序的子程序。

  微調度器(如圖2),正如其名稱所暗示的那樣,是按照一個固定的進度表來分配系統資源的程序。商業上典型的具體實施方法是在內核模式下運行微調度程序,并且作為主控來控制一個客戶操作系統,該OS也在類似的內核模式下進行操作。從安全的角度來說,這意味著客戶操作系統一定得是一個“良好的市民”,因為客戶完全可能繞過微調度程序。這使得整個空閑的存儲器易受攻擊。為了消除這個弱點,微調度程序的開發者增加了一個可供選擇的安全引擎,以監測和控制硬件的訪問。

本文引用地址:http://www.j9360.com/article/84342.htm


圖2  使用微調度器的虛擬化

  微內核(圖3)本質上是一個操作系統,這個系統移去了大量的典型操作系統服務,并代之以可以在用戶級別執行服務的機制。從安全的角度來看,它的優點是,用戶模式實體訪問底層硬件時不具有危險性,因為內核模式指令調用已被移去。其缺點主要是多重處理域的維護,當執行從微核的本地處理區運行到客戶操作系統及其應用程序處理區時,這些處理域需要具體實現復雜的進程間通信(IPS)機制和額外的環境轉換。


圖3  基于微內核的虛擬化方法

  虛擬的另一個途徑是產生一個硬件抽象層(HAL),并增加額外的服務,以照顧多重執行環境(圖4)的需求。HAL是一個硬件微薄轉換層,它可以使得軟件具有更好的可移植性。為增加對多重執行環境的支持,開發者創造了超微內核,盡管這種表述不是很準確。在實踐中,這種途徑和微核型解決方案的不同之處是,雖然微核在設計時已經考慮到要運行某種客戶操作系統,而HAL更趨向于以硬件為中心,而且并不了解操作系統的具體情況。


圖4  利用HAL或者超微內核性管理程序實現的虛擬化

  從安全的角度來說,最關鍵的因素是所有商業管理程序控制對硬件資源(如MMU系統)訪問的能力。例如,如果一個客戶端應用程序(比如web瀏覽器)被一個流氓HTML站點所破壞,并試圖侵入存儲器禁區,那么系統管理程序就會向存儲器強加邊界,并適當地保護敏感數據。通過使用安全的系統管理員,根據駐留在特定的執行環境中的應用程序的已知邊界檢查可疑的重填數據,就可以實現由軟件填充的TBL不受侵擾,由此保證程序的執行處于“界限內”。在路由器或其他客戶端裝置中,系統管理程序可以用來提供一定程度的DoS保護,這可以通過使用多重VM來控制對任何特定資源的訪問或是要求提供適當的通行證來實現的,這樣做可以避免VM使用“界限外”的資源。
在虛擬化架構的設計過程中,虛擬計算機之間的默認通信途徑要盡可能減少,理想的情況是,如果從VM到VM沒有公開昭示的授權的話,最好沒有任何通信。

  由于增加一個VM的開銷是很低的,用VM自己已經完成引導的、處于掛起狀態的“候補”操作系統來生成”候補”VM是可能的。那么,當一個處理域被DoS所危及時,一直在自己的執行環境中運行的系統健康度監督程序,可以將被危及的VM的執行掛起,將激活的程序轉移到候補的VM,并繼續執行。這種方法在受到攻擊的情況下維持更長的計算機正常運行時間。

  由于VM一般來說必須從CPU時間和可用內存的角度來公開地界定,VM所需要的資源在DoS面前僅呈現一個很小的“攻擊面”,在一些情況下,可以通過限制收到的消息數量來進一步限制弱點的發展,從而避免飽和攻擊。

  將認證機制擴展到虛擬計算機上可以使安全導入機制變得更健全。硬件引導完成后,安全引導機制標記第一個VM。第一個虛擬機可以執行第二個層次的安全引導,通過額外標記和經過驗證的VMs來擴展“信任鏈”,直到系統飽和以及所有物理、虛擬計算機序列導入完成。

  就所有系統的基礎部分而言,需要分析其優點和缺點。系統管理程序提供了一個高水平的安全性和執行環境之間的隔離。但是,當數據必須在環境之間共享時,會發生什么情況呢?很多系統管理程序通過生成通信渠道或是共用執行環境中的存儲器區域來處理這個問題。這隨之又造成了第二個層次上的弱點,所以應該確定這些通道不會被惡意軟件利用來將數據從安全的/可信任的區域轉移到不安全/不可信任的區域。在這些種類的環境中,可以運用分層的方法。例如,可以納入一個激勵/響應機制,來實現數據通過共用存儲器在各執行環境之間的轉移。當這種機制就位時,不可信區域的安全就會到危脅,危險就會侵入共用存儲器區域,但它仍不能從可信區獲得數據。舉對Web瀏覽器的例子來說,攻擊者可能會獲得進入存儲器共享區的許可,但它們不能侵入激勵/響應機制,因此,敏感數據就不會從安全區轉移到共用存儲器區。

  另一個系統級問題會影響虛擬化的運用的地方,是系統管理程序的響應時間。如果響應時間使實時操作系統(RTOS)不能在系統管理程序層次適當地運行,那么RTOS一般就會在微核模式下運行,并通過優先指令直接接觸系統硬件。這就形成了,或更準確地說,遺留了一個可通過對RTOS的破壞來擊破的弱點。

  與設計的許多其他方面一樣,少就是多。系統管理程序所占用的區域越小,需要去防范的的攻擊面積就越小,而且對超級調用(hypercall)的服務響應時間就越短。一個小的覆蓋區允許系統管理程序根映像被保存在芯片上,從而減小外界對存儲器總線的探測和代碼細節的暴露。(下集預告:將批露ARM、MIPS、PowerPC處理器的安全策略與系統加固。)

參考文獻:

  4. Kana Shimizu. The Cell Broadband Engine processor security architecture (17 April 2006). http://www-03.ibm.com/industries/media/doc/content/bin/Cell_Processor_Security_Arch_NAB_April_06.pdf 
  5. Ronald F. Buskey, Barbara B. Frosik. Proceedings of the 2006 International Conference on Parallel Processing Workshops (ICPPW'06).
  6. Dan Wendlandt, David G. Andersen, Adrian Perrig. FastPass: Providing First-Packet Delivery. Carnegie Mellon University (CMU-Cylab-06-005 March 29, 2006). http://www.cylab.cmu.edu/files/cmucylab06005.pdf
  7. Niels Provos, Markus Friedl, Peter Honeyman. Preventing Privilege Escalation. http://niels.xtdnet.nl/papers/privsep.pdf
  8. Jerome H. Saltzer and Michael D. Shroeder. "The Protection of Information in Computer Systems" (Communications of the ACM 17, 7 July 1974).

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


評論


相關推薦

技術專區

關閉