左 冉,趙 剛
(北京信息科技大學(xué) 信息管理學(xué)院,北京 100192)
Apache Hadoop作為支持多租戶服務(wù)的分布式平臺,存儲和處理著海量數(shù)據(jù)[1],單憑Linux/Unix系統(tǒng)自帶的訪問控制機制,無法保障平臺中數(shù)據(jù)的安全?,F(xiàn)有的訪問控制模型也未充分考慮用戶權(quán)限需隨時間動態(tài)變化的特點,如目前主流的授權(quán)管理開源框架Apache Sentry和Apache Ranger分別采用基于角色和基于策略的訪問控制模型[2],二者在實現(xiàn)動態(tài)實時授權(quán)方面有所欠缺,在實現(xiàn)細粒度授權(quán)時也嚴重依賴于管理員的專業(yè)知識。在實際業(yè)務(wù)中,大數(shù)據(jù)平臺通常面對來自不同組織、機構(gòu)或部門的訪問主體,難以保證權(quán)限調(diào)整的及時性。為了做到既能保護用戶的敏感數(shù)據(jù)免受非授權(quán)訪問,又能妥善應(yīng)對多主體隨時間變化的權(quán)限伸縮要求,本文設(shè)計了一種面向Hadoop平臺的自適應(yīng)授權(quán)機制。
在Hadoop生態(tài)環(huán)境實施大數(shù)據(jù)計算處理的實踐中,亟待解決的3類常見訪問控制問題如下。
越權(quán)行為可分為橫向越權(quán)、縱向越權(quán)和交叉越權(quán)。橫向越權(quán)指異常用戶試圖訪問或更改其他用戶所擁有的數(shù)據(jù)資源,如用戶A和用戶B都擁有普通用戶權(quán)限,但用戶A試圖更改用戶B的數(shù)據(jù)資源;縱向越權(quán)指低權(quán)限者試圖訪問高權(quán)限者的數(shù)據(jù)資源,即有風(fēng)險用戶試圖訪問高敏感的資源,如新用戶試圖刪除專職管理人員才可操作的系統(tǒng)數(shù)據(jù)資源;交叉越權(quán)指某一用戶既有橫向越權(quán)行為,又有縱向越權(quán)行為。無論哪種越權(quán)方式,均說明用戶賬戶存在被惡意訪問或被盜用的可能性,使得存儲在Hadoop中的數(shù)據(jù)面臨被泄露、篡改和刪除的風(fēng)險[3]。
確保信息安全需要遵循最小化原則,即在滿足工作需要的前提下,僅授予用戶可訪問信息的適當(dāng)權(quán)限[4]。而在Hadoop平臺的實際授權(quán)中,存在著大量授權(quán)不當(dāng)?shù)默F(xiàn)象。常見的如特定業(yè)務(wù)人員只訪問特定業(yè)務(wù)數(shù)據(jù),卻擁有訪問整個平臺數(shù)據(jù)的權(quán)限。對與業(yè)務(wù)不相關(guān)的數(shù)據(jù)資源權(quán)限若不能進行嚴格管控,當(dāng)用戶賬號被盜用時會在短時間內(nèi)造成大范圍的數(shù)據(jù)資源泄露。有些用戶的權(quán)限范圍過小,當(dāng)用戶需要訪問與其常訪問資源存有依賴關(guān)系的資源,而用戶又不具備這些資源的訪問權(quán)限時,則需要多次向管理員申請權(quán)限,嚴重影響用戶工作效率。
當(dāng)用戶以正常身份過量使用Hadoop平臺,說明該用戶近期業(yè)務(wù)需求較多,為避免影響用戶工作效率,增加用戶時間成本,需要根據(jù)用戶訪問行為判斷用戶可疑狀態(tài),決定是否適當(dāng)放寬用戶權(quán)限;若用戶以異常身份過量使用Hadoop平臺,則需加強警惕,異常訪問會使得存儲在Hadoop平臺中的數(shù)據(jù)資產(chǎn)面臨安全風(fēng)險,此時若沒有可靠的應(yīng)對策略,一旦數(shù)據(jù)被未經(jīng)授權(quán)的用戶訪問并竊取,將給企業(yè)和用戶造成難以估量的損失[5]。
針對以上3類問題,面向Hadoop大數(shù)據(jù)平臺的自適應(yīng)授權(quán)機制總體設(shè)計如圖1所示,共分為3個層面,分別是用戶層、自適應(yīng)訪問控制機制層和Hadoop組件層。
圖1 自適應(yīng)授權(quán)機制總體設(shè)計
Hadoop是一個可以開發(fā)和運行處理大規(guī)模數(shù)據(jù)的分布式系統(tǒng)架構(gòu),Hadoop生態(tài)圈包含許多功能各異的組件[7],每個組件都有自己的權(quán)限控制,可以用“各自為政”來描述不同組件間的訪問控制關(guān)系。從Hadoop組件中獲取用戶/組的權(quán)限信息對于后續(xù)分析用戶可疑性具有關(guān)鍵作用。
在用戶層面,每個用戶訪問Hadoop分布式平臺時都會留下大量行為信息,平臺中的每個計算節(jié)點均存有用戶的行為日志數(shù)據(jù),因此日志收集工具也需要滿足分布式這一特點。在本文中采用ELK日志收集工具,持續(xù)收集Hadoop平臺各個計算節(jié)點上用戶的行為與訪問資源等日志信息,為后續(xù)對Hadoop平臺訪問主體進行全方位分析、制定或調(diào)整用戶授權(quán)策略提供有力的數(shù)據(jù)支撐。
自適應(yīng)訪問控制層是本文方案的核心,大數(shù)據(jù)平臺中的資源受到未授權(quán)用戶的訪問,說明資源已經(jīng)受到安全威脅,為解除或防御來自未授權(quán)用戶的安全威脅,該層通過跟蹤客戶端的用戶訪問行為,追查用戶的惡意訪問操作,實時識別與定位異常和可疑用戶,進而動態(tài)調(diào)整對大數(shù)據(jù)平臺主客體之間的授權(quán)策略。自適應(yīng)授權(quán)機制能夠?qū)崿F(xiàn)動態(tài)細粒度的授權(quán),其原理的核心在于引入用戶畫像的概念,采用基于標簽的授權(quán)策略,對不同類型主體實行差異化的權(quán)限管理。
如圖2所示,首先通過Hadoop生態(tài)圈組件結(jié)合資源屬性對用戶歷史行為信息進行提取,同時結(jié)合業(yè)務(wù)場景對用戶現(xiàn)階段狀態(tài)進行評估,最后通過給用戶打標簽形成特定的用戶畫像,并進一步得出大數(shù)據(jù)平臺主客體之間的權(quán)限映射規(guī)則。管理員根據(jù)用戶標簽所反映的用戶類型判斷用戶可疑與異常狀態(tài),進而執(zhí)行不同的授權(quán)策略,每一條授權(quán)策略都會存儲在可伸縮性的訪問控制策略表中,策略表將作為對用戶進行動態(tài)細粒度授權(quán)的依據(jù)。
圖2 自適應(yīng)訪問控制層設(shè)計
2.2.1 用戶數(shù)據(jù)的提取與分析
在海量的數(shù)據(jù)中挖掘出可以對用戶進行風(fēng)險評估的指標,首先需要對數(shù)據(jù)信息進行有效提取、整理和分析。本文經(jīng)過對Hadoop系統(tǒng)內(nèi)在機制研究與模擬主體訪問行為的實踐,從審計日志中對用戶信息進行分類提取和整理,收集整理之后的數(shù)據(jù)可分為3類,分別展示為表1中的用戶訪問行為數(shù)據(jù);表2中本方案為用戶賦予的其他數(shù)據(jù);表3中資源自身數(shù)據(jù)與本方案為其賦予的其他數(shù)據(jù)。
表1 用戶訪問行為數(shù)據(jù)
表2 用戶基本數(shù)據(jù)
表3 資源基本數(shù)據(jù)
2.2.2 用戶評價指標設(shè)計
為了具象化用戶評價指標,設(shè)計了用戶畫像標簽體系。數(shù)據(jù)經(jīng)統(tǒng)計分析后形成標簽,通過多維度、分層級的標簽標記和評估用戶,構(gòu)建可疑用戶與異常用戶等多個用戶畫像,能夠幫助系統(tǒng)管理員完成可疑用戶與異常用戶的精準識別,減少對管理員專業(yè)知識的依賴。
隨著標簽的不斷增加,必須重視標簽的管理工作[8]。為了展示標簽之間的結(jié)構(gòu)與層級關(guān)系,方便標簽的存儲與維護,本文面向用戶越權(quán)訪問、權(quán)限范圍不當(dāng)和過量使用Hadoop系統(tǒng)3種場景,圍繞用戶行為設(shè)計了如圖3所示的用戶畫像標簽體系,主要分為用戶基礎(chǔ)屬性、用戶活躍情況、用戶資源偏好、用戶行為偏好、資源訪問結(jié)果、用戶狀態(tài)評估等幾大維度。
圖3 用戶標簽化結(jié)果
2.2.3 審計日志設(shè)計
為了適應(yīng)企業(yè)和組織日益迫切的信息系統(tǒng)審計和內(nèi)控要求,為授權(quán)機制設(shè)計了審計日志。用戶權(quán)限一旦發(fā)生變更,日志將記錄管理員或系統(tǒng)自身對用戶權(quán)限調(diào)整的信息,主要包括:1)被調(diào)整權(quán)限的用戶名和該用戶所在的用戶組;2)權(quán)限調(diào)整的時間;3)被調(diào)整資源所在組件名稱;4)被調(diào)整資源的具體名稱;5)權(quán)限調(diào)整前此用戶對該資源擁有的權(quán)限;6)權(quán)限調(diào)整后此用戶對該資源擁有的權(quán)限;7)進行此次權(quán)限調(diào)整的管理員名稱或標識系統(tǒng)自動調(diào)整。上述字段可以完整地體現(xiàn)權(quán)限變更的具體細節(jié),方便日后開展授權(quán)審計工作。
在自適應(yīng)授權(quán)機制的Hadoop組件層面,主要提供對用戶訪問權(quán)限進行調(diào)整的功能。用戶權(quán)限調(diào)整策略主要依賴于經(jīng)數(shù)據(jù)分析后所得出的各類用戶評價指標,即用戶標簽,每個標簽都規(guī)定了管理者觀察、認識和描述用戶的一個角度[9]。根據(jù)用戶標簽進行用戶權(quán)限調(diào)整的數(shù)據(jù)將存入數(shù)據(jù)庫,通過調(diào)用API將最新權(quán)限信息寫入訪問控制列表,從而最終實現(xiàn)Hadoop平臺用戶權(quán)限的自適應(yīng)調(diào)整。
目前,自適應(yīng)授權(quán)機制可以通過分析Hadoop平臺中的審計日志分析用戶行為。通過持續(xù)跟蹤用戶行為信息,記錄用戶訪問軌跡,進而得出對不同用戶的允許訪問、禁止訪問、提高權(quán)限、降低權(quán)限、發(fā)起警告等權(quán)限伸縮調(diào)整建議,對于較低風(fēng)險的權(quán)限調(diào)整系統(tǒng)會自動完成,對于較高風(fēng)險的權(quán)限調(diào)整需要依靠管理員人工確認。
無論用戶以哪種方式發(fā)起對無權(quán)資源的訪問,均說明該用戶存在對Hadoop平臺或系統(tǒng)中敏感數(shù)據(jù)的非法入侵傾向。針對此場景,需要對越權(quán)行為進行分類,分別為潛在越權(quán)和成功越權(quán)。
具體權(quán)限調(diào)整策略如下:
if (用戶A成功訪問無權(quán)資源的次數(shù)!= 0):
則認定用戶A成功越權(quán),禁止使用Hadoop系統(tǒng);
else if (用戶A成功訪問無權(quán)資源次數(shù)=0&&“訪問失敗”記錄數(shù)>平均行為數(shù)量30%):
則認為該用戶為潛在越權(quán),對其發(fā)出警告;
else:
則認定用戶A無越權(quán)行為,不做權(quán)限調(diào)整;
管理員在為用戶賦予權(quán)限時,往往不知道用戶在后期使用過程中會具體訪問哪些資源,致使初期賦予用戶的訪問權(quán)限范圍可能與實際情況不符。針對這一問題,應(yīng)該根據(jù)“權(quán)限范圍是否符合需求”預(yù)測標簽,判斷用戶訪問權(quán)限范圍是否恰當(dāng)。當(dāng)用戶權(quán)限范圍過大且包含敏感資源時,需要降低用戶“常訪問資源”以外的敏感資源權(quán)限;當(dāng)用戶認為權(quán)限范圍過小時,可由用戶提出資源權(quán)限申請,系統(tǒng)通過判斷產(chǎn)生具體權(quán)限調(diào)整建議。具體權(quán)限調(diào)整策略如下:
if (用戶A對某資源“訪問頻率”較低&&“訪問周期”無規(guī)律):
則回收用戶A對這部分資源的訪問權(quán)限;
else if (用戶A“近期行為風(fēng)險”!=高風(fēng)險&&“資源敏感等級”=低):
則系統(tǒng)自動將該資源賦予用戶;
else:
則由管理員審批是否同意授權(quán);
Hadoop中每個資源的敏感等級應(yīng)由業(yè)務(wù)人員根據(jù)業(yè)務(wù)經(jīng)驗預(yù)先分類分級。
一般情況下,管理員無法預(yù)知用戶近期業(yè)務(wù)需求,所以當(dāng)用戶過量使用Hadoop平臺時,往往無法判斷是因為用戶的業(yè)務(wù)需求過多,還是因為用戶賬號被盜取。結(jié)合用戶“近期行為風(fēng)險評判”標簽,當(dāng)用戶行為產(chǎn)生的記錄數(shù)量遠高于“用戶每次登錄所產(chǎn)生的平均行為數(shù)量”時,表明該類用戶可能正在以異常身份過量使用Hadoop平臺,當(dāng)用戶“近期行為風(fēng)險”有異常時,需要限制該類用戶使用Hadoop平臺的時間甚至降低該用戶的權(quán)限;反之,說明該類用戶的近期需求較多,允許用戶繼續(xù)使用。具體權(quán)限調(diào)整策略如下:
if (用戶A被判定過量使用Hadoop平臺&&用戶A“近期行為風(fēng)險”=高風(fēng)險):
則臨時禁止用戶A在Hadoop平臺中的權(quán)限;
else if (用戶A被判定過量使用Hadoop平臺&&用戶A“近期行為風(fēng)險”=中風(fēng)險):
則在用戶A訪問Hadoop平臺時發(fā)出相應(yīng)警告;
else:
則允許用戶A繼續(xù)使用Hadoop平臺;
本文針對Hadoop大數(shù)據(jù)平臺現(xiàn)有授權(quán)機制的不足,從訪問控制領(lǐng)域面臨的3類主要安全威脅出發(fā),以實現(xiàn)動態(tài)授權(quán)為目的,充分考慮大數(shù)據(jù)環(huán)境下的主客體因素,引入用戶行為分析方法對存在越權(quán)、權(quán)限范圍不當(dāng)以及過量使用Hadoop系統(tǒng)等異常狀態(tài)的用戶進行識別,進而生成不同的權(quán)限伸縮建議。本文提出的授權(quán)機制具有動態(tài)、可伸縮、細粒度的授權(quán)特點,能夠在減少對系統(tǒng)管理員專業(yè)知識依賴的情況下,有效增強數(shù)據(jù)安全保障,進一步促進業(yè)務(wù)環(huán)境健康發(fā)展。