迮 愷,陳 丹,2,莊 毅
(1.南京航空航天大學計算機科學與技術學院,江蘇南京211106;2.軟件新技術與產業化協同創新中心,江蘇 南京211106)
現如今,社會信息化程度越來越高,信息安全也越來越受到關注。目前的信息安全技術主要針對軟件的可信安全防護,在軟件實際運行過程中定位故障后再采取相應處理措施,未能預先對整個系統或軟件進行可信安全狀態的預判與維持??尚哦攘渴墙鉀Q信息安全問題的關鍵技術之一,它可以保證實體自身的可信,進而保證信任鏈直至整個系統的可信。但是,已有的可信度量技術大多局限于系統啟動后,對實體和資源靜態單方面的可信度量,未結合系統運行時狀態,從完整性和機密性兩方面對系統實體進行動態多維度的可信度量。且可信度量時使用的訪問控制策略對于實際運行時的信息流傳遞限制較大,降低了系統可用性。
目前,國內外針對可信度量理論問題的研究,主要著眼于可信系統中實體或資源的完整性度量或機密性度量,具體有美國肯特州立大學的Albalawi等人[1]提出的一種可動態調整實體完整性等級的度量模型。通過引入一個調整因子來觸發調整系統中不滿足訪問控制策略的實體完整性等級,并結合實體運行時行為以評估其可信水平。該模型同時適用于協作系統中的可信度量,且模型中的調整因子是隨系統狀態緩慢改變的,進而影響整個可信度的調整。但是,該模型僅考慮了實體完整性的度量,未將機密性納入度量的范疇,可能會導致部分機密信息的泄漏。
美國特拉華大學的Sapello等人[2]提出了一種基于可信平臺模塊TPM(Trusted Platform Module)、應用于操作系統層的動態度量方案。該方案有效檢測了系統運行時狀態,避免了靜態度量方案一次性度量的缺陷,同時解決了動態度量方案普遍存在的競爭危害TOC-TOU(Time Of Check to Time Of Use)問題,可以有效防止緩沖區溢出攻擊,但存在度量效率較低的缺點。
中國科學院的周洲儀等人[3]提出了一種基于BIBA和Clark-Wilson策略的混合強制完整性模型。為了避免引入可信實體來作為三方度量系統中的其他實體,選擇Clark-Wilson模型來進行監控;同時,根據可信主體在其生命周期所屬的狀態實施BIBA的Low-Water-Mark策略,有效解決了BIBA策略可用性問題和Clark-Wilson模型系統開銷過大的問題。但是,該模型訪問控制策略過于寬松,可能導致潛在實體可信度量缺失的問題。
西安電子科技大學的Liu等人[4]提出了一種基于BTG(Break The Glass)策略的靈活性增強的BIBA模型。考慮到BIBA強制安全訪問控制策略較為嚴格地限制了系統信息流的傳遞,導致某些實際可信的實體被系統拒絕,切換系統進入BTG策略模式,通過監測系統狀態變量,實現對絕大多數實體較為容忍的可信度量模型,提高了系統靈活性和可用性。但是,該度量方法仍無法做到覆蓋所有異常情況的處理,對于系統某些特殊異常會出現錯誤的度量,從而引起系統安全問題。
數學工程與先進計算國家重點實驗室的閆麗景等人[5]提出了一種基于行為軌跡的軟件動態可信模型SDTBT(Software Dynamic Trust model based on Behavior Trace)。該模型通過分析實體包含的關鍵函數以及基本塊的調用,在GNU編譯器套件GCC(GNU Compiler Collection)編譯預處理過程中實施插樁算法,提取軟件行為軌跡,有效監測基于控制流的運行狀態,實現對軟件運行時的動態可信度量。但是,對系統中所有關鍵函數及基本塊實現插樁監測工作量較大,且系統開銷不可忽視。
北京工業大學的雷聲威[6]提出了一種層次化軟件可信度量模型,即分別從操作系統可信性、軟件靜態完整性以及軟件動態行為可信性三個層次對軟件進行可信度量。而對于軟件動態行為可信性進行度量時,采用系統調用序列刻畫軟件的動態行為,具有較高的準確性和效率。但是,該模型具體實現方式較為復雜,制定的判定策略也過于嚴格,不易于擴展適用范圍。
北京交通大學的邢彬等人[7]提出了一種新的描述可信計算平臺建立和完整性度量的模型。該模型能全面描述計算平臺的完整性狀態以及狀態轉移過程,同時放寬了對系統內實體完整性度量的時間限制,實現預度量,且能夠兼容現有鏈式、星形和樹形信任傳遞模型。但是,該模型缺少對實體運行狀態和系統環境的監測,無法有效抵抗外界因素對度量結果的影響。
綜上所述,盡管研究者已經在可信度量領域獲得了一些成果,但是仍然存在一些不足,如都沒有同時考慮實體完整性和機密性的可信度量,以保證系統完整可信的同時,機密信息也不會被泄漏。為了實現細粒度上下文感知的系統運行時實體可信性的度量,本文基于信息流非傳遞無干擾理論,結合完整性度量和機密性度量模型,提出一種多級安全訪問控制策略,對系統內實體的可信狀態進行分類,施加不同的訪問控制策略,來達到實體間動態的信息流控制。在此基礎上,利用形式化語言對該策略進行了定義,證明其滿足非傳遞無干擾理論的同時,直接干擾關系在三種訪問操作上具有可信性。最后基于國產龍芯處理器,并借鑒策略約簡的完整性度量架構PRIMA(Policy-Reduced Integrity Measurement Architecture)的實現方式,實現了一個抽象可信度量實例系統,證明了該可信度量模型的有效性。
系統運行時,實體間通過信息流傳遞進行交互。當系統任意時刻僅允許單個實體運行,若能保證實體運行時與其具有直接干擾關系的對象度量后可信,則只要該實體自身可信,此次信息流即為安全的。而實際上系統運行時,同一時刻有多個實體處于運行狀態,他們可能接收信息流或發送信息流,故對實體存在干擾關系的并不只有直接干擾實體,還存在間接干擾實體。而實體一旦收到其他非直接的干擾,會產生非預期的信息流,進而破壞實體間信任鏈傳遞的有效性。所以,實體間信息流傳遞需要建立在特定安全訪問控制策略之上,避免干擾關系的傳遞,且任何非直接干擾關系的實體間都是信息流無干擾的。
本節給出非傳遞無干擾模型下的基本符號定義[8]。
計算機系統M為一個六元組M=(S,s0,A,O,D,R),其中:
S為系統狀態集合,使用小寫字母s表示系統狀態。
s0為系統初始狀態。
A為系統動作集合,指系統自身發出的控制動作或輸入性質的動作,使用小寫字母a表示系統動作。
A*為系統動作序列,使用希臘字母α表示系統動作序列,即一系列連續執行的系統動作。
O為系統輸出集合。
D為系統實體集合,每個實體對應一個可信域,實體與可信域是一一對應的關系,使用小寫字母u表示可信域(實體)。
(1)每個可信域(實體)均可執行相應動作;
(2)可信域(實體)間通過動作進行交互;
(3)可信域(實體)可觀察到動作的執行結果;
(4)本文對可信域與實體的概念不加區分,且直接使用可信域表示實體概念。
若可信域u發出的動作會影響可信域v上的系統輸出,則稱可信域u對可信域v具有干擾關系,記為u~>v;否則稱可信域u對可信域v無干擾關系,記為

即干擾關系具有自反性。
系統M現有可信域D1、D2,可信實體 u、v、w。假設 D1→D2,u,v∈D1,w∈D2,即系統 M 中信息流自可信域D1流向可信域D2。若存在以下干擾關系:

經實體v可將實體u的輸出干擾映射到實體w上,可見系統M中的干擾是可傳遞的。對于同一可信域中的實體間干擾關系u~>v并不影響可信域間的信息流傳遞。對于跨域間的干擾關系v~>w,由于該干擾關系是預期干擾,故仍不影響域間的信息流傳遞。而傳遞干擾關系u~>w是由前兩種干擾關系經傳遞關系得出的非預期干擾關系,即域D1的輸出會干擾域D2,且這種干擾是系統M非預期的,故會導致域D1、D2間信息流傳遞出現異常。
因此,只有當系統M中信息流傳遞滿足非傳遞無干擾理論時,即不存在可傳遞的干擾關系u~>w時,才能保證所有信息流都是同域內的干擾或預期不同域的干擾。
多級安全MLS(MultiLevel Security)是指將同一系統內的所有信息劃分為不同安全級別,以使不同安全級別的信息彼此之間能夠完全隔離,各個安全級別的實體只能訪問對應級別的信息。多級安全研究的一個重要領域是信息流的安全訪問控制模型的建立,最具有代表性的模型有BIBA和BLP兩種。
BIBA模型的研究方向是信息流的完整性保護,規定信息只能從高完整性等級的實體流向低完整性等級的實體,即不允許低完整性的信息“污染”高完整性的實體,進而影響整個系統的完整性等級。而BLP模型的側重點是信息的機密性,規定信息只能從低機密性等級的實體流向高機密性等級的實體,即不允許高機密性的信息“泄漏”到低機密性的實體,進而影響整個系統的機密性等級??梢姡还苁荁IBA模型還是BLP模型,都存在限制較為苛刻、適用范圍局限的缺點。
根據 BIBA 模型[9,10]的規定,系統在任何情況下,可信的實體都應該和不可信的實體相隔絕,并且只允許高完整性等級的實體訪問低完整性等級的實體,否則會導致接收低完整性等級信息流的實體完整性等級降低,進而影響整個系統完整性等級的下降,形成“單調性缺陷”。
根據 BLP 模型[11,12]的規定,為了防止機密信息的泄漏,禁止低機密性等級的實體讀取高機密性等級實體的信息流,或高機密性等級的實體將信息流寫入低機密性等級實體,即系統全局禁止向上讀和向下寫等訪問操作,以此來保證系統機密信息的保密性。
現有模型大多有以下三方面不足:一是模型對實際信息流傳遞限制較為苛刻;二是存在“單調性缺陷”,應用范圍較小;三是無法應用于跨域的信息流傳遞中。針對以上缺陷,本文對傳統的BIBA模型和BLP模型進行深度分析,提出了一種基于信息流的多級安全訪問控制模型,并通過實例驗證了模型的有效性,具有適用性高、支持跨域等優點,是一種上下文感知的細粒度的信息流安全訪問控制模型。
原始強制安全訪問控制策略僅適用于主、客體均為可信實體的情況,且必須滿足特定訪問操作策略,系統才允許訪問,雖然確保了系統的可信,但很大程度上限制了系統中信息流的傳遞,體現在以下兩方面:
(1)系統拒絕了所有不可信實體的訪問請求。
(2)系統拒絕了可信實體中不滿足安全訪問控制策略的訪問請求。
故本文設計了獨立于系統的可信代理模塊,其初始可信標簽等級為系統全局最高,即最高的完整性等級、最高的機密性等級以及包含全局可信實體的可信訪問域,而且隨系統運行推進和環境改變而始終保持不變。而且為了保證可信代理模塊不受系統運行時環境的變化影響,可信代理模塊的運行環境與系統運行環境完全隔離,確保其自身完整性與機密性不被破壞。
對于上述提到的兩個方面,系統可信代理轉而驗證實體所屬域的可信度,若為可信所屬域的實體,且存在于該可信所屬域的可信實體鏈表中,則繼承原可信所屬域賦予該實體的可信標簽屬性值;否則,賦予其最低完整性等級、最低機密性等級,同時可信訪問域為空集。針對跨域的實體間信息流的傳遞,可信代理模塊同樣適用,即對于實體所屬域的核驗,無需域存在于同一個系統中。
基于BIBA模型和BLP模型擴展的多級安全訪問控制策略如下所示:

其中,u、v為系統中請求訪問的實體,TLs為主體的可信標簽,TLo為客體的可信標簽,T為可信實體,UT為不可信實體,TA(Trusted Agent)為可信代理,TA={IL,SL,TAF},其中,可信標簽 TL(Trusted Label)控制中心初始化系統中待度量實體屬性,包括完整性等級 IL(Integrity Level)、機密性等級 SL(Secret Level)和可信訪問域TAF(Trusted Access Field)。實體訪問操作Access={observe,modify,invoke},observe代表讀操作,modify代表寫操作,invoke代表調用操作。表示完整性、機密性等級集合上的偏序關系。
故式(3)的modify訪問操作可擴展為:

對于可信實體間的寫訪問操作,直接應用基本安全訪問控制規則即可,即可信主體的完整性等級高于或等于可信客體的完整性等級,可信主體的機密性等級小于或等于可信客體的機密性等級,同時可信主體的可信訪問域包含可信客體的可信訪問域。而對于非可信實體間的寫訪問操作,需通過可信代理作為中繼,溝通實體間的信息交流。
同理可得,擴展后的observe訪問操作策略:

擴展后的invoke訪問操作策略:

以上三種訪問操作策略均在實體u作為主體、實體v作為客體的前提下。并且,在原強制訪問策略僅支持可信實體的訪問操作的基礎上,將其擴展到不可信實體,同時有效解決了信息流強制訪問策略存在的“單調性缺陷”。引入可信代理模塊:
(1)針對可信實體,解決部分“向上寫”“向下讀”以及“向上調用”的信息流傳遞情況。對于來自可信所屬域但不滿足強制安全訪問控制策略的實體,仍可提升其完整性等級和可信訪問域至主體/客體平級,使之滿足強制訪問策略對于完整性等級和可信訪問域的限制,若繼承的機密性等級也滿足策略,則系統允許此次訪問請求操作。
(2)針對不可信實體,若來自可信所屬域,則仍可繼承來自原可信所屬域的可信標簽屬性值,而非直接被系統拒絕此次訪問請求。
綜上所述,為了實現對系統實體的信息流安全訪問控制,需分別對其完整性和機密性進行驗證,即對系統中待度量實體的完整性等級和機密性等級進行初始化,對于系統啟動后,存在于可信環境中的實體賦予最高完整性等級和機密性等級。
當主/客實體均為可信實體時,直接應用強制安全訪問控制策略即可,此時實體間信息流為直接傳遞。而當主/客實體不全為可信實體時,兩者之間信息流通過可信代理作為中介間接傳遞。前者為直接干擾關系,不影響可信傳遞,而后者為間接干擾關系,現通過形式化證明信息流在可信代理作用下傳遞仍滿足非傳遞無干擾策略。
證明 現有實體 u∈UT∨v∈UT,TA∈T,則有:
(1)對于observe訪問操作來說:


即當實體不全為可信實體時,實體間不存在間接傳遞干擾。
(2)對于modify訪問操作來說:

即當實體不全為可信實體時,實體間不存在間接傳遞干擾。
(3)同(1)。
綜上所述,當實體不全為可信實體時,實體間信息流通過可信代理傳遞后仍滿足非傳遞無干擾策略。 □
本實例在基于龍芯3A2000處理器的硬件可信平臺上進行,軟件環境為集成有虛擬可信平臺模塊的Ubuntu Core 16.0.2 LTS精簡操作系統,構建系統啟動前的可信計算環境,并在啟動后,首次進行靜態可信度量,確保系統運行前的環境可信。
為了解決現有信息流安全訪問控制策略對實體訪問操作請求限制過于苛刻,同時導致系統整體陷入“單調性缺陷”問題,提出一種基于信息流的多級安全訪問控制模型,其整體架構如圖1所示。
動態可信度量模型具體流程如圖2所示。
(1)啟動可信環境。平臺基于國產龍芯3A2000處理器,系統內置集成有虛擬可信平臺模塊vTPM(virtualized Trusted Platform Module)的精簡嵌入式操作系統。
(2)初始化可信環境。由可信標簽控制中心初始化系統中待度量實體屬性,包括完整性等級、機密性等級和可信訪問域,即賦予屬性相應數值,同時,將初始化信息寫入系統全局安全策略配置文件。


(3)系統從初始可信環境開始運行。系統首先讀取全局安全策略配置文件,并生成5個數據鏈表,分別用來存儲系統中待度量實體的完整性等級、機密性等級、可信訪問域、可信實體和所屬域。完整性等級鏈表存儲了系統中所有待度量實體當前的完整性等級數值;機密性等級鏈表存儲了系統中所有待度量實體當前的機密性等級數值;可信訪問域鏈表存儲了系統中所有待度量實體當前的主/客體可信訪問域;可信實體鏈表存儲了系統中所有待度量實體中可信實體(排除不可信實體);實體所屬域鏈表存儲了系統中所有待度量實體的所屬主體。
(4)系統運行后,當實體請求訪問客體時,系統的訪問控制機制會對該請求進行攔截,并轉入訪問控制檢查模式:
①提取該訪問請求的主體和客體對象。
②檢查主體、客體是否均存在于可信實體鏈表,若存在,則轉到步驟a;否則,轉到步驟b。
步驟a將主、客體各屬性應用到本文所提出的多級安全訪問控制模型,檢查是否滿足策略,如一致,則系統放行,允許此次訪問請求,并將操作的主、客體分別加入對方的實體可信訪問域鏈表中;否則,轉到步驟b。
步驟b經可信代理模塊,轉向驗證其所屬域,根據判定其是否為可信的所屬域,對此次請求訪問的主、客體的可信標簽屬性進行初始化。若主、客體不全為可信實體,則轉到I;否則,轉到II。
I若實體所屬域為不可信域,則系統自動拒絕此次訪問操作;否則,繼承原所屬域賦予該實體的可信標簽屬性值,轉到步驟a。
II若實體所屬域為不可信域,則賦予其最低完整性等級、最低機密性等級,同時可信訪問域為空集,轉到步驟a;否則,提升主體完整性等級至與客體完整性等級一致,機密性等級不變,轉到步驟a。
對于每個實體來說,在一次信息流傳遞過程中,既可以是主體,也可以是客體,所以存在兩種不同的可信訪問域,分別是主體可信訪問域集合和客體可信訪問域集合,表示該實體作為主體時已建立聯系的可訪問客體集合或表示該實體作為客體時已建立聯系的可被訪問主體集合,初始化均為空集。
除了對來自可信所屬域的可信實體應用信息流強制安全訪問控制策略時,可信實體的可信標簽屬性值來自系統靜態的全局安全策略配置文件,系統中的其他實體,如來自可信所屬域的不可信實體和其他不滿足信息流強制安全訪問控制策略的可信實體,均可動態地根據特定實體的屬性調整其可信標簽的等級值,并作為依據供系統重新對其應用多級安全訪問控制策略,嘗試再次驗證信息流訪問操作請求,極大擴展了系統安全訪問控制的能力和適用范圍。
實施例選擇初始可信環境中的可信實體A,來自可信實體A的同一可信所屬域的可信實體B、C以及來自可信所屬域的不可信實體D。其中實體A、B間滿足強制安全訪問控制策略,實體A、C間不滿足強制安全訪問控制策略,但經可信代理提升實體C的可信標簽屬性值后可實現信息流傳遞,實體A、D間不滿足強制安全訪問控制策略,經可信代理從其所屬域繼承實體D的可信標簽屬性值后仍不滿足強制安全訪問控制策略,即系統將拒絕實體A、D間的信息流傳遞。
如圖3~圖5所示,系統首先處理實體A、B間的訪問操作,由于實體A、B均為可信實體,且滿足強制安全訪問控制策略,故系統放行實體0;而對于實體A、C間的訪問操作,由于不滿足強制安全訪問控制策略,系統轉入可信代理模式,重新賦予客體C新的可信標簽等級,新的等級值依據實體C的所屬域可信性,被提升至與實體A、C可信標簽等級較高的一方一致,退出可信代理模式后再次驗證安全訪問控制策略,滿足進而系統放行實體1;對于實體A、D間的訪問請求,繼承了實體D所屬域賦予的原可信標簽屬性值后,仍不滿足安全訪問控制策略,故系統拒絕此次訪問操作。



(1)本模型選擇BIBA、BLP模型作為多級安全訪問控制模型的基礎,充分考慮到實體完整性和機密性對于系統可信的影響,并擴展了多級安全訪問控制策略的適用范圍,解決了僅使用強制安全訪問控制策略導致的系統可信等級的“單調性缺陷”。
(2)本模型設計了可信代理模塊,覆蓋可信系統中信息流傳遞中的所有情況。引入可信代理模塊,針對不可信實體及未通過強制安全訪問控制策略驗證的實體,進行所屬域的可信驗證,動態更新其可信標簽的屬性值,以使部分情況下的信息流訪問請求通過系統可信驗證。
(3)本模型設計了一種基于信息流的多級安全訪問控制模型,并擴展信息流傳遞至多域系統,實現了跨域的信息流訪問控制,且保持系統實體維持高等級可信。
(4)通過對系統應用多級安全訪問控制模型,實現對實體的動態度量,經驗證模型滿足信息流非傳遞無干擾策略且具有有效性。
下一步研究工作是實現不可信實體向可信實體的轉化,進一步提高模型的有效性。