保護機制實現的目標是將系統內的所有實體(數據、用戶、程序等)進行隔離,並通過一定的規則允許實體間進行訪問。因此從所執行的動作,保護機制可以分成主動(Active)和被動(Passive)兩類:主動保護機制是根據所定義的規則,主動阻止對指定實體的訪問,訪問控制、內存保護等技術都屬於主動保護機制;而被動保護機制本身不會阻止對指定實體的訪問,但會通過阻止對指定實體的使用來實現保護功能,我們使用加密技術來防止信息的泄漏、用Checksum來檢測對信息的未授權修改,都屬於被動保護機制。
保護機制通常部署到操作系統、硬件或固件上,CISSP CBK中將它按照所部署的位置分成三類:平臺(Platform)、大型機(Mainframe)、網絡(Network),下面J0ker給逐一給大家介紹在這三個分類上使用的保護機制:
平臺保護和大型機保護機制:平臺保護是主要用在通用操作系統上的保護機制,主要以軟件實現爲主;大型機保護則是主要應用於大型機上的保護機制,一般使用專用的安全硬件實現。但隨着近年來軟硬件技術的發展,這兩個分類所使用的保護技術都在互相融合,由於硬件產品集成度提高和價格的大大下降,許多PC和工作站上已經集成了原來只在大型機上使用的安全硬件,而大型機爲了降低製造成本,也將越來越多的保護功能通過軟件來實現,所以在CISSPOfficialGuide中不再將平臺保護和大型機保護分開來列,而是將它們所用的保護技術列在一起。
使用在這兩個分類的保護技術
可信計算基礎(Trusted Computing Base,TCB):TCB是一個計算機系統中所有提供保護功能的組件的總稱,包括硬件、軟件、固件、進程和一些進程間的通信等,它通過這些組件完成對安全策略的實現。TCP功能的實現是根據其內置的保護機制或用戶所輸入的參數,來保證安全策略的實施或滿足相應的安全標準(如TCSEC等)。不過要注意的是,TCB是一個定義而不是一個特定的產品,目前的大部分操作系統都沒有完全使用TCB的全部組件,只使用了TCB用來執行功能的一部分,這個部分就是接下去要介紹到的引用監視器(Reference Monitor)。
可信計算基礎(Trusted Computing Base,TCB):TCB是一個計算機系統中所有提供保護功能的組件的總稱,包括硬件、軟件、固件、進程和一些進程間的通信等,它通過這些組件完成對安全策略的實現。TCP功能的實現是根據其內置的保護機制或用戶所輸入的參數,來保證安全策略的實施或滿足相應的安全標準(如TCSEC等)。不過要注意的是,TCB是一個定義而不是一個特定的產品,目前的大部分操作系統都沒有完全使用TCB的全部組件,只使用了TCB用來執行功能的一部分,這個部分就是接下去要介紹到的引用監視器(Reference Monitor)。
TCB的設計需求如下:
1、TCB應該在一個不受外部干擾影響的自有域內執行
2、TCB所控制的資源應根據使用關係分爲使用者(Subject)和目標(Object)兩個子集
3、TCB應該把資源進行隔離以執行訪問控制和審計功能
1、TCB應該在一個不受外部干擾影響的自有域內執行
2、TCB所控制的資源應根據使用關係分爲使用者(Subject)和目標(Object)兩個子集
3、TCB應該把資源進行隔離以執行訪問控制和審計功能
TCB提供的基本功能有:
1、進程激活:在一個多重處理的環境內管理進程激活/掛起時提供寄存器、文件訪問列表、進程狀態信息和指針等敏感信息的管理功能
2、執行域切換:確保在一個域內執行的進程不會影響到其他域內的其他進程
3、內存保護:確保每個域所使用的內存的安全
4、輸入輸出操作:監視程序對設備直接或間接的輸入輸出操作
1、進程激活:在一個多重處理的環境內管理進程激活/掛起時提供寄存器、文件訪問列表、進程狀態信息和指針等敏感信息的管理功能
2、執行域切換:確保在一個域內執行的進程不會影響到其他域內的其他進程
3、內存保護:確保每個域所使用的內存的安全
4、輸入輸出操作:監視程序對設備直接或間接的輸入輸出操作
引用監視器(Reference Monitor):RM的功能是根據訪問控制數據庫的定義,對抽象系統中所有使用者對目標的訪問進行控制。
安全內核(Security Kernel):安全內核由TCB的硬件、軟件和固件部分加上引用監視器所構成,我們可以這樣來區分安全內核和引用監視器:引用監視器和安全內核的功能是相同的,但引用監視器是執行訪問控制功能的抽象模型,而安全內核則是使用在各種系統中的具體實現。安全內核的結構如下圖:
圖1 |
爲了保證安全功能的實現,安全內核必須滿足以下三個要求:
1、安全內核能管理所有的訪問(全局性)
2、安全內核能保護自己不受有意或意外修改(隔離性)
3、安全內核可以通過驗證確定其有效性(可驗證性)
1、安全內核能管理所有的訪問(全局性)
2、安全內核能保護自己不受有意或意外修改(隔離性)
3、安全內核可以通過驗證確定其有效性(可驗證性)
TCB、RM和Security Kernel這三個概念挺容易混淆,CISSP考試也經常考覈與它們相關的內容,複習的時候應當注意一下。
安全邊界(Security Perimeter):用來隔離安全內核內外的資源,安全邊界外的資源是不可信的。注意將它和近兩年常說的“邊界安全“相區別。
分層(Layering):分層是指在系統設計時對功能和實現按照一定的原則進行分層,層次越低的權限越高,每一層的操作和使用的數據都儘量不對其它層次產生影響,這裏會引入一個技術——數據隱藏(Data Hiding)。此外,部署安全措施的層次越低,則安全措施的效能和控制範圍就越好,因此應該把安全措施部署在系統的最底層,下面是一個示例系統的分層:
安全邊界(Security Perimeter):用來隔離安全內核內外的資源,安全邊界外的資源是不可信的。注意將它和近兩年常說的“邊界安全“相區別。
分層(Layering):分層是指在系統設計時對功能和實現按照一定的原則進行分層,層次越低的權限越高,每一層的操作和使用的數據都儘量不對其它層次產生影響,這裏會引入一個技術——數據隱藏(Data Hiding)。此外,部署安全措施的層次越低,則安全措施的效能和控制範圍就越好,因此應該把安全措施部署在系統的最底層,下面是一個示例系統的分層:
TOC/TOU保護:系統設計時需要使用資源鎖定防止權限低的進程/用戶通過劫持或修改特權用戶的操作的途徑訪問敏感信息。
額外保護(Guard Protection):系統常常需要使用其他的方案來提供額外的保護,比如在數據庫系統中,除了在數據庫本身對用戶的訪問權限進行控制之外,通常還會通過提供一個帶有查詢檢查功能的界面來限制用戶提交不符合安全策略規定的查詢。
進程隔離(Process Isolation):系統對同時執行的進程進行隔離,防止進程之間的互相影響,這個功能在現代操作系統中是一個基本功能。
最低權限原則(Least Privilege):系統中所有的權限給予滿足操作所需的最低權限即可,這個在其他許多領域也能看到,比如許多企業內網用戶只有User權限,不能夠在自己的機器上安裝或修改軟件,要新增軟件必須由管理員干涉。
加固(Hardening):加固是通過一定的操作和配置使系統的安全程度得到提高,它不屬於系統設計階段,而屬於系統的部署和維護階段。
額外保護(Guard Protection):系統常常需要使用其他的方案來提供額外的保護,比如在數據庫系統中,除了在數據庫本身對用戶的訪問權限進行控制之外,通常還會通過提供一個帶有查詢檢查功能的界面來限制用戶提交不符合安全策略規定的查詢。
進程隔離(Process Isolation):系統對同時執行的進程進行隔離,防止進程之間的互相影響,這個功能在現代操作系統中是一個基本功能。
最低權限原則(Least Privilege):系統中所有的權限給予滿足操作所需的最低權限即可,這個在其他許多領域也能看到,比如許多企業內網用戶只有User權限,不能夠在自己的機器上安裝或修改軟件,要新增軟件必須由管理員干涉。
加固(Hardening):加固是通過一定的操作和配置使系統的安全程度得到提高,它不屬於系統設計階段,而屬於系統的部署和維護階段。
以上是在系統設計時常使用的安全措施,此外,根據安全措施在系統中部署的層次不同,還可以將其分爲通用操作系統級保護、應用程序級保護、存儲設備保護、網絡級保護。其中:
操作系統級別保護需要滿足的需求有:
用戶識別和認證(User Identification and Authentication)
強制訪問控制(Mandatory Access Control)
自主訪問控制(Discretionary Access Control)
完全控制(Complete mediation)
目標重用保護(Object reuse protection)
審計 (Audit)
審計日誌的保護 (Protection of Audit logs)
日誌篩選 (Audit logs reduction)
可信路徑 (Trusted Path)
***檢測 (Intrusion Detection)
用戶識別和認證(User Identification and Authentication)
強制訪問控制(Mandatory Access Control)
自主訪問控制(Discretionary Access Control)
完全控制(Complete mediation)
目標重用保護(Object reuse protection)
審計 (Audit)
審計日誌的保護 (Protection of Audit logs)
日誌篩選 (Audit logs reduction)
可信路徑 (Trusted Path)
***檢測 (Intrusion Detection)
應用程序級別上所提供的保護措施主要是針對用戶的輸入和程序的輸出進行保護、過濾,還使用上面說過的Guard Protection技術來提供額外的安全功能。
存儲設備保護關注的是保護存儲在各種設備上的敏感信息的保密性和完整性,最近幾年安全業界比較關注的企業移動設備安全和企業級加密就屬於這個領域。
網絡級保護關注的是信息傳輸過程中的保密性和完整性,這個領域的內容在CISSP另外一個CBK——電信和網絡安全還會詳細介紹。