本發(fā)明屬于網(wǎng)絡(luò)安全和機器學(xué)習(xí)
技術(shù)領(lǐng)域:
,具體涉及一種用于在企業(yè)網(wǎng)絡(luò)中檢測異常主機的機器學(xué)習(xí)系統(tǒng)。
背景技術(shù):
:隨著計算機網(wǎng)絡(luò)特別是因特網(wǎng)的普及應(yīng)用,網(wǎng)絡(luò)已經(jīng)成為人們生產(chǎn)和生活所依賴的重要基礎(chǔ)設(shè)施。如此同時,網(wǎng)絡(luò)安全的重要性也日益凸顯,現(xiàn)如今網(wǎng)絡(luò)安全已經(jīng)成為決定網(wǎng)絡(luò)應(yīng)用范圍能否極大拓展和網(wǎng)絡(luò)應(yīng)用價值能否極大地發(fā)揮的關(guān)鍵。為了保證企業(yè)網(wǎng)絡(luò)的安全,通常使用SIEM(SecurityInformationandEventManagement安全信息和事件管理)系統(tǒng)來標(biāo)記警報,進而在安全操作中心調(diào)查分析警報,以決定它是否真的具有惡意。安全信息和事件管理(SIEM)產(chǎn)品及服務(wù)負(fù)責(zé)從大量企業(yè)安全控件、主機操作系統(tǒng)、企業(yè)應(yīng)用和企業(yè)使用的其他軟件收集安全日志數(shù)據(jù),并進行分析和報告。有些SIEM還可以試圖阻止它們檢測到正在進行的攻擊,這可能幫助阻止破壞或者限制成功攻擊可能造成的損壞。安全是一個過程而不是一種一勞永逸的戰(zhàn)術(shù)性操作。為獲得在SIEM和其它安全產(chǎn)品及服務(wù)上進行投資的重要效果,負(fù)責(zé)信息安全的主要管理人員首先應(yīng)當(dāng)能夠確認(rèn)所有的IT資產(chǎn),并且知道每種資產(chǎn)所需要的安全水平是什么。主機是指連接到網(wǎng)絡(luò)的計算機或其他設(shè)備。它可以為用戶或網(wǎng)絡(luò)上其他主機提供信息資源、服務(wù)和應(yīng)用程序。DHCP(DynamicHostConfigurationProtocol,動態(tài)主機配置協(xié)議)是一個客戶端/服務(wù)器協(xié)議,自動為互聯(lián)網(wǎng)協(xié)議(IP)主機提供IP地址和其他相關(guān)的配置信息,如子網(wǎng)掩碼和缺省網(wǎng)關(guān)。DNS(DomainNameSystem,域名系統(tǒng))是一個分級、分布式的命名系統(tǒng),為互聯(lián)網(wǎng)中的所有計算機、服務(wù)等資源提供名稱映射服務(wù)。在網(wǎng)絡(luò)安全、內(nèi)部威脅、欺詐檢測中,涉及到離群值檢測或異常檢測。對于網(wǎng)絡(luò)安全,安全操作中心(SOC,SecurityOperationCenter)的任務(wù)之一就是判斷一臺主機或服務(wù)器是否受到損壞,或是否處于一個網(wǎng)絡(luò)殺傷鏈上的某些階段,該網(wǎng)絡(luò)殺傷鏈?zhǔn)腔诎踩淼氖录罩竞蜕舷挛臄?shù)據(jù)分析得出的。傳統(tǒng)的方式可以描述為:安全信息和事件管理(SIEM)系統(tǒng),例如HPArcSight或SplunkEnterprise軟件,從端點、防火墻、入侵檢測系統(tǒng)、DNS、DHCP、Windows事件、VPN等日志中分析和關(guān)聯(lián)事件日志。SOC團隊使用基于分析師經(jīng)驗的預(yù)置優(yōu)先級來開發(fā)使用用例。它們通常涉及一個或兩個指標(biāo)(變量)來控制安全報警行為。下面是使用用例的一些舉例。·通過443端口的HTTP輸出流量·對同一PCI資產(chǎn)的登錄失敗次數(shù)超限·對于已知惡意網(wǎng)站進出流量的監(jiān)控·2分鐘內(nèi)對同一目標(biāo)的4個獨特事件·1分鐘內(nèi),在PCI/SC服務(wù)器發(fā)生超過25次拒絕事件后的警報在實時狀態(tài)下,如果任何事件觸發(fā)一個或多個用例,SIEM將生成警報。然后,SOC分析師將調(diào)查警報,以決定警報是惡意(true)或非惡意(false)。這種處理方式的問題是,SIEM通常會產(chǎn)生大量的警報,但有很多都是非惡意的。每一天的警報數(shù)量可以成百上千,超過了系統(tǒng)調(diào)查分析的能力。由于這種能力上的不匹配,SOC團隊可能會選擇以這樣一種方式來抑制警報,將一個特定的用例觸發(fā)的相同警報在接下來的一周內(nèi)的優(yōu)先級調(diào)整為零,這些警報將不會被調(diào)查。但這可能會錯過捕獲攻擊的機會。假設(shè)受到攻擊的主機或服務(wù)器是整個網(wǎng)絡(luò)中的一小部分,當(dāng)被標(biāo)記的數(shù)據(jù)是有限的或很少的時候,基于遙測記錄、行為和上下文數(shù)據(jù)的異常檢測將作為安全運營分析的第一階段去尋找被攻擊的主機或服務(wù)器。異常檢測需要兼顧時間和地理信息。與其他主機相比有異常行為的主機可以被標(biāo)記,例如,半夜登錄重要服務(wù)器的主機,在很短的時間內(nèi)重復(fù)訪問惡意網(wǎng)站的主機,或有太多的病毒感染的主機都可以被標(biāo)記為異常主機。在這種方法中,在一個特定的時間點只將一個主機的行為與其他主機進行了比較。然而,如果我們考慮到特定主機的時間模式,這可能是它的底線行為。因此,一個主機可能看起來非常不同于其他主機,但根據(jù)他的歷史行為,這臺主機實際上是正常的。我們要注意,我們這里所指的異常檢測,異??赡懿皇菒阂獾?,還有其它的步驟去檢測警告是否是惡意的。技術(shù)實現(xiàn)要素:為了克服現(xiàn)有的安全信息和事件管理系統(tǒng)存在報警量大、虛警率高,導(dǎo)致無法及時處理報警和可能遺漏處理重要報警信息等問題,本發(fā)明提供一種用于在企業(yè)網(wǎng)絡(luò)中檢測異常主機的機器學(xué)習(xí)系統(tǒng)。所述機器學(xué)習(xí)系統(tǒng)在廣泛收集與企業(yè)網(wǎng)絡(luò)相關(guān)的所有安全日志數(shù)據(jù)的基礎(chǔ)上通過三階段的機器學(xué)習(xí)過程相互銜接和配合,逐級優(yōu)化異常主機篩選精度,最后將真正有異常的主機標(biāo)記出來,并根據(jù)報警策略決定是否向SOC報警,通過該系統(tǒng)不僅可以全面監(jiān)測企業(yè)網(wǎng)絡(luò)的各類安全信息和事件,并且能夠準(zhǔn)確標(biāo)記和報警異常主機,大幅度降低報警數(shù)量和虛警率,在顯著提升企業(yè)網(wǎng)絡(luò)安全監(jiān)測能力的同時,有效降低檢測人力成本。為實現(xiàn)上述目標(biāo),本發(fā)明采用以下技術(shù)方案:一種用于在企業(yè)網(wǎng)絡(luò)中檢測異常主機的機器學(xué)習(xí)系統(tǒng),其特征在于,所述機器學(xué)習(xí)系統(tǒng)包括數(shù)據(jù)收集子系統(tǒng)、數(shù)據(jù)處理子系統(tǒng)、三階段機器學(xué)習(xí)子系統(tǒng)和標(biāo)記報警子系統(tǒng),所述四個子系統(tǒng)順次銜接,所述數(shù)據(jù)收集子系統(tǒng)收集到企業(yè)網(wǎng)絡(luò)中各類與安全相關(guān)的信息之后,傳遞給所述數(shù)據(jù)處理子系統(tǒng),所述數(shù)據(jù)處理子系統(tǒng)對數(shù)據(jù)進行標(biāo)準(zhǔn)化處理和特征提取處理后,將提取的特征向量傳遞給所述三階段機器學(xué)習(xí)子系統(tǒng),所述三階段機器學(xué)習(xí)子系統(tǒng)對安全信息進行逐級求精的甄別和篩選,將異常主機的信息傳遞給所述標(biāo)記報警子系統(tǒng),所述標(biāo)記報警子系統(tǒng)對異常主機進行標(biāo)記,根據(jù)預(yù)先確定的報警策略,對達(dá)到報警要求的異常主機和安全事件進行報警,供安全處理中心進行安全審計。所述數(shù)據(jù)收集子系統(tǒng)用于收集與企業(yè)網(wǎng)絡(luò)相關(guān)的所有安全日志數(shù)據(jù),包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和/或非結(jié)構(gòu)化數(shù)據(jù)。所述數(shù)據(jù)收集子系統(tǒng)包括若干個數(shù)據(jù)收集代理和一個數(shù)據(jù)解析模塊,每個數(shù)據(jù)代理負(fù)責(zé)從對應(yīng)的應(yīng)用系統(tǒng)中收集安全相關(guān)的數(shù)據(jù),數(shù)據(jù)解析模塊負(fù)責(zé)對各數(shù)據(jù)代理收集的安全數(shù)據(jù)進行處理和解析,并將解析結(jié)果傳遞給所述數(shù)據(jù)處理子系統(tǒng)。所述數(shù)據(jù)收集子系統(tǒng)通過數(shù)據(jù)收集代理從DNS日志、HTTP流量數(shù)據(jù)、FTP數(shù)據(jù)、防火墻數(shù)據(jù)、IDS數(shù)據(jù)、VPN數(shù)據(jù)、端點保護數(shù)據(jù)、微軟的Windows事件日志、漏洞掃描日志等收集日志并解析數(shù)據(jù)。該系統(tǒng)可以向網(wǎng)絡(luò)上任何數(shù)據(jù)源的任何類型數(shù)據(jù)開放,包括結(jié)構(gòu)化、非結(jié)構(gòu)化及半結(jié)構(gòu)化數(shù)據(jù)。優(yōu)選地,所述數(shù)據(jù)收集子系統(tǒng)可以利用企業(yè)現(xiàn)有的SIEM系統(tǒng)實現(xiàn)。所述數(shù)據(jù)處理子系統(tǒng)對所述數(shù)據(jù)收集子系統(tǒng)獲取的數(shù)據(jù)進行IP/主機映射、標(biāo)準(zhǔn)化處理和特征提取處理,獲得反映主機狀態(tài)的特征向量。所述數(shù)據(jù)處理子系統(tǒng)包括IP/主機映射模塊、數(shù)據(jù)標(biāo)準(zhǔn)化處理模塊和特征向量提取模塊。所述IP/主機映射模塊依據(jù)所述數(shù)據(jù)收集子系統(tǒng)傳遞過來的安全日志數(shù)據(jù),實現(xiàn)IP地址與主機之間的相互映射,生成主機級別的視圖。所述數(shù)據(jù)標(biāo)準(zhǔn)化處理模塊按照事先設(shè)定的處理規(guī)則,對由所述IP/主機映射模塊傳遞過來的數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,保證數(shù)據(jù)的一致性和準(zhǔn)確性。所述特征向量提取模塊針對所述主機視圖中的每臺主機和/或服務(wù)器,根據(jù)所獲得的安全數(shù)據(jù),生成反映主機安全狀態(tài)的特征向量,其中,每項特征數(shù)據(jù)構(gòu)成特征向量的一個特征項。所述特征向量提取模塊采用兩種格式來整理每臺主機和服務(wù)器的特征數(shù)據(jù)。第一種格式是時間序列列表。如表1所示,此表中列出了所有事件信息,這些事件以不同的時間模式發(fā)生在主機和服務(wù)器的不同系統(tǒng)中。表中的條目是按主機和事件日期排列的,對于一個特定的主機,它是按照時間順序列出。這種格式的特征數(shù)據(jù)將會提供給所述第二階段學(xué)習(xí)的HMM模型使用,作為其輸入數(shù)據(jù)。表1主機事件的時間序列列表主機ID事件ID事件日期主機1事件1日期1主機1事件2日期2主機1事件3日期3主機1事件4日期4主機1事件5日期5主機1事件6日期6第二種數(shù)據(jù)格式是主機特征向量列表。如表2所示,對于每個主機或服務(wù)器,我們根據(jù)所述數(shù)據(jù)收集子系統(tǒng)所獲取的事件信息,生成該主機的原始特征向量,并將企業(yè)網(wǎng)絡(luò)中包含的所有主機或服務(wù)器的原始特征向量匯集在一起形成主機特征向量列表,表中每一行代表一個主機的特征向量,表中每一列代表一個特征項,其對應(yīng)于一個安全數(shù)據(jù)收集項目。這種格式的特征數(shù)據(jù)將會提供給所述第一階段無監(jiān)督學(xué)習(xí)和所述第三階段的DNN學(xué)習(xí)者模型使用,作為其輸入數(shù)據(jù)。表2主機特征向量列表上表只是一個示例,我們只列出了來自四個不同來源的特征,以演示如何生成特征。實際數(shù)據(jù)具有許多列的特征,取決于從不同數(shù)據(jù)源生成的特征數(shù)量。所述數(shù)據(jù)處理子系統(tǒng)將獲取特征作為機器學(xué)習(xí)的輸入,其中時間的時間序列特征表將提供給所述第二學(xué)習(xí)階段的HMM模型使用,主機特征向量數(shù)據(jù)將提供給所述第一階段無監(jiān)督學(xué)習(xí)和所述第三階段的DNN學(xué)習(xí)者模型使用,作為其輸入數(shù)據(jù)。所述三階段機器學(xué)習(xí)子系統(tǒng)包括三個相互銜接的學(xué)習(xí)階段。第一階段采用多個無監(jiān)督學(xué)習(xí)結(jié)果的匯總修正,以減少每個無監(jiān)督學(xué)習(xí)的偏差,這一階段利用地理空間信息來檢測異常,并為第二階段的學(xué)習(xí)生成標(biāo)簽。第二階段采用貝葉斯學(xué)習(xí),結(jié)合隱馬爾可夫模型,利用主機的時間信息,為第三階段的學(xué)習(xí)生成標(biāo)簽。第三階段是深層神經(jīng)網(wǎng)絡(luò)(DNN,DeepNeuralNetwork)學(xué)習(xí),利用空間信息檢測異常。所述第二階段學(xué)習(xí)和第三階段學(xué)習(xí)使用監(jiān)督學(xué)習(xí)并相互更新,即用第二階段學(xué)習(xí)的輸出作為第三階段學(xué)習(xí)的輸入,將第三階段學(xué)習(xí)的輸出反饋給第二階段學(xué)習(xí)作為輸入,進行迭代運算。所述第一學(xué)習(xí)階段運用許多不同類型的無監(jiān)督學(xué)習(xí)方法,并整合修正每個方法的結(jié)果。本階段包括無監(jiān)督學(xué)習(xí)模塊、排名模塊和整合模塊,所述無監(jiān)督學(xué)習(xí)模塊接收所述數(shù)據(jù)處理子系統(tǒng)傳遞過來的特征向量,進行無監(jiān)督學(xué)習(xí)后將結(jié)果傳遞給所述排名模塊,所述排名模塊根據(jù)各種無監(jiān)督學(xué)習(xí)算法所得分值對主機進行排名并將排名結(jié)果傳遞給所述整合模塊,所述整合模塊根據(jù)所接收的主機排名信息,結(jié)合預(yù)先設(shè)定的判定規(guī)則,判定各主機的狀態(tài)為異?;蚍钱惓?,對判定為異常的主機進行標(biāo)記,并將標(biāo)記結(jié)果遞交給所述第二學(xué)習(xí)階段的HMM模型,作為其輸入數(shù)據(jù)。優(yōu)選地,在第一學(xué)習(xí)階段可以使用基于如PCA(PrincipalComponentAnalysi,主成分分析)和SVD(singularvaluedecomposition,奇異值分解)方法的矩陣、基于如Coupla的概率密度函數(shù)、基于圖論的頁排名方法,以及基于遞歸神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)的神經(jīng)網(wǎng)絡(luò)來檢測異常。表3為來自不同無監(jiān)督學(xué)習(xí)者的分?jǐn)?shù)示例。表3來自不同無監(jiān)督學(xué)習(xí)者的分?jǐn)?shù)列表主機IDPCA得分SVD得分PageRank得分RNN得分COUPLA得分主機10.07614760.3143934.98E-0611836541.0757432主機20.191289924.18E-0610189.760.8048661主機30.14805834.38E-06122153.80.5258911主機40.26856414.4546181.79E-05155460951.585557所述第一階段學(xué)習(xí)包括三個步驟:1)無監(jiān)督學(xué)習(xí):各個無監(jiān)督學(xué)習(xí)算法分別實施學(xué)習(xí)過程,并獨立地給出各自的學(xué)習(xí)結(jié)果;2)分?jǐn)?shù)排序歸并:在無監(jiān)督學(xué)習(xí)模塊的輸出中,每個算法為異?,F(xiàn)象生成自己的分?jǐn)?shù),我們設(shè)計跨越不同檢測方法的得分規(guī)則,依據(jù)該規(guī)則得分越高,該現(xiàn)象越異常。然后對于每個算法,我們將分?jǐn)?shù)進行排序,并將對應(yīng)的主機歸并到9個不同的組中,這九個不同的組代表9個異常等級,用bucket0,bucket1,...,...,bucket9表示,其中bucket9代表的異常度最高。根據(jù)上例,歸并后各主機的得分情況如表4所示。表4歸并后各主機的得分情況3)整合結(jié)果:對于相同的主機,不同的無監(jiān)督學(xué)習(xí)算法很可能具有不同的排名,通過整合結(jié)果,可以減少每個無人監(jiān)管學(xué)習(xí)者的偏差。在所述整合結(jié)果步驟,使用投票方法來為主機做最終的判斷,投票規(guī)則如下所示:1)設(shè)置警告類別的級別數(shù);2)根據(jù)警告類別的級別數(shù),設(shè)置相鄰級別的劃分閾值;3)依據(jù)上述規(guī)則,結(jié)合整合后主機的得分,將各主機劃分到相應(yīng)的級別組中;4)對每個級別組中的主機以該組的警告級別標(biāo)注該主機的異常度。例如,基于表4,可以這樣制訂表決規(guī)則:·設(shè)置警告類別為兩級,即HIGH和LOW;·設(shè)置相鄰級別的劃分閾值為落在bucket9中的結(jié)果個數(shù)為4;·對于每個主機,計算在bucket9中的結(jié)果個數(shù);·如果計數(shù)大于或等于閾值(例如閾值為4),就將該主機的異常度標(biāo)注為HIGH,意味著高度異常;·否則,我們判斷該主機為低度異常,并將其標(biāo)注為LOW。閾值可以根據(jù)需要設(shè)置,取決于歸入HIGH或LOW類別的警報數(shù)。警告類別的劃分方法也可以根據(jù)需要自定義,比如可以將警告類別劃分為高、中和低三個級別,或者更多的級別。系統(tǒng)閾值及警告類別的設(shè)置需要和SOC分析人員的能力相匹配,以便所有高級別的告警都可以被及時調(diào)查處理。所述第二和第三學(xué)習(xí)階段的異常檢測使用貝葉斯學(xué)習(xí)結(jié)合隱馬爾科夫模型和深神經(jīng)網(wǎng)絡(luò)(DNN)模型來實現(xiàn)。隱馬爾可夫模型(HMM)是一種隨機模型,是一個假定具有隱藏狀態(tài)的馬爾可夫過程。HMM用于根據(jù)觀察來評估隱藏狀態(tài)。在HMM中有兩個層:觀察層和隱藏狀態(tài)層。第一層由隱藏狀態(tài)組成。在不同的隱藏狀態(tài)之間存在一些轉(zhuǎn)換。第二層由觀察組成,觀察之間沒有聯(lián)系。但在兩層之間,有一些連接。在下面的例子中,我們?yōu)槊總€主機定義兩個隱藏狀態(tài):用“好”或“0”定義低異常度主機;用“壞”或“1”定義高異常度主機。主機的隱藏狀態(tài)隨時間變化,并生成一系列事件或觀察。這些觀察可以通過HMM模型用于估計主機的隱藏狀態(tài)。HMM由狀態(tài)轉(zhuǎn)移概率矩陣P,觀測矩陣Q和初始狀態(tài)分布π而定義。矩陣P描述隱藏狀態(tài)之間的轉(zhuǎn)換概率。矩陣Q描述了在模型處于某種隱藏狀態(tài)時,不同觀察發(fā)生的概率。矩陣π描述隱藏狀態(tài)的初始概率。HMM對某個主機的行為隨時間推移建模,并且能夠動態(tài)地推斷主機的隱藏狀態(tài)。另一方面,深度神經(jīng)網(wǎng)絡(luò)(DNN)結(jié)合了來自異常檢測的數(shù)據(jù)/特征以及來自HMM的推斷,去發(fā)現(xiàn)不同主機的潛在結(jié)構(gòu)量。傳統(tǒng)的機器學(xué)習(xí)依賴于淺神經(jīng)網(wǎng)絡(luò),由一個輸入、一個輸出和之間的一個隱藏層組成。三層以上(包括輸入和輸出)的學(xué)習(xí)將有資格稱為“深層”學(xué)習(xí)。在深度學(xué)習(xí)網(wǎng)絡(luò)中,每層節(jié)點基于上一次層的輸出在不同的特征集上訓(xùn)練。越深入神經(jīng)網(wǎng)絡(luò),節(jié)點可以識別的特征越復(fù)雜。結(jié)合HMM和DNN,該系統(tǒng)能夠更好地辨別數(shù)據(jù)中的相似性和異常度,并提供更準(zhǔn)確的預(yù)測。用于混合HMM和DNN學(xué)習(xí)模型的示例的詳細(xì)描述如下:HMM-DNN混合學(xué)習(xí)模型:1、根據(jù)所述無監(jiān)督學(xué)習(xí)階段的輸出結(jié)果,初始化HMM模型的參數(shù):初始矩陣π;轉(zhuǎn)換矩陣P=(例如,可以根據(jù)經(jīng)驗設(shè)定該轉(zhuǎn)換矩陣);觀測矩陣Q,表示在給定隱藏狀態(tài)i的前提下,出現(xiàn)第j個觀測值的概率,這里隱藏狀態(tài)i是這樣定義的:·i=0:非惡意(無監(jiān)督學(xué)習(xí)模型給出低異常的評分)·i=1:惡意(無監(jiān)督學(xué)習(xí)模型給出高異常的評分)2、使用隱馬爾可夫模型推斷每個用戶的隱藏狀態(tài)。該隱藏狀態(tài)將被用來作為DNN模型的處理目標(biāo);3、訓(xùn)練DNN重新預(yù)測用戶的隱藏狀態(tài),預(yù)測值可能與隱馬爾可夫模型的推理值不同;4、將DNN的預(yù)測值反饋到HMM模型,并調(diào)整HMM的參數(shù),其中隱藏狀態(tài)的更新依據(jù)下列規(guī)則:·i=0:非惡意(DNN模型給出低的預(yù)測值)·i=1:惡意(DNN模型給出高的預(yù)測值);5、返回步驟2,直到以下條件之一得到滿足:·DNN模型的預(yù)測值未發(fā)生改變;·預(yù)先設(shè)定的迭代次數(shù)已經(jīng)達(dá)到;6、輸出DNN模型的預(yù)測值(例如,用戶的行為具有惡意的概率)。所述標(biāo)記與報警子系統(tǒng)工作過程如下:1、根據(jù)SOC的處理能力,設(shè)定標(biāo)記事件的種類,例如,將標(biāo)記事件分為報警(需要立即調(diào)查處理)、監(jiān)視(需要關(guān)注,但不必立即調(diào)查處理)和正常(主機處于良好狀態(tài))三類;2、根據(jù)標(biāo)記事件的種類,設(shè)定相鄰類型事件間的判別閾值P_1、P_2、…P_k,其中1>P_1>P_2>…>P_k>0。例如,根據(jù)上例,設(shè)定概率閾值P_1=0.8和P_2=0.5;3、根據(jù)DNN模型輸出的概率值,將各主機放入對應(yīng)的標(biāo)記類型中,結(jié)合上例,具體規(guī)則如下:·如果概率>=P_1,則將該主機標(biāo)記為報警,并放入報警主機列表之中,遞送到SOC分析人員,實施進一步調(diào)查;·如果主機異常的概率大于或等于P_2,但小于P_1,則將主機標(biāo)記為監(jiān)視,并將其添加到監(jiān)視主機列表中進行監(jiān)視;·如果主機異常的概率小于P_2,則將主機標(biāo)記為正常,并將其添加到正常主機列表中。所述異常檢測系統(tǒng)可以實時運行,也可以批處理操作,例如:每30分鐘或最多間隔24小時更新每臺主機的狀態(tài),并向SOC報告高風(fēng)險的主機,便于分析師進行調(diào)查。本發(fā)明的優(yōu)點和有益效果為:與現(xiàn)有的SIEM技術(shù)相比,本發(fā)明通過引入三階段的機器學(xué)習(xí)模型,特別是通過整合多個無監(jiān)督學(xué)習(xí)結(jié)果消除單個學(xué)習(xí)的偏差,以及結(jié)合HMM與DNN構(gòu)建混合計算模型,通過DNN輸出反饋和HMM迭代運算,大幅提升異常檢測的準(zhǔn)確度,通過合理劃分事件的異常等級,僅對高度異常的事件進行報警,兼顧了網(wǎng)絡(luò)安全檢測需求與SOC實際審查能力,使得重要的安全事件得到及時處理,在提高網(wǎng)絡(luò)安全監(jiān)測能力的同時,降低了人力成本。附圖說明附圖1是本發(fā)明所述的用于在企業(yè)網(wǎng)絡(luò)中檢測異常主機的機器學(xué)習(xí)系統(tǒng)的結(jié)構(gòu)框圖。具體實施方式下面結(jié)合實施例對本發(fā)明作進一步說明。實施例一種用于在企業(yè)網(wǎng)絡(luò)中檢測異常主機的機器學(xué)習(xí)系統(tǒng),其特征在于,所述機器學(xué)習(xí)系統(tǒng)包括數(shù)據(jù)收集子系統(tǒng)、數(shù)據(jù)處理子系統(tǒng)、三階段機器學(xué)習(xí)子系統(tǒng)和標(biāo)記報警子系統(tǒng),所述四個子系統(tǒng)順次銜接,所述數(shù)據(jù)收集子系統(tǒng)收集到企業(yè)網(wǎng)絡(luò)中各類與安全相關(guān)的信息之后,傳遞給所述數(shù)據(jù)處理子系統(tǒng),所述數(shù)據(jù)處理子系統(tǒng)對數(shù)據(jù)進行主機映射、標(biāo)準(zhǔn)化處理和特征提取處理后,將提取的特征向量傳遞給所述三階段機器學(xué)習(xí)子系統(tǒng),所述三階段機器學(xué)習(xí)子系統(tǒng)對安全信息進行逐級求精的甄別和篩選,將異常主機的信息傳遞給所述標(biāo)記報警子系統(tǒng),所述標(biāo)記報警子系統(tǒng)對異常主機進行標(biāo)記,根據(jù)預(yù)先確定的報警策略,對達(dá)到報警要求的異常主機和安全事件進行報警,供安全處理中心進行安全審計。所述數(shù)據(jù)收集子系統(tǒng)用于收集與企業(yè)網(wǎng)絡(luò)相關(guān)的所有安全日志數(shù)據(jù),包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和/或非結(jié)構(gòu)化數(shù)據(jù)。所述數(shù)據(jù)收集子系統(tǒng)包括若干個數(shù)據(jù)收集代理和一個數(shù)據(jù)解析模塊,每個數(shù)據(jù)代理負(fù)責(zé)從對應(yīng)的應(yīng)用系統(tǒng)中收集安全相關(guān)的數(shù)據(jù),數(shù)據(jù)解析模塊負(fù)責(zé)對各數(shù)據(jù)代理收集的安全數(shù)據(jù)進行處理和解析,并將解析結(jié)果傳遞給所述數(shù)據(jù)處理子系統(tǒng)。所述數(shù)據(jù)收集子系統(tǒng)通過數(shù)據(jù)收集代理從DNS日志(dnspod),HTTP流量數(shù)據(jù)(Infoblox)、FTP數(shù)據(jù)、防火墻數(shù)據(jù)(思科)、IDS數(shù)據(jù)(snotfire)、VPN數(shù)據(jù)(思科)、端點保護數(shù)據(jù)(賽門鐵克端點保護)、微軟的Windows事件日志、漏洞掃描日志(Qualys)等收集日志并解析數(shù)據(jù)。所述數(shù)據(jù)收集子系統(tǒng)利用企業(yè)現(xiàn)有的SIEM系統(tǒng)實現(xiàn)。所述數(shù)據(jù)處理子系統(tǒng)對所述數(shù)據(jù)收集子系統(tǒng)獲取的數(shù)據(jù)進行IP/主機映射、標(biāo)準(zhǔn)化處理和特征提取處理,獲得反映主機狀態(tài)的特征向量。所述數(shù)據(jù)處理子系統(tǒng)包括IP/主機映射模塊、數(shù)據(jù)標(biāo)準(zhǔn)化處理模塊和特征向量提取模塊。所述IP/主機映射模塊依據(jù)所述數(shù)據(jù)收集子系統(tǒng)傳遞過來的安全日志數(shù)據(jù),實現(xiàn)IP地址與主機之間的相互映射,生成主機級別的視圖。所述數(shù)據(jù)標(biāo)準(zhǔn)化處理模塊按照事先設(shè)定的處理規(guī)則,對由所述IP/主機映射模塊傳遞過來的數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,保證數(shù)據(jù)的一致性和準(zhǔn)確性。所述特征向量提取模塊針對所述主機視圖中的每臺主機和/或服務(wù)器,根據(jù)所獲得的安全數(shù)據(jù),生成反映主機安全狀態(tài)的特征向量,其中,每項特征數(shù)據(jù)構(gòu)成特征向量的一個特征項。所述特征向量提取模塊采用兩種格式來整理每臺主機和服務(wù)器的特征數(shù)據(jù)。第一種格式是時間序列列表。如表1所示,此表中列出了所有事件信息,這些事件以不同的時間模式發(fā)生在主機和服務(wù)器的不同系統(tǒng)中。表中的條目按主機和事件日期排列,對于一個特定的主機,它是按照時間順序列出。這種格式的特征數(shù)據(jù)將會提供給所述第二階段學(xué)習(xí)的HMM模型使用,作為其輸入數(shù)據(jù)。第二種數(shù)據(jù)格式是主機特征向量列表。如表2所示,對于每個主機或服務(wù)器,根據(jù)所述數(shù)據(jù)收集子系統(tǒng)所獲取的事件信息,生成該主機的原始特征向量,并將企業(yè)網(wǎng)絡(luò)中包含的所有主機或服務(wù)器的原始特征向量匯集在一起形成主機特征向量列表,表中每一行代表一個主機的特征向量,表中每一列代表一個特征項,其對應(yīng)于一個安全數(shù)據(jù)收集項目。這種格式的特征數(shù)據(jù)將會提供給所述第一階段無監(jiān)督學(xué)習(xí)和所述第三階段的DNN學(xué)習(xí)者模型使用,作為其輸入數(shù)據(jù)。所述數(shù)據(jù)處理子系統(tǒng)將獲取的特征作為機器學(xué)習(xí)的輸入,其中的時間序列特征表將提供給所述第二學(xué)習(xí)階段的HMM模型使用,主機特征向量數(shù)據(jù)將提供給所述第一階段無監(jiān)督學(xué)習(xí)和所述第三階段的DNN學(xué)習(xí)者模型使用,作為其輸入數(shù)據(jù)。所述三階段機器學(xué)習(xí)子系統(tǒng)包括三個相互銜接的學(xué)習(xí)階段。第一階段采用多個無監(jiān)督學(xué)習(xí)結(jié)果的匯總修正,以減少每個無監(jiān)督學(xué)習(xí)的偏差,這一階段利用地理空間信息來檢測異常,并為第二階段的學(xué)習(xí)生成標(biāo)簽。第二階段采用貝葉斯學(xué)習(xí),結(jié)合隱馬爾可夫模型,利用主機的時間信息,為第三階段的學(xué)習(xí)生成標(biāo)簽。第三階段是深層神經(jīng)網(wǎng)絡(luò)(DNN,DeepNeuralNetwork)學(xué)習(xí),利用空間信息檢測異常。所述第二階段學(xué)習(xí)和第三階段學(xué)習(xí)使用監(jiān)督學(xué)習(xí)并相互更新,即用第二階段學(xué)習(xí)的輸出作為第三階段學(xué)習(xí)的輸入,將第三階段學(xué)習(xí)的輸出反饋給第二階段學(xué)習(xí)作為輸入,進行迭代運算。所述第一學(xué)習(xí)階段運用許多不同類型的無監(jiān)督學(xué)習(xí)方法,并整合修正每個方法的結(jié)果。本階段包括無監(jiān)督學(xué)習(xí)模塊、排名模塊和整合模塊,所述無監(jiān)督學(xué)習(xí)模塊接收所述數(shù)據(jù)處理子系統(tǒng)傳遞過來的特征向量,進行無監(jiān)督學(xué)習(xí)后將結(jié)果傳遞給所述排名模塊,所述排名模塊根據(jù)各種無監(jiān)督學(xué)習(xí)算法所得分值對主機進行排名并將排名結(jié)果傳遞給所述整合模塊,所述整合模塊根據(jù)所接收的主機排名信息,結(jié)合預(yù)先設(shè)定的判定規(guī)則,判定各主機的狀態(tài)為異?;蚍钱惓#瑢ε卸楫惓5闹鳈C進行標(biāo)記,并將標(biāo)記結(jié)果遞交給所述第二學(xué)習(xí)階段的HMM模型,作為其輸入數(shù)據(jù)。在第一學(xué)習(xí)階段使用PCA、SVD、Coupla、PageRank和RNN等無監(jiān)督學(xué)習(xí)方法來檢測異常。無監(jiān)督學(xué)習(xí)者輸出的分?jǐn)?shù)如表3所示。所述第一階段學(xué)習(xí)包括三個步驟:1)無監(jiān)督學(xué)習(xí):各個無監(jiān)督學(xué)習(xí)算法分別實施學(xué)習(xí)過程,并獨立地給出各自的學(xué)習(xí)結(jié)果;2)分?jǐn)?shù)排序歸并:在無監(jiān)督學(xué)習(xí)模塊的輸出中,每個算法為異?,F(xiàn)象生成自己的分?jǐn)?shù),我們將分?jǐn)?shù)進行排序,并根據(jù)設(shè)計的跨越不同檢測方法的得分規(guī)則將對應(yīng)的主機歸并到9個不同的組中,這九個不同的組代表9個異常等級,用bucket0,bucket1,...,...,bucket9表示,其中bucket9代表的異常度最高。歸并后各主機的得分情況如表4所示。3)整合結(jié)果:使用投票方法來為主機做最終的判斷,投票規(guī)則如下所示:1)設(shè)置警告類別為兩級,即HIGH和LOW;2)設(shè)置相鄰級別的劃分閾值為落在bucket9中的結(jié)果個數(shù)為4;3)對于每個主機,計算在bucket9中的結(jié)果個數(shù);4)如果計數(shù)大于或等于4,就將該主機的異常度標(biāo)注為HIGH,意味著高度異常;否則,就判斷該主機為低度異常,并將其標(biāo)注為LOW。所述第二和第三學(xué)習(xí)階段的異常檢測使用貝葉斯學(xué)習(xí)結(jié)合隱馬爾科夫模型和深神經(jīng)網(wǎng)絡(luò)(DNN)模型來實現(xiàn)。具體過程如下:HMM-DNN混合學(xué)習(xí)模型:1、根據(jù)所述無監(jiān)督學(xué)習(xí)階段的輸出結(jié)果,初始化HMM模型的參數(shù):初始矩陣π;轉(zhuǎn)換矩陣P=(根據(jù)經(jīng)驗設(shè)定該轉(zhuǎn)換矩陣);觀測矩陣Q,表示在給定隱藏狀態(tài)i的前提下,出現(xiàn)第j個觀測值的概率,這里隱藏狀態(tài)i是這樣定義的:·i=0:非惡意(無監(jiān)督學(xué)習(xí)模型給出低異常的評分)·i=1:惡意(無監(jiān)督學(xué)習(xí)模型給出高異常的評分)2、使用隱馬爾可夫模型推斷每個用戶的隱藏狀態(tài)。該隱藏狀態(tài)將被用來作為DNN模型的處理目標(biāo);3、訓(xùn)練DNN重新預(yù)測用戶的隱藏狀態(tài),預(yù)測值可能與隱馬爾可夫模型的推理值不同;4、將DNN的預(yù)測值反饋到HMM模型,并調(diào)整HMM的參數(shù),其中隱藏狀態(tài)的更新依據(jù)下列規(guī)則:·i=0:非惡意(DNN模型給出低的預(yù)測值)·i=1:惡意(DNN模型給出高的預(yù)測值);5、返回步驟2,直到以下條件之一得到滿足:·DNN模型的預(yù)測值未發(fā)生改變;·預(yù)先設(shè)定的迭代次數(shù)已經(jīng)達(dá)到;6、輸出DNN模型的預(yù)測值(用戶的行為具有惡意的概率)。所述標(biāo)記與報警子系統(tǒng)工作過程如下:1、將標(biāo)記事件分為報警、監(jiān)視和正常三類;2、設(shè)定概率閾值P_1=0.8和P_2=0.5;3、根據(jù)DNN模型輸出的概率值,將各主機放入對應(yīng)的標(biāo)記類型中,具體規(guī)則如下:·如果概率>=P_1,則將該主機標(biāo)記為報警,并放入報警主機列表之中,遞送到SOC分析人員,實施進一步調(diào)查;·如果主機異常的概率大于或等于P_2,但小于P_1,則將主機標(biāo)記為監(jiān)視,并將其添加到監(jiān)視主機列表中進行監(jiān)視;·如果主機異常的概率小于P_2,則將主機標(biāo)記為正常,并將其添加到正常主機列表中。所述異常檢測系統(tǒng)可以實時運行,也可以批處理操作,例如:每30分鐘或最多間隔24小時更新每臺主機的狀態(tài),并向SOC報告高風(fēng)險的主機,便于分析師進行調(diào)查。最后應(yīng)說明的是:顯然,上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非對實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處于本發(fā)明的保護范圍之中。當(dāng)前第1頁1 2 3