夏桐 袁凌云 車興亮 陳美宏
收稿日期:2023-06-05;修回日期:2023-07-24? 基金項目:國家自然科學(xué)基金資助項目(62262073);云南省應(yīng)用基礎(chǔ)研究計劃資助項目(202101AT070098);云南省萬人計劃青年拔尖人才項目(YNWR-QNBJ-2019-237);云南省重大科技專項計劃資助項目(202202AE090011)
作者簡介:夏桐(1998—),女,河南信陽人,碩士研究生,主要研究方向為訪問控制、可解釋機(jī)器學(xué)習(xí);袁凌云(1980—),女(通信作者),云南昭通人,教授,博導(dǎo),CCF高級會員,主要研究方向為物聯(lián)網(wǎng)安全、區(qū)塊鏈、傳感器網(wǎng)絡(luò)(blues520@sina.com);車興亮(1995—),男,云南楚雄人,碩士研究生,主要研究方向為圖神經(jīng)網(wǎng)絡(luò);陳美宏(1999—),女,湖北恩施人,碩士研究生,主要研究方向為區(qū)塊鏈、聯(lián)邦學(xué)習(xí).
摘? 要:為解決基于屬性的訪問控制(ABAC)策略自動提取的低質(zhì)量問題,提出一種基于訪問控制日志驅(qū)動的ABAC策略自動提取與優(yōu)化增強(qiáng)方法。首先,構(gòu)建集成學(xué)習(xí)模型,將用戶行為和權(quán)限分配映射為策略邏輯樹,識別訪問授權(quán)決策的關(guān)聯(lián)性及潛在規(guī)律,初步生成策略;其次,通過單屬性優(yōu)化和規(guī)則二元約簡兩種方法深度優(yōu)化策略,簡化策略結(jié)構(gòu)并壓縮策略規(guī)模;最后,提出基于誤差度量的規(guī)則沖突解決方法,以增強(qiáng)互斥、完備的ABAC策略,并進(jìn)一步基于多目標(biāo)優(yōu)化的策略性能平衡算法實(shí)現(xiàn)不同場景需求的最優(yōu)模型選擇。分別在平衡數(shù)據(jù)集和稀疏數(shù)據(jù)集上進(jìn)行測試和驗證,實(shí)驗結(jié)果表明,該方法在平衡數(shù)據(jù)集上的準(zhǔn)確性最高可達(dá)96.69%,可將策略規(guī)模壓縮至原來的19.7%。在稀疏數(shù)據(jù)集上的準(zhǔn)確性最高可達(dá)87.74%,可將策略規(guī)模壓縮至原來的23%。此方法兼顧策略的預(yù)測精度與結(jié)構(gòu)的簡潔性,同時適用于平衡日志和稀疏日志,確保訪問控制系統(tǒng)在實(shí)際應(yīng)用中能夠?qū)崿F(xiàn)高效、安全的訪問授權(quán)管理。
關(guān)鍵詞:基于屬性的訪問控制; 策略提??; 策略增強(qiáng); 集成學(xué)習(xí); 多目標(biāo)優(yōu)化
中圖分類號:TP311;TP309.2??? 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2024)02-041-0587-09
doi:10.19734/j.issn.1001-3695.2023.06.0232
Automatic extraction and optimization enhancement of ABAC policy driven by access control log
Xia Tonga, Yuan Lingyuna,b, Che Xinglianga, Chen Meihonga
(a.College of Information Science & Technology, b.Key Laboratory of Educational Information for Nationalities, Ministry of Education, Yunnan Normal University, Kunming 650500, China)
Abstract:To address the low-quality problem of automatic extraction of ABAC policies, this paper proposed an automatic extraction and optimization enhancement method of ABAC policies driven by access control logs. Firstly, the method constructed an ensemble learning model to map user behavior and permission allocation into a policy logic tree, identifying the relevance and underlying patterns of access authorization decisions to generate preliminary policies. Secondly, the method employed two algorithms of single attribute optimization and rule binary reduction to deeply optimize the policies, simplifying policy structure and compressing policy scale. Finally, the method proposed an error metric-based rule conflict resolution approach to enhance mutually exclusive, complete ABAC policies. Furthermore, the method used policy performance balancing algorithm of a multi-objective optimization to achieve the optimal model selection for different scenario requirements. This paper tested and verified on balanced datasets and sparse datasets respectively, the experimental results demonstrate that the method achieves a highest accuracy of 96.69% on the balanced dataset, compresses the policy scale to 19.7% of the original. On the sparse dataset, the highest accuracy reaches 87.74%, with the policy scale compresses to 23% of the original. This method balances the prediction accuracy and structural simplicity of policies, and is applicable for both balanced logs and sparse logs, ensuring the access control system can implement efficient and secure access authorization management in practical applications.
Key words:attribute-based access control(ABAC); policy extraction; policy enhancement; ensemble learning; multi-objective optimization
0? 引言
信息安全領(lǐng)域中,訪問控制技術(shù)是防止未授權(quán)訪問以及保護(hù)敏感信息和關(guān)鍵資源不被濫用的重要手段[1]。隨著企業(yè)規(guī)模和信息系統(tǒng)復(fù)雜性的增加,傳統(tǒng)的訪問控制模型已無法滿足實(shí)際需求。為此,基于屬性的訪問控制(ABAC)模型應(yīng)運(yùn)而生。相較于傳統(tǒng)模型,ABAC模型以屬性為基礎(chǔ)實(shí)施細(xì)粒度的訪問控制,更能滿足多元化的安全需求[2]。實(shí)現(xiàn)ABAC模型需要定義和生成策略,但手動編寫策略往往困難且易出錯,因其涉及眾多因素,如用戶身份、資源屬性及上下文信息等[3]。因此,自動化策略提取技術(shù)成為簡化策略開發(fā)、快速部署ABAC模型的關(guān)鍵。此技術(shù)基于統(tǒng)計學(xué)習(xí)和人工智能算法,通過分析歷史訪問日志數(shù)據(jù),自動識別和生成精細(xì)化的訪問控制策略,提高策略的實(shí)時性和準(zhǔn)確性[4~6]。該自動化和動態(tài)調(diào)整機(jī)制減輕了對人工干預(yù)的依賴,降低了無授權(quán)訪問和誤操作引發(fā)的數(shù)據(jù)泄露風(fēng)險,使企業(yè)能夠及時應(yīng)對各種網(wǎng)絡(luò)環(huán)境和業(yè)務(wù)需求的變化,實(shí)現(xiàn)持續(xù)的數(shù)據(jù)安全保護(hù)。
盡管眾多學(xué)者對ABAC策略自動提取技術(shù)進(jìn)行了深入研究[7~12],但在某些方面仍存在局限性。例如,ABAC策略規(guī)則由一組正負(fù)屬性過濾器組成,負(fù)向過濾器在需要表達(dá)例外情況時尤為重要,但大多技術(shù)無法支持挖掘包含負(fù)過濾器的授權(quán)規(guī)則。當(dāng)面對稀疏日志,即某類訪問請求事件在整體日志數(shù)據(jù)中的分布極為分散時,如何有效挖掘高質(zhì)量的訪問控制策略成為一大挑戰(zhàn)。此外,現(xiàn)有方法缺乏初次策略提取后對策略進(jìn)行優(yōu)化的技術(shù),會導(dǎo)致策略過度擬合訪問日志數(shù)據(jù),且精度低、復(fù)雜性高,以及解釋性差等問題。為解決上述問題并提高策略的實(shí)用性及易理解性,深入優(yōu)化和增強(qiáng)策略顯得尤為重要。此類優(yōu)化不僅能提升策略的執(zhí)行效率和可維護(hù)性,還能有效降低因錯誤配置或沖突導(dǎo)致的安全風(fēng)險?,F(xiàn)階段,ABAC策略優(yōu)化和增強(qiáng)方法已有所進(jìn)展,如策略簡化[13~15]、負(fù)向規(guī)則的支持[16]以及可解釋性和審查性的提高[17],但仍需解決策略冗余和沖突、平衡策略準(zhǔn)確性和簡潔性,以及面對大規(guī)模ABAC環(huán)境下策略生成和管理等問題。
由此,本文基于系統(tǒng)訪問日志進(jìn)行ABAC策略自動提取及優(yōu)化增強(qiáng)。首先,利用貝葉斯優(yōu)化方法在搜索空間中調(diào)整超參數(shù),以構(gòu)建高精度的集成預(yù)測模型;其次,通過可視化策略邏輯樹學(xué)習(xí)“用戶-權(quán)限”的關(guān)聯(lián)規(guī)律,自動提取包含正向和負(fù)向授權(quán)規(guī)則的ABAC策略,并對生成策略進(jìn)行深度優(yōu)化和增強(qiáng),確保策略預(yù)測精度的同時降低策略復(fù)雜度;最后,在測試日志上全面評估策略質(zhì)量,提取準(zhǔn)確性高、適用性廣以及解釋性強(qiáng)的ABAC策略??傮w來說,本文的主要貢獻(xiàn)包括:
a)提出一種基于集成學(xué)習(xí)算法的ABAC策略自動提取方法,該方法根據(jù)屬性和約束條件自動生成正負(fù)類訪問控制策略。
b)在策略優(yōu)化和增強(qiáng)階段,采用單屬性優(yōu)化算法簡化策略結(jié)構(gòu);提出規(guī)則二元約簡算法壓縮策略規(guī)模;提出規(guī)則沖突解決算法消除策略沖突,實(shí)現(xiàn)穩(wěn)定、簡潔且互斥的優(yōu)化策略。
c)引入準(zhǔn)確性、規(guī)則結(jié)構(gòu)復(fù)雜度和解釋性等策略質(zhì)量評價指標(biāo),基于多目標(biāo)優(yōu)化的策略性能平衡算法,實(shí)現(xiàn)在各種訪問場景中快速選擇策略生成的最優(yōu)模型。在平衡和稀疏類型日志上的實(shí)驗均取得良好效果,驗證了該方法的通用性和普適性。
1? 相關(guān)工作
目前,國內(nèi)外學(xué)者已在ABAC策略自動提取領(lǐng)域進(jìn)行了一系列研究??偟膩碚f,這些研究成果主要劃分為策略自動提取的技術(shù)應(yīng)用和策略質(zhì)量優(yōu)化的方法探究兩大核心部分。文獻(xiàn)[13]提出一種專門針對稀疏日志設(shè)計的策略自動提取方法(Rhapsody)。該方法采用關(guān)聯(lián)規(guī)則技術(shù)初步提取策略,并引入一種新的規(guī)則質(zhì)量度量方法——可靠性(reliability),以解決策略中過度授權(quán)規(guī)則的問題。此外,Rhapsody通過挖掘無更短等效規(guī)則的方式,簡化策略整體結(jié)構(gòu),有效提高策略質(zhì)量。然而,當(dāng)處理大規(guī)模問題和具有大量屬性的日志時,Rhapsody性能有待改進(jìn)。文獻(xiàn)[14]實(shí)現(xiàn)基于日志的富語義策略挖掘方法(LRSAPM)。該方法采用FPGrowth技術(shù)從訪問日志和屬性數(shù)據(jù)中初步提取策略,并基于T可靠度剔除策略中準(zhǔn)確率較低、過度授權(quán)風(fēng)險較高的規(guī)則。此外,基于語義質(zhì)量度量標(biāo)準(zhǔn)對策略去冗余,保留語義質(zhì)量較高的規(guī)則,形成完善的ABAC策略,但該方法對稀疏日志和低頻訪問的處理能力有待提高。文獻(xiàn)[15]提出一種從系統(tǒng)訪問日志中自動學(xué)習(xí)ABAC策略規(guī)則的方法。該方法采用K-modes聚類的無監(jiān)督學(xué)習(xí)技術(shù)檢測訪問日志模式,初步提取ABAC授權(quán)規(guī)則,并采用規(guī)則剪枝及策略細(xì)化兩種方法優(yōu)化策略質(zhì)量和精簡度。規(guī)則修剪采用Jaccard相似度指標(biāo),消除對策略質(zhì)量改善較小或冗余的規(guī)則,從而壓縮策略規(guī)模;策略細(xì)化根據(jù)FN或FP記錄中的模式,對提取策略進(jìn)行修正,消除多余的屬性條件或添加缺失的屬性條件。上述優(yōu)化方法雖增強(qiáng)了策略的準(zhǔn)確性和簡潔性,確保了提取策略與原始策略保持一致,但此方法難以設(shè)定恰當(dāng)?shù)木垲怟值,提取出的策略穩(wěn)定性較弱。上述這些方法主要關(guān)注正向類型的訪問控制策略,并未涉及負(fù)向授權(quán)的處理。
文獻(xiàn)[16]基于現(xiàn)有的PRISM數(shù)據(jù)挖掘技術(shù),首次實(shí)現(xiàn)正向和負(fù)向ABAC授權(quán)規(guī)則的提取,并在無現(xiàn)成訪問日志可供使用的情況下提供一套生成授權(quán)日志的詳細(xì)方法,同時該研究保證了策略的準(zhǔn)確性和規(guī)則結(jié)構(gòu)的簡潔性,但其過程中涉及反復(fù)迭代計算和日志的多次讀取,導(dǎo)致整體運(yùn)行時間相對較長。文獻(xiàn)[17]提出一種名為VisMAP的可視化ABAC策略提取方法。該方法將現(xiàn)有的用戶訪問權(quán)限具象化為圖形二進(jìn)制矩陣,并將尋找最優(yōu)二進(jìn)制矩陣表示任務(wù)轉(zhuǎn)換為矩陣最小化問題。然后,通過分析訪問控制矩陣的可視化表示,提取ABAC授權(quán)規(guī)則,并盡可能減少策略中的規(guī)則數(shù)量來滿足現(xiàn)有的訪問需求,提高策略的簡潔性和易理解性。但由于矩陣稀疏且求解空間巨大,運(yùn)行效率相對較低。文獻(xiàn)[18]提出一種基于訪問控制日志的訪問控制策略生成方法。該方法利用機(jī)器學(xué)習(xí)分類器的遞歸屬性消除法實(shí)現(xiàn)策略屬性的最優(yōu)選擇,使用決策樹算法提煉日志中隱藏的屬性和權(quán)限關(guān)系,并結(jié)合實(shí)體屬性選擇結(jié)果,實(shí)現(xiàn)ABAC策略提取。雖然該方法能實(shí)現(xiàn)日志中95%的策略覆蓋,但策略規(guī)模壓縮之后仍較大,且策略簡潔性和可解釋性尚未考慮。此外,存在一些基于黑盒機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等不可解釋學(xué)習(xí)模型的策略自動提取方法[19~21],這類方法目前只能為策略提取提供屬性數(shù)據(jù),無法直接生成完整的ABAC訪問控制策略。
關(guān)于上述文獻(xiàn)的ABAC策略自動提取和質(zhì)量優(yōu)化的研究,本文將重點(diǎn)從以下五個方面予以改進(jìn)和優(yōu)化。首先,確保提取策略的正確性,即與原始授權(quán)日志一致,避免不一致的策略對系統(tǒng)安全性和穩(wěn)定性產(chǎn)生負(fù)面影響;其次,簡化策略結(jié)構(gòu)復(fù)雜度,使其易于操作和維護(hù);同時,使用策略提取算法實(shí)現(xiàn)正負(fù)類授權(quán)規(guī)則的自動生成,構(gòu)建更全面和靈活的訪問控制策略;此外,在處理稀疏日志時,算法也能從非均衡和低頻訪問日志信息中提取有用規(guī)則,確保生成策略能夠有效處理訪問控制需求;最后,將聚焦于策略的可解釋性研究,策略可解釋性對保證系統(tǒng)安全、合規(guī)及有效的策略管理至關(guān)重要,它可以幫助管理員、用戶和審計員更好地理解和信任策略規(guī)則,降低錯誤率并增強(qiáng)系統(tǒng)透明度。
綜上所述,受文獻(xiàn)[18]用決策樹模型自動提取策略的啟發(fā),以決策樹為基學(xué)習(xí)器的集成學(xué)習(xí)樹模型(如random forest、XGBoost、GBM等)一定程度上可保留決策樹的可解釋性,并在處理大規(guī)模數(shù)據(jù)和復(fù)雜問題、提高預(yù)測精度和穩(wěn)定性、處理高維和非線性問題,以及提高計算效率等方面優(yōu)于單棵決策樹,它能夠作為實(shí)現(xiàn)ABAC策略自動提取的一種選擇方案。但直接使用集成學(xué)習(xí)模型生成策略會面臨以下問題:過多、過深的決策樹會導(dǎo)致單條策略規(guī)則過于復(fù)雜,缺乏簡潔性,以及規(guī)則間存在大量冗余和沖突。因此,本文擬采用高精度的黑盒集成學(xué)習(xí)樹模型自動提取ABAC策略,以減輕安全管理員的工作負(fù)擔(dān),生成直觀且可視化的訪問授權(quán)規(guī)則,這也是目前集成學(xué)習(xí)模型應(yīng)用于ABAC策略提取的首次嘗試。隨后,使用優(yōu)化和增強(qiáng)算法改進(jìn)策略質(zhì)量,具體包括移除單條規(guī)則中冗長屬性條件以降低策略結(jié)構(gòu)復(fù)雜度、刪除冗余規(guī)則以壓縮策略規(guī)模、消除重復(fù)覆蓋規(guī)則以解決策略沖突,從而提高策略簡潔性和解釋性,以促進(jìn)ABAC模型在各類場景中的廣泛應(yīng)用,并為保障信息安全提供有力支持。
2? 問題定義
定義1? ABAC策略核心組成。ABAC模型的實(shí)現(xiàn)需要創(chuàng)建一組基于屬性的決策規(guī)則,這些規(guī)則累積形成訪問控制策略,即資源訪問的允許或拒絕取決于一系列規(guī)則r的評估結(jié)果,這些規(guī)則為訪問授權(quán)或拒絕提供明確條件。規(guī)則r主要包含主體用戶U、客體資源O、執(zhí)行操作OP和授權(quán)結(jié)果D的屬性表達(dá)式(e)。屬性表達(dá)式可分為屬性值對和屬性-屬性對。屬性值對代表用戶或資源屬性的具體值,屬性-屬性對則表示需要匹配的用戶和資源屬性組合。以下是一些ABAC策略中規(guī)則的示例。
u.position=faculty;u.chair=true;o.type=transcript;u.department=o.department;action=read;permit(1)
u.position=manager;u.department=accounts;o.type=budget;action=approve;deny(2)
本文涉及的相關(guān)符號定義如表1所示,使用大寫字母表示集合,小寫字母表示集合中的元素。
定義2? ABAC策略生成問題。授權(quán)日志可以表示為l=〈u,o,op,d〉,其中,u∈U為用戶,o∈O為資源,op∈OP為用戶對資源的操作,d∈D代表訪問執(zhí)行結(jié)果,所有的授權(quán)日志l組成訪問日志集合L。此日志集合中,可能存在各類日志分布情況,包括平衡日志和稀疏日志。
平衡日志是指各類訪問請求事件(如允許訪問請求、拒絕訪問請求)的出現(xiàn)頻率相對均衡,即樣本數(shù)據(jù)在不同類別間的分布較為均勻。而稀疏日志是指某類訪問請求事件(例如拒絕訪問請求)在整體日志數(shù)據(jù)中的出現(xiàn)頻率極低,造成數(shù)據(jù)在各類事件間的分布極不均勻,形成稀疏分布?,F(xiàn)實(shí)情況中,用戶通常會訪問他們有權(quán)限訪問的資源,尤其在被拒絕后,用戶可能不會再嘗試訪問這些資源,這就會產(chǎn)生大量的允許訪問日志,而拒絕訪問的日志就相對較少,從而形成稀疏日志。
根據(jù)用戶集合U、用戶屬性集合Uatt和用戶屬性函數(shù)Fu組成用戶屬性關(guān)系表UA;同理可得資源屬性關(guān)系表OA。以UA為例,具體描述如下。
假設(shè)UA(ui)={a1∶v1;a2∶v2;…;an∶vn},其中ui∈U表示具體用戶;a1,a2,…,an,an∈Uatt表示用戶ui擁有的具體屬性;v1,v2,…,vn表示用戶ui屬性an對應(yīng)的具體取值vn。給定用戶集合U={u1,u2}和用戶屬性集合Uatt={身份,部門},以及如表2所示的屬性關(guān)系。
此時UA可表示為
UA(u1)={身份:管理員,部門:人事}(3)
UA(u2)={身份:員工,部門:銷售}(4)
在給定訪問日志集合L、用戶屬性關(guān)系表UA、資源屬性關(guān)系表OA以及相關(guān)的策略質(zhì)量評估指標(biāo)情況下,本文目標(biāo)是從復(fù)雜的訪問控制日志中挖掘出能夠精確反映權(quán)限關(guān)系的ABAC策略。
定義3? ABAC策略準(zhǔn)確性。ABAC策略準(zhǔn)確性是衡量其在接受或拒絕訪問請求時是否正確的重要指標(biāo)。高準(zhǔn)確性的策略能夠在實(shí)際應(yīng)用中降低誤報和漏報的風(fēng)險,確保系統(tǒng)的安全和合規(guī)。本文參照文獻(xiàn)[18],將準(zhǔn)確性分為接受策略準(zhǔn)確性(ACC_1)、拒絕策略準(zhǔn)確性(ACC_0)以及整體策略準(zhǔn)確性(ACC_0/1),如式(5)~(7)所示。
ACC_1=TAR(L)AR(L)(5)
ACC_0=TDR(L)DR(L)(6)
ACC_0/1=TAR_DR(L)AR_DR(L)(7)
其中:TAR(L)、TDR(L)、TAR_DR(L)分別表示使用提取的訪問控制策略對測試日志中的接受類別日志記錄、拒絕類別日志記錄、整體類別日志記錄進(jìn)行權(quán)限評估,且評估結(jié)果為正確的日志數(shù)量;AR(L)、DR(L)、AR_DR(L)分別表示測試日志中接受類別日志記錄、拒絕類別日志記錄、整體類別日志記錄的總數(shù)量。
定義4? ABAC策略規(guī)則結(jié)構(gòu)復(fù)雜度。本文致力于提升ABAC策略提取質(zhì)量,并將加權(quán)結(jié)構(gòu)復(fù)雜度(weighted structure complexity,WSC)作為主要評估指標(biāo)。WSC是一種衍生自策略規(guī)模(策略中的規(guī)則條數(shù)policy scale,PS)的度量方法[22],主要用于衡量策略規(guī)則結(jié)構(gòu)長度的復(fù)雜程度。具體來說,WSC通過計算策略中各元素的加權(quán)和來評估結(jié)構(gòu)復(fù)雜性。較低的WSC值意味著策略結(jié)構(gòu)更為簡潔且易于管理。WSC的計算方式如式(8)~(10)所示。
WSC(Π)=∑r∈RWSC(r)(8)
WSC(e)=∑a∈att(e)|e(a)|(9)
WSC(r)=ω1WSC(eu)+ω2WSC(eo)+ω3WSC(eop)(10)
其中:屬性表達(dá)式e表示某一用戶eu、資源eo或操作eop擁有的屬性約束;e(a)表示屬性表達(dá)式e中屬性a的值域大小;att(e)表示被e所使用的屬性集合;wi為自定義權(quán)重。通過使用這種度量方法,能夠有效評估策略的結(jié)構(gòu)復(fù)雜度,從而更有針對性地對策略進(jìn)行優(yōu)化,實(shí)現(xiàn)高質(zhì)量的ABAC策略提取。
定義5? ABAC策略可解釋性(interpretability,INT)。它是衡量其透明度和可理解性的關(guān)鍵指標(biāo)。具有較高可解釋性的策略有助于管理員和審計員更好地理解并維護(hù)訪問控制規(guī)則,同時也便于用戶了解自己的訪問權(quán)限。通常來說,可解釋性是指人們能夠理解決策原因的程度,參考文獻(xiàn)[23]對規(guī)則提取的可解釋研究,本文將可解釋性指標(biāo)定義為
INT(Π)=1-αNatt+βNcov+δNcntα+β+δ(11)
Natt=1totalatt∑ruleNi=1activeiatt-1ruleN-1(12)
Ncov=1ruleN(1-∑ruleNi=1ruleimatch-1countdata-1)(13)
Ncnt=ruleselect-1ruleN-1(14)
其中:Natt、Ncov、Ncnt分別代表策略中規(guī)則的平均屬性數(shù)、策略的樣本覆蓋范圍以及策略選擇率;α、β、δ分別表示各指標(biāo)的權(quán)重,其取值可根據(jù)研究者的需求確定,此處參考文獻(xiàn)[23],設(shè)定為三者權(quán)重相等;activeiatt表示第i個規(guī)則的屬性個數(shù);totalatt表示策略中含有的屬性個數(shù);ruleimatch表示與第i條規(guī)則匹配的樣本數(shù)量;countdata表示總樣本數(shù);ruleN表示策略規(guī)模;ruleselect表示優(yōu)化后的策略規(guī)模。當(dāng)Natt∈[0,1]較小,即平均屬性數(shù)少時,表示規(guī)則具有簡潔性,策略管理員更容易理解;當(dāng)Ncov較小,即規(guī)則具有較好的覆蓋范圍時,表示規(guī)則的穩(wěn)定性較強(qiáng);當(dāng)Ncnt較小,即預(yù)測策略規(guī)模較少時,表示訪問系統(tǒng)的執(zhí)行效率高。因此,可解釋性指標(biāo)INT的值越大,策略的可解釋性越強(qiáng)。
3? ABAC策略自動提取與優(yōu)化增強(qiáng)
針對現(xiàn)有ABAC策略生成問題,本文構(gòu)建一種策略自動生成優(yōu)化流程,以提升生成策略的質(zhì)量,其涵蓋策略提取、優(yōu)化和增強(qiáng)三個階段。首先從原始訓(xùn)練數(shù)據(jù)中提取關(guān)鍵規(guī)則,作為構(gòu)建初始策略的基礎(chǔ);接著,深度優(yōu)化策略中的規(guī)則,通過縮短規(guī)則長度和降低規(guī)則條數(shù),精煉策略;最后,消除沖突規(guī)則和覆蓋重疊,實(shí)現(xiàn)策略增強(qiáng),得到一套互斥且全面的ABAC策略。具體實(shí)現(xiàn)流程如圖1所示。
3.1? 基于集成學(xué)習(xí)模型的ABAC策略自動提取
3.1.1? 數(shù)據(jù)預(yù)處理
針對策略提取在效率和準(zhǔn)確性上待提升的問題,本文將從訪問日志中提取ABAC策略問題轉(zhuǎn)換為機(jī)器學(xué)習(xí)領(lǐng)域的二分類問題。通過構(gòu)建高效且強(qiáng)大的隨機(jī)森林(random forest)、梯度提升機(jī)(gradient boosting machine,GBM)和極限梯度提升(extreme gradient boosting, XGBoost)集成學(xué)習(xí)分類器, 能夠準(zhǔn)確預(yù)測基于多種屬性組合(如用戶屬性、資源屬性和環(huán)境屬性)的訪問請求授權(quán)狀態(tài)。為實(shí)現(xiàn)這一目標(biāo),首先獲取系統(tǒng)的資源授權(quán)日志l,將訪問控制日志集L、用戶屬性關(guān)系表UA和資源屬性關(guān)系表OA按主鍵ID進(jìn)行全連接操作,構(gòu)建訪問控制日志記錄表。接下來,將各種屬性轉(zhuǎn)換為便于處理的類型。對于離散值屬性,采用獨(dú)熱編碼(one-hot)進(jìn)行編碼,其中0表示該用戶不具有該屬性,1表示該用戶具有該屬性。對于連續(xù)值屬性,將其轉(zhuǎn)換為離散型屬性,并使用one-hot編碼進(jìn)行處理。此外,整合冗余屬性值并糾正錯誤的屬性標(biāo)定,確保屬性能夠準(zhǔn)確反映權(quán)限關(guān)系。為簡化問題,本文假設(shè)環(huán)境條件可取任意值。
如圖1所示,給定訓(xùn)練集T,其中X為屬性向量,y為類標(biāo)。令T=(Xi,yi),i=1,2,…,n為標(biāo)記樣本的集合,此時Xi∈X且Xi=(Xi1,Xi1,…,Xif),f是屬性數(shù)量,yi∈y={0,1}是二分類標(biāo)簽。使用上述數(shù)據(jù)訓(xùn)練集成學(xué)習(xí)模型M,它由多棵策略邏輯樹Tree組成,這種樹型的訪問控制結(jié)構(gòu)包含葉子節(jié)點(diǎn)和非葉子節(jié)點(diǎn)。位于樹底部的葉子節(jié)點(diǎn)表示授權(quán)結(jié)果,如允許訪問或拒絕訪問。非葉子節(jié)點(diǎn)包含內(nèi)部節(jié)點(diǎn)和根節(jié)點(diǎn),分布在樹的其他位置,表示具體屬性及其約束條件。每個非葉子節(jié)點(diǎn)都有左右兩個分支,其屬性及約束條件通常以各種表達(dá)式(邏輯、條件和集合表達(dá)式等)的形式存在。若滿足該節(jié)點(diǎn)條件,授權(quán)流程將沿著左分支前進(jìn),否則轉(zhuǎn)向右分支。每條從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑代表一條訪問控制規(guī)則,通過遍歷每棵樹的所有路徑集合,實(shí)現(xiàn)ABAC策略的自動提取。
3.1.2? 集成學(xué)習(xí)模型構(gòu)建
使用集成學(xué)習(xí)模型構(gòu)建策略邏輯樹Tree時,為每個節(jié)點(diǎn)選擇最優(yōu)分裂點(diǎn)是實(shí)現(xiàn)ABAC精確決策的核心。合理選取分裂點(diǎn)能增強(qiáng)模型預(yù)測的精度和穩(wěn)定性,避免過擬合或欠擬合的風(fēng)險。此外,它能簡化樹的結(jié)構(gòu),減少其深度和節(jié)點(diǎn)數(shù)量,使屬性和約束條件間的復(fù)雜關(guān)系表達(dá)更為直觀。這一過程優(yōu)化了ABAC策略提取的效率和準(zhǔn)確性,使決策過程高效、可靠。在應(yīng)用random forest模型時,首先使用自助重采樣(bootstrap sampling)生成新數(shù)據(jù)集T′;然后隨機(jī)選擇一組屬性子集,通過計算基尼不純度(Gini impurity)[24]來確定Tree中每個節(jié)點(diǎn)的最佳分裂點(diǎn)。
G(T′)=1-∑Kk=1p2k(15)
其中:p2k表示T′中第k類的樣本比例;K表示T′的類別總數(shù)。
確定最佳分裂點(diǎn)時,設(shè)屬性A的約束切分點(diǎn)a將數(shù)據(jù)集T′分裂為兩個子集T′1和T′2。子集T′1包含A≤a的所有樣本,子集T′2包含A>a的所有樣本。|T′1|和|T′2|是子集T′1和T′2的樣本數(shù)量,|T′|是數(shù)據(jù)集T′的樣本數(shù)量。分別計算這兩個子集的基尼不純度,并根據(jù)子集大小進(jìn)行加權(quán)平均,從而得到分裂后的基尼不純度。
G(T′,A,a)=(|T′1||T′|)×G(T′1)+(|T′2||T′|)×G(T′2)(16)
遍歷所有屬性和切分點(diǎn),計算相應(yīng)的G(T′,A,a),選取使得G(T′,A,a)最小的屬性和切分點(diǎn)作為最優(yōu)分裂點(diǎn)。
另一方面,應(yīng)用GBM和XGBoost模型構(gòu)建策略邏輯樹時會充分利用所有樣本數(shù)據(jù)[25,26],且這兩種模型會選擇能最大程度降低損失函數(shù)的屬性及約束切分點(diǎn)作為最優(yōu)分裂,如GBM模型中,常采用對數(shù)損失函數(shù)[25]。設(shè)屬性B的切分點(diǎn)b將樣本集T分成兩個子集Tleft和Tright,Tleft包含B≤b的樣本,Tright包含B>b的樣本。計算左子集Tleft中標(biāo)簽為1的樣本比例,表示為pleft;計算右子集Tright中標(biāo)簽為1的樣本比例,表示為pright。計算所有屬性及約束切分點(diǎn)的損失函數(shù),選擇對應(yīng)最小損失函數(shù)值作為最優(yōu)分裂點(diǎn)。
Loss(B,b)=-∑i∈Tleftyilog(pleft)+(1-yi)log(1-pleft)-
∑i∈Trightyilog(pright)+(1-yi)log(1-pright)(17)
XGBoost模型采用的損失函數(shù)考慮了一階和二階梯度信息[26],即損失函數(shù)相對于預(yù)測值的一階和二階導(dǎo)數(shù)。這需要為Tleft和Tright分別計算損失函數(shù)的一階和二階導(dǎo)數(shù)總和。設(shè)GL和HL分別表示Tleft的一階和二階導(dǎo)數(shù)的和,GR和HR分別表示Tright的一階和二階導(dǎo)數(shù)的和。接下來,計算通過切分點(diǎn)b進(jìn)行分裂后的損失減少量得分ΔLoss。
Δ Loss=12×[(GL2HL+λ)+(GR2HR+λ)-(GL+GR)2(HL+HR+λ)]-γ(18)
其中:λ和γ是正則化參數(shù);λ控制葉子節(jié)點(diǎn)權(quán)重的正則化;γ控制葉子節(jié)點(diǎn)數(shù)量的正則化。遍歷所有屬性和切分點(diǎn),選擇ΔLoss最大的屬性和切分點(diǎn)作為Tree節(jié)點(diǎn)的最優(yōu)分裂點(diǎn)。
3.1.3? 策略邏輯樹規(guī)則轉(zhuǎn)換
考慮一個包含P棵策略邏輯樹的集成學(xué)習(xí)模型M,從中選擇第p棵樹Treep(1≤p≤P)并對其第q條路徑r{wqp}進(jìn)行分析。假設(shè)路徑q中包含S個非葉子節(jié)點(diǎn),將第s(1≤s≤S)個非葉子節(jié)點(diǎn)v{psq}視為包含屬性x∈X及其約束條件θ∈⊙的決策表達(dá)式F{v{psq}(x,θ)}。當(dāng)路徑q在節(jié)點(diǎn)s處延伸至左分支時,將F{v{psq}(x,θ),true}添加到路徑中,若路徑向右分支延伸時,則將表達(dá)式的補(bǔ)集F{v{psq}(x,θ),false}添加到路徑。因此,路徑r{wqp}可以用一系列屬性-約束對的有序序列表示。
r(wqp)={&s∈S(F{v{psq}(x,θ)},true,false)}(19)
最后,通過分析M中P棵樹的所有決策路徑,得到一組決策規(guī)則集合R,Q表示Treep的葉子節(jié)點(diǎn)數(shù),整個過程能夠自動化提取ABAC策略。
ΠR={∪P,Qp,qr(wqp)|p=1,2,…,P;q=1,2,…,Q}
Q=∑node∈Treeq|leafnode(Treep)|(20)
在集成模型的訓(xùn)練過程中,選用的樣本僅占全部訓(xùn)練樣本的一部分。因此,本文方法只從這些樣本中提取規(guī)則條件,并依據(jù)這些條件結(jié)合整個訓(xùn)練樣本集對每條規(guī)則的預(yù)測類別重新優(yōu)化定義。在移除重復(fù)規(guī)則之后,構(gòu)建一個初級的ABAC策略。核心算法如下:
算法1? ABAC策略提取
輸入:training samples T,tree ensemble model classifier。
輸出:orig policy。
M←Train(TreeEnsembleclassifier,T)? /*使用訓(xùn)練集T訓(xùn)練樹集成學(xué)習(xí)模型M*/
orig policy←? //初始化決策規(guī)則(策略)集合
for each Tree in M do
for each branch in Tree do
convert path to decision rule r and add to orig policy? /*將決策路徑轉(zhuǎn)為決策規(guī)則,添加到orig policy中*/
end for
end for
for each rule r in orig policy do
N_c=|t∈T|滿足r且t的類別為c|? //記錄滿足r的樣本數(shù)量和類別
c_r=argmax_c(N_c)? /*為規(guī)則r分配出現(xiàn)次數(shù)最多的類別作為預(yù)測結(jié)果*/
r:rc_r
end for
remove duplicate r from orig policy
return orig policy
3.2? 策略優(yōu)化
上述策略提取過程中,由于random forest、GBM和XGBoost的集成特性以及基于決策樹的非線性特點(diǎn),無論采用哪種方法,提取出的規(guī)則都具有較高的復(fù)雜度,這對于理解策略內(nèi)在邏輯和進(jìn)行細(xì)粒度訪問控制具有一定的挑戰(zhàn)性。因此,在實(shí)際應(yīng)用中,需要對策略進(jìn)行優(yōu)化和完善,提高其可讀性、維護(hù)性和執(zhí)行效率,以便更好地滿足實(shí)際需求和安全性要求,確保訪問控制系統(tǒng)在各種場景下高效且穩(wěn)定運(yùn)行。為實(shí)現(xiàn)這一目標(biāo),本節(jié)提出基于單屬性優(yōu)化和規(guī)則二元約簡的策略優(yōu)化方法。
3.2.1? 單屬性策略優(yōu)化
集成學(xué)習(xí)方法整合眾多去耦合策略邏輯樹,構(gòu)建出精確且穩(wěn)定的預(yù)測模型。然而,每棵樹生成的規(guī)則可能存在冗余或過于復(fù)雜的屬性條件。為解決該問題,借鑒文獻(xiàn)[27]的規(guī)則修剪思想,設(shè)計一種單屬性策略優(yōu)化(single attribute optimization,SAO)方法,通過審查每條規(guī)則,識別并移除重復(fù)、不相關(guān)或冗長的屬性條件。這些條件不會影響規(guī)則的執(zhí)行結(jié)果,但會增加計算成本。使用此方法,可以在保證策略預(yù)測準(zhǔn)確性的同時,簡化策略結(jié)構(gòu)。
在SAO方法中,采用一種稱為歸一化誤差比值(norma-lized error ratio,NER)的度量標(biāo)準(zhǔn)來評估刪除某個屬性對規(guī)則的影響。設(shè)ABAC策略為ΠR={r1,r2,…,rj},具體的規(guī)則誤差度量函數(shù)表示為
E(rj,T)={1-T(rpredj)T(rj)|rj∈Π}(21)
其中:T(rj)為滿足rj的樣本數(shù)量;T(rpredj)為滿足rj且預(yù)測正確的樣本數(shù)量。通過對比原始規(guī)則產(chǎn)生的誤差和剔除某個屬性條件后得到新規(guī)則產(chǎn)生誤差之間的比值,可以更加準(zhǔn)確地判斷該屬性對規(guī)則的貢獻(xiàn)程度。
NER=E_t-E_origmax(E_orig,ε)(22)
其中:E_orig代表原始規(guī)則誤差;E_t表示在剔除第t個屬性后得到新規(guī)則的誤差;ε是一個正數(shù)(例如10-2),用在E_orig接近0時調(diào)節(jié)NER值,避免因分母過小導(dǎo)致的計算不穩(wěn)定。當(dāng)歸一化誤差比值低于預(yù)設(shè)誤差閾值E_threshold時,可以認(rèn)為第t個屬性條件對規(guī)則的貢獻(xiàn)相對較小,從而考慮將其從規(guī)則中移除。
為了更清楚地闡述SAO方法的工作原理,以一個具體例子進(jìn)行說明。假設(shè)一條規(guī)則為{部門=‘財務(wù)&職位=‘經(jīng)理&工作時長>‘2年&教育程度=‘碩士訪問權(quán)限=‘高級},其中ε=0.01,E_threshold=0.20且E_orig=0.4。當(dāng)移除條件{部門=‘財務(wù)},規(guī)則變?yōu)閧職位=‘經(jīng)理&工作時長>‘2年&教育程度=‘碩士訪問權(quán)限=‘高級}。設(shè)移除條件后的規(guī)則誤差為E_1=0.415,那么NER=0.415-0.4max(0.4,0.01)=0.0375<<0.20。由于歸一化誤差比值低于預(yù)設(shè)誤差閾值,表明條件{部門=‘財務(wù)}對規(guī)則的貢獻(xiàn)較小,所以可以將其從規(guī)則中刪除,這樣規(guī)則長度從4縮短至3。通過實(shí)施SAO方法,對規(guī)則中的每個屬性條件進(jìn)行分析,剔除冗長和不必要的屬性,優(yōu)化策略整體結(jié)構(gòu)。核心算法如下:
算法2? 單屬性優(yōu)化
輸入:training samples T;orig policy;E_threshold;ε。
輸出:pruned policy。
pruned policy←
for each rule r in orig policy do
E_Orig←E(r,T)? //計算r的原始誤差
for each condition t in reversed order of r do? /*從后往前迭代去除r的每個屬性條件*/
E_t←E(remove t from r,T)? /*計算去除r中第t個屬性條件的誤差*/
calculate NER
if NER ≤E_threshold then
remove condition t from r
update r,E_Orig=E_t? //更新r和原始誤差
end if
pruned policy←add(r)
end for
end for
return pruned policy
3.2.2? 規(guī)則二元約簡
盡管SAO方法能有效縮短規(guī)則長度,但規(guī)則數(shù)量仍未減少,為進(jìn)一步篩選關(guān)鍵授權(quán)規(guī)則并壓縮策略規(guī)模,本文提出一種名為規(guī)則二元約簡(rule binary reduction,RBR)的策略優(yōu)化方法。其核心思想是將規(guī)則轉(zhuǎn)換為二元特征向量,并與原始訓(xùn)練樣本結(jié)合形成新數(shù)據(jù)集,使用特征選擇方法篩選最優(yōu)規(guī)則子集。
具體而言,RBR方法將每條規(guī)則視為一個特征,為其創(chuàng)建一個反映所有訓(xùn)練樣本是否滿足該規(guī)則的二元特征向量,并將其加入到原始訓(xùn)練樣本的特征集,形成一個新數(shù)據(jù)集N。規(guī)則集合的條件部分為{r1,r2,…,rj},其中Nij表示第i個訓(xùn)練樣本是否滿足規(guī)則rj,即
Nij=1? 第i個樣本滿足規(guī)則rj0? 第i個樣本不滿足規(guī)則rj(23)
基于此,構(gòu)建一個行數(shù)與訓(xùn)練集樣本相同的新數(shù)據(jù)集N,包含二進(jìn)制變量及其對應(yīng)的標(biāo)簽。
N={[Ni1,Ni2,…,Nij,labeli],i=1,2,…,n}(24)
這里采用遞歸特征消除法(recursive feature elimination,RFE)[28]實(shí)現(xiàn)規(guī)則約簡。首先,將新數(shù)據(jù)集N輸入到機(jī)器學(xué)習(xí)分類器(如支持向量機(jī)(SVM)、決策樹或隨機(jī)森林)進(jìn)行訓(xùn)練,為保持一致性,本文使用所有特征訓(xùn)練隨機(jī)森林分類器C。然后,在每輪迭代中,移除一個特征規(guī)則feat_r,并使用剩余特征規(guī)則和對應(yīng)標(biāo)簽重新訓(xùn)練分類器C(-feat_r)。通過比較,剔除規(guī)則前后分類器的準(zhǔn)確率Δ_Acc_r,評估被剔除規(guī)則的重要性。
Δ_Acc_r={Acc(C)-Acc(C(-feat_r))|r∈{r1,r2,…,rj}}(25)
如果Δ_Acc_r>0,說明剔除的規(guī)則對分類器性能影響較大,其重要性較高;反之,若Δ_Acc_r≤0,表示剔除的規(guī)則對分類器性能影響有限,重要性較低。最后,按照規(guī)則重要性進(jìn)行排序并篩選結(jié)果。
Sorted=argsort(-Δ_Acc_r)(26)
FinalCond={feat_r|r∈Sorted[:m]}(27)
其中:argsort(-Δ_Acc_r)表示按照準(zhǔn)確率降序排列規(guī)則的索引;m為所需規(guī)則數(shù)量;FinalCond為最終選定的規(guī)則子集。RBR方法通過逐步優(yōu)化規(guī)則數(shù)量和質(zhì)量,從新數(shù)據(jù)集N中篩選出一組相關(guān)且高度具備區(qū)分性和預(yù)測能力的非冗余規(guī)則子集,再將其應(yīng)用到全部訓(xùn)練日志上重新分配預(yù)測結(jié)果,最終形成優(yōu)化的ABAC策略。核心算法如下:
算法3? 規(guī)則二元約簡
輸入:training samples T;pruned policy。
輸出:reduced policy。
initialize dataset N with same row count as T? /*初始化一個與訓(xùn)練集樣本行數(shù)相同的新數(shù)據(jù)集N*/
for each rule r in pruned policy do
B_r=[0*n]? //創(chuàng)建一個長度為n的向量列表
for each sample t[i] in T do? //遍歷訓(xùn)練集的每個樣本
if t[i] is satisfies r then B_r[i]=1 else set B_r[i]=0? /*將規(guī)則轉(zhuǎn)換成二元特征向量*/
end for
N.tail←column(B_r)? /*將二元特征向量B_r作為一個新列追加到數(shù)據(jù)集N的末尾*/
end for
Acc_scores←{ }? //存儲刪除的每條規(guī)則以及對應(yīng)的模型準(zhǔn)確率
for each column j in N do
Accj=train(N.remove column j),rf //計算剔除第j列(第j條規(guī)則)的準(zhǔn)確率
Acc_scores[j]←Accj
end for
reduced policy←? //存儲小于原始準(zhǔn)確率的規(guī)則
for each key j in Acc_scores do
calculate Δ_Acc_rj=Acc(train(N,rf))-Acc_scores[j]? /*計算第j條規(guī)則的重要性*/
if Δ_Acc_rj>0 then
reduced policy←add(j)
end if
end for
return reduced policy
3.3? 策略增強(qiáng)
對初步提取出的ABAC策略應(yīng)用SAO和RBR方法進(jìn)行優(yōu)化后,可以得到一種改進(jìn)的ABAC策略,但優(yōu)化策略中仍存在非互斥和不完備的規(guī)則,即一條訓(xùn)練日志數(shù)據(jù)被多條規(guī)則重復(fù)覆蓋。為解決該問題,本文提出一種基于誤差度量的規(guī)則沖突解決(rule conflict resolution,RCR)方法,避免因規(guī)則間的沖突導(dǎo)致錯誤判斷和執(zhí)行,具體實(shí)施步驟如下。
首先,將優(yōu)化策略表示為R={r|r=rj,j=1,2,…,j-m},通過訓(xùn)練樣本集T={t|t=ti,i=1,2,…,n},為每個樣本ti找到適用的規(guī)則子集R_i={rij|rij∈R∩rij適用于ti}。然后,對這些規(guī)則進(jìn)行誤差度量,根據(jù)式(28)挑選出誤差最小的規(guī)則,若存在誤差相同的多條規(guī)則,則選擇長度最短的一條作為該樣本的最優(yōu)規(guī)則。
r_min=argmin{E(rij,T)|rij∈R_i}(28)
r_opt=argmin{Len(rij)|rij∈r_min}(29)
最后,依次迭代所有訓(xùn)練樣本,確保每個樣本僅被其最優(yōu)規(guī)則覆蓋。通過為每個樣本尋找準(zhǔn)確度最高的規(guī)則,RCR方法既能確保ABAC策略包含所有必要的訪問控制規(guī)則,又能有效降低規(guī)則沖突,提高策略穩(wěn)定性。
算法4? 規(guī)則沖突解決
輸入:reduced policy;training samples T。
輸出:optimal policy。
optimal policy←? //存儲互斥、非沖突的規(guī)則
for each sample in T do? //遍歷訓(xùn)練集中的每個樣本
applicable_r←{ }? //存儲滿足當(dāng)前樣本的具體規(guī)則和對應(yīng)誤差
for each rule r in reduced policy do
if r applies to sample then
calculate r_error=E(r,T)
add {r:r_error} to applicable_r
end if
end for
sort applicable_r by r_error in ascending order? /*按照規(guī)則誤差升序排列*/
min_error_r=arg min{r∈keys(applicable_r)}applicable_r[r]
if length of min_error_r>1 then
choose the shortest rule from min_error_r? /*從誤差子集中挑選最短長度作為此樣本的最佳規(guī)則*/
add this rule to optimal policy
end if
end for
return optimal policy
4? 實(shí)驗評估
4.1? 實(shí)驗設(shè)置
4.1.1? 實(shí)驗環(huán)境設(shè)置
本實(shí)驗旨在比較random forest(RF)、XGBoost(XGB)和GBM三種集成模型在ABAC策略自動提取與優(yōu)化方面的應(yīng)用,以進(jìn)一步提高策略預(yù)測準(zhǔn)確性、降低策略復(fù)雜度并增強(qiáng)其可解釋性。集成模型的復(fù)雜性表現(xiàn)在多個方面,包括決策樹的數(shù)量、最大深度、特征數(shù)量、決策樹算法、集成策略以及正則化等。具體來說,當(dāng)樹的數(shù)量和深度增加時,終端節(jié)點(diǎn)的數(shù)量會迅速上升,從而導(dǎo)致樹的復(fù)雜性增加,使得解讀其決策規(guī)則變得困難。為了確保實(shí)驗對比的公平性,本文在(30,40,50,60,70,80,90,100)內(nèi)設(shè)置樹的數(shù)量,并在(4,5,6,7)內(nèi)設(shè)置深度。同時,針對不同數(shù)據(jù)集,采用貝葉斯優(yōu)化方法為每種模型尋找其他最優(yōu)參數(shù)。為確保實(shí)驗設(shè)計的嚴(yán)謹(jǐn)性和可重復(fù)性,表3詳細(xì)列出了實(shí)驗環(huán)境和具體參數(shù)設(shè)置。
4.1.2? 數(shù)據(jù)集描述
為驗證本文方法的有效性,選用兩類數(shù)據(jù)集進(jìn)行實(shí)驗:一是來自文獻(xiàn)[7]中的手寫數(shù)據(jù)集University,二是來自Kaggle平臺的公開數(shù)據(jù)集——Amazon.com-Employee Access Challenge,簡稱為Employee。University數(shù)據(jù)集的特點(diǎn)是操作類別平衡,允許類別日志和拒絕類別日志的數(shù)量相等。Employee數(shù)據(jù)集包含大量的主客體,日志集相對稀疏,拒絕訪問請求的日志數(shù)量極少,且資源屬性僅有一個。表4為數(shù)據(jù)集的基本信息。本文將這兩個數(shù)據(jù)集按8∶2隨機(jī)劃分為訓(xùn)練集和測試集,并進(jìn)行3次隨機(jī)拆分,實(shí)驗結(jié)果的各項指標(biāo)均為3次拆分后各指標(biāo)的平均值。該方式旨在更準(zhǔn)確地評估本文方法在不同數(shù)據(jù)集上的表現(xiàn)。
4.2? 性能分析
4.2.1? 策略準(zhǔn)確性對比
本實(shí)驗旨在比較RF、XGB和GBM三種模型在提取ABAC策略方面的準(zhǔn)確性表現(xiàn)。將每種模型提取的策略結(jié)果輸入到之前定義的策略優(yōu)化和增強(qiáng)流程中,得到經(jīng)過優(yōu)化和增強(qiáng)后的ABAC策略,并將經(jīng)過優(yōu)化和增強(qiáng)后的模型分別命名為RFOpt、XGBOpt和GBMOpt,以進(jìn)一步對比它們的性能差異。圖2和3展示了集成學(xué)習(xí)模型在不同訪問控制數(shù)據(jù)集下,針對接受、拒絕和整體策略準(zhǔn)確性的變化情況。
在University數(shù)據(jù)集驗證中,RFOpt、XGBOpt和GBMOpt模型在拒絕策略和整體策略準(zhǔn)確性方面均優(yōu)于原始模型。其中,GBMOpt的ACC_0最大幅度提高了38.7%,達(dá)到96.56%;同樣,GBMOpt的ACC_0/1提高了17.64%,達(dá)到96.69%。然而,在接受策略準(zhǔn)確性方面,RFOpt、GBMOpt模型并未超越原始模型。主要原因在于策略優(yōu)化過程中的權(quán)衡取舍,優(yōu)化過程主要致力于提高整體策略準(zhǔn)確性和降低誤報率,所以犧牲其他指標(biāo)的部分性能是可以接受的。具體來說,RF和RFOpt的接受策略準(zhǔn)確性均為100%;GBMOpt的ACC_1下降了3.19%,但準(zhǔn)確性仍高達(dá)96.81%;相較于XGB,XGBOpt的ACC_1提高了2.26%,達(dá)到97.03%。
在Employee數(shù)據(jù)集驗證中,RFOpt、XGBOpt和GBMOpt模型在接受和整體策略準(zhǔn)確性方面均優(yōu)于原始模型。其中,RFOpt的ACC_1提高了10.24%,達(dá)83.11%;XGBOpt的ACC_1提高了19.82%,達(dá)86.63%;GBMOpt的ACC_1大幅提高了48.6%,達(dá)82.43%。此外,RFOpt、XGBOpt和GBMOpt的ACC_0/1分別提高了4.43%、7.43%和21.04%,達(dá)到81.2%、87.74%和84.34%。然而,RFOpt模型在拒絕策略準(zhǔn)確性方面與原始RF模型相當(dāng),XGBOpt和GBMOpt則未超過原始模型。主要原因在于Employee數(shù)據(jù)集的稀疏性,接受日志量遠(yuǎn)超拒絕日志,導(dǎo)致模型偏向?qū)W習(xí)接受策略,即便采用ADASYN技術(shù)增強(qiáng)少數(shù)類樣本,但新增樣本基于插值產(chǎn)生,會引入噪聲進(jìn)而影響模型性能。具體來說,XGBOpt和GBMOpt的準(zhǔn)確性分別降低了5.35%、6.9%,但仍達(dá)88.87%、86.17%。
在ABAC策略提取過程中,經(jīng)過優(yōu)化和增強(qiáng)的模型在整體策略準(zhǔn)確性上明顯優(yōu)于原始模型。然而,受數(shù)據(jù)特征和問題深度的影響,這些模型在不同數(shù)據(jù)集上的表現(xiàn)并非一致。在接受和拒絕策略準(zhǔn)確性上,優(yōu)化模型的性能有時會下降,這是優(yōu)化過程中權(quán)衡各性能指標(biāo)的結(jié)果。因此,實(shí)際應(yīng)用時必須考慮數(shù)據(jù)集特性和實(shí)際需求,以確保模型優(yōu)化與應(yīng)用場景契合。
4.2.2? 策略規(guī)模大小對比
圖4展示了University和Employee數(shù)據(jù)集在不同集成學(xué)習(xí)模型下策略規(guī)模大小的變化趨勢。實(shí)驗結(jié)果表明,RFOpt、XGBOpt和GBMOpt模型在University和Employee數(shù)據(jù)集上的策略規(guī)模均明顯低于原始模型。在University數(shù)據(jù)集中,RFOpt、XGBOpt和GBMOpt分別將策略規(guī)模壓縮至原來的7.7%、4%和19.7%。在Employee數(shù)據(jù)集中,其比例分別為21.3%、23%和27.7%。結(jié)果表明,RFOpt、XGBOpt和GBMOpt優(yōu)化算法在壓縮策略規(guī)模方面表現(xiàn)良好,但處理不同數(shù)據(jù)集時的適應(yīng)能力存在差異。
4.2.3? 策略復(fù)雜性對比
如圖5所示,優(yōu)化模型RFOpt、XGBOpt和GBMOpt在可解釋性方面明顯優(yōu)于原始模型RF、XGB和GBM。雖然原始模型在各數(shù)據(jù)集上的解釋性表現(xiàn)穩(wěn)定,但具體得分較低。其中,XGBOpt在University數(shù)據(jù)集上的可解釋性最高,為95.16%,而在Employee數(shù)據(jù)集上,GBMOpt最高,為78.82%。此外,優(yōu)化模型提取的策略在規(guī)則結(jié)構(gòu)復(fù)雜度(WSC)上顯著低于原始模型。在University數(shù)據(jù)集上,RFOpt、XGBOpt和GBMOpt提取的策略WSC都低于20,相較于RF、XGB和GBM模型,WSC降低的比例分別為94.8%、97.4%和83.1%。同樣,在Employee數(shù)據(jù)集上,這些優(yōu)化模型提取的策略WSC都低于65,與RF、XGB和GBM相比,分別降低了86.5%、85.6%和76.1%,且更小的WSC值表示更強(qiáng)的可解釋性。實(shí)驗結(jié)果表明,在這些應(yīng)用場景中,相較于優(yōu)化模型,原始模型提取策略在規(guī)則結(jié)構(gòu)復(fù)雜度上高出數(shù)十倍。因此,本文方法通過策略優(yōu)化與增強(qiáng),在保證準(zhǔn)確性和解釋性的同時,有效降低了策略規(guī)則結(jié)構(gòu)復(fù)雜度,實(shí)現(xiàn)了結(jié)構(gòu)簡潔性與預(yù)測性能間的有效平衡。
4.2.4? 策略性能平衡對比
基于上述分析,觀察到經(jīng)過優(yōu)化和增強(qiáng)的模型在提取ABAC策略的性能指標(biāo)方面有顯著提升。其中,策略準(zhǔn)確性是衡量模型質(zhì)量的關(guān)鍵指標(biāo),直接影響策略的應(yīng)用價值;WSC指標(biāo)則量化了策略的結(jié)構(gòu)簡潔性和易于管理的程度。然而,策略規(guī)模并非總是與模型性能或有效性有直接關(guān)系。因此,本文采用帕累托多目標(biāo)優(yōu)化方法,同時考慮策略準(zhǔn)確性和WSC指標(biāo),以尋找最優(yōu)模型解,達(dá)到策略準(zhǔn)確性和結(jié)構(gòu)簡潔性的最佳平衡。在不同數(shù)據(jù)集上,找出在策略精度和WSC間達(dá)到平衡的最優(yōu)模型是關(guān)鍵。表5詳細(xì)展示了各模型在不同數(shù)據(jù)集上進(jìn)行ABAC策略提取與優(yōu)化增強(qiáng)的相關(guān)指標(biāo)及結(jié)果。
在帕累托前沿上,可以基于需求和約束選擇最優(yōu)解,這個過程需要在不同目標(biāo)之間權(quán)衡以實(shí)現(xiàn)平衡。圖6以ACC_0/1和WSC為例,展示了在不同權(quán)重設(shè)置下的結(jié)果。當(dāng)權(quán)重為(0.5,0.5)時,準(zhǔn)確性和WSC之間實(shí)現(xiàn)了最佳平衡。此時University數(shù)據(jù)集的平衡點(diǎn)為(96.69%,13.09),由表5可知,最優(yōu)模型為GBMOpt;而Employee數(shù)據(jù)集的平衡點(diǎn)為(87.74%,50.15),最優(yōu)模型為XGBOpt。當(dāng)權(quán)重為(0.9,0.1)時,策略偏重準(zhǔn)確性,University和Employee數(shù)據(jù)集的最優(yōu)模型仍為GBMOpt和XGBOpt。當(dāng)權(quán)重為(0.1,0.9)時,策略偏重WSC,此時University數(shù)據(jù)集的最優(yōu)模型為RFOpt,而Employee數(shù)據(jù)集的最優(yōu)模型為GBMOpt??傮w來看,通過調(diào)整權(quán)重,可以在準(zhǔn)確性和WSC間找到最佳平衡,從而確定最適合的優(yōu)化模型,實(shí)現(xiàn)高效、透明且易于管理的策略。
5? 結(jié)束語
本文提出一種基于訪問控制日志驅(qū)動的ABAC策略自動提取與優(yōu)化增強(qiáng)方法,且在各項策略質(zhì)量評估指標(biāo)上取得了顯著成效。該方法使用random forest、XGBoost和GBM三種集成學(xué)習(xí)樹模型,從歷史日志中自動提取初始策略。通過策略優(yōu)化和增強(qiáng)算法來解決直接使用集成學(xué)習(xí)模型的不足,并實(shí)現(xiàn)了多個目標(biāo),即有效壓縮策略規(guī)模、簡化策略結(jié)構(gòu)復(fù)雜度、提高策略的整體預(yù)測準(zhǔn)確性和解釋性,同時強(qiáng)化策略的完備性和互斥性,避免沖突和錯誤發(fā)生。在平衡數(shù)據(jù)集和稀疏數(shù)據(jù)集上的實(shí)驗,證明該方法既能精確預(yù)測訪問請求的授權(quán)狀態(tài),又能確保策略的清晰易懂。下一步將針對動態(tài)變化的環(huán)境和需求,研究策略自適應(yīng)更新和調(diào)整技術(shù),并探索提高策略檢索效率的方法,以實(shí)現(xiàn)在大型系統(tǒng)和高并發(fā)場景下更快速、更高效的訪問控制決策。
參考文獻(xiàn):
[1]Ferrari E. Access control in data management systems[M].[S.l.]:Morgan & Claypool Publishers, 2010.
[2]Hu V C, Kuhn D R, Ferraiolo D F, et al. Attribute-based access control[J]. Computer, 2015, 48(2):85-88.
[3]Hu V C, Ferraiolo D, Kuhn R, et al. Guide to attribute based access control(ABAC) definition and considerations(draft)[J]. NIST Special Publication, 2013,800(162):1-54.
[4]Zhao Yinyan, Su Mang, Wan Jie, et al. Access control policy maintenance in IOT based on machine learning[J]. Journal of Circuits, Systems and Computers, 2021,30(10): 2150189.
[5]Gumma V, Mitra B, Dey S, et al. Pammela: policy administration methodology using machine learning[C]//Proc of International Conference on Security and Cryptography. 2022: 147-157.
[6]Nobi M N, Krishnan R, Huang Yufei, et al. Toward deep learning based access control[C]//Proc of the 12th ACM Conference on Data and Application Security and Privacy. New York:ACM Press, 2022:143-154.
[7]Xu Zhongyuan, Stoller S D. Mining attribute-based access control policies from logs[C]//Proc of the 28th Annual IFIP WG 11.3 Working Conference on Data and Applications Security and Privacy. Berlin: Springer, 2014: 276-291.
[8]Sun Wei, Su Hui, Xie Huacheng. Policy-engineering optimization with visual representation and separation-of-duty constraints in attribute-based access control[J]. Future Internet, 2020,12(10):164.
[9]Abu J A, Bertino E, Lobo J, et al. Polisma-a framework for learning attribute-based access control policies[C]//Proc of the 25th Euro-pean Symposium on Research in Computer Security. Cham: Springer, 2020: 523-544.
[10]Sahani G,Thaker C,Shah S. Supervised learning-based approach mi-ning ABAC rules from existing RBAC enabled systems[J]. EAI Endorsed Trans on Scalable Information Systems, 2022,10(1):e9.
[11]Sanders M W, Yue Chuan. Mining least privilege attribute based access control policies[C]//Proc of the 35th Annual Computer Security Applications Conference. 2019: 404-416.
[12]Cappelletti L, Valtolina S, Valentini G, et al. On the quality of classification models for inferring ABAC policies from access logs[C]//Proc of IEEE International Conference on Big Data. Piscataway, NJ: IEEE Press, 2019: 4000-4007.
[13]Cotrini C, Weghorn T, Basin D. Mining ABAC rules from sparse logs[C]//Proc of IEEE European Symposium on Security and Privacy. Piscataway, NJ: IEEE Press, 2018: 31-46.
[14]毋文超, 任志宇, 杜學(xué)繪. 基于日志的富語義ABAC策略挖掘[J]. 浙江大學(xué)學(xué)報: 工學(xué)版, 2020,54(11): 2149-2157. (Wu Wenchao, Ren Zhiyu, Du Xuehui. Rich semantic ABAC policy mining based on log[J]. Journal of Zhejiang University: Engineering Science, 2020,54(11): 2149-2157.)
[15]Karimi L, Aldairi M, Joshi J, et al. An automatic attribute-based access control policy extraction from access logs[J]. IEEE Trans on Dependable and Secure Computing, 2021,19(4): 2304-2317.
[16]Iyer P, Masoumzadeh A. Mining positive and negative attribute-based access control policy rules[C]//Proc of the 23rd ACM on Symposium on Access Control Models and Technologies. New York:ACM Press, 2018:161-172.
[17]Das S,Sural S,Vaidya J,et al. VisMAP: visual mining of attribute-based access control policies[C]//Proc of the 15th International Conference on Information Systems Security. Cham:Springer,2019:79-98.
[18]劉敖迪, 杜學(xué)繪, 王娜, 等. 基于訪問控制日志的訪問控制策略生成方法[J]. 電子與信息學(xué)報, 2022,44(1): 324-331. (Liu Aodi, Du Xuehui, Wang Na, et al. Access control policy generation method based on access control log[J]. Journal of Electronics and Information Technology, 2022,44(1): 324-331.)
[19]Narouei M, Khanpour H, Takabi H. Identification of access control policy sentences from natural language policy documents[C]//Proc of the 31st Annual IFIP WG 11.3 Conference on Data and Applications Security and Privacy. Cham: Springer, 2017: 82-100.
[20]Alohaly M, Takabi H, Blanco E. Automated extraction of attributes from natural language attribute-based access control (ABAC) policies[J]. Cybersecurity, 2019, 2: 1-25.
[21]劉敖迪, 杜學(xué)繪, 王娜, 等. 基于深度學(xué)習(xí)的ABAC訪問控制策略自動化生成技術(shù)[J]. 通信學(xué)報, 2020,41(12): 8-20. (Liu Aodi, Du Xuehui, Wang Na, et al. Automatic generation technology of ABAC access control policy based on deep learning[J]. Journal of Communications, 2020,41(12): 8-20.)
[22]Bui T, Stoller S D, Li Jiajie. Greedy and evolutionary algorithms for mining relationship-based access control policies[J]. Computers & Security, 2019,80: 317-333.
[23]Gorzaczany M B, Rudziński F. A multi-objective genetic optimization for fast, fuzzy rule-based credit classification with balanced accuracy and interpretability[J]. Applied Soft Computing,2016,40:206-220.
[24]Belgiu M, Drǎgu L. Random forest in remote sensing: a review of applications and future directions[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2016,114: 24-31.
[25]Natekin A, Knoll A. Gradient boosting machines, a tutorial[J]. Frontiers in Neurorobotics, 2013,7: 21.
[26]Chen Tianqi, Guestrin C. XGBoost: a scalable tree boosting system[C]//Proc of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press, 2016: 785-794.
[27]Deng Houtao. Interpreting tree ensembles with intrees[J].International Journal of Data Science and Analytics,2019,7(4):277-287.
[28]Huang Xiaojuan, Zhang Li, Wang Bangjun, et al. Feature clustering based support vector machine recursive feature elimination for gene selection[J]. Applied Intelligence, 2018,48: 594-607.