999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多種MAC機制并存的動態裝載方法

2018-11-20 06:08:44杜軍龍周劍濤
計算機工程 2018年11期
關鍵詞:機制模型系統

杜軍龍,周劍濤

(江西省信息中心,南昌 330001)

0 概述

強制性訪問控制(Mandatory Access Control,MAC)[1]被美國國家計算機安全中心NCSC的安全標準TCSEC列為B級安全操作系統的基本要求[2]。MAC具有非常強的魯棒性,能夠絕對執行安全管理員預定的訪問控制策略,有效防止特洛伊木馬的攻擊。目前對Linux操作系統平臺的MAC機制研究較多且側重點不同,主要研究包括Flask模型、Clark-Wilson模型、Bell-lapadula模型、Biba模型、Chinese-Wall模型、DTE模型和Lattice模型以及各企業、團體自主研發的設計模型等[3-6]。

然而,在特殊單位中,單一MAC機制很難完全滿足其通用Linux平臺使用的特殊性與多樣性安全需求,需要多種MAC機制并存互補,以提供更高的系統安全性。目前針對通用Linux系統中的多MAC機制并存研究較少,以Selinux機制為代表的具有主/從性的多MAC堆疊并存機制較為普及,它將Selinux作為主安全模塊,后續MAC機制通過mod_reg_security函數在主模塊中進行注冊成為從安全模塊,較好地支持了MAC并存與調用,但從安全模塊受主安全模塊策略的約束與管理,并且在kernel-2.6.19以后不支持mod_reg_security函數的使用[7]。文獻[8]設計了一種在kernel源碼中以安全域數組的形式實現的多MAC機制并存管理器,有效地支持了多MAC并存,但這種并存管理器的平臺可遷移性差,對于不愿更改內核的用戶,他們難以接受這種方法。文獻[9]利用擴展內核hook安全域的形式,以內核通用鏈表做載體為系統提供一種多MAC并存機制,但是該法的綜合決策和鏈式調用存在系統開銷大和靈活性不足問題。

基于以上問題,在沿襲內核hook安全域擴展的基礎上,本文提出一種多種MAC機制并存的動態裝載方法。該方法使MAC機制以動態方式載入系統且能與平臺自有MAC機制實現并存,同時輔以優先級調度算法實現靈活調度[10]。

1 通用MAC裝載流程

目前, Linux操作系統平臺自帶的通用MAC機制大都是依托Flask模型進行工程實現的[11]。Flask模型以進程為主體,按照集中式或分散式的策略權限訪問系統資源客體,存在類型強制與多層安全非強制的形式,同時具備控制精細、策略靈活與可配置等特點。通用MAC機制通過更改內核全局描述表security_ops中hook地址指向,以KO的形式進行動態裝載[12]。通用MAC裝載及其控制流程如圖1所示。

圖1 通用MAC裝載流程

通用MAC裝載流程主要包括以下步驟:

1)系統開機,內核層首先進行安全初始化,將內核全局描述表security_ops地址指向系統默認安全模塊default_security_ops,此過程無任何MAC機制,僅作為初始化使用。

2)平臺自帶Flask模型的MAC機制將獲取內核全局描述表security_ops地址,并進行地址替換,使之指向MAC機制中自定義的全局描述表,此時系統平臺的初始化安全模塊default_security_ops失效,MAC機制裝載成功且生效。

3)用戶層進程訪問客體,首先讀取系統文件目錄項,查找系統資源客體inode節點,并獲取inode節點屬性信息,然后經過內核接口執行程序功能性錯誤檢查。

4)進行系統平臺傳統的DAC權限檢查校驗。

5)經過以上步驟,在用戶進程即將訪問客體之前,內核層生效的MAC機制將讀取強訪策略,最終確定主體訪問客體權限。

2 并存方案設計與實現

系統內核中的透明安全域是一個void*類型指針,它將安全模塊中的安全信息和內核內部對象聯系起來,對MAC機制的支持具有唯一性,如若安全域被主模塊占用,勢必導致其他MAC機制失效。針對要實現2種甚至多種MAC機制的并存問題,本節對多種MAC機制并存動態裝載進行設計與實現。

2.1 方案設計

針對Linux平臺需要多種MAC機制并存以增強系統安全性的需求,提出一種具備靈活調度的多種MAC機制并存動態裝載方法。該方法主要分為MAC機制裝載與還原、并存調度策略、訪問仲裁和安全防篡改4個部分,其設計裝載流程如圖2所示,其中,header為跳躍表頭。

圖2 MAC并存裝載流程

多種MAC機制并存裝載沿襲了內核安全域擴展思想,但在安全模塊加載過程與傳統通用動態裝載的hook地址替換法不同,它利用跳躍表[13]對內核全局描述表security_ops的入口點進行重新構造,以實現多MAC裝載管理機制與MAC模塊功能的靜態分離。跳躍表裝載多MAC的機制作為與MAC功能模塊交互的唯一途徑,具有順鏈式(先進先出的MAC互聯邏輯)與跳躍式(任意順序的MAC互聯邏輯)2種調用,如圖2所示。鑒于系統安全的第一要義是安全,其次是性能,管理機制可無上限裝載多個MAC有違系統安全和性能要求,將MAC裝載上限以可配置的方式予以提供。多種MAC機制還原是對跳躍表裝載方式移除后的環境歸整,還原為系統平臺自帶MAC的強訪境況。

并存調度策略摒棄了以往FIFO模型實現的鏈式順序調度思想,利用優先級算法實現了多MAC機制的并存靈活調度設計。優先級P是根據實際中不同MAC機制的側重點不同進行的靜態標簽設置,如圖2所示。預定義P為8個等級,P={P0,P1,…,P7},P0優先級最高,依次逐級遞減,同等優先級時,按照先進先出順序進行調度。

訪問仲裁是多MAC機制并存策略最終的決策者,決定了策略最終實施的成功與否。在已有并存技術中,全部MAC機制運行后對返回結果做統一仲裁的方式具有可行性,但卻要將系統已裝載的MAC都運行。簡單說,如果系統中第一個MAC機制已確認該操作不安全,下面的MAC機制則不需要運行實施,可直接給出仲裁結果。鑒于不同MAC機制具體的權威性與可信性不同,如若直接給出仲裁結果,可能導致仲裁偏差與失誤,本文設計的訪問仲裁通過引進權重比W的方式對結果進行修正,以增添仲裁可信性。W可設置為W={W0,W1,…,Wn},權重值越大,則影響力越大[14],如圖2所示。

安全防篡改功能是MAC機制并存方法在系統中的自安全增強機制,具備防篡改監控和自修復2個特點,如圖2所示。防篡改監控包含監控時間片和地址判斷2個要素。自修復是在防篡改監控發現被篡改的情景下做出的并存機制重載修復操作。

2.2 方案實現

假設存在以下條件:

1)需并存裝載的MAC機制集合M={M0,M1,…,M6}。

2)已定義優先級P為8個等級,P={P0,P1,…,P7}。

3)已定義權重W為3個等級,W={W0,W1,W2}。

多種MAC機制并存動態裝載設計的實現過程如下:

1) MAC并存裝載與還原

內核安全域已被系統中自帶MAC機制占用,首先將安全域以SkipList形式進行擴展,以支持多安全模塊的注冊,以file結構的安全域void *f_security為例進行擴展,擴展前為struct file{…void*f_security;…},擴展后則為struct file {…struct mskiplist *list;void*f_security;…}。

file結構安全域擴展后的調用原理如圖3所示。file結構的安全域由之前指向系統自帶MAC機制的file結構,更改為指向SkipList的頭節點,SkipList中的各個節點安全域指針被設置指向具體安全模塊的file結構。

MAC并存裝載要對系統內核全局描述表security_ops的地址進行備份與替換,然而在通用Linux內核2.6.22及以上版本[15]中,已經不支持通過register_security函數操作security_ops地址方式,需手動進行獲取,其關鍵數據結構實現如下所示:

static int __coexit_init(void)

{static struct security_operations sec_ops_bak;

memset(&sec_ops_bak,0,sizeof(sec_ops_bak));

sec_ops_p = look_up_symbol("security_ops");

…;

memcpy(&sec_ops_bak,sec_ops_p,sizeof(sec_ops_bak));

…}

其中,第1行和第2行是為security_ops備份地址申請空間并初始化,第3行和第4行將獲取的security_ops地址進行備份。

多MAC裝載需維護一個安全模塊函數鏈表,該鏈表以跳躍表的數據結構實現,其節點結構如下所示:

typedef struct skiplist_node{

int p; /*優先級*/

float w; /*權重*/

int levels; /*保存結點的層數*/

struct security_operations * security_ops;

/*MAC機制中hook函數表*/

struct skiplist_node_level{

struct skiplist_node *forward; /*前指針*/

}level[]; /*level最大值為32*/

struct skiplist_node *backward; /*后指針*/

}skiplist_node;

將所需并存的MAC機制M={M0,M1,…,M6}裝載在安全模塊函數鏈表中,其示意圖如圖4所示。

圖4 多MAC并存裝載示意圖

2) MAC并存調度

并存調度策略引入了優先級調度算法思想,MAC的優先級P以靜態標簽形式存在。已知集合M,設M與P的自由組合為{M0,P0}、{M1,P7}、{M2,P2}、{M3,P0}、{M4,P1}、{M5,P1}和{M6,P0},如圖5所示。根據優先級高先調用、同等級按照先進先出的調度原則,MAC并存調度機制首先調用的是優先級最高的P0級,調用順序為{M0,P0}、{M3,P0}和{M6,P0},如圖5中所標線(長虛曲線)所示;然后,調用的是{M4,P1}和{M5,P1},如圖5中所標線(短虛曲線)所示;最后,調用的是{M2,P2},如圖5中所標線(實曲線)所示。

圖5 MAC調度示意圖

3) 訪問仲裁

訪問仲裁中處理的對象包含MAC集合M={M0,M1,…,M6},權重W={W0,W1,W2},K表示計算結果動態修正系數,R表示當前模塊返回結果,Z表示最后計算結果,以Ψ表示訪問仲裁集合,Ψ={M,W,K,R,Z}。

(1) MAC機制集合M={M0,M1,…,M6},按照優先級P的順序依次執行,并對應返回結果R={R0,R1,…,Rn}。

(2)結果集R結合模塊權重W和修正系數K進行決策計算,得出仲裁結果Z={undef,Z1,Z2,…,Zn}。其計算公式為:

(1)

4) 安全防篡改

安全防篡改中的篡改監控特征是通過周期輪巡的方式進行實現,通過比對security_ops的入口地址是否被跳躍表以外的地址進行替換而做出篡改判斷依據,其時間片可設置為3 s,如若被非法篡改,自修復特征將重新獲取security_ops的入口地址主動權,將多MAC機制重新裝載入系統。

3 系統性能驗證

本文將該并存方法在Linux通用系統平臺中進行了實現,主要的系統性能驗證如下:

1) 系統功耗性驗證

測試條件:

(1)系統中已默認裝載Flask模型實現的MAC機制。

(2)設存在系統MAC補充機制M0和M1,并且M0和M1中的功能hook均返回0,用以忽略hook函數內部的功能影響,以代表訪問過程均安全放行。

在Linux平臺條件(1)和(2)的環境下,實驗對比了多MAC機制堆疊并存裝載方法[7]和本文設計的多MAC機制并行裝載方法,分別執行10 000次、100 000次和1 000 000次的文件打開與關閉,并記錄執行所用時間,每一組重復執行10次,然后取其平均值。2組實驗結果對比如圖6所示。

圖6 通用堆疊與并行裝載執行時間對比

2) 防篡改功能驗證

假設在Linux通用系統平臺中已安裝本文可支持的多種MAC并存動態裝載機制,同時該并存動態裝載機制中包含系統自帶MAC及其補充MAC機制M0和M1。參照系統syslog審計方式,在并存動態裝載機制中每隔一定時間片主動獲取系統時間與內核全局描述表security_ops地址,并通過vfs_write函數將相關信息記錄到/var/log/security_ops.log中。

在Linux通用系統平臺中,創建文件replace_security_ops.c用以強占并更改security_ops指向地址。在文件replace_security_ops.c中,首先獲取當前系統內核全局描述表security_ops指向地址,然后更改security_ops指向地址,最終將文件以KO模塊形式編譯生成lsm.ko,通過執行insmod命令,將lsm.ko插入內核,如圖7所示。

圖7 安全防篡改測試截圖

在日志/var/log/security_ops.log中,每隔3 s輸出當前security_ops指向地址,在insmod操作動作執行前,系統輸出提示信息的INFO語句,顯示security_ops地址為ffffffff81ae2420。當執行insmod操作動作后,系統輸出提示信息WARN語句,顯示系統security_ops地址已被篡改,且篡改后地址為ffffffff81fdadc8。此時安全防篡改模塊將執行自修復功能,重新主動占據security_ops指向地址。經上述security_ops強占測試后,最終確認此方法具備安全防篡改功能。

4 結束語

本文提出一個多MAC機制并存的動態裝載方法,在并存裝載的同時以優先級調度算法對其進行靈活調度。測試結果表明,相比于通用堆疊并存技術,該方法能夠滿足多種MAC機制的系統并存需求,系統性能開銷小,并且模塊具備安全防篡改功能。下一步將對并存方法中的各種MAC機制運行時間片進行研究,在考慮優先級的情況下同時考慮時間要素,以先調用同優先級、時間片較小的MAC機制的方式達到更優的調度方案,進而提高系統性能。

猜你喜歡
機制模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
主站蜘蛛池模板: 性网站在线观看| 中字无码av在线电影| 欧美日韩导航| 亚洲精品无码日韩国产不卡| A级毛片高清免费视频就| 国产精品亚洲欧美日韩久久| 国产尹人香蕉综合在线电影 | 婷婷久久综合九色综合88| 国产系列在线| 成人无码一区二区三区视频在线观看| 亚洲欧美人成电影在线观看| 久久精品无码专区免费| 任我操在线视频| 亚洲精品va| 国产色爱av资源综合区| 91精品国产情侣高潮露脸| 色爽网免费视频| 亚洲人成网站观看在线观看| 熟女日韩精品2区| 日韩亚洲综合在线| 午夜国产理论| 欧美第二区| 亚洲AV无码久久精品色欲| 色综合网址| 欧美成人精品一级在线观看| 亚洲伊人久久精品影院| 国产极品嫩模在线观看91| 区国产精品搜索视频| 少妇露出福利视频| 国产精品美人久久久久久AV| 国产无码性爱一区二区三区| 色婷婷天天综合在线| 亚洲va视频| 亚洲第一视频网| 日韩欧美中文| 影音先锋丝袜制服| 欧美不卡视频在线观看| 欧美午夜理伦三级在线观看| 国产真实二区一区在线亚洲| 欧美日韩免费观看| 亚洲国产综合精品一区| 国产欧美日韩18| 久夜色精品国产噜噜| 福利视频久久| 婷婷午夜天| 日韩a在线观看免费观看| 5388国产亚洲欧美在线观看| JIZZ亚洲国产| 国产成人做受免费视频| 欧美在线观看不卡| 国产91高跟丝袜| 最近最新中文字幕在线第一页| 毛片在线区| 中文字幕无码中文字幕有码在线| 日韩毛片基地| 欧美一区精品| 国产成人91精品免费网址在线| 日韩在线视频网站| 日韩A级毛片一区二区三区| 亚洲精品第一在线观看视频| 欧美午夜视频| 中文字幕第1页在线播| 欧美另类视频一区二区三区| 亚洲最新在线| 香蕉久久国产超碰青草| 亚洲天堂网视频| www.亚洲一区二区三区| 中文字幕首页系列人妻| 人妻熟妇日韩AV在线播放| 91小视频在线播放| 无码内射中文字幕岛国片| 污网站免费在线观看| 久久久久久久久亚洲精品| 亚洲成av人无码综合在线观看| 99久久精品久久久久久婷婷| 国产91在线|日本| 亚洲swag精品自拍一区| 日韩av高清无码一区二区三区| 亚洲成人一区在线| 人妻少妇久久久久久97人妻| Jizz国产色系免费| 亚洲美女久久|