?

基于深度學習的ABAC 訪問控制策略自動化生成技術

2021-01-19 04:57劉敖迪杜學繪王娜喬蕊
通信學報 2020年12期
關鍵詞:池化訪問控制語句

劉敖迪,杜學繪,王娜,喬蕊

(1.信息工程大學,河南 鄭州 450001;2.河南省信息安全重點實驗室,河南 鄭州 450001;3.周口師范學院,河南 周口 466001)

1 引言

不斷發展的大數據、云計算等新型計算范式極大地提高了數據共享與利用的效率,通過分析與利用數據資源,能夠創造出巨大的社會價值和經濟價值。然而,數據的共享與利用也面臨著嚴峻的安全風險,導致各類安全事故頻發。例如,2018 年3 月曝出的Facebook 數據外泄事件,導致超過5 000 萬用戶的個人數據被非法訪問。因此,數據的非授權共享將會對用戶數據帶來巨大的安全威脅,實現安全、可控的數據資源共享與利用是數據應用及發展的前提與基礎。作為保護數據安全的重要手段之一,訪問控制技術[1]能夠通過對用戶權限的管理,使合法用戶依照其所擁有的權限訪問系統內的相應資源,禁止非法用戶對資源的非授權訪問,從而有效地保障數據安全及業務系統的正常運轉。其中,基于屬性的訪問控制機制(ABAC,attribute based access control)[2-3]使用屬性作為訪問控制的基本要素,能夠靈活利用實體所擁有的屬性集合來決定是否賦予其訪問權限,具有較強的語義表達能力,且兼容自主訪問控制、強制訪問控制、基于角色的訪問控制等機制[4],適用于解決開放計算環境中的細粒度訪問控制和大規模動態授權問題。Gartner 預測[5]到2020 年,70%的企業將使用基于屬性的訪問控制方案作為主導機制來保護內部關鍵信息資產。

訪問控制策略是執行訪問控制機制的核心與基礎[6-7]。特別是在信息系統建立初期,如何在滿足系統安全需求的前提下,配置正確、完備且一致的訪問控制策略是安全管理人員對資源實施訪問控制的前提[3]?,F有的策略生成技術主要包括自上向下與自下向上2 種模式[8-10]。其中,自上向下模式[11]依靠安全專家的專業知識,從系統的業務需求和安全需求出發,通過人工分析的方式來得到系統訪問控制策略。但該模式是一項需要專業知識且容易出錯的勞動密集型工作,策略生成質量不穩定,可靠性和準確性與安全專家的專業水平直接相關[1-2]。并且,針對不同業務系統,自上向下模式難以移植,可擴展能力較弱,容易導致過度授權和授權不足現象的發生[2]。與自上向下模式不同,自下向上模式[12-15]依據信息系統中已有的訪問控制策略信息(用戶?權限關系),利用數據挖掘等手段實現策略的自動生成,減少了對專家的依賴。但是,該模式需要依據信息系統中已存在訪問控制策略信息(用戶?權限關系)作為前置條件,才能實現訪問控制策略的生成[16-17]。而在信息系統建立的初期階段,由于系統中沒有現成的訪問控制信息作為基礎,導致該模式在此場景下難以直接應用。并且,現有自下向上技術大多通過角色[18]來構建策略,得到的角色信息通常是無語義信息,難以與真實世界中訪問控制需求相結合,無法表達出ABAC 模型豐富的屬性語義信息(主體屬性、動作屬性、客體屬性),難以直接應用到ABAC 的策略生成工作中。

實際上,在大多數組織機構的信息系統內部,都存在著以自然語言形式描述的系統項目規范類文檔(如項目需求文檔、用戶手冊、使用須知等)。這些項目文檔[19]中蘊含了系統預置的與訪問控制相關的策略信息,它們是安全專家了解應用環境與應用背景、分析安全需求的重要依據和信息來源。手動篩選現有文檔以提取隱藏的訪問控制策略可能是一項冗長、耗時且容易出錯的工作,且需要具有專業安全知識的專家才能夠順利完成。因此,如何從項目規范類文檔中提取訪問控制策略信息,自動化生成ABAC 策略,對基于屬性的訪問控制研究具有重要意義[20]。

為了解決上述訪問控制策略生成的難題,本文提出了一種新穎的基于深度學習的ABAC 訪問控制策略生成技術,目的是從自然語言形式描繪的項目規范類文檔中提取出基于屬性的訪問控制策略,實現系統訪問控制策略的自動化、智能化生成,顯著降低訪問控制策略生成的時間成本,從而為訪問控制的實施提供支撐。本文將訪問控制策略生成問題分解為訪問控制策略語句識別和訪問控制屬性挖掘2 項關鍵任務。其中,訪問控制策略語句識別任務是從項目相關文檔中提取出與訪問控制相關的語句,訪問控制屬性挖掘任務則是從自然語言形式的策略語句中挖掘出策略的主體屬性、動作屬性、客體屬性以及屬性間關系等屬性信息,依據這些屬性信息,即可直接得到可讀、可執行的訪問控制策略。

本文的主要貢獻包括3 個方面。1) 將基于屬性的訪問控制策略生成問題轉化為自然語言處理問題,提出了一種基于深度學習的ABAC 策略生成框架,該框架將策略生成問題分解為訪問控制語句識別和訪問控制屬性挖掘2 項任務,能夠實現訪問控制策略的自動化生成。2) 提出了一種基于混合神經網絡架構的網絡模型BiGRU-CNN-Attention,實現了訪問控制策略語句識別,并在公開數據集中進行了測試,平均F1-score 指標能夠達到0.941,比當前的state-of-the-art 方法性能提高了4.1%。3) 提出了一種基于雙向長短期記憶網絡(BiLSTM,bidirectional long short term memory)和條件隨機場(CRF,conditional random field)的融合網絡模型AM-BiLSTM-CRF,實現了訪問控制語句的屬性挖掘,為訪問控制策略生成提供了屬性支持。通過實驗驗證了與基準方法相比,所提方法具有更好的性能。

2 相關工作

現有的圍繞ABAC 訪問控制策略自動化生成技術的研究主要包括2 個研究方向,具體如下。一個研究方向是在信息系統中已有的訪問控制策略信息(用戶?權限關系)的基礎上,生成ABAC 訪問控制策略。圍繞該問題,Xu 等[21]通過從給定的用戶權限關系中遍歷元組,使用選擇的元組作為構建候選規則的種子,嘗試通過用約束代替屬性表達式中的連接來泛化每個候選規則,以此覆蓋用戶權限關系中的其他元組,實現ABAC 策略的挖掘。Das 等[12]通過二進制矩陣形式表示現有的用戶?權限關系,將策略生成問題轉化為矩陣最小化問題,并提出了一種啟發式求解方法。但是,由于矩陣過于稀疏,求解空間過大,存在求解效率較低的問題。為此,Cotrini 等[15]設計了一種新的子群發現算法,通過可靠性閾值來降低搜索空間,提高求解效率。Karimi 等[14]提出了一種基于無監督學習算法的策略生成方法,基于K-modes 聚類算法實現近似策略規則模式的抽取,再從得到的模式中挖掘ABAC 策略規則。但是該方法存在策略生成質量的穩定性不高,且難以設定恰當聚類值的問題。Mocanu 等[22]通過日志來訓練一個受限的玻爾茲曼機(RBM,restricted Boltzmann machine)來提取策略規則。但在該研究中只給出了算法在策略空間中第一個階段的初步結果,算法的最后一個階段還并未實現。以上方法都只關注允許類型的訪問控制策略,無法解決禁止類型策略的生成問題。針對此問題,Iyer等[17]提出了一種基于子類枚舉的算法,在犧牲一定計算效率的條件下,能夠同時發現允許類型的授權規則和禁止類型的授權規則。

另一個研究方向是不需要借助信息系統中已有的訪問控制策略信息(用戶?權限關系)依據項目規范類文檔生成訪問控制策略。早期研究[23]是通過安全專家的人工分析來從文檔中提取相應的訪問控制策略,或者是在受控自然語言(CNL,controlled natural language)條件下[24-25]進行訪問控制策略的提取。雖然人工分析通常能夠生成最準確的結果,但代價是需要更熟練的安全專家和更多的評估時間。由于CNL 被設計用來盡量減少自然語言中的模糊性和復雜性[25],使用CNL 可以產生較全面的結果,但是CNL 通常需要專門的生成工具來對文檔中的相關詞匯進行轉換。因此,基于CNL的方法靈活性較低,其應用場景較為受限。另外,由于實際環境中的絕大多數文檔都是一般化的通用類別的自然語言文檔。因此,與其他技術相比,自然語言處理技術(NLP,natural language processing)通常需要較少的人工工作,即可以處理通用類別的文檔,在靈活性與可擴展性方面更具優勢。

當前已存在一些使用自然語言處理技術從文檔中自動提取訪問控制策略的研究。Xiao 等[26]提出了一個名為Text2Policy 的自動化方法,該方法根據4 種預設的策略語義模式進行匹配,能夠從包含訪問控制策略的文檔中提取出基于角色的訪問控制策略。但是,Text2Policy 方法只適用于符合特定模式的需求規范,并依賴于匹配4 個特定的句型來獲取策略信息,無法捕捉到不遵循預先設定語義模式的策略。為了解決Text2Policy 提取語義模式受限的問題,Slankas 等[27]提出了一種基于訪問控制策略模式匹配的機器學習算法,該算法的核心是基于初始的種子模式生成適當的依賴圖模式,并不斷引導和提取新的模式來擴展原有的訪問控制模式集,從而實現更好的策略提取效果。文獻[28]提出了一種基于最小生成樹(MST,minimum spanning tree)的迭代算法(ACRE,access control rule extraction)來提取非結構化文檔中的訪問控制語句。該算法將語句表示為以單詞為頂點、單詞間關系為邊的解析圖,通過在解析圖中匹配訪問控制策略匹配模式生成MST 來提取策略。為了提高策略提取的準確率,還構造了一個樸素貝葉斯分類器來擴展策略匹配模式。

針對自然語言文檔中的訪問控制策略語句的識別問題,文獻[29-30]基于語義角色標記(SRL,semantic role labeling)自動地識別謂詞?參數結構(PAS,predicate-argument structure),然后對提取的參數使用一組預定義的規則來從自然語言需求文檔中提取訪問控制策略,并利用提取到的訪問控制策略來定義角色和構建RBAC 系統。文獻[19]設計了Security features、PMI features、Syntactic complexity features 和Dependency features 共4 類特征來對文檔中的語句進行描述,使用樸素貝葉斯分類器和支持向量機(SVM,support vector machine)實現訪問控制語句識別。文獻[31]采用遞歸神經網絡模型(RNN,recurrent neural network)從自然語言文檔中識別策略語句??傮w來說,現有基于NLP 的策略生成技術整體性能較一般。針對訪問控制屬性提取問題,Alohaly 等[32-33]使用卷積神經網絡(CNN,convolutional neural network)從自然語言策略語句中識別出與系統訪問控制相關的主體與客體屬性集合。但是,該方法只是為了提取與訪問控制相關的屬性信息,從而為構建ABAC 模型提供屬性支撐,并沒有獲取不同屬性之間的策略關系,無法依據這些屬性來構建訪問控制策略。

3 訪問控制策略生成框架

3.1 基于屬性的訪問控制模型

ABAC 能夠靈活利用實體所擁有的屬性集來決定是否賦予其訪問權限,具有較強的語義表達能力,適用于解決開放計算環境中細粒度訪問控制和大規模動態授權問題,有助于實現高效的訪問控制執行標準,縮短新應用服務的部署時間,被譽為“下一代”授權模型[34],其核心概念如下。

定義1屬性(attribute)用來描述參與到訪問控制過程中實體的特征信息,由屬性名與屬性值構成,包括主體屬性(S)、客體屬性(O)、操作屬性(A)和環境屬性(E)。其中,主體屬性描述訪問請求發起方所具有的屬性信息(如角色、單位等),客體屬性描述能夠被訪問的資源所具有的屬性信息(如名稱、安全等級等),操作屬性描述主體對客體的各種操作行為(如讀取、寫入等),環境屬性描述訪問控制過程中所受到的環境約束(如時間、空間等)。在訪問控制策略中,主體屬性、客體屬性、操作屬性是必須要素,環境屬性是非必須要素。同時,環境屬性包含了對訪問控制的時空約束,較復雜,這部分內容將在下一步工作中進行詳細研究。因此,為了簡化問題,使研究更有針對性,本文只圍繞包含主體屬性、客體屬性、操作屬性這些必須要素的策略生成問題展開研究,在后文中對環境屬性不再進行額外說明。

定義2屬性元組(attribute tuple)是刻畫訪問控制實體特定類別屬性的集合,是屬性動態指派關系的體現,可表示為X-tuple={a1,a2,…,an},X∈{S,O,A}。

定義3訪問控制策略(access control policy)是主體訪問客體的規則和主體對客體授權邏輯的具體體現,可表示為四元組ACP=(S-tuple,A-tuple,O-tuple,Sign)的形式,Sign∈{permit,deny}表示允許訪問或禁止訪問。

定義4訪問請求(access request)是對資源的請求訪問者、被訪問的客體以及被請求操作的描述,可以表示為三元組 AR=(S-tuple,A-tuple,O-tuple)的形式。訪問請求中至少包含一個主體屬性、一個客體屬性和一個操作屬性。

定義5權限判決(permission decision)是在給定的訪問控制策略評估環境中,針對用戶的訪問請求,做出用戶允許或禁止訪問相應資源的判決響應,可表示為一個映射函數Decision:AR → {permit,deny}。

3.2 策略生命周期

圖1 是文獻[34]給出的基于屬性的訪問控制策略的生命周期。在傳統專家知識驅動的策略管理過程中,信息系統所有者負責定義訪問控制保護用例,安全人員負責為給定的用例收集訪問控制需求、定義訪問控制屬性、編寫相應的訪問控制策略,再由應用程序開發人員進行策略用例的測試、訪問控制框架和訪問控制策略的部署,最后由審計員負責進行ABAC 的訪問控制審計。本文的研究重點聚焦在收集訪問控制需求(階段②)、獲取訪問控制所需屬性(階段③)、編寫訪問控制策略(階段④)這3 個階段。利用深度學習技術實現自動化、智能化的策略生成。

圖1 基于屬性的訪問控制策略的生命周期

3.3 策略生成框架

訪問控制策略生成框架如圖2 所示。首先,對待處理的自然語言文檔進行解析,在訪問控制策略語句識別引擎中提取出包含訪問控制信息的語句,這些語句描述了擁有哪些屬性的主體能夠以何種方式訪問具有哪些屬性的客體。一旦訪問控制策略語句被提取出來之后,就對語句中所包含的主體屬性、操作屬性以及客體屬性進行挖掘,生成相應策略元素。然后,直接將這些策略元素轉化為可讀、可執行的標準格式ABAC 策略。再經過進一步的策略修正和驗證步驟之后,將最終的ABAC 策略存儲到訪問控制策略數據庫中,完成從自然語言文本中提取訪問控制策略的全部流程。下面,將對訪問控制語句識別和訪問控制屬性挖掘這2 項核心任務的解決方案進行詳細說明。

圖2 策略生成框架

圖3 訪問控制語句識別模型

4 訪問控制策略語句識別引擎

本節提出了一種混合神經網絡模型BiGRU-CNN-Attention 來實現訪問控制策略語句的識別。該模型由Word embedding 層、隱含層和輸出層3 個部分組成。其中,隱含層包含BiGRU 層、卷積層、池化與注意力層、合并層和全連接層,從而構成了一個如圖3 所示的7 層神經網絡結構。

4.1 Word embedding 層

Word embedding 層是訪問控制語句識別模型的數據輸入層,在該層中本文使用了谷歌最新提出的預訓練BERT(bidirectional encoder representation from transformer)模型[35]。BERT 模型將傳統大量在下游具體NLP 任務中做的操作轉移到預訓練的語言模型中,進一步增加了詞向量模型的泛化能力,充分地對字符級、詞級、句子級關系特征進行了描述。BERT 模型基于雙向transformer 技術進行詞向量模型的訓練,具有更深的層數和更好的并行性,在多項NLP 任務中都具有非常優異的性能。BERT 模型的具體技術細節不作為本文研究的重點。本文基于BERT 模型將自然語言文檔中的詞及其對應的特征進行編碼,轉化為詞向量形式作為模型輸入。

4.2 BiGRU 層

門控循環單元(GRU,gated recurrent unit)是一種繼承了長短期記憶網絡(LSTM,long short-term memory)特性的神經網絡結構,在某些應用場景下有近似LSTM 的性能,但卻具有更加簡單的網絡結構。當整體神經網絡模型規模較大時,它擁有更少的參數和更好的收斂效果。雙向門控循環單元(BiGRU,bidirectional gated recurrent unit)[36]由正反2 個方向的GRU 組成,相比單向GRU 能夠提取出更加全面的語句特征。因此,本文選取BiGRU 來獲取文本語句的深層次特征表示。

GRU 由更新門和重置門2 個門組成。更新門用于控制前一時刻輸出對后一時刻輸出的影響程度,更新門的值越大,說明前一時刻輸出對后一時刻輸出的影響越大。重置門用于控制前一時刻輸出被后一時刻忽略的程度,重置門的值越小,說明后一時刻忽略的信息越多。GRU 結構單元的更新方法為

其中,z(t)、r(t)、h(t)分別表示時刻t的更新門、重置門、候選激活狀態、激活狀態,h(t?1)表示時刻t?1 的隱含層狀態。由式(1)可知,z(t)由當前時刻輸入的信息與上一時刻需要被遺忘的信息共同決定,r(t)由當前時刻輸入的信息與上一時刻需要被繼承的信息共同決定。

BiGRU 將2 個方向相反的GRU 輸出進行合并,計算方法為

其中,h(t)和分別表示前向GRU 和反向GRU 中結構單元輸出的隱含層向量,w(t)和分別表示對應的權重,b(t)表示時刻t的偏置。

4.3 CNN 層

BiGRU 能夠較好地提取出文本內雙向時序維度的特征關系,但是由于文本中的詞向量特征通常與其相臨近的詞向量特征之間也具有一定的語義關聯,為了更好地對相鄰特征間的關聯進行語義分析,本文利用CNN 層具有空間局部感知能力和權值共享網絡結構的特點,來進一步地提取關聯特征。并且,在保留數據主要特征的同時,有效地降低神經網絡模型訓練的復雜程度和參數數量。該方法能夠有效避免過擬合,提高模型的泛化能力。輸入是多個映射,輸出是降維后的映射。每個映射都是屬于上層的輸入映射卷積值的組合,計算方法為

其中,Nj是輸入映射的集合,是用于連接第i個輸入特征映射和第j個輸出特征映射的卷積核,是第j個特征映射的偏置項,f是激活函數。

4.4 池化與注意力層

池化層也被稱為下采樣層,一般取池化區域中的最大值或平均值(分別稱作最大池化或平均池化)。池化層能夠減弱數據變形的影響,降低特征映射維度,提高模型的精度,避免過擬合的發生。本文為了提高模型的穩健性,同時采取了最大池化計算與平均池化計算,通過這種混合池化計算方法來降低單一池化可能會造成的數據方差增大與均值偏移的問題。計算方法為

其中,s表示池化區域Ap中所對應輸入數據元素;max 表示對池化區域特征取最大化值;mean 表示對池化區塊特征取平均值;表示下采樣函數,包括最大池化max-pooling 和平均池化mean-pooling;表示偏置項;F1表示最大池化計算結果,F2表示平均池化計算結果。

起源于人類視覺注意力的注意力(Attention)機制在自然語言處理、圖像處理、語音識別等領域表現出了非凡的性能。因此,本文引入Attention 機制進行訪問控制語句的識別。Attention 機制通過對數據進行加權處理,把不同的部分間數據聯系起來,能夠對語句中的重點詞匯進行著重的關注與處理,從而提高系統的整體性能。使用Attention 機制在輸入語句中分配不同的關注度,突出局部的重要信息,從而使重要信息得到更多的關注。一般情況下,如果BiGRU 和CNN 得到的所有詞向量在句子S中都被平等地處理,那么在一些不重要的詞上將會浪費過多的計算時間。因此,本文通過對語句中的重點詞進行著重關注,對輸入序列中的每個元素賦予權重,并將注意力集中在輸入語句中最重要的信息部分,計算方法為

其中,α是句子中新的隱含層的狀態所占的權重,hi是向Attention 機制中輸入的初始隱含層狀態,e i是時刻i隱含層狀態的能量值,w i是權重系數,bi是對應時刻i的偏置。

4.5 合并層與全連接層

合并層接收來自池化與注意力層輸出的最大池化計算結果F1、平均池化計算結果F2以及注意力計算結果F3,將3 個結果進行合并拼接之后,得到本層的融合特征a(l),計算方法為

其中,⊕表示拼接操作。

然后,再將融合特征FF 輸入2 個全連接層中,全連接層的計算與普通神經網絡的計算一致,其輸出為

最后,在最后一個全連接層中,對輸出特征f進行Softmax 函數計算,得到輸入的文本語句為訪問控制策略語句的概率。Softmax 函數的計算方法為

其中,K為語句類別(屬于訪問控制語句為1,非訪問控制語句為0),為相應的語句類別概率。

5 訪問控制屬性挖掘引擎

本節將屬性挖掘問題轉化為主體屬性、客體屬性以及動作屬性的序列標注問題,提出的訪問控制屬性挖掘神經網絡模型AM-BiLSTM-CRF 如圖4 所示。AM-BiLSTM-CRF 網絡模型是一個具有CRF的雙向LSTM 模型。首先,將訪問控制語句中的單詞進行向量化處理。本模型與3.1 節類似,同樣使用BERT 模型預訓練模型將訪問控制語句中的詞映射到高維向量空間,得到詞向量W=[w1,w2,…,wn]。然后,將Word embedding 層中的詞向量W輸入前向LSTM 和反向LSTM 之間,依據上下文語義環境對特征進行學習,并將前向LSTM 和反向LSTM 的輸出進行拼接得到CRF 層的輸入。最后,由CRF層學習不同詞中屬性標簽間的依賴關系,生成面向訪問控制語句的屬性挖掘模型。

圖4 訪問控制屬性挖掘模型

5.1 標記方案

本文設計了OBM 屬性標記方案,對訪問控制語句中的詞進行屬性標注,含義如下。標記符號O用于標注與訪問控制無關的屬性,標記符號B 用于標注屬性的起初位置,標記符號M 用于標注屬性的非起初位置。訪問控制語句中共有主體屬性、客體屬性、動作屬性3 類屬性需要進行標注,共包括7 類標記,如表1 所示。

表1 屬性標記方案

對于中文訪問控制語句“注冊的教授可以訪問他的課程信息”的標注結果如下。

例1/B_subject_attribute:注/M_subject_attribute:冊/M_subject_attribute:的/B_subject_attribute:教/M_subject_attribute:授/O:可/O:以/B_action_attribute:訪/M_action_attribute:問/B_ object_attribute:他/M_object_attribute:的/B_object_attribute:課/M_object_attribute:程/M_object_attribute:信/M_object_attribute:息。

由于英文的表達形式與中文存在一定差異,因此標注情況略有不同,英文訪問控制語句“A registered professor can access his course information”的標注結果如下。

例2/O:A/B_subject_attribute:registered/B_subject_attribute:professor/O:can/B_action_attribute:access/B_object_attribute:his/B_object_attribute:course/M_object_attribute:information。

5.2 BiLSTM 網絡

LSTM 是一種特殊的RNN 模型,能夠解決傳統循環神經網絡中存在的上下文長期依賴問題,更適用于處理時序數據,其結構如圖5 所示。

圖5 LSTM 結構

考慮到訪問控制文本中的上下文詞語存在相關性,一個詞語可能與其前一個和下一個詞語都存在相應關聯。LSTM 只能利用歷史的數據信息,無法利用數據中未來的數據信息。在這種情況下,使用 BiLSTM 將 2 個時序方向相反的LSTM 連接到同一個網絡輸出中。通過這種結構,BiLSTM 增加了LSTM 中的可計算信息,使網絡模型既可以獲取歷史信息,也能夠獲取未來信息。BiLSTM 中包括輸入門i、遺忘門f、輸出門o和細胞狀態c共4 個部分,單個LSTM 結構單元的更新為

其中,i(t)、f(t)、o(t)、c(t)分別表示在t時刻的輸入門、遺忘門、輸出門和細胞狀態的值,x(t)表示t時刻的輸入詞向量,h(t)表示t時刻的隱含層向量,Ct=concat(hforward,hbackward)表示sigmoid 激活函數,W和u表示權重矩陣,b表示偏置向量,hforward和hbackward分別表示BiLSTM 中前向LSTM 和反向LSTM 中結構單元輸出的隱含層向量。將hforward和hbackward連接,得到BiLSTM 在t時刻的輸出為

其中,hforward和hbackward分別對應訪問控制語句2 個方向上的上下文信息。

5.3 CRF 網絡

在屬性挖掘過程中,當前詞的屬性標簽通常與其周圍詞的屬性標簽是相關聯的,例如屬性標簽E必須出現在屬性標簽B 之后(屬性標簽的標記方案已在4.1 節中詳細說明)。CRF 通過計算相鄰標簽間的轉移矩陣來得到一個屬性標簽在一個訪問控制語句序列中轉移到另一個屬性標簽的條件概率。從而,通過對轉移矩陣的訓練能夠實現對屬性標簽之間依賴關系的學習。通過引入CRF 層,將使屬性挖掘的計算結果更準確。對于式(11)所示的給定的訪問控制語句

對應的屬性標簽預測結果序列為

屬性標簽預測結果的評估分數為

其中,T表示屬性預測標簽的轉移概率矩陣,其維度是(k+2) × (k+2);Tn,m表示屬性標簽n與屬性標簽m間的轉移概率得分;k表示不同類別屬性標簽的數目;t0=START 與tn+1=END 分別表示訪問控制語句的起始標簽與終止標簽;C表示BiLSTM 網絡的輸出矩陣,其維度是n×k;Ci,j表示第i個詞被預測為第j個屬性標簽的得分。對ACP 語句的屬性標簽進行預測時,使用柔性最大值計算方法(softmax)對結果進行歸一化處理,計算方法為

其中,TAG 表示ACP 語句中所有可能的屬性標簽序列。在屬性挖掘的訓練過程中,需要最大化預測結果為正確的屬性標簽序列的似然概率,計算方法為

最后,在模型輸出端將預測得分最高的屬性標簽序列作為最終的屬性標簽序列輸出,即

6 實驗評估

6.1 實驗設置與數據集

為了對本文所提方法的性能進行評估,本節在表2 所列出的公開數據集[31]條件下進行實驗,該數據集包括iTrust、IBM App、Cyberchair、Collected ACP 共4 類數據集,包括2 477 條文本數據。這些數據集由Slankas 等[28]通過人工標注得到。其中,iTrust 是一個以病人為中心的應用程序,用于維護電子健康記錄;IBM App 是一款高校使用的課程管理系統;Cyberchair 是一個會議管理系統;Collected ACP 是由Xiao 等[26]收集的訪問控制策略語句組合而成的數據集。由于單一數據集的數據量有限,本節將4 類數據集的數據匯總進行實驗,并且按70%、15%、15%的比例將數據集劃分為訓練集、驗證集和測試集。同時,為了盡可能地降低數據隨機性對實驗結果的帶來的影響,本文在已標注的數據集上采用5 折交叉驗證進行多次實驗。實驗的軟硬件環境如下。操作系統為Windows 10 64 位,CPU 為Intel(R) Core(TM) i7-4710MQ@ 2.5 GHz,GPU 為GeForce GTX 850M,內存大小為16 GB,Tensorflow版本為1.14.0,Keras 版本為2.1.3,Python 版本為3.6。

表2 數據集描述

6.2 評估指標

本文使用準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1 值(F1-score)作為實驗性能的評估指標。Accuracy 表示文本識別結果是正確的樣本數占樣本總數的比例。Precision表示被正確識別為訪問控制策略語句的樣本數占被識別為訪問控制策略語句的樣本數的比例。Recall 表示被正確識別為訪問控制策略語句的樣本數占真實情況為訪問控制策略語句的樣本數的比例,是覆蓋范圍的度量。F1-score 表示Precision 和Recall 的加權調和平均值。為了計算這些評估指標,分類器的預測結果被分為以下4 類。TP(true positive)是被正確識別為訪問控制策略語句的樣本數,TN(true negative)是被正確識別為非訪問控制策略語句的樣本數,FP(false positive)是被錯誤識別為訪問控制策略語句的樣本數,FN(false negative)是被錯誤識別為非訪問控制策略語句的樣本數。評價指標對應的計算式分別為

6.3 實驗結果與分析

為了評估所提方法的性能,本文分別進行了2組實驗對訪問控制語句識別性能與訪問控制屬性挖掘性能進行評估。

6.3.1訪問控制語句識別性能評估

本實驗的超參數設置如下。輸入層使用BERT模型預訓練語言模型將文本轉化成詞向量,在輸入層之后加一個rate 為0.2 的SpatialDropout1D 層,用于提高模型的活化能力。BiGRU 中隱含層的結構單元數量為100,Conv1D 層中包括128 個卷積核、卷積核尺寸為2、步長為1、激活函數為ReLU,池化操作分別使用最大池化GlobalMaxPooling1D 和平均池化GlobalAveragePooling1D 來進行計算,在全連接層前加一個rate 為0.5 的Droupout 層,避免模型過擬合。2 個全連接層使用的激活函數分別是ReLU 函數和 Softmax 函數,訓練過程中設置batch_size 為125,epoch 為12,選取Adam 優化器來訓練神經網絡。

1) 不同神經網絡模型識別準確率和Loss 值評估

為了比較不同神經網絡模型在訪問控制語句識別任務的性能,本文選取了4 個常用的神經網絡模型作為基準對比模型,基準對比模型描述如下。

①CNN_LSTM 模型。先添加一個CNN,再添加一個LSTM 網絡。

② BiLSTM 模型。單一BiLSTM 網絡。

③CNN_GRU 模型。先添加一個CNN,再添加一個GRU 網絡。

④ BiGRU 模型。單一BiGRU 網絡。

所有網絡模型均采用BERT 模型預訓練語言模型作為詞向量的輸入,實驗結果分別如圖6 和圖7所示。與其他網絡模型相比,在驗證集中本文所提方法BiGRU-CNN-Attention 雖然存在一定程度的波動,但總體的性能是最優的,能夠達到最高95.97%的準確率和最低0.177 2 的Loss 值,基本能夠滿足真實環境下訪問控制策略語句識別的性能要求。

圖6 不同模型準確率隨epoch 的變化

2) 與現有基準ACP 識別方法的比較

表3 為與現有訪問控制語句識別方法在精確率、召回率和F1-score 上進行的對比。由實驗結果可知,本文所提方法在3 項指標上均為最優。平均F1-score 指標能夠達到 0.941,比當前的state-of-the-art 方法性能提高了4.1%。

圖7 不同模型Loss 值隨epoch 的變化

6.3.2訪問控制屬性挖掘性能評估

為了增加對中文訪問控制語句的訪問控制屬性挖掘性能進行評估,本文將表2 數據集中的訪問控制語句進行翻譯,得到了對應的中文數據集。本實驗的超參數設置如下。BiLSTM 中隱含層的結構單元數量為128,訓練過程中設置batch_size 為125,epoch 為12,選擇Adam 優化器來訓練神經網絡。

1) 不同基準神經網絡模型性能的對比

如圖8 和圖9 所示,在訓練集和驗證集的結果中,AM-BiLSTM-CRF 模型性能最優,在英文數據集和中文數據集中分別能夠達到最高95.41%和96.88%的準確率。BiLSTM 模型的性能居中,CNN_LSTM 模型的性能最差。另外,從表4和表5 中實驗結果可知,在英文實驗數據集中,本文所提方法在主體屬性、動作屬性、客體屬性的性能上均達到最優。在中文實驗數據集中,局部性能雖然不都是最優,但是整體的性能是較好的,原因如下。

表3 ACP 句子識別性能對比

圖8 不同模型在英文數據集中準確率隨epoch 的變化

圖9 不同模型在中文數據集中準確率隨epoch 的變化

與CNN_LSTM 模型相比,BiLSTM 能夠從正向和反向這2 個方向上同時對訪問控制策略的屬性特征進行學習,比單方向學習能夠更好地利用文本內上下文的約束信息。與BiLSTM 模型相比,本文通過引入CRF 模型能夠提升性能,這是因為訪問控制屬性信息通常為連續的文本片段,文本內相鄰詞間具有更強的依賴關系,CRF 模型能夠通過轉移概率的計算更好地捕捉到相鄰文本元素標簽之間的依賴關系,彌補單一BiLSTM 模型所存在的相信標簽關聯能力不足的問題,從而進一步提高系統的性能。

2) 不同標記方案對系統性能的影響

除了4.1 節中敘述的本文所使用的OBM 標記方案,本文還嘗試使用OB 標記方案來對文本屬性進行標記,從而對比不同標記方案對系統性能的影響。其中,O 標記無關屬性,B 標記相關屬性。由表6 和表7 可知,本文所采取的OBM 標記方案在不同的數據集中各項性能更優。

表4 英文數據集屬性挖掘性能對比

表5 中文數據集屬性挖掘性能對比

表6 英文數據集下不同標記方案的性能對比

表7 中文數據集下不同標記方案的性能對比

7 結束語

為了實現基于屬性的訪問控制策略的自動化生成,本文提出了一種基于深度學習的ABAC 訪問控制策略生成技術,為訪問控制系統初始訪問控制策略的生成提供了一條新的解決思路。首先,提出了一種基于深度學習的策略生成框架,該框架將策略生成問題分解為訪問控制策略語句識別和訪問控制屬性挖掘兩項核心任務。然后,分別設計了BiGRU-CNN-Attention 和AM-BiLSTM-CRF 這2 個神經網絡模型來解決訪問控制策略語句識別任務和訪問控制屬性挖掘任務,從而為生成可讀、可執行的訪問控制策略提供支撐。實驗結果驗證了本文所提方法的有效性。下一步的工作將嘗試進一步提高策略生成的性能,并對策略用例的自動化測試以及策略中環境屬性的挖掘工作展開研究。

猜你喜歡
池化訪問控制語句
基于高斯函數的池化算法
一種跨策略域的林業資源訪問控制模型設計
卷積神經網絡中的自適應加權池化
重點:語句銜接
內外網隔離中ACL技術的運用
基于卷積神經網絡和池化算法的表情識別研究
用于手寫漢字識別的文本分割方法
云計算訪問控制技術研究綜述
我喜歡
訪問控制機制在數據庫中的應用研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合