本發(fā)明屬于互聯(lián)網(wǎng)領(lǐng)域,更具體地來說,設(shè)計(jì)一種基于大數(shù)據(jù)的網(wǎng)絡(luò)流量異常實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。
背景技術(shù):
1、信息時(shí)代的網(wǎng)絡(luò)安全問題
隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大以及各類網(wǎng)絡(luò)應(yīng)用的持續(xù)深化,互聯(lián)網(wǎng)已經(jīng)成為人們生活中不可或缺的基礎(chǔ)設(shè)施。但與此同時(shí),各類網(wǎng)絡(luò)攻擊日益猖獗,嚴(yán)重威脅著互聯(lián)網(wǎng)的安全。例如2014年1月21日國內(nèi)通用頂級(jí)域的根服務(wù)器忽然出現(xiàn)異常,導(dǎo)致眾多知名網(wǎng)站出現(xiàn)dns解析故障,用戶無法正常訪問事故發(fā)生期間,超過85%的用戶遭遇了dns故障,引發(fā)網(wǎng)速變慢和打不開網(wǎng)站的情況;2015年4月中旬,阿里安全研究實(shí)驗(yàn)室近日發(fā)現(xiàn)一個(gè)名為“wifi殺手”的安卓系統(tǒng)漏洞。利用該漏洞,黑客可對(duì)開啟了wifi的安卓手機(jī)遠(yuǎn)程攻擊,竊取手機(jī)內(nèi)的照片、通訊錄等重要信息,影響市面上大部分安卓設(shè)備。如何防護(hù)對(duì)計(jì)算機(jī)和網(wǎng)絡(luò)資源的惡意使用與破壞成了當(dāng)前亟待解決的問題。
2、網(wǎng)絡(luò)安全產(chǎn)品現(xiàn)狀
安裝防火墻和入侵檢測(cè)系統(tǒng)等網(wǎng)絡(luò)安全產(chǎn)品已經(jīng)成為一種通用防護(hù)措施。網(wǎng)絡(luò)防火墻能夠強(qiáng)化安全策略,有效記錄internet上的活動(dòng),同時(shí)也是個(gè)安全的檢查站,但是防火墻不僅容易被攻破,而且無法應(yīng)對(duì)來自本網(wǎng)絡(luò)內(nèi)部的攻擊?;趙eb的入侵檢測(cè)系統(tǒng)是目前最流行的web主動(dòng)安全防護(hù)技術(shù),它能夠檢測(cè)到外部攻擊與合法用戶濫用特權(quán)的情況,在最大程度上彌補(bǔ)防火墻的缺陷,然而黑客通過一些適應(yīng)性策略可以使檢測(cè)不起作用。
3、流量監(jiān)控方法
傳統(tǒng)的流量監(jiān)控方法一般分為三個(gè)步驟:流量引流、協(xié)議重組及后臺(tái)內(nèi)容分析。引流分類單元按照協(xié)議類型將收到的數(shù)據(jù)包發(fā)給不同的協(xié)議重組單元,協(xié)議重組單元還原應(yīng)用層信息,隨后將還原的應(yīng)用層信息連同時(shí)間標(biāo)簽、鏈路信息等發(fā)送至后臺(tái)內(nèi)容分析單元進(jìn)行分析。后臺(tái)內(nèi)容分析對(duì)還原的應(yīng)用層信息進(jìn)行熱點(diǎn)統(tǒng)計(jì)、互聯(lián)網(wǎng)信息分析等。從而采取一定的措施抑制網(wǎng)絡(luò)攻擊。
在此基礎(chǔ)上,可以引入統(tǒng)一資源定位符(url),在預(yù)定時(shí)間內(nèi)對(duì)url的請(qǐng)求次數(shù)進(jìn)行統(tǒng)計(jì)以確定熱點(diǎn)url,主動(dòng)抓取url對(duì)應(yīng)的資源,對(duì)其內(nèi)容進(jìn)行分析,達(dá)到流量監(jiān)控的目的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問題。提出了一種使系統(tǒng)實(shí)時(shí)性更強(qiáng),實(shí)時(shí)在線進(jìn)行網(wǎng)絡(luò)抓包與及時(shí)響應(yīng)使系統(tǒng)具有更好的實(shí)用性的基于大數(shù)據(jù)的網(wǎng)絡(luò)流量異常實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。本發(fā)明的技術(shù)方案如下:
一種基于大數(shù)據(jù)的網(wǎng)絡(luò)流量異常實(shí)時(shí)監(jiān)測(cè)系統(tǒng),其包括:
數(shù)據(jù)采集模塊:用于把嗅探器工具分布式放置于網(wǎng)絡(luò)中,實(shí)時(shí)抓取網(wǎng)絡(luò)數(shù)據(jù)包信息并發(fā)送給url處理模塊(702);
url處理模塊:用于根據(jù)接收的網(wǎng)絡(luò)數(shù)據(jù)包信息,對(duì)統(tǒng)一資源定位符對(duì)url進(jìn)行特征提取,并轉(zhuǎn)發(fā)給url分析模塊;
url分析模塊:對(duì)大量url數(shù)據(jù)進(jìn)行有監(jiān)督學(xué)習(xí),得到能夠通過對(duì)url進(jìn)行分析判定出訪問性質(zhì)的模型;將提取過有效信息的url輸入模型,經(jīng)過多個(gè)分類器分類打標(biāo),確定該url的訪問性質(zhì);
及時(shí)響應(yīng)模塊(704):在確定url的訪問性質(zhì)后及時(shí)響應(yīng)前端,在監(jiān)測(cè)到訪問異常的情況下及時(shí)對(duì)用戶作出警示,同時(shí)可視化呈現(xiàn)攻擊次數(shù)與形式。
進(jìn)一步的,所述url處理模塊中對(duì)url進(jìn)行特征提取處理,具體方法如下:去除“#”后的無效數(shù)據(jù);將剩余片段按“?”進(jìn)行切割;分理出文件路徑片段,以“/”與“=”劃分;查詢部分以“&”與“=”劃分;將劃分所得的參數(shù)與值分別放入處理函數(shù)中進(jìn)行正則匹配,處理完畢后的片段即為模型需要的url信息片段。
進(jìn)一步的,所述數(shù)據(jù)采集模塊與url處理模塊間設(shè)置了一個(gè)用于減小服務(wù)器負(fù)擔(dān)的cache層。
進(jìn)一步的,所述url分析模塊將提取過有效信息的url輸入模型,經(jīng)過多個(gè)分類器的分類打標(biāo),確定該url的訪問性質(zhì)具體包括:分別選取以下特征進(jìn)行分類打標(biāo):url參數(shù)值的長(zhǎng)度異常值:字符分布,利用統(tǒng)計(jì)學(xué)中的卡方檢驗(yàn)計(jì)算字符分布的異常值α;枚舉類型,計(jì)算屬性值的輸入屬于所枚舉異常類型的情況;關(guān)鍵詞抽取,尋找相同訪問性質(zhì)的url共同特征,在掃描所有url數(shù)據(jù)后,對(duì)所有物理位置相鄰的字符串進(jìn)行頻次記錄,篩除頻次過低的字符串后對(duì)剩余字符串做互信息計(jì)算。
進(jìn)一步的,所述url參數(shù)值的長(zhǎng)度異常值,利用統(tǒng)計(jì)學(xué)中的切比雪夫不等式以及長(zhǎng)度的均值與方差可以計(jì)算出長(zhǎng)度的異常值p,
其中x為url參數(shù)值的長(zhǎng)度;μ為長(zhǎng)度均值,σ2為長(zhǎng)度方差,k表示標(biāo)準(zhǔn)差個(gè)數(shù);
進(jìn)一步的,所述字符分布利用統(tǒng)計(jì)學(xué)中的卡方檢驗(yàn)計(jì)算字符分布的異常值α具體包括:對(duì)于字符串{s1,s2,…,sn},cd(s)i表示cd(s)中的第i個(gè)概率值,icdi表示icd中的第i個(gè)概率值,則
進(jìn)一步的,所述枚舉類型,計(jì)算屬性值的輸入屬于枚舉類型異常的情況,所述定義函數(shù)f和g,函數(shù)f是線性遞增函數(shù),g(x)表示樣本函數(shù),當(dāng)依次輸入訓(xùn)練樣本時(shí),倘若遇到新樣本則g加1,否則g減1。
f(x)=x
當(dāng)所有樣本都學(xué)習(xí)結(jié)束后得到的函數(shù)f和g的相關(guān)系數(shù)ρ可由下面的公式定義:
其中var(f)和var(g)分別是函數(shù)f和g的方差,covar(f,g)是函數(shù)f和g的協(xié)方差。
進(jìn)一步的,所述關(guān)鍵詞抽取互信息體現(xiàn)了字符串內(nèi)部結(jié)合方式是否緊密,其計(jì)算公式如下:
其中,p(s1s2s3)表示字符串s1s2s3出現(xiàn)的概率,p(s1s2)、p(s2s3)含義相仿。
進(jìn)一步的,此外,還需要計(jì)算字符串鄰字的左右鄰字豐富程度,,其左右鄰字的豐富程度可以使用信息熵獲得
進(jìn)一步的,所述及時(shí)響應(yīng)模塊中對(duì)用戶的及時(shí)響應(yīng),具體方法如下:實(shí)時(shí)數(shù)據(jù)訓(xùn)練得到分類標(biāo)簽后,判斷該url是否異常,在監(jiān)測(cè)到異常訪問時(shí),針對(duì)個(gè)人用戶,防御插件彈出警告提示,建議不再繼續(xù)訪問;針對(duì)服務(wù)器管理員,系統(tǒng)提示服務(wù)器受到攻擊,攻擊地址顯示在首頁地圖上,近期遭受的攻擊形式及其次數(shù)以折線圖形式顯示在界面上。
本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
本發(fā)明對(duì)在復(fù)雜環(huán)境下的網(wǎng)絡(luò)異常流量進(jìn)行實(shí)時(shí)監(jiān)測(cè)。對(duì)url進(jìn)行準(zhǔn)確切片,同時(shí)有效的進(jìn)行特征提取,如長(zhǎng)度異常值、字符分布等,以免誤判訪問性質(zhì)。bagging集成多模型有監(jiān)督學(xué)習(xí)相確保了模型的可靠性。采用時(shí)間復(fù)雜度相對(duì)較小的算法——gbdt、決策樹等、使系統(tǒng)實(shí)時(shí)性更強(qiáng),實(shí)時(shí)在線進(jìn)行網(wǎng)絡(luò)抓包與及時(shí)響應(yīng)使系統(tǒng)具有更好的實(shí)用性,與此同時(shí),良好的人機(jī)交互界面更是使系統(tǒng)的使用簡(jiǎn)單、便捷。
附圖說明
圖1是本發(fā)明提供優(yōu)選實(shí)施例的為本發(fā)明網(wǎng)頁版展示圖
圖2為本發(fā)明移動(dòng)客戶端應(yīng)用界面圖
圖3為本發(fā)明url信息提取示例圖
圖4為本發(fā)明數(shù)據(jù)分析模塊結(jié)構(gòu)示意圖
圖5為本發(fā)明bagging框架集成流程圖
圖6為本發(fā)明實(shí)時(shí)數(shù)據(jù)預(yù)測(cè)流程圖
圖7為本發(fā)明系統(tǒng)的整體結(jié)構(gòu)圖
圖8為本發(fā)明數(shù)據(jù)采集模塊示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、詳細(xì)地描述。所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
本發(fā)明提出了一個(gè)用于網(wǎng)絡(luò)流量異常實(shí)時(shí)監(jiān)測(cè)的系統(tǒng)。圖8所示為本系統(tǒng)的整體結(jié)構(gòu)圖。圖1、圖2、圖3所示為系統(tǒng)的網(wǎng)頁、移動(dòng)客戶端應(yīng)用界面與插件展示圖。將大量的已知訪問性質(zhì)的url數(shù)據(jù)提取有效信息后,進(jìn)行多模型有監(jiān)督學(xué)習(xí),得到具有極高準(zhǔn)確性的分類器。在網(wǎng)絡(luò)上實(shí)時(shí)抓取數(shù)據(jù)包信息,獲得url數(shù)據(jù),將其解析為有意義的無害形式。將所得有效信息傳入事先訓(xùn)練好的分類器,進(jìn)行訪問性質(zhì)的辨別,在監(jiān)測(cè)出異常訪問情況時(shí),web與移動(dòng)客戶端對(duì)信息進(jìn)行可視化處理,更新實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)。保護(hù)插件對(duì)異常訪問進(jìn)行攔截。
整個(gè)流量監(jiān)測(cè)系統(tǒng)的重要過程包括:數(shù)據(jù)采集模塊,url有效信息的提取,分類器的訓(xùn)練,在線分析url,及時(shí)響應(yīng)。
一、數(shù)據(jù)采集模塊
嗅探器廣泛應(yīng)用于所有能夠捕獲和分析網(wǎng)絡(luò)流量的產(chǎn)品。在數(shù)據(jù)采集模塊的設(shè)計(jì)中把嗅硬件探器分布式放于網(wǎng)絡(luò)中,每一個(gè)嗅探器為一個(gè)數(shù)據(jù)采集點(diǎn),最終實(shí)現(xiàn)全局網(wǎng)絡(luò)的數(shù)據(jù)采集。對(duì)于大數(shù)據(jù)、高并發(fā)的服務(wù)器訪問來說,數(shù)據(jù)庫存取瓶頸一直是個(gè)令人頭疼的問題。所以在數(shù)據(jù)采集模塊與數(shù)據(jù)處理模塊間加了一個(gè)cache層,減小了服務(wù)器的負(fù)擔(dān),增加了處理效率。
二、url有效信息的提取
url通常由三部分組成:資源類型、存放資源的主機(jī)域名、資源文件名,其中包含了大量的有效信息。例如,在“http://www.google.com”這個(gè)url中可以了解到客戶端通過http協(xié)議發(fā)起通信,其主機(jī)地址為www.google.com。協(xié)議定義了url中的數(shù)據(jù)路徑,后面是可選的查詢與信息碎片。路徑是個(gè)分層結(jié)構(gòu),每個(gè)文件夾以“/”分割,最后是文件。同時(shí)路徑片段還有可選的path參數(shù),參數(shù)名與值以“=”分隔。路徑之后是查詢部分,與路徑之間以一個(gè)“?”隔開,查詢部分包含了一個(gè)由“&”分割開的參數(shù)列表,參數(shù)名與值同樣用“=”分開。最后部分是個(gè)段落,指向html文件中的某個(gè)部分。
為了提取url的有效信息,本文對(duì)url進(jìn)行了如下處理:
1)首先需去除符號(hào)“#”后的無效數(shù)據(jù);
2)將剩余片段按符號(hào)“?”進(jìn)行切割,
3)分理出文件路徑片段,以符號(hào)“/”與符號(hào)“=”劃分;
4)查詢部分以符號(hào)“&”與符號(hào)“=”劃分;
5)將3)、4)劃分所得的參數(shù)與值分別放入處理函數(shù)中進(jìn)行正則匹配。處理函數(shù)會(huì)將數(shù)字用日期與時(shí)間代替,亂符更換為“$0”,長(zhǎng)度小于10的小寫字母組成的字符串改為“s”,長(zhǎng)度大于2的“ox”開頭的字符串改為“ox1234”,多個(gè)空格縮為一個(gè)空格。處理完畢后的片段即為模型需要的url信息片段。圖4為url信息提取示例圖。
三、分類器的訓(xùn)練
將已有的大量url數(shù)據(jù)提取有效信息后,開始訓(xùn)練分類器。
1)特征構(gòu)造:眾所周知,特征工程的構(gòu)造嚴(yán)重影響著模型的有效性與準(zhǔn)確率。本文分別選?。?/p>
a.url參數(shù)值的長(zhǎng)度異常值:利用統(tǒng)計(jì)學(xué)中的切比雪夫不等式以及長(zhǎng)度的均值與方差可以計(jì)算出長(zhǎng)度的異常值p,
其中μ為長(zhǎng)度均值,σ2為長(zhǎng)度方差,k表示標(biāo)準(zhǔn)差個(gè)數(shù);
b.字符分布:利用統(tǒng)計(jì)學(xué)中的卡方檢驗(yàn)計(jì)算字符分布的異常值α。對(duì)于字符串{s1,s2,…,sn},cd(s)i表示cd(s)中的第i個(gè)概率值,icdi表示icd中的第i個(gè)概率值,則
c.枚舉類型:某個(gè)屬性值的合法輸入屬于枚舉類型的情況非常普遍,例如“gender”屬性的合法參數(shù)是“{male,female}”,任何不屬于這兩種情況的輸入都應(yīng)該屬于異常情況。定義函數(shù)f和g,函數(shù)f是線性遞增函數(shù),當(dāng)依次輸入訓(xùn)練樣本時(shí),倘若遇到新樣本則g加1,否則g減1。
f(x)=x
當(dāng)所有樣本都學(xué)習(xí)結(jié)束后得到的函數(shù)f和g的相關(guān)系數(shù)ρ可由下面的公式定義:
其中var(f)和var(g)分別是函數(shù)f和g的方差,covar(f,g)是函數(shù)f和g的協(xié)方差;
d.關(guān)鍵詞抽取:為了尋找相同訪問性質(zhì)的url共同特征,對(duì)同訪問類型的url做關(guān)鍵詞抽取顯得尤為重要。在掃描所有url數(shù)據(jù)后,對(duì)所有物理位置相鄰的字符串進(jìn)行頻次記錄。篩除頻次過低的字符串后對(duì)剩余字符串做互信息計(jì)算。互信息體現(xiàn)了字符串內(nèi)部結(jié)合方式是否緊密,其計(jì)算公式如下:
其中,p(s1s2s3)表示字符串s1s2s3出現(xiàn)的概率,p(s1s2)、p(s2s3)含義相仿。
此外,還需要計(jì)算字符串鄰字的左右鄰字豐富程度,左右鄰字越豐富,該字符串在數(shù)據(jù)集中就越靈活,是該種url關(guān)鍵詞的可能性就越大。其左右鄰字的豐富程度可以使用信息熵獲得
將特征擴(kuò)展到總數(shù)據(jù)集,分別用xgboost、rf、lightgbm、lr算法進(jìn)行有監(jiān)督學(xué)習(xí),并用bagging框架集成分類器得到分類模型,表1為機(jī)器學(xué)習(xí)算法實(shí)驗(yàn)準(zhǔn)確率對(duì)照表。圖5為分類器構(gòu)造流程圖。圖6為bagging框架集成流程圖。
表1機(jī)器學(xué)習(xí)算法實(shí)驗(yàn)準(zhǔn)確率對(duì)照表
四、url在線分析
將實(shí)時(shí)抓取的url數(shù)據(jù)進(jìn)行有效信息提取后,輸入分類器,針對(duì)不同訪問性質(zhì)的五個(gè)子模型會(huì)分別給出分類結(jié)果及其預(yù)測(cè)準(zhǔn)確率,綜合比較子模型預(yù)測(cè)結(jié)果,取預(yù)測(cè)準(zhǔn)確率最大的分類標(biāo)簽作為實(shí)時(shí)數(shù)據(jù)的訪問性質(zhì)回饋給前端。圖7為實(shí)時(shí)數(shù)據(jù)預(yù)測(cè)流程圖。
五、及時(shí)響應(yīng)
通過通信串口,可視化模塊顯示數(shù)據(jù)處理模塊所提供的數(shù)據(jù)結(jié)果。針對(duì)個(gè)人用戶,倘若該url符合已知四種攻擊形式,則插件彈出警告提示,建議不再繼續(xù)訪問;針對(duì)服務(wù)器管理員,系統(tǒng)會(huì)提示服務(wù)器受到攻擊,攻擊地址將顯示在首頁地圖上,web可視化模塊提供了一個(gè)完整的網(wǎng)絡(luò)全局實(shí)時(shí)攻擊情況,近期遭受的攻擊形式及其次數(shù)以折線圖形呈現(xiàn)。
以上這些實(shí)施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。