王慧
關(guān)鍵詞 機(jī)器學(xué)習(xí) 大數(shù)據(jù) 內(nèi)控管理
結(jié)合長時(shí)間積累的運(yùn)維內(nèi)控管理經(jīng)驗(yàn),本文創(chuàng)新提出了“ 4P ” 運(yùn)維內(nèi)控管理理念, 從人員畫像( Persona )、規(guī)范分析( Prescriptive )、風(fēng)險(xiǎn)防范(Prevent)、行為預(yù)測(Predictive)四個(gè)維度,將之融入大數(shù)據(jù)運(yùn)維內(nèi)控管理平臺(tái)設(shè)計(jì)和應(yīng)用中,于全方位拓展運(yùn)維內(nèi)控管理的工作理念和管理思路,促使運(yùn)維內(nèi)控管理工作更具全面性、系統(tǒng)性和前瞻性[1] 。
1系統(tǒng)主體設(shè)計(jì)理念和實(shí)現(xiàn)功能
人員畫像(Persona):綜合展示每個(gè)運(yùn)維人員的工作現(xiàn)狀、操作習(xí)慣、行為特征、合規(guī)情況等信息全貌,可視化展現(xiàn)運(yùn)維人員360°立體式畫像。
規(guī)范分析(Prescriptive):全過程跟蹤運(yùn)維人員進(jìn)出ECC 的行為交互路徑,實(shí)現(xiàn)命令、操作和行為的過程回放和模擬復(fù)盤,精準(zhǔn)定位不合規(guī)操作異動(dòng),提升運(yùn)維內(nèi)控的事后管理效率。
風(fēng)險(xiǎn)防范(Prevent):對(duì)生產(chǎn)操作中的高危命令、違規(guī)行為、系統(tǒng)訪問軌跡等進(jìn)行實(shí)時(shí)監(jiān)控和自動(dòng)隔離,通過規(guī)則匹配方式強(qiáng)化運(yùn)維操作風(fēng)險(xiǎn)防范,加固運(yùn)維內(nèi)控的事中監(jiān)督機(jī)制。
行為預(yù)測(Predictive):基于大數(shù)據(jù)存儲(chǔ)和分布式計(jì)算環(huán)境,引入機(jī)器學(xué)習(xí)算法,挖掘海量運(yùn)維數(shù)據(jù)中的潛在規(guī)律,提前預(yù)判變更行為和實(shí)施風(fēng)險(xiǎn),強(qiáng)化運(yùn)維內(nèi)控的事前管理能力。
2基于大數(shù)據(jù)和機(jī)器學(xué)習(xí)的“4P” 運(yùn)維內(nèi)控管理平臺(tái)設(shè)計(jì)
大數(shù)據(jù)運(yùn)維內(nèi)控管理平臺(tái)將各運(yùn)維監(jiān)控平臺(tái)、ECC 管理系統(tǒng)、ISO20000 流程系統(tǒng)的海量多結(jié)構(gòu)化數(shù)據(jù)集中長久存儲(chǔ)、分布式計(jì)算分析??傮w系統(tǒng)架構(gòu)由運(yùn)維監(jiān)控層、數(shù)據(jù)采集層、數(shù)據(jù)分析層、數(shù)據(jù)應(yīng)用層和數(shù)據(jù)展現(xiàn)層構(gòu)成,基于大數(shù)據(jù)架構(gòu),“4P”運(yùn)維內(nèi)控管理功能實(shí)現(xiàn)技術(shù)設(shè)計(jì)如下。
2.1面向運(yùn)維內(nèi)控管理的人員畫像模型
人員畫像作為一種能將定性與定量方法很好結(jié)合在一起的載體,通過定量化的數(shù)據(jù)分析獲得對(duì)運(yùn)維人員較為精準(zhǔn)的認(rèn)識(shí),從而從龐大的運(yùn)維群體將特征相似的群體凸顯出來。進(jìn)行歸納、分類、比較,進(jìn)而對(duì)某個(gè)或某類現(xiàn)象的性質(zhì)和特征做出概括,對(duì)人員行為進(jìn)行規(guī)范性分析和預(yù)測。對(duì)可能出現(xiàn)的違規(guī)行為進(jìn)行預(yù)先干預(yù),從而消除由人為引發(fā)的風(fēng)險(xiǎn)。其具體實(shí)現(xiàn)可歸納為四個(gè)步驟。
第一步,設(shè)置用戶標(biāo)簽。標(biāo)簽通常是人為規(guī)定的高度精練的特征標(biāo)識(shí),結(jié)合運(yùn)維內(nèi)控的實(shí)際特點(diǎn),我們將人員畫像的用戶標(biāo)簽分為四類,分別是操作量、合規(guī)性、安全意識(shí)、關(guān)鍵程度。
第二步,數(shù)據(jù)集成。運(yùn)維內(nèi)控相關(guān)數(shù)據(jù)主要分為兩類,即靜態(tài)類數(shù)據(jù)和動(dòng)態(tài)類數(shù)據(jù)。靜態(tài)類數(shù)據(jù)即相對(duì)穩(wěn)定的用戶屬性信息,可直接使用并轉(zhuǎn)化為用戶數(shù)據(jù);動(dòng)態(tài)類數(shù)據(jù)即不斷變化的行為用戶信息,可通過對(duì)接流程平臺(tái)或運(yùn)維數(shù)據(jù)倉庫并加以甄別、過濾、清洗來獲得。
第三步,數(shù)據(jù)建模。通過建立標(biāo)準(zhǔn)規(guī)則庫,構(gòu)建用戶畫像的數(shù)據(jù)模型,該模型公式可以簡要概括為“人員基本屬性+觸發(fā)時(shí)間+行為類型+具體用戶數(shù)據(jù)=用戶標(biāo)簽評(píng)價(jià)”。
第四步,關(guān)聯(lián)評(píng)價(jià)。為更為直觀地描述用戶畫像特征,可以通過五星評(píng)級(jí)方式,展示用戶標(biāo)簽的程度性,使得人員畫像模型適用于橫向比較。
2.2端到端的人員操作行為規(guī)范分析
規(guī)范分析是對(duì)已有的事物現(xiàn)象、事物運(yùn)行狀態(tài)做出是非曲直的價(jià)值判斷,對(duì)應(yīng)該具有的規(guī)范性和結(jié)果進(jìn)行闡述和說明。在實(shí)際的運(yùn)維內(nèi)控實(shí)際操作過程中,對(duì)人員進(jìn)入ECC 到離開的全過程進(jìn)行記錄。從登記進(jìn)入ECC 到操作完成登記離開ECC 的全過程進(jìn)行記錄,對(duì)其操作內(nèi)容能夠全部記錄并實(shí)時(shí)分析,一旦發(fā)現(xiàn)異動(dòng)操作行為即終止操作。另外,能夠?qū)ζ湓趫?zhí)行過程中的命令、操作和行為進(jìn)行回放,規(guī)范分析其每一項(xiàng)操作的合規(guī)性。
2.3基于規(guī)則匹配的人員操作風(fēng)險(xiǎn)防范
人員操作風(fēng)險(xiǎn)防范是指風(fēng)險(xiǎn)管理者采取各種預(yù)防性措施和方法,消滅或減少風(fēng)險(xiǎn)事件發(fā)生的概率或者減少風(fēng)險(xiǎn)事件發(fā)生時(shí)造成的損失。大數(shù)據(jù)運(yùn)維內(nèi)控管理平臺(tái)中,實(shí)時(shí)獲取對(duì)數(shù)據(jù)庫執(zhí)行的每一條SQL語句、用戶登錄和退出信息、系統(tǒng)訪問以及系統(tǒng)日志數(shù)據(jù),基于預(yù)定義的規(guī)則庫實(shí)時(shí)比對(duì)后,將結(jié)果輸送給監(jiān)控告警和報(bào)表展示,實(shí)現(xiàn)對(duì)高危操作實(shí)時(shí)監(jiān)控、違規(guī)行為統(tǒng)計(jì)報(bào)告以及系統(tǒng)訪問軌跡自動(dòng)識(shí)別[2] 。
2.3.1高危操作實(shí)時(shí)監(jiān)控
記錄每一次對(duì)數(shù)據(jù)庫直接訪問和前臺(tái)應(yīng)用程序?qū)?shù)據(jù)庫間接訪問,每一條記錄實(shí)時(shí)比對(duì)自定義數(shù)據(jù)庫高危操作命令規(guī)則庫,自定義策略的條件組合包括:訪問數(shù)據(jù)庫的庫名、用戶名、應(yīng)用軟件名稱,訪問端的IP 地址、操作系統(tǒng)主機(jī)名、操作系統(tǒng)用戶名,訪問操作時(shí)間、原始操作指令、操作回應(yīng)內(nèi)容、操作返回的代碼,訪問數(shù)據(jù)庫的對(duì)象名等。
2.3.2違規(guī)行為統(tǒng)計(jì)報(bào)告
系統(tǒng)自動(dòng)將標(biāo)準(zhǔn)化的系統(tǒng)日志轉(zhuǎn)化為標(biāo)準(zhǔn)的可讀事件,包含常見的系統(tǒng)安全相關(guān)的預(yù)定義規(guī)則,并支持自定義規(guī)則擴(kuò)充,當(dāng)系統(tǒng)日志中的相關(guān)記錄匹配了安全事件規(guī)則后觸發(fā)告警。
2.3.3系統(tǒng)訪問軌跡自動(dòng)識(shí)別
根據(jù)系統(tǒng)登錄類型日志中的源地址、源用戶名、目標(biāo)地址、登錄成功日志等信息,自動(dòng)生成訪問軌跡圖,通過系統(tǒng)訪問軌跡,發(fā)現(xiàn)非受控終端違規(guī)登錄、跳板機(jī)、頻繁登錄行為等內(nèi)控管理關(guān)注點(diǎn)。
2.4基于關(guān)聯(lián)分析和分類算法的行為預(yù)測研究
在人類漫長的發(fā)展歷史中,人類的行為并不是隨機(jī)的,并不是泊松分布的,而是存在一定的規(guī)則。通過對(duì)大數(shù)據(jù)的分析可以看到人類的行為規(guī)則是基于優(yōu)先級(jí)排布的問題。每個(gè)人都有自己的任務(wù)列表,而如何按照優(yōu)先級(jí)排列順序則產(chǎn)生了不同的影響。換言之,在大量的歷史數(shù)據(jù)之上,人類的行為是可以被預(yù)測的。在這樣一個(gè)理論前提下,數(shù)據(jù)中心基于大數(shù)據(jù)平臺(tái)結(jié)合機(jī)器學(xué)習(xí)算法,對(duì)如下兩個(gè)場景進(jìn)行了嘗試。
2.4.1監(jiān)控報(bào)警導(dǎo)致的變更行為預(yù)測研究
監(jiān)控報(bào)警與變更行為之間有某種必然關(guān)系,通常我們能夠通過人為經(jīng)驗(yàn)建立其一小部分關(guān)系。隨著大數(shù)據(jù)技術(shù)的發(fā)展,使用關(guān)聯(lián)分析算法在海量數(shù)據(jù)中進(jìn)行挖掘成為可能,為我們帶來更為全面乃至意想不到的結(jié)果。
關(guān)聯(lián)分析是一種非監(jiān)督式的機(jī)器學(xué)習(xí)算法,“啤酒與尿布”的數(shù)據(jù)挖掘經(jīng)典案例要說明的即是這種算法。關(guān)聯(lián)分析主要有兩個(gè)關(guān)鍵概念,即頻繁項(xiàng)集和關(guān)聯(lián)規(guī)則。頻繁項(xiàng)集(frequent item sets)是從所有對(duì)象組成的候選項(xiàng)集(items sets)中發(fā)現(xiàn)的經(jīng)常一起出現(xiàn)的對(duì)象集合。其中,頻繁的概念可以用支持度來定義。支持度(support)被定義為數(shù)據(jù)集中包含該項(xiàng)集的記錄所占的比例,保留滿足最小支持度的項(xiàng)集;關(guān)聯(lián)規(guī)則(association rules) 暗示兩種事物之間可能存在很強(qiáng)的關(guān)系。關(guān)聯(lián)的概念可用置信度或可信度來定義[3] 。
結(jié)合數(shù)據(jù)中心具體場景,即通過日常積累的大量系統(tǒng)歷史告警信息及運(yùn)維方案知識(shí)庫,分析系統(tǒng)告警信息與變更處理方案間的關(guān)聯(lián)關(guān)系,從而依據(jù)告警信息預(yù)測出未來可能發(fā)生的變更維護(hù)。我們將告警信息與變更都看作候選項(xiàng)集(Items sets,I),通過變更維護(hù)平臺(tái)及工單系統(tǒng)得到監(jiān)控告警與變更間的關(guān)聯(lián)信息數(shù)據(jù)庫(Database,D),庫中每一項(xiàng)為一次事件(Transaction,T),如某次變更內(nèi)容為文件系統(tǒng)擴(kuò)容,通過變更管理平臺(tái)上的信息得知此項(xiàng)變更是由于文件系統(tǒng)使用率超過90% 告警而引發(fā)。采用經(jīng)典的Apriori 算法,從歷史大規(guī)模監(jiān)控告警以及變更信息中尋找兩者之間的隱含關(guān)系。設(shè)最小支持度為20%,算法過程如下。
第一步,經(jīng)過算法的第一次迭代,對(duì)事務(wù)數(shù)據(jù)庫進(jìn)行一次掃描,計(jì)算出D 中所包含的每個(gè)項(xiàng)目出現(xiàn)的次數(shù),生成候選1?項(xiàng)集的集合C1。
第二步,根據(jù)設(shè)定的最小支持度,從C1 中確定頻繁1?項(xiàng)集L1。
第三步,由L1 產(chǎn)生候選2?項(xiàng)集C2,然后掃描事務(wù)數(shù)據(jù)庫對(duì)C2 中的項(xiàng)集進(jìn)行計(jì)數(shù)。
第四步,根據(jù)最小支持度,從候選集C2 中確定頻繁集L2。
第五步,由頻繁2?項(xiàng)集L2 生成候選3?項(xiàng)集C3。
循環(huán)上述過程,直到Ck 為空,沒有符合最小支持度的候選集合為止。
由此找到了頻繁項(xiàng)集(frequent item sets),可以得出集合中系統(tǒng)告警信息與變更之間的支持度(support)與置信度(confidence),來描述告警信息A 與變更B 間的并集在所有事務(wù)集合中出現(xiàn)的概率support(A B)= P(A U B),以及所有事務(wù)中出現(xiàn)告警A 之后,出現(xiàn)變更B 的置信度P(B|A),即confidence (A B)。
通過上述方法,基于大量歷史告警信息與變更行為之間的關(guān)聯(lián)分析,得到告警信息與變更間的關(guān)聯(lián)關(guān)系,當(dāng)后續(xù)產(chǎn)生新的告警信息時(shí),通過比對(duì)關(guān)聯(lián)關(guān)系預(yù)測出近期可能出現(xiàn)的變更行為。比對(duì)預(yù)測結(jié)果與變更管理平臺(tái)變更信息,為違規(guī)變更操作內(nèi)控檢查提供依據(jù)。
2.4.2 變更實(shí)施方案風(fēng)險(xiǎn)預(yù)測研究變更是影響系統(tǒng)穩(wěn)定運(yùn)行的重要因素之一[4] ,因此科學(xué)、全面評(píng)估變更可能對(duì)生產(chǎn)運(yùn)行造成影響的實(shí)施風(fēng)險(xiǎn)程度具有重要意義,分類算法較適用此場景。
我們采用基于樸素貝葉斯的文本分類算法,將變更實(shí)施風(fēng)險(xiǎn)程度劃分為高、中、低三類,通過歷史變更信息以及對(duì)應(yīng)實(shí)施風(fēng)險(xiǎn)高、中、低評(píng)判數(shù)據(jù)的訓(xùn)練學(xué)習(xí)以建立分類器,后續(xù)新變更產(chǎn)生時(shí)通過分類器預(yù)測其分別屬于高、中、低實(shí)施風(fēng)險(xiǎn)的概率。
第一步是準(zhǔn)備工作階段。將變更步驟中詳細(xì)的操作命令,進(jìn)行分詞及TF?IDF 計(jì)算,得到變更步驟中的命令及命令頻率,某變更步驟就可以表示為向量d=(t1,t2,…,tk),tk 是該變更步驟中出現(xiàn)過的命令,通過變更管理平臺(tái)結(jié)合已有知識(shí)庫中的歷史變更步驟及其實(shí)施風(fēng)險(xiǎn)(高,中,低),經(jīng)分詞得到訓(xùn)練樣本數(shù)據(jù)。
第二步是分類器訓(xùn)練階段。計(jì)算得到如下兩個(gè)概率值:“先驗(yàn)概率P(risk)= 某類實(shí)施風(fēng)險(xiǎn)下命令總數(shù)/ 整個(gè)訓(xùn)練樣本的命令總數(shù)” “類條件概率P(tk |risk)= (某類實(shí)施風(fēng)險(xiǎn)下命令tk 在各個(gè)變更方案中出現(xiàn)過的次數(shù)之和+1) / (某類實(shí)施風(fēng)險(xiǎn)下的單詞總數(shù)+|V|)”,V 是訓(xùn)練樣本的命令表,|V|則表示訓(xùn)練樣本包含多少種命令。
第三步是應(yīng)用階段。后續(xù)有新的變更出現(xiàn),通過分詞方法得到文檔向量d=(t1,t2,..,tk),采用樸素貝葉斯文本分類算法的多項(xiàng)式模型,結(jié)合先驗(yàn)概率P(risk) 與類條件概率P(tk|risk),計(jì)算出P(risk|d)=P(risk|(t1,t2,…,tk)),即此變更方案的實(shí)施風(fēng)險(xiǎn)分別屬于高、中、低三種情況的概率。例如,給定某變更方案,屬于高風(fēng)險(xiǎn)的概率為0.005,屬于中風(fēng)險(xiǎn)的概率為0.002,屬于低風(fēng)險(xiǎn)的概率為0.003。
3結(jié)束語
大數(shù)據(jù)運(yùn)維內(nèi)控管理平臺(tái)引入了大數(shù)據(jù)、機(jī)器學(xué)習(xí)等新技術(shù),從數(shù)據(jù)中心日常運(yùn)維積累的龐大多結(jié)構(gòu)化數(shù)據(jù)中挖掘出對(duì)內(nèi)控管理有價(jià)值的數(shù)據(jù),分為人員畫像(Persona )、規(guī)范分析( Prescriptive )、風(fēng)險(xiǎn)防范(Prevent)和行為預(yù)測(Predictive)四個(gè)維度,強(qiáng)化運(yùn)維內(nèi)控的事前管理能力、加固運(yùn)維內(nèi)控的事中監(jiān)督機(jī)制、提升運(yùn)維內(nèi)控的事后管理效率,實(shí)現(xiàn)了全面、精準(zhǔn)、高效、量化的內(nèi)控管理,為數(shù)據(jù)中心安全保駕護(hù)航。