郭曉奇
(平頂山市工業(yè)學校 河南省平頂山市 467000)
訪問控制是當今使用的最基本的安全機制,是用于信息系統(tǒng)安全解決方案的最為顯著部分之一。用訪問控制的目的是保證系統(tǒng)資源不被非法使用和訪問,是通過用戶身份驗證來限制對某些信息的訪問和對某些操作功能的使用的一項安全防控技術(shù)。這種技術(shù)可以將系統(tǒng)中的所有功能和數(shù)據(jù)標識出來,組織起來,托管起來,然后向用戶提供一個唯一接口進行操作服務(wù),這個接口的一端是應(yīng)用層系統(tǒng),另一端是權(quán)限引擎(中間件)。它是作為信息安全保障的重要手段,訪問控制被應(yīng)用于防火墻、文件訪問系統(tǒng)、VPN 網(wǎng)絡(luò)訪問及物理層安全等多個方面。
主體(subject),是一個主動實體,稱為用戶或用戶執(zhí)行的程序,規(guī)定為訪問資源的實體。組織,用戶,程序,計算機終端等都可以稱為主體。
客體(object),接受主體訪問的被動實體,規(guī)定需要保護的資源。如文件信息資源,存儲介質(zhì)對象,程序等都可以稱為客體。
授權(quán)(Authorization),限定主體與客體之間的訪問規(guī)則集,定義了主體對客體的操作行為限制和客體對主體的條件約束限制,不得越權(quán)。
策略是高級抽象層。規(guī)范和控制訪問的決策和實施過程。通過策略分布在多個計算機平臺和應(yīng)用系統(tǒng)之中,建立在需知原則,資格,權(quán)限,責任的因素之上,制定專門的策略,對訪問者的控制達到保護重要資源的目的。盡管存在一些知名的策略,但仍有各自的目標,風險容差及其管理責任,這些可能產(chǎn)生對策略的影響。如醫(yī)院的訪問控制可能適用于隱私保護和資格認證,但它與軍隊系統(tǒng)、金融機構(gòu)有很大的差別。訪問控制策略不是一成不變的,也做不到預先確定,所以需要設(shè)計成富有彈性,又能廣泛的適用。
在高級抽象層上,訪問控制機制是訪問控制策略通過一個列表來轉(zhuǎn)換用戶的訪問請求,保證授權(quán)用戶使用的權(quán)限與其所擁有的權(quán)限對應(yīng),制止非授權(quán)用戶的出入控制和限制存儲數(shù)據(jù)的存取控制。通常,訪問控制機制通過對用戶安全屬性和資源的安全屬性匹配來完成訪問控制,查看用戶否有訪問資源的權(quán)限的方法。其它機制還包括,屬性復刻和管理權(quán)能。所以,每當用戶登錄某個多用戶計算機系統(tǒng)時,訪問控制機制就會工作起來防范信息系統(tǒng)中所存在的危險。訪問控制機制與策略獨立,可允許安全機制的重復使用。
安全模型是對安全策略表達的安全需求的一種精確和無歧義的抽象描述,是現(xiàn)實安全系統(tǒng)的模仿,把安全策略和安全機制關(guān)聯(lián)并構(gòu)建一種模型框架。訪問控制模型被實現(xiàn)為一個抽象層次,用于協(xié)調(diào)多種實現(xiàn)選擇和進程環(huán)境,它溝通了策略和機制之間的聯(lián)系。訪問控制模型和機制一般通過它支持的策略進行辨識。一種安全模型允許多種策略表示。如今信息安全開發(fā)的訪問控制模型和機制都是獨立于其所用的策略。
自主訪問控制(Discretionary Access Control,DAC),是目前計算機系統(tǒng)中實現(xiàn)最多的訪問機制,由《可信計算機系統(tǒng)評估準則》定義的訪問控制類型,根據(jù)主體身份和所屬組對客體訪問進行限定的一種方法。它是多用戶環(huán)境訪問控制安全技術(shù),在UNIX 內(nèi)核操作系統(tǒng)中普遍采用。
由客體的用戶對自己的客體進行決定是否將自己的客體訪問權(quán)或部分訪問權(quán)授予其他主體,這種方式是自主的。在 DAC 模型中,訪問權(quán)限是否進行授權(quán)給其他主體,需要根據(jù)其他主體的情況并結(jié)合具體的安全規(guī)則從而做出判斷。自主訪問控制有兩種實現(xiàn)方式:訪問控制列表和基于能力。目前,我國大多數(shù)信息系統(tǒng)的訪問控制都是借助訪問控制表(ACL)實現(xiàn)的。
自主訪問控制是一種簡單廣泛使用的控制策略,但安全性缺乏保障,非法用戶可以繞開授權(quán)限制獲得訪問資源的權(quán)限,給系統(tǒng)資源帶來風險。所以,為了降低風險帶來的危害,一般結(jié)合體他訪問策略一起使用。
強制訪問控制(Mandatory Access Controe,MAC),最早應(yīng)用在Multics 系統(tǒng)中,由《可信計算機系統(tǒng)評估準則》定義為B 級安全系統(tǒng)。4 個安全等級:絕密級(Top Secret)>秘密級(Secret)>機密級(Confidential)>無級別級(Unclas sified),系統(tǒng)會為每個用戶和文件附一個安全等級,并根據(jù)主體和客體的敏感標記(等級分類和非等級類別的組合)來決定訪問模式,訪問方式分為,上讀操作(用戶級別大于文件級別),下寫操作(用戶級別小于文件級別),上寫操作(用戶級別等于文件級別),下讀操作(用戶級別小于文件級別)。
強制的控制策略是多級安全策略,按照一定規(guī)則分別對系統(tǒng)中的主體和客體賦予安全標記,由操作系統(tǒng)的約束的訪問控制,定義授權(quán)規(guī)則(策略)更加嚴格。每當主體訪問對象都會由操作系統(tǒng)內(nèi)核強制施行授權(quán)規(guī)則,即檢查并比較安全屬性和安全級別,來決定是否可進行訪問。任何主體對任何對象的任何操作都將根據(jù)一組授權(quán)規(guī)則(也稱策略)進行測試,決定用戶對資源的使用權(quán)。此外,MAC 對進程生成共享文件進行禁止,防止以共享文件方式將信息泄露給其他用戶。MAC 一般采用的幾種種方法,即用請求一個特權(quán)系統(tǒng)調(diào)用的限制訪問控制、對程序過程執(zhí)行限制的過程控制方法和對系統(tǒng)的功能實施限制的系統(tǒng)限制方法。MAC 系統(tǒng)規(guī)定高級別主體可以得到低級別主體的信息,具有單向不可逆性。
實際上,MAC 和DAC 經(jīng)常結(jié)合一起使用,實現(xiàn)自主和強制性雙項限制檢查,才能進行訪問目的。其優(yōu)點是顯而易見,自主訪問可以防范其它用戶對自己客體的攻擊,強制訪問控制建立一個不可逾越的安全保護層,防止其它用戶故意地濫用自主訪問控制操作。
基于角色的訪問控制(Role-based Access Control),是面向企業(yè)安全策略的訪問控制方法。角色(Role)是一定數(shù)量的權(quán)限的集。角色作為用戶與權(quán)限的委托管理對象,用它解釋權(quán)限和用戶的關(guān)系,所有的授權(quán)不是直接給用戶或用戶組,而是給了委托管理對象。
RBAC 對主體的管理時,給用戶分配角色,并對角色進行職責劃分,使其成為用戶與訪問權(quán)限相聯(lián)系人。這與傳統(tǒng)的自主和強制訪問的完全授予用戶權(quán)限的方式不同。角色成為訪問主體和受控對象之間的一座橋梁,就是在用戶與權(quán)限集合之間構(gòu)建一個管理平臺,每一種角色對應(yīng)一組相應(yīng)的權(quán)限,一旦用戶被授予某種角色,它就就繼承了該角色的所有操作。多一個角色中轉(zhuǎn)站的服務(wù),主體和客體之間的關(guān)系不再通過他們之間的映射來建立關(guān)系。引入角色的好處是,當創(chuàng)建用戶時,都要進行權(quán)限分配操作工作,角色代替用戶接受權(quán)限指派,角色指派獲取資源權(quán)限再轉(zhuǎn)交給用戶,實現(xiàn)用戶和權(quán)限的分離,只分配給用戶相應(yīng)的角色即可,角色的權(quán)限變更比用戶的權(quán)限變更要少,用戶不再直接進行權(quán)限管理,授權(quán)管理的復雜度降低了,企業(yè)安全策略的靈活性得到很大的提升。目前被廣泛應(yīng)用在信息系統(tǒng)中,是一種評估效果比較好的訪問控制。
不過,角色職責劃分不清晰,造成多重授權(quán),管理復雜度上升而出現(xiàn)的事故,職責分離機制可以避免造成一些潛在的危害,因為職責分離通常強制執(zhí)行利益沖突策略,意味著用戶只能分配一個角色。有兩大分離機制方法:靜態(tài)和動態(tài)職責分離方法。動態(tài)分離與靜態(tài)分離關(guān)系都是二元關(guān)系即(角色集,n),表示不能同時為用戶指派n 個角色,但動態(tài)職責分離關(guān)系的施加環(huán)境是在用戶會話中進行限制的,或是活動角色進行施加的限制。
基于任務(wù)的訪問控制(TBAC,Task-based Access Control),它采用面向任務(wù)觀點,以動態(tài)授權(quán)建立訪問控制模型。在TBAC 中,訪問權(quán)限控制不是靜止不變,隨著執(zhí)行任務(wù)環(huán)境變化訪問權(quán)限進行調(diào)整,因此,TBAC是一種動態(tài)策略,它需要五元組來表示授權(quán)關(guān)系(S,O,P,L,AS),主體為S,客體為O,權(quán)限規(guī)則為P,生命周期L,AS 為授權(quán)處理步(Authorinaztion step)。自我管理的授權(quán)處理步是隨著環(huán)境變化的進程,動態(tài)的調(diào)整內(nèi)核狀態(tài),授權(quán)處理步有睡眠,激活,掛起,執(zhí)行等狀態(tài),這些狀態(tài)即任務(wù)活動流程是通過動態(tài)授權(quán)來管理的。任務(wù)訪問控制支持最小特權(quán)原則和最少泄露原則。
基于對象的訪問控制(Object Access control, OBAC),它是針對文件數(shù)據(jù)量龐大和數(shù)據(jù)類型不同,大量的角色的添加減少,海量信息權(quán)限的賦予,都使得用戶管理又難以為繼,隨之而來的安全性就難以保障。引入對象的訪問控制可以迎刃而解這些問題,因為該控制方法允許對象對策略和規(guī)則進行復用、繼承、和派生操作,這樣對受控對象屬性進行訪問控制,也可以對派生出對象繼承訪問控制,哪怕信息量再大,角色更新頻繁也不會出現(xiàn)難以為繼的現(xiàn)象。
多種訪問策略聯(lián)動控制是維護安全重要支撐,如何配置安全策略使其達到用戶要求是計算機系統(tǒng)管理者要思考的。
用ACL 的訪問控制機制,在針對主體訪問客體查詢時,需要對客體的制列表遍歷,但時間和空間資源大量的占用,使得這種方式不經(jīng)濟。但作為一種有效成熟的方法應(yīng)用還是比較廣泛的。
權(quán)能表(Capabilites)與訪問控制表實現(xiàn)正好反向操作,以用戶為中心建立權(quán)限表,發(fā)起訪問用戶擁有一個有效標簽來表明可訪問的資源及訪問權(quán)限,可以方便查詢一個主體的所有擁有何種特權(quán)。
安全標簽是在主體上或客體上附屬的或限制的安全屬性信息,通過安全標簽和其他安全標簽比較來區(qū)分敏感信息,判斷訪問權(quán)限,對用戶和客體資源實施強制執(zhí)行安全策略。
訪問控制機制的實現(xiàn)操作方法,如利用存放對等實體訪問權(quán)來控制信息庫,利用鑒別真?zhèn)涡畔ⅲㄈ缈诹?、證書等),利用授權(quán)保護,利用安全標簽的識別,利用試圖訪問的時間、路由的控制等。
用戶與任意客體間的訪問規(guī)則和權(quán)限可以利用一張二維陣列來說明。矩陣中的行表示客體屬性,列表示主體的屬性,表中用戶和客體對應(yīng)的每個元素表示授權(quán)和訪問規(guī)則集合。
在較大的系統(tǒng)中,矩陣通常是稀疏的,會造成很大的存儲空間浪費,訪問控制很少利用矩陣方式實現(xiàn)。
解決數(shù)據(jù)機密性問題,是多級安全策略的首個偏序關(guān)系數(shù)學模型。對系統(tǒng)狀態(tài)間的讀/寫轉(zhuǎn)換規(guī)則進行限制和約束。它有效防止低級用戶和進程訪問安全級別高的用戶信息資源,對安全級別高的用戶和進程也不能向比起安全級別低的用戶和進程寫入數(shù)據(jù)。這種模型的原則是“向上寫,向下讀”,但它對完整性不能保證,忽視重要指標讓非法訪問成為可能。
BLP 模型的安全策略由自主安全策略和強制安全策略組成。防火墻就是根據(jù)此模型實現(xiàn)單向訪問機制的功能。
它解決數(shù)據(jù)完整性問題,采用分類標簽。它模仿了Bell-LaPadula 模型信息保密級別,信息流向不能向下讀,一個主體不能從較低的完整性級別讀取數(shù)據(jù)。不能向上寫,一個主體不能把數(shù)據(jù)寫入較高的完整性級別客體。
它解決數(shù)據(jù)完整性問題,采用分類標簽。該模型中用戶不能直接訪問和操縱客體,以防止授權(quán)用戶對客體數(shù)據(jù)進行未經(jīng)授權(quán)的操作,必須通過代管程序來訪問客體,保護客體完整性;使用職責分割來避免對授權(quán)用戶進行數(shù)據(jù)執(zhí)行,再次保護數(shù)據(jù)的完整性。完整性的目標,防止未授權(quán)的用戶進行修改和授權(quán)用戶進行不正確的修改,造成系統(tǒng)的一致性。Biba 只能夠確認第一個目標。