- 黑客攻防從入門到精通(Web技術實戰篇)
- 明月工作室 王棟
- 3533字
- 2020-05-22 18:52:22
5.5 對訪問控制進行安全防范
5.5.1 制定安全策略
1.安全策略建立的需要和目的
安全的領域非常廣泛繁雜,構建一個可以抵御風險的安全框架涉及很多細節。就算是最簡單的安全需求,也可能會涉及密碼學、代碼重用等實際問題。做一個相當完備的安全分析不得不需要專業人員給出許許多多不同的專業細節和計算環境,這通常會使專業的框架師也望而生畏。如果我們能夠提供一種恰當的、符合安全需求的整體思路,就會使這個問題容易得多,也更加有明確的前進方向。能夠提供這種幫助的就是安全策略。一個恰當的安全策略總會把自己關注的核心集中到最高決策層認為必須值得注意的那些方面。概括地說,一種安全策略實質上表明:當設計所涉及的那個系統在進行操作時,必須明確在安全領域的范圍內,什么操作是明確允許的,什么操作是一般默認允許的,什么操作是明確不允許的,什么操作是默認不允許的。我們不要求安全策略做出具體的措施規定以及確切說明通過何種方式能夠達到預期的結果,但是應該向安全構架的實際建造者們指出在當前的前提下,什么因素和風險才是最重要的。就這個意義而言,建立安全策略是實現安全的最首要的工作,也是實現安全技術管理與規范的第一步,如圖5-19所示。

圖5-19 安全策略規劃與實施
2.安全策略的具體含義和實現
安全策略的前提是具有一般性和普遍性,如何能使安全策略的這種普遍性和我們所要分析的實際問題的特殊性相結合,即使安全策略與當前的具體應用緊密結合是我們面臨的最主要的問題。控制策略的制定是一個按照安全需求、依照實例不斷精確細化的求解過程。安全策略的制訂者總是試圖在安全設計的每個設計階段分別設計和考慮不同的安全需求與應用細節,這樣可以將一個復雜的問題簡單化。但是設計者要考慮到實際應用前的前瞻性,有時候我們并不知道這些具體的需求與細節是什么。為了能夠描述和了解這些細節,就需要我們在安全策略的指導下對安全涉及的領域和相關方面做細致的考察和研究。借助這些手段能夠迫使在下面的討論中,增加我們對于將安全策略應用到實際中或是強加于實際應用而導致的問題的認知。總之,我們對上述問題認識得越充分,能夠實現和解釋的過程就越精確、細化,這一精確、細化的過程有助于我們建立和完善從實際應用中提煉抽象凝練的、用確切語言表述的安全策略。反過來,這個重新表述的安全策略就能夠使我們更易于去完成安全框架中所設定的細節。
ISO7498標準是目前國際上普遍遵循的計算機信息系統互聯標準,1989年12月國際標準化組織(ISO)頒布了該標準的第二部分,即ISO 7498-2,并首次確定了開放系統互連(OSI)參考模型的信息安全體系結構。我國將其作為GB/T 9387-2標準,并予以執行。按照ISO 7498-2中OSI安全體系結構中的定義,訪問控制的安全策略有以下兩種實現方式:基于身份的安全策略和基于規則的安全策略。目前使用的兩種安全策略建立的基礎都是授權行為。就其形式而言,基于身份的安全策略等同于DAC安全策略,基于規則的安全策略等同于MAC安全策略。
(1)基于身份的安全策略。
基于身份的安全策略與我們之前講過的鑒別行為一致,它的目的是過濾對數據或資源的訪問,只有能通過認證的那些主體才有可能正常使用客體的資源。基于身份的策略包括基于個人的策略和基于組的策略。基于個人的策略是指以用戶為中心建立的一種策略,這種策略由一些列表組成,這些列表限定了針對特定的客體哪些用戶可以實現何種策略操作行為。基于組的策略是基于個人的策略的發展與擴充,指一些用戶被允許使用同樣的訪問控制規則訪問同樣的客體。
基于身份的安全策略有兩種基本的實現方法:能力表和訪問控制列表。這是按照被授權訪問的信息為訪問者所擁有還是被訪問數據的一部分而區分的。
(2)基于規則的安全策略。
基于規則的安全策略中的授權通常依賴于敏感性。在一個安全系統中,數據或資源應該標注安全標記。代表用戶進行活動的進程可以得到與其原發者相應的安全標記。
基于規則的安全策略在實現上,由系統通過比較用戶的安全級別和客體資源的安全級別來判斷是否允許用戶進行訪問。
3.安全策略的實施原則
安全策略的制定實施也是圍繞主體、客體和安全控制規則及三者之間的關系展開的。
(1)最小特權原則。最小特權原則是指主體執行操作時,按照主體所需權力的最小化原則分配給主體權力。最小特權原則的優點是最大限度地限制了主體實施授權行為,可以避免來自突發事件、錯誤和未授權用主體的危險。也就是說,為了達到一定目的,主體必須執行一定操作,但他只能做他所被允許做的,其他除外。
(2)最小泄露原則。最小泄露原則是指主體執行任務時,按照主體所需要知道的信息最小化的原則分配給主體權力。
(3)多級安全策略。多級安全策略是指主體和客體間的數據流向和權限控制按照安全級別的絕密(TS)、秘密(S)、機密(C)、限制(R)和無級別(U)五級來劃分。多級安全策略的優點是避免敏感信息的擴散。具有安全級別的信息資源,只有安全級別比它高的主體才能夠訪問。
5.5.2 安全級別與訪問控制
1.安全級別介紹
安全級別有兩個含義,一個是主客體信息資源的安全類別,分為有層次的安全級別(Hierarchical Classification)和無層次的安全級別;另一個是訪問控制系統實現的安全級別,這和計算機系統的安全級別是一樣的,分為四級,具體為D、C(C1、C2)、B(B1、B2、B3)和A四部分。
2.安全級別的內涵
(1)D級別。
D級別是最低的安全級別,對系統提供最小的安全防護。系統的訪問控制沒有限制,無須登錄系統就可以訪問數據,這個級別的系統包括DOS、Windows 98等。
(2)C級別。
C級別有兩個子系統:C1和C2。
C1級稱為選擇性保護級,可以實現自主安全防護,對用戶和數據的分離,保護或限制用戶權限的傳播。
C2級具有訪問控制環境的權力,比C1級的訪問控制劃分得更為詳細,能夠實現受控安全保護、個人賬戶管理、審計和資源隔離。這個級別的系統包括UNIX、LINUX和Windows NT系統。
C級別屬于自由選擇性安全保護,在設計上有自我保護和審計功能,可對主體行為進行審計與約束。C級別的安全策略主要是自主存取控制,可以實現以下內容。
① 保護數據確保非授權用戶無法訪問。
② 對存取權限的傳播進行控制。
③ 個人用戶數據的安全管理。
C級別的用戶必須提供身份證明(如口令機制)才能夠正常實現訪問控制,因此用戶的操作與審計自動關聯。C級別的審計能夠針對實現訪問控制的授權用戶和非授權用戶,建立、維護以及保護審計記錄不被更改、破壞或受到非授權存取。這個級別的審計能夠實現對所要審計的事件、事件發生的日期與時間、涉及的用戶、事件類型、事件成功或失敗等進行記錄,同時能通過對個體的識別,有選擇地審計任何一個或多個用戶。C級別的一個重要特點是有對于審計生命周期保證的驗證,這樣可以檢查是否有明顯的旁路可繞過或欺騙系統,檢查是否存在明顯的漏路(違背對資源的隔離,造成對審計或驗證數據的非法操作)。
(3)B級別。
B級別包括B1、B2和B3三個級別,B級別能夠提供強制性安全保護和多級安全。強制防護是指定義及保持標記的完整性,信息資源的擁有者不具有更改自身的權限,系統數據完全處于訪問控制管理的監督下。
B1級稱為標識安全保護(Labeled Security Protection)。
B2級稱為結構保護級別(Security Protection),要求訪問控制的所有對象都有安全標簽以實現低級別的用戶不能訪問敏感信息,對于設備、端口等也應標注安全級別。
B3級別稱為安全域保護級別(Security Domain),這個級別使用安裝硬件的方式來加強域的安全,如用內存管理硬件來防止無授權訪問。B3級別可以實現以下內容。
① 引用監視器參與所有主體對客體的存取以保證不存在旁路。
② 審計跟蹤能力強,可以提供系統恢復過程。
③ 支持安全管理員角色。
④ 用戶終端必須通過可信任通道才能實現對系統的訪問。
⑤ 防止篡改。
B級別可以實現自主存取控制和強制存取控制,通常的實現包括以下內容。
① 所有敏感標識控制下的主體和客體都有標識。
② 安全標識對普通用戶是不可變更的。
③ 可以審計。
a.任何試圖違反可讀輸出標記的行為。
b.授權用戶提供的無標識數據的安全級別和與之相關的動作。
c.信道和I/O設備的安全級別的改變。
d.用戶身份和與之相應的操作。
④ 維護認證數據和授權信息。
⑤ 通過控制獨立地址空間來維護進程的隔離。
B級別應該保證以下內容。
① 在設計階段,應該提供設計文檔、源代碼以及目標代碼,以供分析和測試。
② 有明確的漏洞清除和補救缺陷的措施。
③ 無論是形式化的,還是非形式化的模型都能被證明該模型可以滿足安全策略的需求。監控對象在不同安全環境下的移動過程(如兩進程間的數據傳遞)。
(4)A級別。
A級別稱為驗證設計級(Verity Design),是目前最高的安全級別。在A級別中,安全的設計必須給出形式化設計說明和驗證,需要有嚴格的數學推導過程,同時應該包含秘密信道和可信分布的分析,也就是說要保證系統的部件來源有安全保證,如對這些軟件和硬件在生產、銷售、運輸中進行嚴密跟蹤和嚴格的配置管理,以避免出現安全隱患。