本發(fā)明涉及計算機權(quán)限管理和訪問控制技術(shù)領(lǐng)域,特別涉及一種用于hadoop云平臺的用戶動態(tài)訪問控制方法。
背景技術(shù):
hadoop云平臺是一種開源分布式計算云平臺,因其具有高可靠性、高擴展性、高效性和高容錯性的特點受到了各大電商及互聯(lián)網(wǎng)企業(yè)的青睞,與此同時,隨著hadoop云平臺在各領(lǐng)域的廣泛應(yīng)用,其安全問題也日益突出;在眾多的hadoop云平臺安全問題中,數(shù)據(jù)安全是hadoop云平臺安全的核心問題之一,訪問控制通過限制用戶對數(shù)據(jù)信息的訪問能力及范圍從而保證資源不被非法使用和訪問,成為云平臺中數(shù)據(jù)安全的重要保障。而現(xiàn)有hadoop云平臺在安全訪問控制機制設(shè)計上并沒有充分考慮其用戶正?;虍惓5膶傩宰兓?,使得其存在重大安全隱患。
目前,國內(nèi)外針對hadoop云平臺安全機制的研究取得了一定的進展,guptac等基于密度估計和主成分分析方法pca設(shè)計了一種hadoop平臺異常檢測系統(tǒng),實時監(jiān)控hadoop云平臺用戶行為,由于該方法缺乏相應(yīng)的容錯機制和異常用戶處理機制,反而會增加云平臺管理員工作量;tanz等提出一種基于信任度的動態(tài)訪問控制模型,但沒有將信任模型與訪問控制模型很好地結(jié)合在一起,且僅僅進行了理論上的分析。jingx等提出了一種基于用戶行為評估的云平臺動態(tài)訪問控制模型,由于沒有描述用戶行為的檢測方法且其模型過于復(fù)雜,故不能較好地與現(xiàn)有hadoop云平臺結(jié)合。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種用于hadoop云平臺的用戶動態(tài)訪問控制方法。
為此,本發(fā)明技術(shù)方案如下:
一種用于hadoop云平臺的用戶動態(tài)訪問控制方法,其中,hadoop云平臺包括操作系統(tǒng)、主服務(wù)器和認(rèn)證服務(wù)器,該用于hadoop云平臺的用戶動態(tài)訪問控制方法包括按順序進行的下列步驟:
1)搭建處理模塊的s1階段:在此階段,在hadoop云平臺的主服務(wù)器上建立指令收集模塊、指令處理模塊、用戶請求接收模塊、行為分類模塊、角色劃分模塊,然后進入s2階段;
2)指令序列收集的s2階段:在此階段,指令收集模塊從主服務(wù)器中收集用戶操作記錄,并針對每個用戶建立相應(yīng)的行為數(shù)據(jù)庫,然后進入s3階段;
3)對用戶指令進行處理的s3階段:在此階段,指令處理模塊依次采用串表壓縮算法和字典壓縮算法分別對每個用戶的所有指令進行并行化處理,提取每個用戶的指令特征值,然后進入s4階段;
4)生成全局k模型的s4階段:在此階段,根據(jù)每個用戶的指令特征值針對每個用戶生成k個壓縮字典,并將k個壓縮字典組成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk},然后進入s5階段;
5)接收用戶請求的s5階段:在此階段,用戶根據(jù)自身需要訪問hadoop云平臺,發(fā)出訪問請求,用戶請求接收模塊根據(jù)用戶的訪問請求生成用戶指令行為序列s及用戶行為指令序列s的用戶行為模式sp,然后進入s6階段;
6)對用戶行為進行評定的s6階段:在此階段,利用全局k模型中的k個壓縮字典以cd投票的方式判斷用戶行為模式sp是否異常,并利用行為分類模塊對用戶行為模式sp進行標(biāo)定,得到帶有分類標(biāo)簽的用戶行為模式,然后進入s7階段;
7)計算綜合評估值的s7階段:在此階段,結(jié)合步驟6)中得到的帶有分類標(biāo)簽的用戶行為模式計算用戶當(dāng)前行為評估值、用戶歷史行為評估值和用戶推薦行為評估值;并利用用戶當(dāng)前行為評估值、用戶歷史行為評估值、用戶推薦行為評估值和用戶初始評估值計算用戶的綜合評估值,然后進入s8階段;
8)對用戶進行角色分配的s8階段:在此階段,角色劃分模塊根據(jù)用戶的綜合評估值判斷用戶行為是否異常,如用戶行為正常,則管理員根據(jù)綜合評估值賦予權(quán)限并為其分配角色實現(xiàn)資源訪問,若用戶行為異常則拒絕用戶的訪問并給出拒絕服務(wù)提示。
所述的步驟3)中對用戶操作指令進行處理的方法包括按順序進行的下列步驟:
a)將收集到的所有用戶的指令操作記錄中的指令參數(shù)信息濾除,僅保留指令名稱,使每個用戶固定數(shù)量的指令名稱按照時間信息排成一個指令流而形成用戶指令序列塊b;
b)從用戶指令序列塊b中提取序列中所有的指令字符組合,即用戶指令序列模式pi,并計算用戶指令序列模式pi在當(dāng)前用戶指令序列塊b中出現(xiàn)的次數(shù)fi,得到lzw字典d{pi,fi};
c)然后在lzw字典中按照用戶指令序列模式pi在該用戶指令序列塊b中的權(quán)重ωi和模式長度li提取最終的歷史用戶行為模式cp即為用戶的指令特征值。
所述的步驟c)中用戶的指令特征值的提取方法為在lzw字典d中存在的用戶指令序列模式pi將每一個與用戶指令序列模式pi的編輯距離相差為1的其它用戶指令序列模式px放在一個子集中,選擇子集中權(quán)重值與模式長度乘積最大的用戶指令序列模式作為用戶的指令特征值。
所述的步驟6)中全局k模型g隨著用戶新指令塊的加入而更新,每當(dāng)用戶的新指令塊完整生成一個壓縮字典后,統(tǒng)計全局k模型中各個壓縮字典判定該用戶行為模式sp為正常的總次數(shù),次數(shù)統(tǒng)計從該用戶行為模式sp首次訪問開始到本次訪問為止,使用新生成的壓縮字典替換掉全局k模型中判定用戶行為模式sp為正常的總次數(shù)最少的壓縮字典。
所述的步驟6)中對用戶行為進行評定時,若用戶行為指令序列s的用戶行為模式sp與單個壓縮字典cdi中的任意歷史用戶行為模式cp的編輯距離均大于x%*l,則單個壓縮字典cdi判定用戶行為模式sp為異常,其中,l為歷史用戶行為模式cp的長度,且x>30。
所述的步驟6)中對用戶行為進行評定時,若全局k模型中有大于k/2個壓縮字典判定用戶行為模式sp異常,則全局k模型判定該用戶行為模式sp異常,否則為正常;若k為偶數(shù)且全局k模型中判定用戶行為模式sp異常的壓縮字典數(shù)為k/2,則根據(jù)主服務(wù)器中之前存儲的對該用戶行為模式sp的最新判定結(jié)果進行判定,若主服務(wù)器中存儲用戶行為模式sp的最新判定結(jié)果異常,則當(dāng)前用戶行為模式sp為異常,否則為正常。
所述的步驟7)中計算用戶歷史行為評估值時采用滑窗算法。
所述的步驟8)中對用戶進行角色分配的方法包括按順序進行的下列步驟:
ⅰ)設(shè)定多個初始角色,并由管理員針對每個初始角色設(shè)定訪問權(quán)限;
ⅱ)將操作系統(tǒng)上的所有用戶均映射為hadoop云平臺用戶,實現(xiàn)平臺用戶的統(tǒng)一管理;
ⅲ)建立正常用戶組gpn和異常用戶組gpa,并將初始時所有通過身份認(rèn)證的用戶加入正常用戶組gpn,與此同時,將正常用戶組gpn添加到服務(wù)級訪問控制列表中;
ⅳ)主服務(wù)器將用戶useri的綜合行為評估值t同閾值td進行比較:當(dāng)t≤td時,查詢搜索異常用戶組gpa中有無用戶useri,若無用戶useri,則將用戶useri加入異常用戶組gpa,并記錄加入時間times及有效期限timev,刪除正常用戶組gpn中用戶useri;若有用戶useri,則重置其有效期限timev,當(dāng)timev≤0,將用戶useri重新添加入正常用戶組gpn;
ⅴ)用戶useri通過認(rèn)證服務(wù)器身份認(rèn)證和主服務(wù)器驗證后向主服務(wù)器發(fā)出云服務(wù)請求時,主服務(wù)器根據(jù)服務(wù)級訪問控制列表中用戶列表判斷是否響應(yīng)該請求:若用戶useri在訪問控制列表中,則響應(yīng)該請求,結(jié)合管理員授予該用戶的權(quán)限,為其分配不同的角色,實現(xiàn)對資源的訪問;否則,通過token返回拒絕標(biāo)志并給出拒絕服務(wù)提示。
與現(xiàn)有技術(shù)相比,該用于hadoop云平臺的用戶動態(tài)訪問控制方法占用服務(wù)器內(nèi)存較少,保證服務(wù)器的運行速度和反應(yīng)速度,且對用戶行為分類準(zhǔn)確率高,訪問控制效果相對穩(wěn)定,能夠?qū)崟r有效地實現(xiàn)對hadoop云平臺用戶的動態(tài)訪問控制,保證hadoop云平臺的安全性。
附圖說明
圖1為本發(fā)明提供的用于hadoop云平臺用戶動態(tài)訪問控制方法的流程圖。
圖2為hadoop云平臺用戶動態(tài)訪問控制系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明做進一步的說明,但下述實施例絕非對本發(fā)明有任何限制。
如圖1-2所示,該用于hadoop云平臺的用戶動態(tài)訪問控制方法包括按順序進行的下列步驟:
1)搭建處理模塊的s1階段:在此階段,在hadoop云平臺的主服務(wù)器上建立指令收集模塊1、指令處理模塊2、用戶請求接收模塊3、行為分類模塊4、角色劃分模塊5,然后進入s2階段;
2)指令序列收集的s2階段:在此階段,指令收集模塊1從主服務(wù)器中收集用戶操作記錄,并針對每個用戶建立相應(yīng)的行為數(shù)據(jù)庫,然后進入s3階段;
3)對用戶指令進行處理的s3階段:在此階段,指令處理模塊2依次采用串表壓縮算法和字典壓縮算法分別對每個用戶的所有指令進行并行化處理,提取每個用戶的指令特征值,然后進入s4階段;
4)生成全局k模型的s4階段:在此階段,根據(jù)每個用戶的指令特征值針對每個用戶生成k個壓縮字典,并將k個壓縮字典組成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk},然后進入s5階段;
5)接收用戶請求的s5階段:在此階段,用戶根據(jù)自身需要訪問hadoop云平臺,發(fā)出訪問請求,用戶請求接收模塊3根據(jù)用戶的訪問請求生成用戶指令行為序列s及用戶行為指令序列s的用戶行為模式sp,然后進入s6階段;
6)對用戶行為進行評定的s6階段:在此階段,利用全局k模型中的k個壓縮字典cd以投票的方式判斷用戶行為模式sp是否異常,并利用行為分類模塊4對用戶行為模式sp進行標(biāo)定,得到帶有分類標(biāo)簽的用戶行為模式,然后進入s7階段;
7)計算綜合評估值的s7階段:在此階段,結(jié)合步驟6)中得到的帶有分類標(biāo)簽的用戶行為模式計算用戶當(dāng)前行為評估值、用戶歷史行為評估值和用戶推薦行為評估值;并利用用戶當(dāng)前行為評估值、用戶歷史行為評估值、用戶推薦行為評估值和用戶初始評估值計算用戶的綜合評估值,然后進入s8階段;
8)對用戶進行角色分配的s8階段:在此階段,角色劃分模塊5根據(jù)用戶的綜合評估值判斷用戶行為是否異常,如用戶行為正常,則管理員根據(jù)綜合評估值賦予權(quán)限并為其分配角色實現(xiàn)資源訪問,若用戶行為異常則拒絕用戶的訪問并給出拒絕服務(wù)提示。
所述的步驟3)中對用戶操作指令進行處理的方法包括按順序進行的下列步驟:
a)將收集到的所有用戶的指令操作記錄中的指令參數(shù)信息濾除,僅保留指令名稱,使每個用戶固定數(shù)量的指令名稱按照時間信息排成一個指令流形成用戶指令序列塊b;
b)從用戶指令序列塊b中提取序列中所有的指令字符組合,即用戶指令序列模式pi,并計算用戶指令序列模式pi在當(dāng)前序列塊中出現(xiàn)的次數(shù)fi,得到lzw字典d{pi,fi};
c)然后按照用戶指令序列模式pi在該用戶指令序列塊b中的權(quán)重ωi和模式長度li提取最終的歷史用戶行為模式cp即為用戶的指令特征值。
所述的步驟c)中用戶指令特征值的提取方法為lzw字典d中存在的指令序列模式pi將把每一個與指令序列模式pi的編輯距離相差為1的其它指令序列模式px放在一個子集中,選擇子集中權(quán)重值與模式長度乘積最大的指令序列模式作為用戶指令特征值。
所述的步驟6)中全局k模型g隨著用戶新指令塊的加入而更新,每當(dāng)用戶的新指令塊完整生成一個壓縮字典后,統(tǒng)計全局k模型中各個壓縮字典判定該用戶行為模式sp為正常的總次數(shù),次數(shù)統(tǒng)計從該用戶行為模式sp首次訪問開始到本次訪問為止,使用新生成的壓縮字典替換掉全局k模型中判定用戶行為模式sp為正常的總次數(shù)最少的壓縮字典。
所述的步驟6)中對用戶行為進行評定時,若用戶行為指令序列s的用戶行為模式sp與單個壓縮字典cdi中的任意歷史用戶行為模式cp的編輯距離均大于x%*l,則單個壓縮字典cdi判定用戶行為模式sp為異常,其中,l為歷史用戶行為模式cp的長度,且x>30。
所述的步驟6)中對用戶行為進行評定時,若全局k模型中有大于k/2個壓縮字典判定用戶行為模式sp異常,則全局k模型判定該用戶行為模式sp異常,否則為正常;若k為偶數(shù)且全局k模型中判定用戶行為模式sp異常的壓縮字典數(shù)為k/2,則根據(jù)主服務(wù)器中之前存儲的對該用戶行為模式sp的最新判定結(jié)果進行判定,若主服務(wù)器中存儲用戶行為模式sp的最新判定結(jié)果異常,則當(dāng)前用戶行為模式sp為異常,否則為正常。
所述的步驟7)中計算用戶歷史行為評估值時采用滑窗算法。
所述的步驟8)中對用戶進行角色分配的方法包括按順序進行的下列步驟:
ⅰ)設(shè)定多個初始角色,并由管理員針對每個初始角色設(shè)定訪問權(quán)限;
ⅱ)將操作系統(tǒng)上的所有用戶均映射為hadoop云平臺用戶,實現(xiàn)平臺用戶的統(tǒng)一管理;
ⅲ)建立正常用戶組gpn和異常用戶組gpa,并將初始時所有通過身份認(rèn)證的用戶加入正常用戶組gpn,與此同時,將正常用戶組gpn添加到服務(wù)級訪問控制列表中;
ⅳ)主服務(wù)器將用戶useri的綜合行為評估值t同閾值td進行比較:當(dāng)t≤td時,查詢搜索異常用戶組gpa中有無用戶useri,若無用戶useri,則將用戶useri加入異常用戶組gpa,并記錄加入時間times及有效期限timev,刪除正常用戶組gpn中用戶useri;若有用戶useri,則重置其有效期限timev,當(dāng)timev≤0,將用戶useri重新添加入正常用戶組gpn;
ⅴ)用戶useri通過認(rèn)證服務(wù)器身份認(rèn)證和主服務(wù)器驗證后向主服務(wù)器發(fā)出云服務(wù)請求時,主服務(wù)器根據(jù)服務(wù)級訪問控制列表中用戶列表判斷是否響應(yīng)該請求:若用戶useri在訪問控制列表中,則響應(yīng)該請求,結(jié)合管理員授予該用戶的權(quán)限,為其分配不同的角色,實現(xiàn)對資源的訪問;否則,通過token返回拒絕標(biāo)志并給出拒絕服務(wù)提示。
本發(fā)明提供的用于hadoop云平臺的用戶動態(tài)訪問控制方法的實施例如下:
首先,在hadoop云平臺的主服務(wù)器上建立指令收集模塊1、指令處理模塊2、用戶請求接收模塊3、行為分類模塊4、角色劃分模塊5;
然后,指令收集模塊1從主服務(wù)器中收集用戶操作記錄,并針對每個用戶建立相應(yīng)的行為數(shù)據(jù)庫,
其次,指令處理模塊2依次采用串表壓縮算法和字典壓縮算法分別對每個用戶的所有指令進行并行化處理,提取每個用戶的指令特征值的方法是:
a)將收集到的所有用戶的指令操作記錄中的指令參數(shù)信息濾除,僅保留指令名稱,使每個用戶固定數(shù)量的指令名稱按照時間信息排成一個指令流而形成用戶指令序列塊b;
b)從用戶指令序列塊b中提取序列中所有的指令字符組合,即用戶指令序列模式pi,并計算用戶指令序列模式pi在當(dāng)前用戶指令序列塊b中出現(xiàn)的次數(shù)fi,得到lzw字典d{pi,fi};
c)然后在lzw字典中按照用戶指令序列模式pi在該用戶指令序列塊b中的權(quán)重ωi和模式長度li提取最終的歷史用戶行為模式cp即為用戶的指令特征值;用戶指令特征值的提取方法為在lzw字典d中存在的指令序列模式pi將每一個與指令序列模式pi的編輯距離相差為1的其它用戶指令序列模式px放在一個子集中,選擇子集中權(quán)重值與模式長度乘積最大的用戶指令序列模式作為用戶的指令特征值;
其中,用戶指令序列模式pi的權(quán)重ωi計算的公式為:
公式(1)中,fi是用戶指令序列模式pi在當(dāng)前用戶指令序列塊b中出現(xiàn)的次數(shù),n是當(dāng)前用戶指令序列塊b中互不相同的用戶指令序列模式pi的數(shù)量;
接著,根據(jù)每個用戶的指令特征值針對每個用戶生成k個壓縮字典,并將k個壓縮字典組成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk};
接著,當(dāng)用戶根據(jù)自身需要訪問hadoop云平臺,發(fā)出訪問請求時,用戶請求接收模塊3根據(jù)用戶的訪問請求生成用戶指令行為序列s及用戶行為指令序列s的用戶行為模式sp;
緊接著,利用全局k模型中的k個壓縮字典以投票的方式判斷用戶行為模式sp是否異常,并利用行為分類模塊4對用戶行為模式sp進行標(biāo)定,若全局k模型中有大于k/2個壓縮字典判定用戶行為模式sp異常,則全局k模型判定該用戶行為模式sp異常,否則為正常;若k為偶數(shù)且全局k模型中判定用戶行為模式sp異常的壓縮字典數(shù)為k/2,則根據(jù)主服務(wù)器中之前存儲的對該用戶行為模式sp的最新判定結(jié)果進行判定,若主服務(wù)器中存儲用戶行為模式sp的最新判定結(jié)果異常,則當(dāng)前用戶行為模式sp為異常,否則為正常,并對用戶行為模式sp進行標(biāo)定,用戶行為模式sp正常標(biāo)定為1,異常標(biāo)定為0,從而得到帶有分類標(biāo)簽的用戶行為模式;全局k模型g隨著用戶新指令塊的加入而更新,每當(dāng)用戶的新指令塊完整生成一個壓縮字典后,統(tǒng)計全局k模型中各個壓縮字典判定該用戶行為模式sp為正常的總次數(shù),次數(shù)統(tǒng)計從該用戶行為模式sp首次訪問開始到本次訪問為止,使用新生成的壓縮字典替換掉全局k模型中判定用戶行為模式sp為正常的總次數(shù)最少的壓縮字典。
然后,計算用戶當(dāng)前行為評估值、用戶歷史行為評估值和用戶推薦行為評估值;并利用用戶當(dāng)前行為評估值、用戶歷史行為評估值、用戶推薦行為評估值和用戶初始評估值計算用戶的綜合評估值,用戶綜合評估值計算公式如下:
t=ts+α×vn+β×vp+γ×vr(2)
公式(2)中,t為用戶綜合評估值,ts為hadoop云平臺為所有用戶設(shè)置的初始行為評估值,vn為用戶當(dāng)前行為評估值,vp為用戶歷史行為評估值,vr為用戶推薦行為評估值;α,β,γ分別為用戶當(dāng)前行為評估值vn,用戶歷史行為評估值vp和用戶推薦行為評估值vr的權(quán)重,按照用戶行為評估原則,三者應(yīng)滿足α>β>γ且α+β+γ=1;
其中,用戶當(dāng)前行為評估值vn的計算公式如下:
vn=w+λ(-θ×j)(3)
公式(3)中,w為常數(shù);0≤θ≤1,θ表示調(diào)節(jié)異常行為對用戶當(dāng)前行為評估值vn的影響作用大?。沪藶檫x擇因子,用戶當(dāng)前行為為異常行為時,λ=1;否則,λ=0;j是指從用戶被重新加入到正常用戶組至進行當(dāng)前行為期間,其行為被判定為異常的累積次數(shù)。
用戶歷史行為評估值vp的計算采用滑窗算法,其中,滑窗左沿以外的用戶行為記錄為過期記錄,滑窗右沿設(shè)置到當(dāng)前用戶行為的左側(cè);評估值計算時僅計算滑窗內(nèi)的用戶行為評估值,用戶歷史行為評估值vp的計算公式如下:
公式(4)中,l為滑窗長度;i為滑窗內(nèi)用戶行為模式sp的序號;vn為用戶當(dāng)前行為評估值。
用戶推薦行為評估值vr的計算公式如下:
公式(5)中,k為hadoop云平臺給出的用戶推薦評估值的個數(shù);vri表示hadoop云平臺給出的該用戶的第i個推薦行為評估值。
最后,角色劃分模塊5根據(jù)用戶的綜合評估值判斷用戶行為是否異常的方法包括以下幾個步驟:
ⅰ)設(shè)定多個初始角色,并由管理員針對每個初始角色設(shè)定訪問權(quán)限;
ⅱ)將操作系統(tǒng)上的所有用戶均映射為hadoop云平臺用戶,實現(xiàn)平臺用戶的統(tǒng)一管理;
ⅲ)建立正常用戶組gpn和異常用戶組gpa,并將初始時所有通過身份認(rèn)證的用戶加入正常用戶組gpn,與此同時,將正常用戶組gpn添加到服務(wù)級訪問控制列表中;
ⅳ)主服務(wù)器將用戶useri的綜合行為評估值t同閾值td進行比較:當(dāng)t≤td時,查詢搜索異常用戶組gpa中有無用戶useri,若無用戶useri,則將用戶useri加入異常用戶組gpa,并記錄加入時間times及有效期限timev,刪除正常用戶組gpn中用戶useri;若有用戶useri,則重置其有效期限timev,當(dāng)timev≤0,將useri重新添加入正常用戶組gpn;
ⅴ)用戶useri通過認(rèn)證服務(wù)器身份認(rèn)證和主服務(wù)器驗證后向主服務(wù)器發(fā)出云服務(wù)請求時,主服務(wù)器根據(jù)服務(wù)級訪問控制列表中用戶列表判斷是否響應(yīng)該請求:若用戶useri在訪問控制列表中,表明該用戶行為正常,則響應(yīng)該請求,結(jié)合管理員授予該用戶的權(quán)限,為其分配不同的角色,實現(xiàn)對資源的訪問;否則,該用戶行為異常,通過token返回拒絕標(biāo)志并給出拒絕服務(wù)提示。