吳 菲,朱玉全,徐平平
(1.南京工業(yè)大學(xué)浦江學(xué)院,江蘇 南京210000;2.江蘇大學(xué)計算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212000;3.東南大學(xué)信息科學(xué)與技術(shù)學(xué)院,江蘇 南京 210000;4.東南大學(xué)移動通信國家重點實驗室,江蘇 南京 210000)
私有云(PrivateClouds)是為一個客戶單獨使用而構(gòu)建的,因而提供對數(shù)據(jù)、安全性和服務(wù)質(zhì)量的最有效控制[1],同時用戶可以隨時隨地訪問數(shù)據(jù),不用擔(dān)心管理,操作和維護(hù)資源的成本[2]。然而,網(wǎng)絡(luò)入侵現(xiàn)象,導(dǎo)致部分云服務(wù)中的重要信息經(jīng)常發(fā)生泄漏和損壞的情況,安全問題已經(jīng)成為制約云存儲發(fā)展的瓶頸。異常數(shù)據(jù)的錯誤決策可能會給企業(yè)帶來難以估計的經(jīng)濟(jì)損失,如何保證企業(yè)云平臺的安全,已經(jīng)成為一個亟需解決的問題。Petri網(wǎng)能夠表達(dá)并發(fā)的事件,云存儲數(shù)據(jù)安全的學(xué)術(shù)研究主要集中在加密,安全審計和訪問控制三種方法。訪問控制是基于控制和限制未授權(quán)客戶端,來防御數(shù)據(jù)安全的一種方法。國內(nèi)外對于用戶訪問控制的研究有很多不同的方法。
文獻(xiàn)[3]提出基于實時行為可信度量的網(wǎng)絡(luò)訪問控制模型,引入懲罰因子和時間因子,將用戶行為評估方法從單一評估上升到全局評估,在可信網(wǎng)絡(luò)連接架構(gòu)下,設(shè)計基于用戶行為可信策略的訪問控制模型,提出網(wǎng)絡(luò)連接與訪問的動態(tài)授權(quán)機(jī)制,實現(xiàn)用戶行為的可信判定,但該方法的訪問權(quán)只能是在讀寫的情況下,一旦權(quán)限類型增加,密鑰的數(shù)量就會相應(yīng)增加,導(dǎo)致方法變得較為復(fù)雜;文獻(xiàn)[4]基于智能眼鏡觸控行為的隱式身份認(rèn)證方法,通過Leap Motion設(shè)備獲取用戶特征數(shù)據(jù),采用Bagging集成算法完成特征數(shù)據(jù)的學(xué)習(xí)訓(xùn)練,將BP神經(jīng)網(wǎng)絡(luò)算法和K近鄰算法作為基學(xué)習(xí)器,進(jìn)而在用戶正常使用智能眼鏡的過程中,實現(xiàn)手勢識別的隱式身份認(rèn)證,但是缺少對用戶行為具體路徑的分析,認(rèn)證速度較慢。
本次研究方法基于用戶行為的路徑分析,研究用戶行為可信度。將用戶行為分析分為兩個階段,使用隨機(jī)Petri網(wǎng)構(gòu)建兩個過程的行為認(rèn)證模型,利用改進(jìn)的k-means算法計算用戶行為的可信度,并通過仿真證明研究方法的有效性。
用戶身份的可信度決定了使用云服務(wù)的權(quán)利。在私有云環(huán)境中,云服務(wù)提供商將為用戶提供初始可信度值[5]。為了便于分析用戶的行為,將其分為以下三類:
1)用戶習(xí)慣行為
用戶習(xí)慣行為包括登錄的IP地址,使用的操作系統(tǒng)以及用于登錄過程的位置,瀏覽會話的持續(xù)時間,不正確的登錄嘗試次數(shù)。
2)用戶異常行為
用戶異常行為包括用戶下載的資源量,虛擬機(jī)數(shù)量,RAM大小,存儲空間大小,網(wǎng)絡(luò)帶寬。這些行為受云服務(wù)提供商的約束,可以從操作日志文件中獲取。
3)用戶惡意行為
用戶惡意行為包括密碼破解,TCP floading,特洛伊木馬,病毒攻擊和IP spoofing。這些信息可以從入侵檢測系統(tǒng)的反饋獲取。
本次研究將包含在用戶行為類型中的信息稱為“用戶行為證據(jù)”。一組行為證據(jù)將形成用戶行為的記錄。在分析用戶可信度時,用戶行為證據(jù)的差異可能導(dǎo)致行為被標(biāo)記為不可信任。本次研究構(gòu)建基于隨機(jī)Petri網(wǎng)的用戶行為認(rèn)證模型,以分析和驗證用戶行為的類型。
Petri網(wǎng)是一種用于描述和建模信息處理系統(tǒng)的數(shù)學(xué)工具。它可以精確地描述并行化、異步和不確定性的系統(tǒng)屬性,并在圖形建模中具有直觀的描述。通過關(guān)聯(lián)轉(zhuǎn)換和隨機(jī)變量的延遲,將為每個轉(zhuǎn)換提供一個速率,構(gòu)成隨機(jī)Petri網(wǎng)。
本次研究針對單用戶行為,使用SPN來分析用戶在云環(huán)境中的行為。當(dāng)用戶登錄云服務(wù)器時,將分析慣常行為以確定用戶是否具有訪問云服務(wù)器的可信度。一旦用戶在服務(wù)器上,將進(jìn)行第二次用戶行為分析,以確定用戶身份的可信度[6]。
1)第一階段行為分析模型
該階段使用SPN分析傳統(tǒng)的身份認(rèn)證和用戶習(xí)慣行為認(rèn)證。構(gòu)建的模型如圖1所示:
圖1 第一階段行為認(rèn)證模型
上述圖1中,p表示用戶所處的位置,T表示時間變遷,t表示瞬間變遷。模型位置的含義如表1所示:
表1 第一階段位置含義
第一階段模型對用戶身份進(jìn)行了兩次認(rèn)證,分別是基于賬號密碼的認(rèn)證,以確保用戶賬號密碼的正確性;基于行為的身份認(rèn)證,通過對用戶行為數(shù)據(jù)的分析,再次確認(rèn)用戶身份是否可信,若可信則進(jìn)行下一階段的行為分析。
2)第二階段行為分析模型
通過第一階段的身份認(rèn)證以后,如果用戶已經(jīng)在云服務(wù)器中擁有檢索資源的權(quán)限,則用戶將到達(dá)P6。在第二階段行為分析中,使用SPN構(gòu)建用戶行為身份驗證模型,來分析云服務(wù)器中的用戶行為,以確定其身份的可信度。第二階段的用戶分析模型如圖2所示,這個階段云服務(wù)器中用戶行為的認(rèn)證,主要涉及用戶異常行為和用戶惡意行為。
圖2 第二階段行為認(rèn)證模型
圖2中位置與變遷的含義如表2所示。
模型2主要將用戶資源訪問行為轉(zhuǎn)換為行為路徑,以分析用戶的異常行為和惡意行為,最后得出用戶身份可信或不可信[7]。
在通過建模分析用戶行為之后,利用改進(jìn)的K-means算法定量分析用戶行為的合理性。
傳統(tǒng)的K-means算法只能處理數(shù)值型的數(shù)據(jù),而不能處理非數(shù)值的屬性數(shù)據(jù),如登錄的系統(tǒng)等。原始的算法不能滿足用戶行為中的非數(shù)值類數(shù)據(jù)的量化處理,所以本次研究對k-means算法進(jìn)行改進(jìn),主要改進(jìn)對象與中心之間的相異性度量。
設(shè)n個對象構(gòu)成的非空集合X={X1,X2,X3,…,Xn},E={E1,E2,E3,…Em}表示每個對象的屬性,Xi可表示為Xi={Xi1,Xi2,Xi3,…Xim},對象與中心之間的相異性度量d(Xi,Cl)如式(1)所示
(1)
式中,?(Xi,j,Cl,j)表示對象的各屬性與類中心之間的相異性,若為數(shù)值型數(shù)據(jù),則通過兩者之間的歐式距離來表示;若為非數(shù)值型數(shù)據(jù),則?(Xi,j,Cl,j)的定義如式(2)所示。
閱讀課前,孩子們早已整裝待發(fā),摘抄本和鋼筆放在桌子上,安靜地坐在位子上,就等著集合整隊了?!跋胫来鸢竼??快去翻翻我國四大名著之一的《水滸傳》吧。”果不其然,學(xué)校閱覽室的《水滸傳》借閱一空,借不到的同學(xué)正兩兩合作一起讀呢,安靜的閱覽室里不時傳來“沙沙”的筆記聲和翻書聲。我也拿起隨身攜帶的《水滸傳》讀了起來……一起課堂的小插曲就此變成了促進(jìn)師生共讀的小引線。
(2)
當(dāng)Xi,j=C時,表示對象與中心的m個屬性值是相同的,當(dāng)Xi,j≠Cl,j時,表示對象與中心的m個屬性值不同,但是用0,1來表示屬性的相同或不同時,評判準(zhǔn)確度較差,因此對?(Xi,j,Cl,j)
的計算進(jìn)行改進(jìn),如式(3)所示:
(3)
將用戶行為發(fā)生頻率較高的動作定義為用戶行為習(xí)慣標(biāo)準(zhǔn)。在時間轉(zhuǎn)換T2的分析過程中,需要通過使用用戶習(xí)慣行為標(biāo)準(zhǔn),來分析用戶的行為可信度。本文采用改進(jìn)的k-means算法獲取用戶習(xí)慣行為標(biāo)準(zhǔn)。
假設(shè)用戶的n個行為記錄為X={X1,X2,X3,…,Xn},每個行為記錄Xi由m個行為屬性描述,E={E1,E2,E3,…Em}。Xi可表示為Xi={Xi1,Xi2,Xi3,…Xim}。
根據(jù)K-means算法的思想,選擇k個聚類中心作為初始聚類中心。根據(jù)用戶習(xí)慣行為標(biāo)準(zhǔn)的定義,每個屬性需要選擇兩個集群中心,將每個屬性劃分為兩部分。其中一個聚類中心HC代表共同的行為證據(jù)屬性聚類中心,被稱為“習(xí)慣中心點”。另一個集群中心AC是不常見的行為證據(jù)屬性的集群,稱為“輔助中心點”。習(xí)慣中心的強度大于輔助中心的強度[9]。定義C1={HC1,HC2,…HCm}表示用戶習(xí)慣行為標(biāo)準(zhǔn),定義C2={AC1,AC2,…ACm}表示用戶偏離行為標(biāo)準(zhǔn)。
選定中心集以后,計算每個行為記錄中心集的相異度H,計算公式如式(4)、(5)所示
(4)
(5)
式(4)中wj表示第j個行為證據(jù)屬性在整個行為中的影響權(quán)重。采用AHP算法計算行為證據(jù)權(quán)重。AHP是一種模擬人類思維,并將復(fù)雜問題分解為層次的方法[10]。算法步驟如下:
1)建立3層用戶行為模型。底層由行為證據(jù)屬性構(gòu)成,中間層是用戶行為的三種類型,頂層是用戶行為的可信度。
2)每一層使用9分位比率構(gòu)造判斷矩陣。
3)計算特征向量以測試矩陣的一致性。
4)如果測試失敗,則必須重建判斷矩陣。
基于上述四個步驟,可以計算出每個行為證據(jù)的權(quán)重wj。
在求解相異值h的值時,對于數(shù)值型數(shù)據(jù)使用式(6),對于非數(shù)值型數(shù)據(jù)使用式(7)
(6)
(7)
用戶行為可行度的計算,對確定云服務(wù)提供商是否信任用戶訪問具有直接影響。在獲得用戶行為聚類中心之后,獲得用戶習(xí)慣行為標(biāo)準(zhǔn),并找出用戶與習(xí)慣行為H(X,Cl)之間的相異度值。相異度值越大,行為可信度越低。將單用戶的行為可信度(UTD)定義為:
UTD=γ*(1-H),γ∈(0,1)
(8)
式(8)中的γ表示用戶可信度影響因子,并由用戶的歷史行為確定[11]。如果歷史記錄顯示UTD較低,則γ值將低于普通用戶的γ值。
由于每個行為的類別和屬性不同,因此在T6時間轉(zhuǎn)換中,由云服務(wù)提供商提供可信度的分析標(biāo)準(zhǔn),例如允許使用的資源量和存儲空間的大小。通過關(guān)聯(lián)行為標(biāo)準(zhǔn)來分析云服務(wù)器中的用戶行為。單用戶行為差異度H計算如下所示
(9)
(10)
式中的Xi,j是歸一化行為屬性數(shù)據(jù)后的第j個屬性的值,Sj表示由云服務(wù)提供者提供的第j個屬性的標(biāo)準(zhǔn)值。根據(jù)式(8),UTD∈(0,1),將UTD的值分為5個等級:{(0,0.2),(0.2,0.6),(0.6,0.8),(0.8,0.9),(0.9,1]},分別代表{非常不值得信賴,不值得信任,稍值得信賴,值得信賴,非常值得信賴}。根據(jù)該等級來確定單用戶行為可信程度,實現(xiàn)基于Petri網(wǎng)的用戶行為認(rèn)證。
使用Hadoop技術(shù)搭建的云平臺為實驗環(huán)境,在平臺上模擬用戶行為,如操作行為和攻擊行為,并利用軟件來收集操作過程中的各階段用戶行為屬性,通過建立的模型來分析用戶行為可信度。設(shè)普通用戶的γ=1,異常用戶隨機(jī)生成的γ在0.8到0.9之間。為了簡化分析過程,假設(shè)有三種類型的用戶習(xí)慣行為標(biāo)準(zhǔn),所有用戶都遵循這三種習(xí)慣行為標(biāo)準(zhǔn),并且在給定范圍內(nèi)生成行為數(shù)據(jù)。利用UTD公式計算用戶提供可信度,并且閾值設(shè)置為0.6。
圖3 云平臺集群簡易拓?fù)浣Y(jié)構(gòu)圖
首先進(jìn)行用戶認(rèn)證準(zhǔn)確度對比實驗,準(zhǔn)確度越高表示方法的認(rèn)證可信度越高,實驗結(jié)果如圖4所示。
圖4 行為認(rèn)證準(zhǔn)確度對比圖
通過圖4可以得知,文獻(xiàn)[3]模型方法的平均準(zhǔn)確度在80%,而研究方法的平均準(zhǔn)確度在90%以上,證明研究方法的可信度更高,這是由于該模型算法考慮了用戶歷史行為的影響,能夠限制波動對用戶可信度的影響。在任何正常操作中,不值得信任的用戶很難從云服務(wù)器獲得信任,從而有效防止用戶的非法認(rèn)證。
誤報率是具有低可信度的用戶被分類為不可信用戶的概率,誤報率越低表示方法的有效性越好。誤報率計算方法如下:
(11)
上式中,η表示被誤報為可信的危險用戶樣本數(shù),μ表示可信用戶樣本數(shù)。
從圖5可以看出,不同實驗次數(shù)下,文獻(xiàn)[3]模型的誤報率在5%左右,研究模型的誤報率在2%左右,可以看出其整體誤報率低于文獻(xiàn)[3]模型,誤報率越低表示方法的有效性越好,可以證明研究模型比文獻(xiàn)[3]模型具有更好的性能。這是因為該模型方法將認(rèn)證過程分為兩個階段,相當(dāng)于從兩個不同方面對用戶身份進(jìn)行雙重認(rèn)證,能夠增強認(rèn)證過程的穩(wěn)定性,同時降低了誤報率。
圖5 用戶行為誤報率
檢測率是在模型的認(rèn)證過程中正確識別不可信行為的概率,檢測率越高表示方法的性能越好。計算方法如下:
Pd=Nd/Nnt
(12)
式中,Nd表示被檢測出來的平均不可信行為數(shù),Nnt表示經(jīng)過認(rèn)證的不可信平均行為總數(shù)。
通過表3可以得知,而研究模型的檢測率在80%-90%之間,通過實驗數(shù)據(jù)可以看出研究方法的檢測有效性更好,具有更好的用戶行為認(rèn)證性能。主要原因在于本文模型在私有云環(huán)境中,針對單用戶,利用SPN構(gòu)建用戶行為身份驗證模型,解決了多用戶行為同時認(rèn)證環(huán)境中,并發(fā)事件出現(xiàn)頻繁的問題。
表3 用戶行為檢測率
本次研究提出的模型對用戶的行為分為兩個階段分別驗證,在模型分析過程中提出了改進(jìn)的 K-means算法的計算用戶行為可信度,并確定了可信度的閾值。通過仿真,分析了用戶歷史行為的影響,驗證了研究模型和傳統(tǒng)模型在準(zhǔn)確度、檢測率和誤報率方面有效性均更好。
本次研究提出的模型僅解決用戶身份認(rèn)證的問題。云環(huán)境中安全問題還存在進(jìn)一步的挑戰(zhàn),例如隱私數(shù)據(jù)的安全性。同時研究模型也存在一些缺陷,例如:①在分析用戶當(dāng)前行為之前必須分析用戶的歷史行為,②為新用戶建立初始可信度值可能很難。這些問題有待進(jìn)一步地研究和驗證。