中國移動(dòng)通信集團(tuán)重慶有限公司 鄧秘密 楊翔 趙立農(nóng) 龍濤
隨著互聯(lián)網(wǎng)的迅速發(fā)展,數(shù)據(jù)安全問題引發(fā)了全民的廣泛關(guān)注,個(gè)人信息及敏感信息泄露的安全事件,可能引發(fā)嚴(yán)重的網(wǎng)絡(luò)犯罪。
本文針對(duì)敏感數(shù)據(jù)的發(fā)現(xiàn)方法進(jìn)行研究,通過頁面采集識(shí)別方式、流量?jī)?nèi)容解析方式和多種識(shí)別策略實(shí)現(xiàn)對(duì)敏感數(shù)據(jù)的發(fā)現(xiàn)。
通過分析數(shù)據(jù)庫、文件夾和文件中的數(shù)據(jù),分析其中的敏感數(shù)據(jù)匹配度,以得到敏感數(shù)據(jù)資產(chǎn),如圖1 所示。
本方案采用數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具對(duì)數(shù)據(jù)庫、主機(jī)載體承載的數(shù)據(jù)資產(chǎn)實(shí)現(xiàn)自動(dòng)采集,其功能架構(gòu)如圖2 所示。
圖1 頁面采集識(shí)別方式
圖2 頁面采集識(shí)別工具功能架構(gòu)圖
該采集識(shí)別工具采用松耦合、高內(nèi)聚的方式設(shè)計(jì),分為四套引擎。
數(shù)據(jù)資產(chǎn)建模引擎:構(gòu)建全網(wǎng)資源安全特征模型,基于元數(shù)據(jù)建模方法,構(gòu)建了安全資源模型體系,通過類型維護(hù)、屬性維護(hù)和子對(duì)象維護(hù)三個(gè)子模塊,實(shí)現(xiàn)任意資源模型的自定義建模。
任務(wù)調(diào)度引擎:實(shí)現(xiàn)數(shù)據(jù)庫表結(jié)構(gòu)遍歷的多樣化調(diào)度,支持按秒、分、小時(shí)、天、周、月、年的細(xì)粒度周期性任務(wù)調(diào)度功能,同時(shí)支持多個(gè)離散時(shí)間點(diǎn)的任務(wù)調(diào)度。
配置采集引擎:實(shí)現(xiàn)基于設(shè)備類型的資源配置采集服務(wù),實(shí)現(xiàn)自動(dòng)在線檢查和半自動(dòng)離線檢查采集方式,通過多樣化的采集手段支撐數(shù)據(jù)采集。
資產(chǎn)分析引擎:突破傳統(tǒng)的不可修改分析規(guī)則的固化分析模式,解析方式支持正則表達(dá)式和解析類,判斷方法支持等于、大于等于、存在、包含等10 類判斷邏輯。
數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具在檢測(cè)到數(shù)據(jù)庫表結(jié)構(gòu)時(shí),首先分析數(shù)據(jù)庫表的字段組成,查找出敏感字段(比如手機(jī)號(hào)碼),檢測(cè)時(shí)可設(shè)置策略,只針對(duì)該敏感字段進(jìn)行檢測(cè)。一旦發(fā)現(xiàn)新增數(shù)據(jù)中包含敏感數(shù)據(jù)字段類型(比如檢測(cè)到某數(shù)據(jù)庫表新增了1000 行數(shù)據(jù),且手機(jī)號(hào)碼字段有139 字樣的11 位數(shù)字;或者檢測(cè)到新增文件中有身份證號(hào)字樣,且該字段是由x 結(jié)尾的18 位數(shù)字),數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具將采集新增的數(shù)據(jù),發(fā)送至系統(tǒng)管理員,由其根據(jù)敏感數(shù)據(jù)識(shí)別策略確認(rèn)是否為新增的敏感數(shù)據(jù),若是,采集識(shí)別工具將其格式化,并確定為敏感數(shù)據(jù)資產(chǎn)類型。
圖3 流量?jī)?nèi)容解析方式
圖4 日志流量采集識(shí)別流程圖
數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具檢測(cè)到新增的目錄或文件時(shí),首先分析目錄名或文件名的組成,然后數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具遍歷文件內(nèi)容,查找出敏感字段(比如手機(jī)號(hào)碼),檢測(cè)時(shí)可設(shè)置策略,只針對(duì)該敏感字段檢測(cè)。一旦發(fā)現(xiàn)新增的數(shù)據(jù)中包含敏感數(shù)據(jù)字段類型(比如檢測(cè)到某新增文件中有手機(jī)號(hào)碼字樣,并且手機(jī)號(hào)碼字段有139 字樣的11 位數(shù)字;或者檢測(cè)到新增文件中有身份證號(hào)字樣,且該字段是由x結(jié)尾的18 位數(shù)字),數(shù)據(jù)資產(chǎn)頁面采集識(shí)別工具將采集新增的文件,發(fā)送至系統(tǒng)管理員,由其根據(jù)敏感數(shù)據(jù)識(shí)別策略確認(rèn)是否為新增的敏感數(shù)據(jù),若是,采集識(shí)別工具將其格式化,并確定為敏感數(shù)據(jù)資產(chǎn)類型。
利用應(yīng)用日志流量分析技術(shù),通過在應(yīng)用前臺(tái)的網(wǎng)絡(luò)必達(dá)通路上部署嗅探設(shè)備,分析應(yīng)用前臺(tái)的應(yīng)用流量日志,識(shí)別敏感數(shù)據(jù),如圖3 所示。
本方案作為對(duì)數(shù)據(jù)庫后臺(tái)敏感數(shù)據(jù)采集的補(bǔ)充,針對(duì)前臺(tái)應(yīng)用采用流量嗅探的方式主動(dòng)抓取Web 應(yīng)用的流量,通過對(duì)HTTP 協(xié)議的解析,還原業(yè)務(wù)訪問流量,從中分析敏感數(shù)據(jù)生成和訪問情況。
本功能針對(duì)業(yè)務(wù)系統(tǒng)產(chǎn)生的所有HTTP 流量,均納入采集范疇,實(shí)現(xiàn)采集任務(wù)的全程管理,如圖4 所示。
對(duì)業(yè)務(wù)系統(tǒng)所有流量進(jìn)行嗅探,識(shí)別Web 應(yīng)用的HTTP流量,丟棄其他協(xié)議流量。
制定采集策略,根據(jù)源地址、目的地址、目的端口等過濾條件抓包。
還原出的協(xié)議信息主要包括:請(qǐng)求方法、請(qǐng)求URL、重要的請(qǐng)求頭域(如Cookie、Host、Referer 和 User-Agent)、請(qǐng)求消息體(POST 數(shù)據(jù))、響應(yīng)狀態(tài)碼、重要響應(yīng)頭域(如Content-Type)、響應(yīng)消息體(應(yīng)答頁面)。
通過指紋對(duì)比對(duì)存量文件敏感資產(chǎn)的變動(dòng)情況進(jìn)行識(shí)別?;谝炎R(shí)別敏感數(shù)據(jù)的指紋(散列數(shù)據(jù)),與發(fā)現(xiàn)數(shù)據(jù)進(jìn)行二進(jìn)制內(nèi)容比對(duì),確認(rèn)發(fā)現(xiàn)數(shù)據(jù)是否屬于敏感數(shù)據(jù)。
本產(chǎn)品計(jì)算指紋時(shí)可選擇使用國際通用SHA-1 算法和國家密碼管理局編制的SM3 算法。當(dāng)定期掃描存量敏感資產(chǎn)的變化時(shí),先用文件指紋與待掃描文件指紋對(duì)比,將有變化的再通過其他掃描手段掃描差異,并更新指紋信息。
(1)數(shù)據(jù)屬性管理
支持基于多個(gè)關(guān)鍵字、正則表達(dá)式和數(shù)據(jù)屬性判定的復(fù)雜組合內(nèi)容發(fā)現(xiàn),提高內(nèi)容發(fā)現(xiàn)的準(zhǔn)確性。在組合內(nèi)容發(fā)現(xiàn)中引入評(píng)分計(jì)算概念:當(dāng)組合中的一條識(shí)別特征規(guī)則在待分類數(shù)據(jù)中命中時(shí),會(huì)獲得一個(gè)與這條識(shí)別特殊規(guī)則對(duì)應(yīng)的分?jǐn)?shù),當(dāng)獲得分?jǐn)?shù)總和超過預(yù)先定義的閾值,引擎將此數(shù)據(jù)判定為敏感數(shù)據(jù)。
(2)敏感內(nèi)容分析
引擎引入負(fù)分規(guī)則,用戶在規(guī)則組中添加不應(yīng)出現(xiàn)此分類中的識(shí)別特征,當(dāng)其被命中時(shí),系統(tǒng)給予負(fù)分,降低待分類數(shù)據(jù)的總分,減少誤報(bào)可能性。
例如,經(jīng)分統(tǒng)計(jì)分析報(bào)告數(shù)據(jù)分類內(nèi)容發(fā)現(xiàn)過程中,待分類數(shù)據(jù)中出現(xiàn)“客戶手機(jī)號(hào)碼”時(shí),系統(tǒng)給該數(shù)據(jù)加分,如待分類數(shù)據(jù)中出現(xiàn)“客戶”“資料”時(shí),系統(tǒng)進(jìn)行減分。
還可設(shè)置識(shí)別特征至少出現(xiàn)次數(shù)及是否必須出現(xiàn)等屬性,例如,內(nèi)容發(fā)現(xiàn)規(guī)則組中設(shè)置識(shí)別特征身份證出現(xiàn)5 次以上才會(huì)命中,當(dāng)待分類數(shù)據(jù)中只出現(xiàn)了1 次身份證號(hào),系統(tǒng)判定此規(guī)則沒有命中。
系統(tǒng)先通過模型訓(xùn)練方式訓(xùn)練相關(guān)模型作為系統(tǒng)初始信息,然后定義自然語言識(shí)別的敏感規(guī)則,再建立識(shí)別任務(wù),通過識(shí)別規(guī)則對(duì)文件中文內(nèi)容進(jìn)行識(shí)別并輸出敏感識(shí)別結(jié)果,結(jié)合業(yè)務(wù)分析進(jìn)一步處理。
傳統(tǒng)的機(jī)器學(xué)習(xí)模型如KNN、SVM、Naive Bayes、決策樹、GBDT、K-means 等,需 注意其過擬合、欠擬合問題,且上線之前要對(duì)訓(xùn)練好的模型進(jìn)行評(píng)估,讓模型對(duì)語料具備較好的泛化能力。
1.使用k-means++初始化模型,也可以選擇隨機(jī)初始 化,即“init="random"”,通過PCA 降維把權(quán)重weight降到10 維,進(jìn)行聚類模型訓(xùn)練。
2.定義聚類結(jié)果可視化函數(shù)plot_cluster(result,newData,numClass),包 含3個(gè)參數(shù),其中result 表示聚類擬合的結(jié)果集;newData 表示權(quán)重weight 降維的結(jié)果,這里需要降維到2 維,即平面可視化;numClass 表示聚類分為幾簇,繪制代碼第一部分繪制結(jié)果newData,第二部分繪制聚類的中心點(diǎn)。
3.對(duì)數(shù)據(jù)降維到2 維,然后獲得結(jié)果,繪制聚類結(jié)果圖。
4.還可用TSNE 執(zhí)行可視化,保留下的屬性信息更具代表性。
5.為了更好的表達(dá)和獲取更有代表性的信息,在展示高維數(shù)據(jù)時(shí),先用PCA 降維,再使用TSNE。