一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法及系統(tǒng)。利用本發(fā)明的方法及系統(tǒng),能夠快速并且準(zhǔn)確地發(fā)現(xiàn)隱藏的蠕蟲病毒。本發(fā)明的方法將機器學(xué)習(xí)的SVM算法應(yīng)用于惡意域名檢測,實際上是賦予機器以人類的經(jīng)驗來完成復(fù)雜的分類工作;域名特征值的分析方法比較新穎和全面,包括計算字符的熵值,好念程度分析,字母和數(shù)字的連續(xù)性分析,n?gram(一種自然語言處理的方法,計算一組詞語出現(xiàn)的頻率)分析,頂級域名分析等;黑名單動態(tài)加載機制,使隱藏的蠕蟲病毒能夠被實時,快速地發(fā)現(xiàn)。
【專利說明】
一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]發(fā)明總體涉及計算機技術(shù)領(lǐng)域,具體涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法和系統(tǒng)。
【背景技術(shù)】
[0002]蠕蟲病毒(例如Conficker) —般利用netb1s或DNS的方式對C&C服務(wù)器(僵尸網(wǎng)絡(luò)中的命令和控制中心)進行域名請求。為了對抗域名黑名單的封堵,Conficker采用域名生成算法(Domain Generat1n Algorithm,DGA)定期生成大量新域名進行請求,有效地干擾了黑名單的檢測和維護。
[0003]目前,檢測惡意域名的方法不多。主要有:
[0004]基于域名特征的方法分析域名的靜態(tài)特征,比如TTL,域名長度等,準(zhǔn)確率不高;
[0005]基于統(tǒng)計分析的方法分析域名請求的動態(tài)特征,檢測周期過長,不能快速響應(yīng)病毒的攻擊;
[0006]通過分析病毒的源碼找出隨機算法,這種方法往往有滯后的缺陷,跟不上病毒的更新速度。
[0007]因此,現(xiàn)有的惡意域名檢測方法不能有效地發(fā)現(xiàn)隱藏的蠕蟲病毒。
【發(fā)明內(nèi)容】
[0008]為解決上述當(dāng)前技術(shù)存在的問題,本發(fā)明提供了一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法。另外,本申請還提供一種發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)。基于本發(fā)明的方法和系統(tǒng)。能夠快速和準(zhǔn)確地檢測惡意域名,從而發(fā)現(xiàn)隱藏的蠕蟲病毒。
[0009]本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的方法,具體包含以下步驟:
[0010]步驟一:利用域名特征計算的相關(guān)算法,結(jié)合機器學(xué)習(xí)的支持向量機SVM算法,離線生成域名訓(xùn)練模型;
[0011]步驟二:利用深度包檢測DPI技術(shù)解析域名請求,生成域名庫;
[0012]步驟三:結(jié)合域名訓(xùn)練模型和域名庫,利用域名特征計算的相關(guān)算法和SVM算法,預(yù)測域名的類別,對惡意域名生成黑名單;
[0013]步驟四:利用DPI技術(shù),結(jié)合黑名單,對惡意域名請求產(chǎn)生告警事件。
[0014]進一步地,其中,步驟一中離線生成域名訓(xùn)練模型具體為:
[0015](I)向構(gòu)建訓(xùn)練模型子系統(tǒng)輸入大量的訓(xùn)練數(shù)據(jù),利用特征計算的相關(guān)算法,計算域名的特征值;
[0016](2)利用SVM算法,對特征值歸一化,得到歸一化參數(shù),最后生成域名訓(xùn)練模型。
[0017]進一步地,其中,訓(xùn)練數(shù)據(jù)包含:合法域名和惡意域名。
[0018]進一步地,其中,特征計算包含:計算字符的熵值,分析字符的好念程度,分析字母和數(shù)字的連續(xù)程度,利用n-gram方法進行分析,分析頂級域名。
[0019]進一步地,其中,步驟二中生成域名庫具體為:DPI子系統(tǒng)接收數(shù)據(jù)包,協(xié)議解析模塊對協(xié)議進行解析,生成域名庫。
[0020]進一步地,其中,步驟三中生成黑名單具體為:
[0021](I)生成黑名單模塊利用特征計算的相關(guān)算法計算域名特征值;
[0022](2)利用SVM算法,結(jié)合歸一化參數(shù)把特征值歸一化,結(jié)合域名訓(xùn)練模型預(yù)測域名是否合法,對惡意域名生成黑名單。
[0023]進一步地,其中,步驟四中對惡意域名請求產(chǎn)生告警事件具體為:
[0024]黑名單匹配模塊加載域名黑名單,對惡意域名生成告警事件并上報給界面模塊;
[0025]界面模塊展示惡意域名事件。
[0026]根據(jù)本發(fā)明的一種發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng),該系統(tǒng)布置在監(jiān)控服務(wù)器中,在典型的的網(wǎng)絡(luò)拓撲中,通過旁路模式部署,監(jiān)控服務(wù)器連接網(wǎng)絡(luò)中交換機的鏡像端口,監(jiān)控網(wǎng)絡(luò)中的所有流量,其中,所述發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)包括:構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng);
[0027]其中,構(gòu)建訓(xùn)練模型子系統(tǒng)用于生成訓(xùn)練模型,DPI子系統(tǒng)用于解析域名請求,然后生成域名庫,以及生成域名黑名單和匹配域名黑名單;
[0028]所述構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng)通過文件方式彼此通信,構(gòu)建訓(xùn)練模型子系統(tǒng)的輸出包括域名訓(xùn)練模型文件和歸一化參數(shù)文件是DPI子系統(tǒng)的輸入,DPI子系統(tǒng)在生成域名黑名單階段需要使用域名訓(xùn)練模型和歸一化參數(shù)。
[0029]進一步地,其中,所述構(gòu)建訓(xùn)練模型子系統(tǒng)包括:
[0030]域名特征計算模塊,其用于對大量的合法域名和惡意域名進行特征值計算;以及
[0031]生成域名訓(xùn)練模型模塊,該模塊利用SVM算法,首先對特征值做歸一化,然后生成域名訓(xùn)練模型,得到歸一化參數(shù);
[0032]其中,所述域名特征計算模塊和生成域名訓(xùn)練模型模塊通過文件方式彼此通信,域名特征計算模塊的輸出包括特征值文件是生成域名訓(xùn)練模型模塊的輸入,生成域名訓(xùn)練模型時需要使用特征值。
[0033]進一步地,其中,所述DPI子系統(tǒng)包括:
[0034]界面模塊,其用于展示安全警告;
[0035]核心模塊,其作為協(xié)議解析模塊對協(xié)議進行分析;
[0036]生成黑名單模塊,其利用SVM算法,結(jié)合域名訓(xùn)練模型和歸一化,預(yù)測域名是否合法;
[0037]黑名單匹配模塊,其通過加載域名黑名單,對匹配黑名單的惡意域名產(chǎn)生警告事件;以及
[0038]底層模塊,其作為收包和基本解析模塊來接收數(shù)據(jù)包,并對數(shù)據(jù)包做基本解析;
[0039]其中,所述底層模塊和所述核心模塊彼此通信連接,共享數(shù)據(jù)包解析數(shù)據(jù),所述核心模塊在所述底層模塊解析的基礎(chǔ)上做深度解析;所述核心模塊和所述生成黑名單模塊彼此通信連接,共享數(shù)據(jù)包深度解析數(shù)據(jù)括域名信息,所述生成黑名單模塊預(yù)測域名是否合法;所述生成黑名單模塊和所述黑名單匹配模塊通過文件的方式彼此通信,所述生成黑名單模塊生成黑名單規(guī)則文件,所述黑名單匹配模塊加載黑名單;黑名單模塊和界面模塊彼此通信連接,進程間通信可以采用socket(套接字)方式,黑名單模塊對匹配的惡意域名產(chǎn)生告警事件,上報給界面模塊。
[0040]本申請實施例的技術(shù)方案,能夠快速并且準(zhǔn)確地發(fā)現(xiàn)隱藏的蠕蟲病毒。具體地具有如下創(chuàng)新點:
[0041]把機器學(xué)習(xí)的SVM算法應(yīng)用于惡意域名檢測,實際上是賦予機器以人類的經(jīng)驗來完成復(fù)雜的分類工作;
[0042]域名特征值的分析方法比較新穎和全面,包括計算字符的熵值,好念程度分析,字母和數(shù)字的連續(xù)性分析,n-gram(—種自然語言處理的方法,計算一組詞語出現(xiàn)的頻率)分析,頂級域名分析等;
[0043]黑名單動態(tài)加載機制,使隱藏的蠕蟲病毒能夠被實時,快速地發(fā)現(xiàn)。
【附圖說明】
[0044]圖1為本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的方法的示例性流程圖;
[0045]圖2為根據(jù)本發(fā)明方法構(gòu)建訓(xùn)練模型的示例性流程圖;
[0046]圖3為根據(jù)本發(fā)明的方法生成黑名單的示例性流程圖;
[0047]圖4為本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)中構(gòu)建訓(xùn)練模型子系統(tǒng)的示例性系統(tǒng)架構(gòu);
[0048]圖5為本發(fā)明的發(fā)現(xiàn)隱藏的婦蟲病毒的系統(tǒng)中DPI子系統(tǒng)的不例性系統(tǒng)架構(gòu);
[0049]圖6為本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)應(yīng)用的示例性網(wǎng)絡(luò)拓撲。
【具體實施方式】
[0050]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0051]參照圖1,示出了本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的方法的示例性流程。首先利用域名特征計算的相關(guān)算法,結(jié)合機器學(xué)習(xí)的支持向量機SVM(Support Vector Machine)算法,離線生成域名訓(xùn)練模型。具體地,結(jié)合圖2可以看出,離線構(gòu)建訓(xùn)練模型時,首先輸入大量的合法域名和惡意域名作為訓(xùn)練數(shù)據(jù),利用特征計算的相關(guān)算法,計算域名的特征值;然后利用SVM算法,對特征值歸一化,得到歸一化參數(shù),最后生成域名訓(xùn)練模型。其中,對域名進行特征值計算包含:計算字符的熵值,分析字符串的好念程度,分析字母和數(shù)字的連續(xù)程度,利用n-gram方法進行分析,分析頂級域名。
[0052]利用DPI(深度包檢測)技術(shù)解析域名請求,生成域名庫;結(jié)合域名訓(xùn)練模型和域名庫,利用域名特征計算的相關(guān)算法以及SVM算法,預(yù)測域名的類別,對惡意域名生成黑名單。具體地,結(jié)合圖3可以看出,DPI子系統(tǒng)接收數(shù)據(jù)包,協(xié)議解析模塊對協(xié)議進行解析,生成域名庫;生成黑名單模塊首先利用特征計算的相關(guān)算法計算域名特征值,然后利用SVM算法,結(jié)合歸一化參數(shù)把特征值歸一化,結(jié)合域名訓(xùn)練模型預(yù)測域名是否合法,對惡意域名生成黑名單。
[0053]利用DPI技術(shù),結(jié)合黑名單,對惡意域名請求產(chǎn)生告警事件。具體地,黑名單匹配模塊加載域名黑名單,對惡意域名生成告警事件并上報給WEB模塊;WEB模塊展示惡意域名事件。
[0054]根據(jù)本發(fā)明的一種發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng),其包括:構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng),其中,構(gòu)建訓(xùn)練模型子系統(tǒng)用于生成訓(xùn)練模型,DPI子系統(tǒng)用于解析域名請求,然后生成域名庫,以及生成域名黑名單和匹配域名黑名單;所述構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng)彼此通信連接。
[0055]參見圖4,示出了本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)中構(gòu)建訓(xùn)練模型的示例性系統(tǒng)架構(gòu)。由圖4可以看出,該構(gòu)建訓(xùn)練模型子系統(tǒng)包括:域名特征計算模塊和生成域名訓(xùn)練模型模塊。其中,域名特征計算模塊用于對大量的合法域名和惡意域名進行特征值計算;生成域名訓(xùn)練模型模塊利用SVM算法,首先對特征值做歸一化,然后生成域名訓(xùn)練模型,得到歸一化參數(shù)。所述域名特征計算模塊和生成域名訓(xùn)練模型模塊在構(gòu)建訓(xùn)練模型子系統(tǒng)中彼此通信連接。
[0056]參見圖5,示出了本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)中DPI子系統(tǒng)的示例性系統(tǒng)架構(gòu)。由圖5可以看出,DPI子系統(tǒng)包括:
[0057]界面模塊,即WEB模塊,該米快用于展示安全警告;
[0058]核心模塊,圖5中該核心模塊實施為協(xié)議解析模塊,用于對協(xié)議進行分析;
[0059]生成黑名單模塊,其利用SVM算法,結(jié)合域名訓(xùn)練模型和歸一化,預(yù)測域名是否合法;
[0060]黑名單匹配模塊,其通過加載域名黑名單,對匹配黑名單的惡意域名產(chǎn)生警告事件;以及
[0061 ]底層模塊,在圖5中其具體事實為收包和基本解析模塊,用于接收數(shù)據(jù)包,并對數(shù)據(jù)包做基本解析。
[0062]在所述DPI子系統(tǒng)中,所述界面模塊、核心模塊、生成黑名單模塊、黑名單匹配模塊及底層模塊彼此通信連接。
[0063]最后,參照圖6,示出了本發(fā)明的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)應(yīng)用的示例性網(wǎng)絡(luò)拓撲。其中,發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)布置在監(jiān)控服務(wù)器I中,監(jiān)控服務(wù)器I連接網(wǎng)絡(luò)中交換機2的鏡像端口。當(dāng)Conf icker婦蟲病毒通過例如計算機3的netb1s(網(wǎng)絡(luò)基本輸入輸出系統(tǒng)(Network Basic Input/Output System))或者DNS(域名服務(wù)器)的方式對C&C服務(wù)器4發(fā)起域名請求時,協(xié)議流量能被監(jiān)控服務(wù)器I捕獲到。在監(jiān)控服務(wù)器上運行的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)中的DPI子系統(tǒng)中的底層模塊,接收協(xié)議數(shù)據(jù)包并做基本解析得到基本解析數(shù)據(jù);核心模塊利用基本解析數(shù)據(jù)進行深度解析得到域名信息等數(shù)據(jù);生成黑名單模塊利用SVM算法,結(jié)合域名訓(xùn)練模型和歸一化參數(shù),以及域名信息,預(yù)測域名是否合法,對惡意域名生成黑名單規(guī)則文件;黑名單匹配模塊加載域名黑名單,對匹配黑名單的惡意域名產(chǎn)生警告事件;WEB模塊對產(chǎn)生的警告事件進行顯示。
[0064]以上所述實例僅表達了本發(fā)明的實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利的限制。應(yīng)該指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項】
1.一種發(fā)現(xiàn)隱藏的蠕蟲病毒的方法,其特征在于,包括以下步驟: 步驟一:利用域名特征計算的相關(guān)算法,結(jié)合機器學(xué)習(xí)的支持向量機SVM算法,離線生成域名訓(xùn)練模型; 步驟二:利用深度包檢測DPI技術(shù)解析域名請求,生成域名庫; 步驟三:結(jié)合域名訓(xùn)練模型和域名庫,利用域名特征計算的相關(guān)算法和SVM算法,預(yù)測域名的類別,對惡意域名生成黑名單; 步驟四:利用DPI技術(shù),結(jié)合黑名單,對惡意域名請求產(chǎn)生告警事件。2.根據(jù)權(quán)利要求1所述的方法,其中,步驟一中離線生成域名訓(xùn)練模型具體為: (1)向構(gòu)建訓(xùn)練模型子系統(tǒng)輸入大量的訓(xùn)練數(shù)據(jù),利用特征計算的相關(guān)算法,計算域名的特征值; (2)利用SVM算法,對特征值歸一化,得到歸一化參數(shù),最后生成域名訓(xùn)練模型。3.根據(jù)權(quán)利要求2所述的方法,其中,所述訓(xùn)練數(shù)據(jù)包含:合法域名和惡意域名。4.根據(jù)權(quán)利要求1或2所述的方法,其中,特征計算包含:計算字符的熵值,分析字符的好念程度,分析字母和數(shù)字的連續(xù)程度,利用n-gram方法進行分析,分析頂級域名。5.根據(jù)權(quán)利要求1所述的方法,其中,步驟二中生成域名庫具體為:DPI子系統(tǒng)接收數(shù)據(jù)包,協(xié)議解析模塊對協(xié)議進行解析,生成域名庫。6.根據(jù)權(quán)利要求1所述的方法,其中,步驟三中生成黑名單具體為: (1)生成黑名單模塊利用特征計算的相關(guān)算法計算域名特征值; (2)利用SVM算法,結(jié)合歸一化參數(shù)把特征值歸一化,結(jié)合域名訓(xùn)練模型預(yù)測域名是否合法,對惡意域名生成黑名單。7.根據(jù)權(quán)利要求1所述的方法,其中,步驟四中對惡意域名請求產(chǎn)生告警事件具體為: 黑名單匹配模塊加載域名黑名單,對惡意域名生成告警事件并上報給界面模塊; 界面模塊展示惡意域名事件。8.—種發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng),其特征在于,該系統(tǒng)布置在監(jiān)控服務(wù)器中,在典型的的網(wǎng)絡(luò)拓撲中,通過旁路模式部署,監(jiān)控服務(wù)器連接網(wǎng)絡(luò)中交換機的鏡像端口,監(jiān)控網(wǎng)絡(luò)中的所有流量,其中,所述發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng)包括:構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng); 其中,構(gòu)建訓(xùn)練模型子系統(tǒng)用于生成訓(xùn)練模型,DPI子系統(tǒng)用于解析域名請求,然后生成域名庫,以及生成域名黑名單和匹配域名黑名單; 所述構(gòu)建訓(xùn)練模型子系統(tǒng)和深度包檢測DPI子系統(tǒng)通過文件方式彼此通信,構(gòu)建訓(xùn)練模型子系統(tǒng)的輸出包括域名訓(xùn)練模型文件和歸一化參數(shù)文件是DPI子系統(tǒng)的輸入,DPI子系統(tǒng)在生成域名黑名單階段需要使用域名訓(xùn)練模型和歸一化參數(shù)。9.根據(jù)權(quán)利要求8所述的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng),其中所述構(gòu)建訓(xùn)練模型子系統(tǒng)包括: 域名特征計算模塊,其用于對大量的合法域名和惡意域名進行特征值計算;以及 生成域名訓(xùn)練模型模塊,該模塊利用SVM算法,首先對特征值做歸一化,然后生成域名訓(xùn)練模型,得到歸一化參數(shù); 其中,所述域名特征計算模塊和生成域名訓(xùn)練模型模塊通過文件方式彼此通信,域名特征計算模塊的輸出包括特征值文件是生成域名訓(xùn)練模型模塊的輸入,生成域名訓(xùn)練模型時需要使用特征值。10.根據(jù)權(quán)利要求8所述的發(fā)現(xiàn)隱藏的蠕蟲病毒的系統(tǒng),其中,所述DPI子系統(tǒng)包括: 界面模塊,其用于展示安全警告; 核心模塊,其作為協(xié)議解析模塊對協(xié)議進行分析; 生成黑名單模塊,其利用SVM算法,結(jié)合域名訓(xùn)練模型和歸一化,預(yù)測域名是否合法; 黑名單匹配模塊,其通過加載域名黑名單,對匹配黑名單的惡意域名產(chǎn)生警告事件;以及 底層模塊,其作為收包和基本解析模塊來接收數(shù)據(jù)包,并對數(shù)據(jù)包做基本解析; 其中,所述底層模塊和所述核心模塊彼此通信連接,共享數(shù)據(jù)包解析數(shù)據(jù),所述核心模塊在所述底層模塊解析的基礎(chǔ)上做深度解析;所述核心模塊和所述生成黑名單模塊彼此通信連接,共享數(shù)據(jù)包深度解析數(shù)據(jù)括域名信息,所述生成黑名單模塊預(yù)測域名是否合法;所述生成黑名單模塊和所述黑名單匹配模塊通過文件的方式彼此通信,所述生成黑名單模塊生成黑名單規(guī)則文件,所述黑名單匹配模塊加載黑名單;黑名單模塊和界面模塊彼此通信連接,進程間通信可以采用socket方式,黑名單模塊對匹配的惡意域名產(chǎn)生告警事件,上報給界面模塊。
【文檔編號】H04L29/06GK105939340SQ201610169390
【公開日】2016年9月14日
【申請日】2016年3月23日
【發(fā)明人】孫易安
【申請人】北京匡恩網(wǎng)絡(luò)科技有限責(zé)任公司