強制訪問控制

強制訪問控制 ( 縮寫MAC ） 在計算機安全領域指一種由操作系統約束的存取控制 ， 目標是限制主體或發起者訪問或對對象或目標執行某種操作的能力 。 在實踐中 ， 主體通常是一個進程或線程 ， 對象可能是文件 、 目錄 、 TCP / UDP端口 、 共享內存段 、 I / O設備等 。 主體和對象各自具有一組安全屬性 。 每當主體嘗試訪問對象時 ， 都會由操作系統內核強制施行授權規則 — — 檢查安全屬性並決定是否可進行訪問 。 任何主體對任何物件的任何操作都將根據一組授權規則 （ 也稱策略 ） 進行測試 ， 決定操作是否允許 。 在數據庫管理系統中也存在訪問控制機制 ， 因而也可以應用強制訪問控制 ； 在此環境下 ， 對象爲表 、 視圖 、 過程等 。 通過強制訪問控制 ， 安全策略由安全策略管理員集中控制 ； 用戶無權覆蓋策略 ， 例如不能給被否決而受到限制的文件授予訪問權限 。 相比而言 ， 自主訪問控制 （ DAC ） 也控制主體訪問對象的能力 ， 但允許用戶進行策略決策和 / 或分配安全屬性 。 （ 傳統Unix系統的用戶 、 組和讀 - 寫 - 執行就是一種DAC 。 ） 啓用MAC的系統允許策略管理員實現組織範圍的安全策略 。 在MAC （ 不同於DAC ） 下 ， 用戶不能覆蓋或修改策略 ， 無論爲意外或故意 。 這使安全管理員定義的中央策略得以在原則上保證向所有用戶強制實施 。 在歷史上和傳統上 ， MAC與 （ MLS ） 和專業的軍用系統密切相關 。 在此環境中 ， MAC意味着高度嚴格以滿足MLS系統的約束 。 但在最近 ， MAC已從MLS本身中發展出來 ， 並變得更加主流 。 最近的MAC實現有諸如面向Linux的SELinux和AppArmor ， 以及面向Windows的強制完整性控制 ， 它們使管理員得以關注沒有嚴格或MLS約束時遇到的如網絡攻擊或惡意軟件等問題 。