基于http報文數據的并行化網絡異常檢測方法與系統的制作方法
【專利說明】
[0001 ] 技術領域:
本發明涉及網絡安全應用領域,尤其涉及基于HTTP報文數據的并行化網絡異常檢測方法與系統。
[0002]【背景技術】:
目前,網絡異常已經成為國內乃至全世界的網絡安全領域最為關注的危害之一。伴隨著網絡應用的迅速發展,網絡異常帶來的危害和影響也日益突顯。根據CNCERT統計,SQL注入攻擊、跨站點腳本攻擊等主要網絡攻擊已經占網絡安全事件的一半以上。網絡異常一方面影響用戶的正常享受網絡服務,對網絡服務提供商造成巨大的經濟危害和信用危害,另一方面會竊取用戶的隱私信息,甚至威脅到用戶的資金安全和信息安全,危害巨大。
[0003]網絡異常中的SQL注入、XSS等主要異常雖然攻擊具體實現技術各不相同,但它們具有通用的攻擊發起模式。即通過對參數進行注入payload來進行攻擊,參數可能出現在GET、P0ST、PATH等等位置。因此,針對請求URL中的參數進行挖掘分析,是解決網絡異常的一個重要突破口。已有的網絡異常檢測主要采用濫用檢測方法和異常檢測方法。濫用檢測方法是利用預先定義的攻擊特征來檢測攻擊,這種方法的準確率高,可應用于商業的入侵檢測;它的缺點是:一方面需要手動定義不同的攻擊特征模式,另一方面它無法有效應對新出現的攻擊類型。異常檢測方法學習訪問的正常行為并建立正常訪問的行為特征,檢測并發現偏離正常訪問的行為。異常檢測方法的缺點是,對異常訪問較為敏感,檢測的錯誤率較尚O
[0004]
【發明內容】
:
針對上述問題,本發明要解決的技術問題是提供基于HTTP報文數據的并行化網絡異常檢測方法與系統。
[0005]本發明的基于HTTP報文數據的并行化網絡異常檢測方法與系統,其特征在于:包括以下步驟:
a.獲取HTTP報文數據;
b.對HTTP報文數據進行數據清洗并入庫;
c.對入庫的報文數據進行分層抽樣,引入隱馬爾科夫語法模型構建組合分類器并構建模糊化集合;
d.使用組合分類器作為檢測模型,引入模糊化集合動態判斷待檢測樣本是否為異常訪問記錄,輸出異常訪問記錄。
[0006]優選的,所述HTTP報文數據包括記錄標識、日期、時間、源IP點分式、請求URL的域名、路徑、參數、HTTP訪問的狀態碼和HTTP請求方式。
[0007]優選的,所述步驟b中數據清洗是基于HADOOP分布式計算框架,對HTTP報文數據進行清洗、入庫,清洗后的HTTP報文數據包括源IP點分式、請求URL的域名、請求URL的路徑、請求URL的參數、訪問次數和日期,對參數嘗試使用GBK、UTF-8、GB2312進行解碼,進一步根據報文記錄中的訪問日期、源IP、請求URL的域名和請求URL的參數進行記錄分組并統計頻次。
[0008]優選的,所述步驟c中分層抽樣是對樣本記錄進行抽樣,每個IP每天抽取一條記錄作為訓練樣本,以減少訓練的計算復雜度,然后對抽取訓練樣本中的參數值和參數序列,弓丨入隱馬爾科夫語法模型并行的構造正常參數值和正常參數序列的語法模型,將不同參數的隱馬爾科夫語法模型組成對應的隱馬爾科夫組合分類器。
[0009]優選的,所述步驟d中組合分類器是作為檢測模型,對待檢測樣本進行檢測,計算得到待檢測樣本的評估概率值,為提高評估的正確率,引入模糊化集合,依據評估概率值進行模糊化和推理,判斷該樣本是否為異常訪問記錄。
[0010]本發明的基于HTTP報文數據的并行化網絡異常檢測系統,包括:
數據采集單元,用于獲取HTTP報文數據;
數據清洗單元,用于對HTTP報文數據進行清洗并入庫;
數據訓練單元,用于對入庫的報文數據進行分層抽樣,引入隱馬爾科夫語法模型構建組合分類器并構建模糊化集合;
數據檢測單元,用于使用組合分類器作為檢測模型,引入模糊化集合動態判斷待檢測樣本是否為異常訪問記錄,輸出異常訪問記錄。
[0011]優選的,所述數據采集單元是通過架設HTTP報文采集服務器、鏡像交換機以及光電轉換等設備,實現HTTP報文數據的采集。
[0012]本發明有益效果:本發明基于HADOOP大數據分析平臺,可以全量分析HTTP報文數據,發現數據中隱藏的網絡異常;分析確定發起攻擊的IP地址,可以針對IP地址進行封殺,使得已發生的網絡異常減少影響范圍。此外,通過源IP進行回溯,還可以通過與IP資源比對,進一步挖掘發起攻擊的終端的地理位置等社會信息,使得源頭上阻止網絡攻擊發生變成可能。
[0013]【附圖說明】:
為了易于說明,本發明由下述的具體實施及附圖作以詳細描述。
[0014]圖1是本發明基于HTTP報文數據的并行化網絡異常分析方法的業務流程圖;
圖2是本發明基于HTTP報文數據的并行化網絡異常分析方法的數據流程圖;
圖3是本發明基于HTTP報文數據的并行化網絡異常分析方法的數據清洗的流程示意圖;
圖4是本發明基于HTTP報文數據的并行化網絡異常分析系統的模塊示意圖。
[0015]【具體實施方式】:
為使本發明的目的、技術方案和優點更加清楚明了,下面通過附圖中示出的具體實施例來描述本發明。但是應該理解,這些描述只是示例性的,而并非要限制本發明的范圍。此夕卜,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本發明的概念。
[0016]如圖1-4所示,本實施例的基于HTTP報文數據的并行化網絡異常檢測方法,其特征在于:包括以下步驟:
a.獲取HTTP報文數據;
b.對HTTP報文數據進行數據清洗并入庫;
c.對入庫的報文數據進行分層抽樣,引入隱馬爾科夫語法模型構建組合分類器并構建模糊化集合;
d.使用組合分類器作為檢測模型,引入模糊化集合動態判斷待檢測樣本是否為異常訪問記錄,輸出異常訪問記錄。
[0017]具體地,HTTP報文數據包括記錄標識、日期、時間、源IP點分式、請求URL的域名、路徑、參數、HTTP訪問的狀態碼和HTTP請求方式。
[0018]具體地,檢測方法包含三個主要的數據處理過程,第一、數據清洗;第二、引入隱馬爾科夫語法模型并行構建檢測模型;第三、根據檢測模型評估待檢測記錄。詳細針對以上結構說明,步驟2中,基于HADOOP分布式計算框架,對HTTP報文數據進行清洗并入庫。
[0019]數據清洗使用MapReduce計算實現,分為兩個MapReduce程序。MapReduce程序一包含Mapper階段,無Reducer階段。Mapper階段將原始的HTTP報文數據作為計算輸入,其主要功能是去除不相關的字段、對參數值解碼。
[0020]MapReduce程序二分為Mapper階段和Reducer階段。Mapper階段對報文數據進行分片并分配到集群環境上并行運行。以源IP+日期+請求的URL作為KEY進行統計。Reducer階段將Mapper階段的輸出根據KEY值進行規約統計,最終輸出清洗后的HTTP報文數據。
[0021]清洗前的HTTP報文數據包括:記錄標識、日期、時間、源IP點分式、請求URL的域名、路徑、參數、HTTP訪問的狀態碼、HTTP請求方式;
清洗后的HTTP報文數據包括:源IP點分式、請求URL的域名、請求URL的路徑、請求URL的參數、訪問次數、日期。
[0022]步驟3中,抽樣選取報文記錄、引入隱馬爾科夫語法模型并行建立請求URL參數的檢測模型、將不同參數的隱馬爾科夫語法模型組成對應的隱馬爾科夫組合分類器。
[0023]訓練模型由三個過程組成。I)在HADOOP平臺上,對樣本記錄按照IP字段分片,作并行分層抽樣操作,保證每個源IP每天針對某一個請求只提供一個樣本,得到訓練樣本集合B= Ib^b2,引入隱馬爾科夫語法模型建立請求URL參數的訪問記錄的正常模型。對請求URL樣本bi(l < i < η)進行分割,得到請求的域名、路徑、參數。針對請求的不同參數在HADOOP平臺的不同節點并行建立隱馬爾科夫語法模型。請求的參數可作為一個字符序列Sequence。設bi中包含的參數集合為P= {pi,p2,…,Pm},則請求記錄中包含字符序列Sequence=Kpi,vi),(P2,V2),…,(Pm, vn)}。其中,Pj對應某個參數名稱,Vj對應某個參數值。對于bi的參數名稱,{ Pl,P2,…,Pm}組成一個狀態序列SQi,每一個參數名稱通過編碼對應該序列中的一個狀態,對參數名稱序列建立隱馬爾科夫語法模型Mq1。對于bl的參數值,