喻波,王志海,孫亞東,謝福進(jìn),安鵬
(北京明朝萬達(dá)科技股份有限公司,北京 100876)
伴隨大數(shù)據(jù)時(shí)代來臨,數(shù)據(jù)同土地、勞動(dòng)力一樣列入生產(chǎn)要素之一,為加快培育數(shù)據(jù)要素市場,數(shù)據(jù)安全防護(hù)是基礎(chǔ)保障[1]。由于業(yè)務(wù)場景復(fù)雜多變、數(shù)據(jù)量持續(xù)增長,基于數(shù)據(jù)流的信息化架構(gòu)演進(jìn)對(duì)數(shù)據(jù)安全防護(hù)提出了更高要求。傳統(tǒng)的數(shù)據(jù)安全防護(hù)措施難以適應(yīng)新時(shí)代架構(gòu)復(fù)雜、場景多樣、數(shù)據(jù)海量、交互頻繁的“大物移云智”環(huán)境。在數(shù)據(jù)安全領(lǐng)域,可以把管控場景劃分為強(qiáng)管控、中管控、弱管控3種場景。針對(duì)強(qiáng)管控場景,在數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)等環(huán)節(jié)采取全量數(shù)據(jù)加密手段,可以解決強(qiáng)管控場景的安全訴求。但是在更為普遍的中管控場景,敏感數(shù)據(jù)與非敏感數(shù)據(jù)混合使用,如果采用強(qiáng)管控,必然對(duì)操作效率造成影響,但如果弱管控,又會(huì)造成敏感數(shù)據(jù)泄露。因此中管控場景,識(shí)別敏感數(shù)據(jù)與異常行為是目前數(shù)據(jù)安全領(lǐng)域研究的重要問題。
近年來企業(yè)內(nèi)部人員竊取數(shù)據(jù)事件頻發(fā),如銀行內(nèi)部人員竊取、販賣上萬條用戶信息,根據(jù)Gartner的調(diào)查結(jié)果[2],內(nèi)部人員竊取敏感數(shù)據(jù)、盜用賬號(hào)等行為已經(jīng)成為企業(yè)數(shù)據(jù)泄露的最主要原因。由于內(nèi)部人員具備企業(yè)數(shù)據(jù)資產(chǎn)的合法訪問權(quán)限,且了解企業(yè)敏感數(shù)據(jù)的存放位置,因此內(nèi)部人員在合法外衣的保護(hù)下,自由地游走在企業(yè)內(nèi)網(wǎng),進(jìn)行長期而隱蔽的數(shù)據(jù)竊取行為。
導(dǎo)致上述現(xiàn)象的根本原因是企業(yè)經(jīng)營活動(dòng)復(fù)雜、業(yè)務(wù)系統(tǒng)多、數(shù)據(jù)規(guī)模大,無法窮舉人員、終端、應(yīng)用、數(shù)據(jù)之間多對(duì)多的使用與訪問規(guī)則,從而為內(nèi)部惡意人員留下了巨大的非法活動(dòng)空間。這種情況下,安全部門只能把管控重點(diǎn)放在已知的、規(guī)則明確的安全威脅上,導(dǎo)致內(nèi)部人員長期、隱蔽數(shù)據(jù)竊取行為發(fā)現(xiàn)難,數(shù)據(jù)泄露事件依然層出不窮[3-5]。
因此,研究文檔分類分級(jí)技術(shù),識(shí)別需要重點(diǎn)保護(hù)的敏感數(shù)據(jù);研究用戶異常行為分析技術(shù),識(shí)別用戶異常操作,是解決內(nèi)網(wǎng)數(shù)據(jù)泄露的重要課題。
根據(jù)數(shù)據(jù)安全治理理論,數(shù)據(jù)安全防護(hù)的基礎(chǔ)是識(shí)別數(shù)據(jù)資產(chǎn)、分級(jí)分類數(shù)據(jù)資產(chǎn),只有明確了數(shù)據(jù)保護(hù)對(duì)象及安全等級(jí),才能對(duì)數(shù)據(jù)實(shí)施按需防護(hù),避免一刀切式的靜態(tài)防御,促進(jìn)數(shù)據(jù)的安全流通與共享。
在數(shù)據(jù)資產(chǎn)的識(shí)別過程中,按載體形態(tài)差異其識(shí)別方式也存在不同,數(shù)據(jù)按載體形態(tài)主要?jiǎng)澐譃榻Y(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)兩類。針對(duì)結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)集中承載在數(shù)據(jù)庫中,可以通過元數(shù)據(jù)的精確定義,較為直接地進(jìn)行數(shù)據(jù)資產(chǎn)識(shí)別并實(shí)施分級(jí)分類管控,但針對(duì)廣泛分布在終端、網(wǎng)絡(luò)、云存儲(chǔ)中的非結(jié)構(gòu)化敏感數(shù)據(jù)(如商務(wù)合同、會(huì)議紀(jì)要、監(jiān)管報(bào)告、技術(shù)資料等敏感文檔),鑒于文檔是由字、詞及上下文語義構(gòu)成的,單純的依賴關(guān)鍵詞、正則表達(dá)式等傳統(tǒng)規(guī)則手段對(duì)文檔分類進(jìn)行識(shí)別,缺乏詞與詞之間的上下文語義級(jí)分析,導(dǎo)致文檔分類分級(jí)的高誤報(bào)率與高漏報(bào)率。如商務(wù)合同與涉訴文檔,雖然都會(huì)存在甲方、乙方、聯(lián)系電話、聯(lián)系方式等關(guān)鍵詞,但在不同類型文檔語境下,其文檔表達(dá)含義與分類截然不同。而且,由于文檔分類定級(jí)誤判,會(huì)產(chǎn)生敏感文檔的非授權(quán)明文外發(fā)風(fēng)險(xiǎn),進(jìn)而導(dǎo)致數(shù)據(jù)泄露。由于分類誤判對(duì)非敏感級(jí)文檔進(jìn)行加密、阻斷處理,影響正常業(yè)務(wù)開展[6-8]。
通過自然語言處理技術(shù)檢測識(shí)別文檔敏感內(nèi)容,已經(jīng)演化為文檔智能分類分級(jí)的技術(shù)趨勢(shì),在落地實(shí)施過程中,也面臨如下突出的技術(shù)問題[9]。
在文檔語義特征表達(dá)層面,各領(lǐng)域文檔形式多樣、內(nèi)容豐富、中文語體混雜的情況普遍存在,例如公安電子筆錄形式多樣,官方語體和方言語體交相混雜,且上下文語義高度相關(guān)。而目前的語言模型建立在樸素貝葉斯獨(dú)立性假設(shè)的基礎(chǔ)上,現(xiàn)實(shí)情況明顯無法滿足獨(dú)立性假設(shè)要求,從而導(dǎo)致文檔分類分級(jí)的準(zhǔn)確率較低[9-10]。
在文檔內(nèi)容識(shí)別層面,敏感文檔的分類檢測技術(shù)分為有監(jiān)督和無監(jiān)督兩種模式,無監(jiān)督文檔分類技術(shù)不需要樣本但準(zhǔn)確率很低,有監(jiān)督文檔準(zhǔn)確率相對(duì)較高,但存在樣本標(biāo)注工作量大、人工標(biāo)注質(zhì)量無法保證的問題,直接導(dǎo)致產(chǎn)品研發(fā)周期長、成本高、效果差的問題[11]。
針對(duì)文檔分類分級(jí)在實(shí)際應(yīng)用中面臨的技術(shù)問題,本文提出如下的解決思路:構(gòu)建N元中文語言模型,解決當(dāng)前語言模型面臨的獨(dú)立性假設(shè)不成立問題。構(gòu)建自動(dòng)無監(jiān)督樣本庫,解決當(dāng)前樣本標(biāo)注工作量大,質(zhì)量難保證問題。
2.2.1 語言模型基本原理
語言模型的發(fā)展經(jīng)歷了專家語法規(guī)則模型、統(tǒng)計(jì)語言模型和神經(jīng)網(wǎng)絡(luò)語言模型。專家語法規(guī)則模型在初始階段利用模式匹配技術(shù),以自然語言的語法規(guī)則為切入點(diǎn),模式匹配歸納總結(jié),提供自然語言建模能力,但隨著語法規(guī)則規(guī)模急劇擴(kuò)大,專家語法規(guī)則已不可持續(xù)[12]。
統(tǒng)計(jì)語言模型認(rèn)為文檔由單詞序列構(gòu)成,通過建模,分析文檔中單詞的概率分布。統(tǒng)計(jì)語言模型基于樸素貝葉斯的獨(dú)立性假設(shè),即將句子S看成一組相互獨(dú)立的單詞序列 (w1w2···wn),那么對(duì)于任意一個(gè)單詞wi(i≤n)在句子S中出現(xiàn)的條件概率為P(wi|w1w2···wi?1),那么整個(gè)句子的概率模型P(S)=P(w1w2···wn),根據(jù)貝葉斯公式和全概率公式可推導(dǎo)出概率模型:

式(1)必須在基于樸素貝葉斯獨(dú)立性假設(shè)條件的情況下才成立,但是在實(shí)際應(yīng)用中樸素貝葉斯獨(dú)立性假設(shè)往往不成立。
神經(jīng)網(wǎng)絡(luò)語言模型為了應(yīng)對(duì)獨(dú)立性假設(shè)不成立的問題,采用因果思路,在語料庫龐大到能覆蓋所有可能語義表述的情況下,通過訓(xùn)練的方法獲得條件概率P(wi|w1w2···wi?1)。但是收集這樣一個(gè)龐大的語料庫本身就是一個(gè)問題,在特別的應(yīng)用領(lǐng)域,例如各地方言與官方語體混雜語料的收集明顯不可行[13]。
2.2.2N元中文語言模型構(gòu)建過程
因此在統(tǒng)計(jì)語言模型的基礎(chǔ)上提出N元中文語言模型,其核心思想是將語言模型劃分為N個(gè)相互獨(dú)立的子模型,分段訓(xùn)練,利用線性插值公式分步整合。其實(shí)施過程:
1) 將語料庫按領(lǐng)域和語體劃分為N個(gè)語料庫子集;
2) 針對(duì)各個(gè)語料子集訓(xùn)練特定語言模型;
3) 使用線性插值公式,獲得整個(gè)語言模型:

式中 0≤λ≤1。 λ 的期望最大值(expectation maximum, EM)的迭代計(jì)算方法為
1) 對(duì)于N個(gè)語言模型,使用隨機(jī)數(shù)初始化 λ;
2)根據(jù)整個(gè)語言模型公式計(jì)算新的語言模型概率;
3)第r次迭代,第j個(gè)語言模型在第i(i≤n)類上 λ 的計(jì)算公式為

式中h為歷史。
4)不斷迭代,重復(fù)步驟2)、3),直至收斂。
通過上述方法,將中文語言模型的困惑度值從320降低到150以下,為自然語言處理后續(xù)任務(wù)奠定基礎(chǔ)。
2.2.3 無監(jiān)督算法構(gòu)建樣本庫基本原理
常用的無監(jiān)督聚類包括K均值聚類、均值漂移聚類、基于密度的聚類方法、高斯混合模型的最大期望聚類和層次聚類等。經(jīng)實(shí)驗(yàn)驗(yàn)證效果最好的方法是K均值聚類。K均值聚類首先隨機(jī)選擇K個(gè)中心點(diǎn),其次計(jì)算每個(gè)樣本到K個(gè)中心點(diǎn)的歐氏距離,然后將每個(gè)樣本劃分到離它最近的中心點(diǎn)所屬類族,最后更新每個(gè)類族的中心點(diǎn),重復(fù)迭代直到所有的樣本不再被重新分類為止[14]。此過程不需要人工標(biāo)注樣本,無須人工干預(yù)就可以自動(dòng)區(qū)分樣本及類別,但是K均值聚類面臨兩個(gè)問題:
1)K的取值問題。在業(yè)務(wù)層面,企業(yè)往往也無法提供文檔類別數(shù);在技術(shù)層面,K均值聚類算法的K取值本身也是一個(gè)關(guān)鍵問題。
2) 準(zhǔn)確率低問題。K均值聚類算法,雖然是效果最好的無監(jiān)督算法,但是準(zhǔn)確率也只能到70%,與構(gòu)建樣本庫的要求還相去甚遠(yuǎn)。
2.2.4 基于無監(jiān)督算法的樣本庫構(gòu)建過程
針對(duì)上述問題,基于無監(jiān)督算法的樣本庫構(gòu)建過程如下:
1) 從生產(chǎn)環(huán)境網(wǎng)絡(luò)出口收集大量文檔,作為樣本集Q;
2) 采用N元中文語言模型對(duì)樣本Q中的文檔進(jìn)行特征提取;
3) 采用數(shù)據(jù)分析工具Pandas對(duì)樣本集Q中的文檔特征進(jìn)行特征對(duì)齊;
4) 采用非線性降維的算法(uniform manifold approximation and projection for dimension reduction,UMAP)降維文檔特征,降低文檔特征復(fù)雜性,提高聚類準(zhǔn)確率;
5) 確定K均值聚類算法的K值,具體原理和方法為:假設(shè)真實(shí)類別數(shù)為N,所有樣本到其所屬類族中心的距離的平方和為D,隨著K值增加,樣本劃分的類族越來越精細(xì),每個(gè)類族的內(nèi)聚程度會(huì)越來越高,那么平方和D會(huì)越來越小;當(dāng)K值小于N時(shí),增加K值時(shí)會(huì)大幅增加每個(gè)族的聚合程度,故平方和D下降梯度會(huì)很大,當(dāng)K值大于等于N時(shí),繼續(xù)增加K值,類族內(nèi)部的聚合效果不再明顯,所以平方和D下降梯度會(huì)急劇變小,平方和D下降梯度拐點(diǎn)即為真實(shí)聚類數(shù)K:

式中:i為類族編號(hào);Ci為第i個(gè)類族;P為Ci中的某一個(gè)文檔數(shù)據(jù);Mi為Ci的類族中心點(diǎn)向量;D為所有樣本到其所屬類族中心的距離的平方和;
6) 按照5)確定的K值,對(duì)樣本集Q進(jìn)行聚類,得到聚類結(jié)果,由于K均值聚類算法準(zhǔn)確率離樣本庫準(zhǔn)確率要求太遠(yuǎn),優(yōu)化K均值聚類算法提升準(zhǔn)確率的投入大而回報(bào)小,所以不可取。因此采用將無監(jiān)督轉(zhuǎn)換為有監(jiān)督,分批迭代,投票篩選樣本的辦法來解決此問題;
7) 從K均值聚類結(jié)果中挑出一部分離類族中心距離小于預(yù)設(shè)閥值M的文檔作為樣本集Y,可以調(diào)節(jié)M的取值,確保挑中樣本集Y的準(zhǔn)確性;
8) 將樣本集Y分為訓(xùn)練集和驗(yàn)證集;
9) 分別采用支持向量機(jī)、TextCNN、鄰近算法建模,并使用樣本集Y訓(xùn)練模型;
10) 從Q中取出一批樣本,分別使用已訓(xùn)練的支持向量機(jī)、TextCNN、鄰近算法模型進(jìn)行預(yù)測;
11) 使用少數(shù)服從多數(shù)的投票法,對(duì)預(yù)測結(jié)果進(jìn)行合并,挑出至少有2個(gè)模型預(yù)測結(jié)果均一樣的樣本,將這些樣本合并到樣本集Y中;
12) 重復(fù)步驟10)~11),直至樣本數(shù)量達(dá)到要求。
隨著企業(yè)IT架構(gòu)日益復(fù)雜,業(yè)務(wù)系統(tǒng)逐步增多,大量內(nèi)部隱藏、持久、緩慢的數(shù)據(jù)泄露行為成為企業(yè)數(shù)據(jù)安全關(guān)注的重點(diǎn)。傳統(tǒng)的單點(diǎn)式安全防護(hù)措施,對(duì)于具備一定反偵查能力的數(shù)據(jù)泄露行為,毫無辦法。為了解決隱蔽數(shù)據(jù)泄露問題,采用基于人工智能的用戶異常行為分析技術(shù),從傳統(tǒng)的特征規(guī)則和人工分析轉(zhuǎn)向大數(shù)據(jù)和機(jī)器學(xué)習(xí)驅(qū)動(dòng)的新型安全模式[14]。
基于從正常行為中發(fā)現(xiàn)規(guī)律,從規(guī)律中挖掘異常的思路:首先,基于歷史數(shù)據(jù)構(gòu)建用戶個(gè)體行為、群體行為、場景行為三大行為基線,從個(gè)體、群體、場景3個(gè)角度詮釋正常用戶行為;然后,采用神經(jīng)網(wǎng)絡(luò),建立用戶異常行為模型,對(duì)用戶異常行為進(jìn)行跟蹤、預(yù)測與判定。模型具備實(shí)時(shí)流處理、離線批量處理兩項(xiàng)能力,實(shí)時(shí)流用于實(shí)時(shí)分析日志,動(dòng)態(tài)發(fā)現(xiàn)異常,并進(jìn)行跟蹤。離線批量處理,用于對(duì)歷史數(shù)據(jù)進(jìn)行分析判定,在歷史數(shù)據(jù)中發(fā)現(xiàn)已發(fā)生的異常行為[15]如圖1所示。

圖1 模型構(gòu)建過程Fig.1 Build model process
在用戶異常行為分析中,采用大數(shù)據(jù)和機(jī)器學(xué)習(xí)構(gòu)建異常檢測模型,顯著提高異常行為識(shí)別能力,縮短策略升級(jí)嚴(yán)重滯后問題,異常行為檢測時(shí)間控制在24 h以內(nèi),自動(dòng)優(yōu)化模型,實(shí)現(xiàn)自適應(yīng)動(dòng)態(tài)風(fēng)險(xiǎn)識(shí)別[15]。
目前采用機(jī)器學(xué)習(xí)技術(shù)幫助企業(yè)明確用戶與實(shí)體的行為基線,檢測偏離基線的異常行為,防止數(shù)據(jù)泄露。但在實(shí)際生產(chǎn)環(huán)境中,由于樣本依賴度過高而導(dǎo)致異常行為識(shí)別準(zhǔn)確率較低。
現(xiàn)有的用戶異常行為分析系統(tǒng)需要通過大量已標(biāo)注樣本數(shù)據(jù),訓(xùn)練生成用戶異常行為分析模型,但是在實(shí)際應(yīng)用中,用戶往往不具備足夠的已標(biāo)注樣本數(shù)據(jù),從而導(dǎo)致系統(tǒng)識(shí)別準(zhǔn)確率偏低[16-17]。
為解決目前用戶異常行為分析過程中樣本依賴過高的問題,構(gòu)建無樣本依賴、實(shí)時(shí)識(shí)別異常行為的分析系統(tǒng)。本文采用無監(jiān)督異常點(diǎn)檢測算法,以海量行為日志數(shù)據(jù)為基礎(chǔ),計(jì)算單一操作行為異常,自動(dòng)構(gòu)建異常行為樣本庫,解決樣本依賴問題。
3.3.1 離群點(diǎn)檢測構(gòu)建異常行為樣本庫基本原理
由于異常行為與正常行為日志數(shù)據(jù)混雜存儲(chǔ),異常數(shù)據(jù)呈現(xiàn)出以下特點(diǎn):
1) 異常數(shù)據(jù)的特征與大多數(shù)數(shù)據(jù)的特征是不一致的,例如同一個(gè)員工,大多數(shù)情況下都會(huì)使用自己的賬號(hào)登錄業(yè)務(wù)系統(tǒng),員工每天的工作內(nèi)容都基本相同,其行為也應(yīng)基本相同。如果某天在自己辦公電腦上使用其他賬號(hào)登錄,就可能是非正常行為。
2) 異常數(shù)據(jù)在企業(yè)數(shù)據(jù)中的占比較小,例如同一崗位的不同員工,大多數(shù)情況下工作內(nèi)容基本相同,其工作產(chǎn)生的行為日志特征也基本相同,如若某員工與其他同崗位員工行為不太一致,就可能是非正常行為。
針對(duì)上述日志數(shù)據(jù)的特點(diǎn),可以采用基于統(tǒng)計(jì)的、距離的、密度的量化指標(biāo),刻畫異常數(shù)據(jù)與全集數(shù)據(jù)的疏離程度,即離群點(diǎn)檢測方法[18]。
3.3.2 離群點(diǎn)檢測構(gòu)建異常行為樣本庫構(gòu)建過程
依據(jù)企業(yè)日志數(shù)據(jù)的特點(diǎn),企業(yè)用戶異常行為樣本庫構(gòu)建過程如下:
1) 在用戶終端部署終端日志采集器,收集用戶操作行為數(shù)據(jù),如系統(tǒng)登錄、文檔操作、軟件使用、郵件外發(fā)、上網(wǎng)行為等日志數(shù)據(jù);
2) 在數(shù)據(jù)庫、應(yīng)用服務(wù)器、交換機(jī)等位置部署設(shè)備日志采集器,采集防火墻、業(yè)務(wù)系統(tǒng)、數(shù)據(jù)庫等系統(tǒng)與設(shè)備的用戶操作日志;
3) 定義用戶異常行為場景;
4) 依據(jù)異常行為場景,確定場景所需的用戶行為數(shù)據(jù);
5) 依據(jù)場景所需的用戶行為數(shù)據(jù),從用戶及操作類型的角度切分?jǐn)?shù)據(jù);
6) 對(duì)切分好的數(shù)據(jù)按照?qǐng)鼍耙筮M(jìn)行特征提取;
7) 使用鄰近算法、離群點(diǎn)檢測算法和Feature Bagging等算法,分析建模特征數(shù)據(jù),分離出正常數(shù)據(jù)和異常數(shù)據(jù);
8) 按場景聚合正常數(shù)據(jù),形成樣本庫。
構(gòu)建數(shù)據(jù)分類分級(jí)與異常行為分析實(shí)驗(yàn)系統(tǒng),分析驗(yàn)證技術(shù)可行性與應(yīng)用效果。
實(shí)驗(yàn)系統(tǒng)采用Spring Cloud微服務(wù)架構(gòu),使用應(yīng)用容器Docker進(jìn)行部署,采用關(guān)系型與文件型混合存儲(chǔ)模式,通過Nginx Web服務(wù)器實(shí)現(xiàn)負(fù)載均衡。系統(tǒng)架構(gòu)包括采集層、分析層、存儲(chǔ)層、可視化層。
實(shí)驗(yàn)系統(tǒng)采用探針主動(dòng)采集和接口被動(dòng)采集兩種模型,管理員可以通過圖形化界面選擇采集模型,定義探針主動(dòng)采集頻率、被動(dòng)采集服務(wù)地址。主動(dòng)采集探針部署在操作終端、交換機(jī)、應(yīng)用服務(wù)器、數(shù)據(jù)庫審計(jì)系統(tǒng),主動(dòng)采集日志。被動(dòng)采集服務(wù)部署在服務(wù)端,通過標(biāo)準(zhǔn)接口,對(duì)接操作終端、交換機(jī)、應(yīng)用服務(wù)器、數(shù)據(jù)庫審計(jì)等系統(tǒng)上報(bào)的日志數(shù)據(jù)。日志數(shù)據(jù)上報(bào)后,數(shù)據(jù)流轉(zhuǎn)引擎將日志數(shù)據(jù)推送至分布式消息系統(tǒng)Kafka數(shù)據(jù)隊(duì)列組件中準(zhǔn)備進(jìn)行數(shù)據(jù)清洗處理與持久化。
采集探針利用日志處理引擎Logstash的filebeat組件,采用TCP、UDP協(xié)議將日志數(shù)據(jù)上報(bào)到采集層,通過網(wǎng)絡(luò)和應(yīng)用監(jiān)測系統(tǒng)Zabbix Agent將日志數(shù)據(jù)上報(bào)至Zabbix 服務(wù)器。
采集層匯集日志數(shù)據(jù)后,經(jīng)過數(shù)據(jù)匹配、解析以及組裝操作,將數(shù)據(jù)推送到采集層中的Kafka隊(duì)列中,通過數(shù)據(jù)分流操作以及動(dòng)態(tài)模板匹配操作將數(shù)據(jù)推送到數(shù)據(jù)搜索引擎Elasticsearch中完成日志數(shù)據(jù)的存儲(chǔ)流程。
采集層通過Logstash的input、filter、output組件對(duì)數(shù)據(jù)進(jìn)行匹配、解析、組裝,通過 HTTP Client讀取Zabbix 服務(wù)端的數(shù)據(jù),進(jìn)行處理操作后將數(shù)據(jù)上報(bào)到數(shù)據(jù)存儲(chǔ)層。
存儲(chǔ)層存儲(chǔ)訓(xùn)練用戶異常行為分析模型需要的日志數(shù)據(jù)、訓(xùn)練分類分級(jí)模型需要的文檔樣本數(shù)據(jù)、用戶異常行為告警數(shù)據(jù)、安全事件審計(jì)數(shù)據(jù)。其中日志數(shù)據(jù)包括終端、網(wǎng)絡(luò)設(shè)備、主機(jī)設(shè)備、數(shù)據(jù)庫、應(yīng)用系統(tǒng)日志數(shù)據(jù)。文檔樣本數(shù)據(jù)包括覆蓋業(yè)務(wù)范圍內(nèi)各業(yè)務(wù)分類與各安全等級(jí)的文檔。
數(shù)據(jù)存儲(chǔ)層使用Spark Streaming從Kafka中讀取主動(dòng)探針采集、被動(dòng)接口采集匯總的日志數(shù)據(jù),使用Spring Boot同步數(shù)據(jù)、生成文件,通過Common-pool2創(chuàng)建數(shù)據(jù)庫連接池,通過Abstract-RoutingDataSource訪問關(guān)系型數(shù)據(jù)庫,使用Elasticsearch和Mysql存儲(chǔ)用戶異常行為告警數(shù)據(jù)、安全事件審計(jì)數(shù)據(jù),使用Redis存儲(chǔ)日志數(shù)據(jù)與文檔樣本數(shù)據(jù),采用Mysql存儲(chǔ)規(guī)則、用戶權(quán)限等系統(tǒng)管理數(shù)據(jù)。
分析層包括基本規(guī)則與高級(jí)模型兩種分析方式,其中基本規(guī)則是采用關(guān)鍵字、正則表達(dá)式等簡單匹配模型識(shí)別文檔類別、安全等級(jí)與異常行為。高級(jí)模型包括文檔分類分級(jí)模型、用戶異常行為分析模型。
數(shù)據(jù)分析層包括工作流框架、特征提取、算法模型、格式化輸出等主要功能。工作流框架負(fù)責(zé)構(gòu)建業(yè)務(wù)流、調(diào)度數(shù)據(jù)處理任務(wù),特征提取負(fù)責(zé)選擇各種數(shù)據(jù)的業(yè)務(wù)特征、特征提取和特征對(duì)齊,根據(jù)業(yè)務(wù)場景和數(shù)據(jù)分布選擇算法模型,對(duì)接業(yè)務(wù)系統(tǒng)輸出分析結(jié)果。
業(yè)務(wù)工作流采用SpiffWorkflow工作流框架,實(shí)現(xiàn)動(dòng)態(tài)配置業(yè)務(wù)流程、動(dòng)態(tài)選擇數(shù)據(jù)特征,動(dòng)態(tài)配置算法模型、靈活調(diào)度業(yè)務(wù)場景。
特征選擇和特征提取采用N-Gram語言模型、詞向量方法、線性差別分析、主成分分析、奇異值分解等技術(shù)對(duì)文檔數(shù)據(jù)和行為數(shù)據(jù)進(jìn)行特征選擇和特征提取。
算法模型采用插件化封裝,根據(jù)數(shù)據(jù)分布特點(diǎn)選擇算法模型。算法模型包括K均值聚類、密度聚類方法、高斯混合模型,以及支持向量機(jī)、決策樹、鄰近算法、長短時(shí)記憶網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)。
采用JSON、XML協(xié)議封裝輸出數(shù)據(jù),滿足上層業(yè)務(wù)系統(tǒng)對(duì)接要求。
可視化層用于審計(jì)分析用戶異常行為安全事件、查看文檔分類分級(jí)結(jié)果。
可視化層使用前后端完全分離的機(jī)制,采用VUE.JS結(jié)合Webpack搭建前端架構(gòu),使用 HTTP協(xié)議進(jìn)行前后端的數(shù)據(jù)通信。
可視化層的接口服務(wù)模塊,外部接口使用 Netty進(jìn)行TCP協(xié)議數(shù)據(jù)交互、HttpClient 進(jìn)行 HTTP協(xié)議數(shù)據(jù)交互。內(nèi)部接口使用 Aviator、Elasticsearch、Mysql、Common-pool2 以及 Redis 實(shí)現(xiàn)。
實(shí)驗(yàn)環(huán)境包括硬件和軟件配置兩部分。
硬件配置:兩臺(tái)測試機(jī)器,CPU Intel Core i3-4 130 3.40 GHz 4核,內(nèi)存 8 GB,硬盤 5 TB,網(wǎng)卡 1 000 MB。
軟件配置:操作系統(tǒng) CentOS7.6,數(shù)據(jù)庫MySQL5.7.29。

1) 實(shí)驗(yàn)準(zhǔn)備
①服務(wù)器、客戶端系統(tǒng)部署完成、網(wǎng)絡(luò)通信正常;
②準(zhǔn)備24 000份樣本文件,其中財(cái)經(jīng)、體育、娛樂、時(shí)政各6 000份;
③測試發(fā)件箱test@wondersoft.cn,收件箱test@shou.com。
2) 實(shí)驗(yàn)輸入
①登錄控制臺(tái),創(chuàng)建財(cái)經(jīng)、體育、娛樂、時(shí)政分類,創(chuàng)建4個(gè)安全等級(jí)、定義每個(gè)安全等級(jí)涉及的敏感數(shù)據(jù)形式,導(dǎo)入樣本文件,構(gòu)建分類分級(jí)模型;
②使用foxmail發(fā)件箱test@wondersoft.cn發(fā)送各種類型、各種安全等級(jí)文檔至test@shou.com,檢查分類分級(jí)結(jié)果。

1) 實(shí)驗(yàn)準(zhǔn)備
①服務(wù)器系統(tǒng)搭建,GPU驅(qū)動(dòng)安裝、tensorflow環(huán)境搭建,客戶端系統(tǒng)搭建和客戶端軟件安裝;
②準(zhǔn)備3 000名用戶、30萬條日志數(shù)據(jù)。日志數(shù)據(jù)包括郵件外發(fā)日志數(shù)據(jù)、U盤拷貝文件日志數(shù)據(jù)、賬號(hào)準(zhǔn)入登錄日志數(shù)據(jù)3種類型。其中郵件外發(fā)日志數(shù)據(jù)包括操作終端信息、發(fā)件人信息、收件人信息、抄送人信息、正文信息、附件信息、時(shí)間信息;U盤拷貝文件日志數(shù)據(jù)包括U盤設(shè)備信息、操作終端信息、拷貝操作信息、操作文件信息、操作時(shí)間信息;賬號(hào)準(zhǔn)入登錄日志數(shù)據(jù)包括人員賬號(hào)信息、接入設(shè)備信息、接入網(wǎng)絡(luò)信息、管控策略信息、接入時(shí)間信息。
2) 實(shí)驗(yàn)輸入
①首先將日志數(shù)據(jù)導(dǎo)入mongodb,3種行為日志數(shù)據(jù)單獨(dú)存放。其次登錄實(shí)驗(yàn)系統(tǒng)控制臺(tái),配置數(shù)據(jù)源和檢測模型。最后使用準(zhǔn)備數(shù)據(jù)訓(xùn)練得到用戶行為模型;
②使用客戶端執(zhí)行郵件外發(fā)、U盤拷貝文件和賬號(hào)登錄系統(tǒng)操作;
③服務(wù)端接收客戶端日志信息,對(duì)用戶操作進(jìn)行異常行為檢測,并將結(jié)果展示在控制臺(tái)。
基于N元語言模型的文檔智能分類分級(jí)技術(shù),數(shù)據(jù)分類分級(jí)準(zhǔn)確率達(dá)到93%。
4種分類數(shù)據(jù)、4個(gè)安全等級(jí)數(shù)據(jù)組成了16種數(shù)據(jù)集合,每種數(shù)據(jù)集合各執(zhí)行500次數(shù)據(jù)發(fā)送。進(jìn)入實(shí)驗(yàn)系統(tǒng)數(shù)據(jù)分類分級(jí)界面,可查看到8 000次數(shù)據(jù)發(fā)送郵件,按16組統(tǒng)計(jì)分析分類分級(jí)模型準(zhǔn)確率分別為96.2%、93.6%、94.8%、87.4%、90.1%、92.1%、97.2%、86.2%、89.2%、90.1%、96.4%、92.7%、91.6%、87.4%、90.1%、88.3%。
基于無標(biāo)記樣本的實(shí)時(shí)用戶異常行為分析技術(shù),用戶異常行為分析準(zhǔn)確率達(dá)86%以上。
郵件外發(fā)、U盤文件拷貝和賬號(hào)上下線操作各執(zhí)行500次,進(jìn)入實(shí)驗(yàn)系統(tǒng)用戶行為分析界面,可查看到郵件外發(fā)記錄500次、U盤文件拷貝500次、賬號(hào)登錄系統(tǒng)500次,統(tǒng)計(jì)分析異常行為識(shí)別準(zhǔn)確率分別為86.7%、88.6%、86.2%。
在數(shù)字經(jīng)濟(jì)時(shí)代,數(shù)據(jù)安全是保障數(shù)字經(jīng)濟(jì)發(fā)展的基礎(chǔ)條件,數(shù)據(jù)安全也正在從傳統(tǒng)的邊界防護(hù)逐步轉(zhuǎn)向以數(shù)據(jù)為基礎(chǔ)的縱深全鏈條防護(hù),在這個(gè)轉(zhuǎn)變過程中,準(zhǔn)確地識(shí)別數(shù)據(jù),找到管控重點(diǎn),成為關(guān)鍵問題。人工智能賦能數(shù)據(jù)安全創(chuàng)新地解決了海量數(shù)據(jù)中敏感數(shù)據(jù)識(shí)別、數(shù)據(jù)分類分級(jí)和用戶異常行分析識(shí)別問題。本文為數(shù)據(jù)安全領(lǐng)域使用人工智能技術(shù)解決行業(yè)普遍性問題進(jìn)行了前期的嘗試與探索。同時(shí),我們也應(yīng)看到,人工智能技術(shù)在數(shù)據(jù)安全領(lǐng)域的應(yīng)用才剛剛開始,如何通過人工智能技術(shù)低成本、高效率地解決數(shù)據(jù)安全問題,還需要廣大從業(yè)者不斷努力探索。