強制訪問控制

強制訪問控制(英語:mandatory access control,縮寫MAC)在電腦安全領域指一種由作業系統約束的存取控制,目標是限制主體或發起者訪問或對對象或目標執行某種操作的能力。在實踐中,主體通常是一個行程線程,對象可能是檔案目錄TCP/UDP埠、共用記憶體段、I/O裝置等。主體和對象各自具有一組安全屬性。每當主體嘗試訪問對象時,都會由作業系統內核強制施行授權規則——檢查安全屬性並決定是否可進行訪問。任何主體對任何物件的任何操作都將根據一組授權規則(也稱策略)進行測試,決定操作是否允許。在資料庫管理系統中也存在訪問控制機制,因而也可以應用強制訪問控制;在此環境下,對象為表、視圖、過程等。

通過強制訪問控制,安全策略由安全策略管理員集中控制;用戶無權覆蓋策略,例如不能給被否決而受到限制的檔案授予訪問權限。相比而言,自主訪問控制(DAC)也控制主體訪問對象的能力,但允許用戶進行策略決策和/或分配安全屬性。(傳統Unix系統的用戶、組和讀-寫-執行就是一種DAC。)啟用MAC的系統允許策略管理員實現組織範圍的安全策略。在MAC(不同於DAC)下,用戶不能覆蓋或修改策略,無論為意外或故意。這使安全管理員定義的中央策略得以在原則上保證向所有用戶強制實施。

在歷史上和傳統上,MAC與多層安全英語Multi-level security(MLS)和專業的軍用系統密切相關。在此環境中,MAC意味着高度嚴格以滿足MLS系統的約束。但在最近,MAC已從MLS本身中發展出來,並變得更加主流。最近的MAC實現有諸如面向Linux的SELinuxAppArmor,以及面向Windows的強制完整性控制,它們使管理員得以關注沒有嚴格或MLS約束時遇到的如網絡攻擊或惡意軟件等問題。

歷史背景和對多層安全的影響 編輯

歷史上,MAC與作為保護美國機密資訊的多層安全英語Multi-Level Security(MLS)手段密切相關。可信電腦系統評估標準英語Trusted Computer System Evaluation Criteria(TCSEC)就是就這一主題的開創性工作,其中將MAC定義為「基於對象中包含資訊的敏感性(由標籤表示)來顯示對對象的訪問途徑以及對象訪問這種敏感資訊的授權」。MAC的早期實現有Honeywell的SCOMP、USAF SACDIN、NSA Blacker,以及的波音MLS LAN。

術語MAC中的「強制性」已經因其在軍事系統中的使用而獲得了特殊含義。在這方面,MAC意味着非常高的抵抗性,確保控制機制能夠抵抗任何類型的破壞,從而使他們能夠執行由政府命令授權的訪問控制,諸如面向美國等級資訊的第12958號行政命令 。強制施行的保證性要求要高於商業應用,因此這不允許採用「盡力而為」的機制。MAC只接受能夠絕對或者幾乎絕對地保證任務執行的機制。這點對於不熟悉高保證策略的人來說可能很困難或者被假定為不切實際。

系統強度 編輯

強度等級 編輯

在某些系統中,用戶有權決定是否向其他任何用戶授予訪問權限。為允許這點,所有用戶都必須有所有數據的審查許可。這不是MLS系統所需必要條件。如果個人或行程可能被拒絕訪問系統環境中的任何數據,則系統必須可信以強制執行MAC。由於可能存在各種級別的數據等級和用戶許可,這也顯示了健壯性的量化指標。例如,一個包含等級為最高機密的資訊和等級為未批准的用戶的系統相較於一個包含等級為絕密的資訊和等級為秘密的用戶的系統具有更高的健壯性。為了維持健壯性量化指標的一致性以及儘可能地消除主觀人為因素,一項針對該問題的大規模科學分析和風險評估提出了標誌性的測試標準,用以量化系統的安全健壯性,並根據其能夠保證的安全等級為其分級。該結果記錄於CSC-STD-004-85。[1]健壯性的兩個相對獨立的組成部分可以被定義為保障等級和功能性,兩者都可以被闡述為一個系統在特定標準下能夠保證的其審查的精確性。

強度評估 編輯

實現 編輯

參見 編輯

註腳 編輯

  1. ^ Technical Rational Behind CSC-STD-003-85: Computer Security Requirements. 1985-06-25 [2008-03-15]. (原始內容存檔於July 15, 2007). 
  2. ^ The Common Criteria Portal. [2008-03-15]. (原始內容存檔於2006-07-18). 
  3. ^ US Department of Defense. DoD 5200.28-STD: Trusted Computer System Evaluation Criteria. December 1985 [2008-03-15]. (原始內容存檔於2008-03-17). 
  4. ^ Controlled Access Protection Profile, Version 1.d. National Security Agency. 1999-10-08 [2008-03-15]. (原始內容存檔於2012-02-07). 
  5. ^ Protection Profile for Multi-Level Operating Systems in Environments Requiring Medium Robustness, Version 1.22. National Security Agency. 2001-05-23 [2008-03-15]. (原始內容存檔於2009-03-30). 
  6. ^ National Information Assurance Partnership. The Common Criteria Evaluation and Validation Scheme Validated Products List. [2008-03-15]. (原始內容存檔於2008-03-14). 
  7. ^ TOMOYO Linux, an alternative Mandatory Access Control. Linux 2 6 30. Linux Kernel Newbies. [2017-02-12]. (原始內容存檔於2012-04-05). 
  8. ^ Linux 2.6.36 released 20 October 2010. Linux 2.6.36. Linux Kernel Newbies. [2017-02-12]. (原始內容存檔於2018-06-10). 
  9. ^ Why doesn't grsecurity use LSM?. [2017-02-12]. (原始內容存檔於2016-07-22). 
  10. ^ Matthew Conover. Analysis of the Windows Vista Security Model. 賽門鐵克. [2007-10-08]. (原始內容存檔於2008-03-25). 
  11. ^ Steve Riley. Mandatory Integrity Control in Windows Vista. [2007-10-08]. (原始內容存檔於2007-09-29). 
  12. ^ Mark Russinovich英語Mark Russinovich. PsExec, User Account Control and Security Boundaries. [2007-10-08]. (原始內容存檔於2010-04-15). 
  13. ^ TrustedBSD Project. TrustedBSD Mandatory Access Control (MAC) Framework. [2008-03-15]. (原始內容存檔於2010-01-23). 
  14. ^ sandbox_init(3) man page. 2007-07-07 [2008-03-15]. (原始內容存檔於2008-07-25). 
  15. ^ SEPostgreSQL-patch. [2017-02-12]. (原始內容存檔於2017-02-13). 
  16. ^ Security Enhanced PostgreSQL. [2017-02-12]. (原始內容存檔於2009-02-07). 
  17. ^ Trusted RUBIX. (原始內容存檔於2008年11月21日). 
  18. ^ (俄文) Ключевые особенности Astra Linux Special Edition по реализации требований безопасности информации頁面存檔備份,存於互聯網檔案館
  19. ^ Official SMACK documentation from the Linux source tree. (原始內容存檔於2012-09-21). 
  20. ^ Jonathan Corbet. More stuff for 2.6.25. (原始內容存檔於2012-09-21). 

參考資料 編輯

外部連結 編輯