專利名稱:基于網絡流聚類檢測p2p僵尸網絡結構的方法
技術領域:
本發明涉及一種發現網絡結構的方法,更特別地說,是指一種基于網絡流聚類 檢測P2P僵尸網絡結構的方法。
背景技術:
僵尸網絡(Botnets)是大量未經授權控制計算機資源,能夠接受遠程控制命令執 行相應操作的計算機程序所組成的網絡。它是一種從傳統惡意代碼形態進化而來的新型 攻擊方式,為攻擊者提供了隱匿、靈活且高效的一對多命令與控制機制,可以控制大量 僵尸主機實現信息竊取、分布式拒絕服務攻擊和垃圾郵件發送等攻擊目的;其中,一對 多的命令與控制機制是它的本質特征。攻擊者是指通過使用計算機網絡采取行動擾亂、 阻止、削弱或毀壞駐留在計算機及其計算機網絡上的信息或計算機及其網絡自身的計算 機或人。防御者是指在計算機網絡及其信息系統內,采取一系列行動保護、監視、分 析、檢測和響應未經授權活動的人。僵尸網絡的命令與控制機制有多種模式集中式、P2P模式和隨機模式。P2P 僵尸網絡的特點是節點(僵尸進程)之間是一種對等關系,網絡中不存在典型的命令與控 制服務器,網絡中的servent節點既可以作為客戶端,又可以作為服務器端。相對于集中 式的僵尸網絡,P2P僵尸網絡不容易被檢測發現,具有更強的隱蔽性。參見圖1所示,圖中包括有A節點、B節點、C節點、D節點、E節點、F節 點、G節點、H節點、和I節點共計9個節點,A I節點之間通過命令與控制活動C&C 構成P2P僵尸網絡結構。攻擊者可以通過預先設定的某些節點來傳遞攻擊指令AIn,P2P 僵尸網絡中的節點則可以通過命令與控制活動C&C將攻擊指令AIn傳播至所述網絡中的 每一個節點;網絡中的所有節點將解釋所述的攻擊指令AIn并執行相應的攻擊活動AA, 所述的攻擊活動AA將對被攻擊者的網絡、信息系統等造成損害。
發明內容
本發明的目的是提出一種基于網絡流聚類檢測P2P僵尸網絡結構的方法,該方 法通過實時通信數據采集模塊、數據報記錄過濾模塊、網絡流抽取模塊、網絡流記錄過 濾模塊、網絡流聚類模塊、數據關聯和結果顯示模塊的順序執行完成了對P2P僵尸網絡 結構的檢測,其基本思想是防御者利用P2P僵尸網絡節點間命令與控制通信的規律性, 即持續時間、數據報數量、字節數量等具有特征,通過識別被監控網絡通信數據中的命 令與控制通信來確定被監控網絡中的P2P僵尸網絡節點和節點間的命令與控制關系,進 而給出P2P僵尸網絡結構;本發明的主要創新點在于通過聚類方法將具有相似特征的通 信網絡流聚集在一起,與命令與控制通信特征集中的特征對比,區別正常通信與P2P僵 尸網絡通信,從而達到檢測P2P僵尸網絡結構的目的。本發明的一種基于網絡流聚類檢測P2P僵尸網絡結構的方法,該方法包括有下列檢測步驟步驟1 采集實時通信數據實時通信數據采集模塊首先從被監控網絡中獲取該被監控網絡的IP數據報 IPD,并從所述的IP數據報IPD中提取出關鍵字段KF = {SIP,DIP, SPT, DPT, IHL, ITL,THL, PTL};然后記錄下當前采集IP數據報IPD的采集時間Tt ;最后將所述的關 鍵字段 KF = {SIP,DIP, SPT, DPT, IHL, ITL, THL, PTL}中的源 IP 地址 SIP、目 的IP地址DIP、源端口號SPT、目的端口號DPT、IP數據報協議字段類型PTL,以及采集 時間Tt、應用層報文長度AML表示為一條數據報記錄PR存儲于數據報記錄表PRT中; 所述數據報記錄PR按照數學中的元組形式表示為PR= (SIP, DIP, SPT, DPT, PTL, Tt, AML);步驟2 過濾數據報記錄 數據報記錄過濾模塊根據第一過濾規則集FFR過濾掉所述數據報記錄表PRT中 的數據報記錄PR ;步驟3:抽取網絡流網絡流抽取模塊首先接受防御者輸入的超時時間間隔TO ;然后按照網絡流抽取 策略FEP,根據所述采集時間Tt的先后順序處理所述數據報記錄表PRT中的數據報記錄 PR;步驟4:過濾網絡流記錄網絡流記錄過濾模塊根據第二過濾規則集SFR過濾掉無關的網絡流記錄;步驟5 進行網絡流聚類網絡流聚類模塊首先接受防御者輸入的命令與控制特征集CCFFT ;然后利用最 大最小值法MM對網絡流記錄表FRT中的網絡流記錄FR的網絡流特征FFT進行數據規 格化;最后對進行網絡流記錄表FRT中的網絡流記錄FR進行聚類,將聚類中心點接近所 述命令與控制特征集CCFFT中特征的一個或者多個聚類作為P2P僵尸網絡命令與控制網 絡流集CCS ;步驟6:顯示結果數據關聯和結果顯示模塊首先提取所述命令與控制網絡流集CCS中的IP地址集 IPS;然后將IP地址集IPS中的每一個IP地址表示為一個點,在所述命令與控制網絡流集 CCS中每一個網絡流記錄FR對應的源IP地址SIP、目的IP地址DIP之間繪制一條邊; 由得到的點和邊構成了防御者檢測到的P2P僵尸網絡結構。
圖1是常規的P2P僵尸網絡結構示意圖。圖2是本發明檢測P2P僵尸網絡結構的原理圖。
具體實施例方式下面將結合附圖和實施例對本發明做進一步的詳細說明。本發明的一種基于網絡流聚類檢測P2P僵尸網絡結構的方法,該方法包括有下 列檢測步驟
步驟1 采集實時通信數據實時通信數據采集模塊第一方面從被監控網絡中獲取該被監控網絡的IP數據報 IPD,并從所述的IP數據報IPD中提取出關鍵字段KF;所述的關鍵字段KF中包括有源IP地址SIP、目的IP地址DIP、源端口號SPT、 目的端口號DPT、IP頭部長度IHL、IP數據報總長度ITL、TCP/UDP頭部長度THL、 IP數據報協議字段類型PTL;按照數學中的集合表達形式為KF=丨SIP,DIP, SPT, DPT,IHL,ITL,THL,PTL }。在本發明中,當PTL相同于TCP協議時,利用ITL-IHL-THL來計算應用層報文 長度AML。在本發明中,當PTL相同于UDP協議時,利用ITL-IHL-THL+8來計算應用層 報文長度AML。TCP (Transmission Control Protocol),傳輸控制協議。TCP能夠在不可靠的互聯
網絡上提供一個可靠的端到端字節流通信。UDP(User Datagram Protocol),用戶數據報協議。UDP能夠為應用程序提供了
一種方法來發送經過封裝的IP數據報,而且不必建立連接就可以發送這些IP數據報。實時通信數據采集模塊第二方面,記錄下當前采集IP數據報IPD的時間信息, 記為Tt(簡稱為采集時間Tt);實時通信數據采集模塊第三方面,將所述的關鍵字段KF中的源IP地址SIP、目 的IP地址DIP、源端口號SPT、目的端口號DPT、IP數據報協議字段類型PTL,以及采集 時間Tt、應用層報文長度AML表示為一條數據報記錄PR存儲于數據報記錄表PRT中; 所述數據報記錄PR按照數學中的元組形式表示為PR= (SIP, DIP, SPT, DPT, PTL, Tt, AML)。步驟2 過濾數據報記錄數據報記錄過濾模塊根據第一過濾規則集FFR過濾掉所述數據報記錄表PRT中 的數據報記錄PR。在本發明中,所述的第一過濾規則集FFR第一方面包括協議類型過濾規則 PFR ;數據報記錄過濾模塊刪除數據報記錄表PRT中協議字段類型PTL不同于所述協議 類型過濾規則PFR的數據報記錄PR ;在本發明中,所述的第一過濾規則集FFR第二方面包括白名單過濾規則 WLFR ;所述白名單過濾規則WLFR包含防御者信任的IP地址;數據報記錄過濾模塊 刪除數據報記錄表PRT中源IP地址SIP或目的IP地址DIP相同于所述白名單過濾規則 WLFR的數據報記錄PR ;在本發明中,所述的第一過濾規則集FFR第三方面包括黑名單過濾規則BLFR ; 所述的黑名單過濾規則BLFR包含防御者懷疑的IP地址;數據報記錄過濾模塊刪除數據 報記錄表PRT中源IP地址SIP或目的IP地址DIP不同于所述黑名單過濾規則BLFR的數 據報記錄PR。步驟3:抽取網絡流網絡流記錄FR包括源IP地址SIP、目的IP地址DIP、源端口號SPT、目的端口 號DPT、協議類型PTL、開始時間ST、結束時間ET、數據報數量PN、字節數量BN、網絡流持續時間DRT、平均每個數據報字節數量BPP、平均每秒鐘數據報數量PPS、平均 每秒鐘字節數量BPS ;將所述網絡流記錄FR按照數學中的元組形式表示為FR = (SIP, DIP, SPT, DPT, PTL, ST, ET, PN, BN, DRT, BPP, PPS, BPS);所述網絡流記
錄FR存儲于網絡流記錄表FRT中。五元組FT包括源IP地址SIP、目的IP地址DIP、源端口號SPT、目的端口號 DPT、IP數據報協議字段類型PTL所組成的元組;將所述五元組FT按照數學中的元組形 式表示為 FT = (SIP, DIP, SPT, DPT, PTL)。網絡流特征FFT包括網絡流持續時間DRT、平均每個數據報字節數量BPP、平 均每秒鐘數據報數量PPS、平均每秒鐘字節數量BPS ;將所述網絡流特征FFT按照數學 中的元組形式表示為FFT = (DRT,BPP, PPS, BPS)。所述網絡流特征FFT按照網絡流特征計算策略FFTCP計算。所述網絡流特征計算策略FFTCP利用ST-ET計算所述網絡流持續時間DRT,利 用BN/PN計算所述平均每個數據報字節數量BPP,利用PN/DRT計算所述平均每秒鐘數 據報數量PPS,利用BN/DRT計算所述平均每秒鐘字節數量BPS。網絡流抽取模塊第一方面接受防御者輸入的超時時間間隔,記為TO(簡稱超時 時間TO);網絡流抽取模塊第二方面按照網絡流抽取策略FEP,根據所述采集時間Tt的先 后順序處理所述數據報記錄表PRT中的數據報記錄PR。在本發明中,所述的網絡流抽取策略FEP第一方面從所述網絡流記錄表FRT中 查找五元組FT相同于所述數據報記錄PR的五元組FT的開始時間ST最大的網絡流記錄 FR ;如果存在所述網絡流記錄FR,并且所述數據報記錄PR的采集時間Tt與所述網 絡流記錄FR的開始時間ST滿足Tt-ST小于等于所述超時時間TO,則根據數據報記錄PR 更新網絡流記錄FR 所述網絡流記錄FR的結束時間ET等于所述數據報記錄PR的采集 時間Tt;所述網絡流記錄FR的數據報數量PN等于當前值加上1 ;所述網絡流記錄FR的 字節數量BN等于當前值加上所述數據報記錄PR的應用層報文長度AML ;按照所述網 絡流特征計算策略FFTCP重新計算所述網絡流持續時間DRT、平均每個數據報字節數量 BPP,平均每秒鐘數據報數量PPS、平均每秒鐘字節數量BPS。如果存在所述網絡流記錄FR,并且所述數據報記錄PR的采集時間Tt與所述網 絡流記錄FR的開始時間ST滿足Tt-ST大于所述超時時間TO,則向所述網絡流記錄表 FRT中插入一條新的網絡流記錄FR ;所述網絡流記錄FR的開始時間ST等于所述數據報 記錄PR的采集時間Tt ;所述網絡流記錄FR的數據報數量PN等于1 ;所述網絡流記錄 FR的字節數量BN等于所述數據報記錄PR的應用層報文長度AML ;按照所述網絡流特 征計算策略FFTCP計算所述網絡流持續時間DRT、平均每個數據報字節數量BPP、平均 每秒鐘數據報數量PPS、平均每秒鐘字節數量BPS。如果不存在所述網絡流記錄FR,則向所述網絡流記錄表FRT中插入一條新的網 絡流記錄FR ;所述網絡流記錄FR的開始時間ST等于所述數據報記錄PR的采集時間Tt ; 所述網絡流記錄FR的數據報數量PN等于1 ;所述網絡流記錄FR的字節數量BN等于所 述數據報記錄PR的應用層報文長度AML ;按照所述網絡流特征計算策略FFTCP計算所述網絡流持續時間DRT、平均每個數據報字節數量BPP、平均每秒鐘數據報數量PPS、 平均每秒鐘字節數量BPS。步驟4:過濾網絡流記錄網絡流記錄過濾模塊根據第二過濾規則集SFR過濾掉無關的網絡流記錄。在本發明中,所述的第二過濾規則集SFR第一方面包括特殊通信過濾規則 SCFR ;所述特殊通信過濾規則SCFR包括數據報數量PN為1、字節數量BN為0 ;網絡 流記錄過濾模塊刪除網絡流記錄表FRT中網絡流記錄FR相同于與所述特殊通信過濾規則 SCFR的網絡流記錄FR;在本發明中,所述的第二過濾規則集SFR第二方面包括P2P通信過濾規則 PPFR ;所述的P2P通信過濾規則PPFR包含所述網絡流特征FFT為某一特定值;網絡 流記錄過濾模塊刪除網絡流記錄表FRT中網絡流特征FFT相同于所述P2P通信過濾規則 PPFR的網絡流記錄FR。步驟5 進行網絡流聚類網絡流聚類模塊第一方面接受防御者輸入的命令與控制網絡流特征集,記為 CCFFT (簡稱為命令與控制特征集CCFFT);網絡流聚類模塊第二方面利用最大最小值法MM對網絡流記錄表FRT中的網絡 流記錄FR的網絡流特征FFT進行數據規格化;所述最大最小值法MM是取數據集中最小值MIN,數據集中最大值MAX,然后 數據集中的每一個數據D等于D-MIN除以MAX-MIN。網絡流聚類模塊第三方面對進行網絡流記錄表FRT中的網絡流記錄FR進行聚 類,將聚類中心點接近所述命令與控制特征集CCFFT中特征的一個或者多個聚類作為 P2P僵尸網絡命令與控制網絡流集CCS。步驟6 顯示結果數據關聯和結果顯示模塊第一方面提取所述命令與控制網絡流集CCS中的源IP 地址SIP、目的IP地址DIP,記為命令與控制IP地址集IPS (簡稱IP地址集IPS);數據關聯和結果顯示模塊第二方面將IP地址集IPS中的每一個IP地址表示為一 個點,在所述命令與控制網絡流集CCS中每一個網絡流記錄FR對應的源IP地址SIP、目 的IP地址DIP之間繪制一條邊;由得到的點和邊構成了防御者檢測到的P2P僵尸網絡結 構。本發明基于網絡流聚類檢測P2P僵尸網絡結構方法的優點在于①利用P2P僵尸網絡的特點,將網絡中的節點作為監控節點(watchlist),或者作 為待分析數據的過濾規則,減少了待處理的數據量。②采用網絡流描繪方法,提高了基于網絡流聚類檢測P2P僵尸網絡結構的方法 的適用性,因此既可以處理基于TCP協議的命令與控制通信,也可以處理基于UDP協議 的命令與控制通信。③本發明的方法將網絡數據包過濾和網絡流過濾相結合。即首先進行網絡數據 包的過濾,縮減抽取網絡流及其特征活動的輸入數據,以提高這一活動的效率。然后再 進行網絡流過濾,縮減網絡流的數據規模,提高網絡流聚類分析的效率。④本發明方法檢測給出P2P僵尸網絡結構,能夠促進網絡防御者對P2P僵尸網絡的工作機制的理解和認識,進而提出更加有效的防御措施。
權利要求
1.一種基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在于該方法包括有下 列檢測步驟步驟1 采集實時通信數據實時通信數據采集模塊首先從被監控網絡中獲取該被監控網絡的IP數據報IPD,并 從所述的IP數據報IPD中提取出關鍵字段KF = {SIP,DIP, SPT, DPT, IHL, ITL, THL,PTL};然后記錄下當前采集IP數據報IPD的采集時間Tt;最后將所述的關鍵字段 KF = {SIP, DIP, SPT, DPT, IHL, ITL, THL, PTL}中的源 IP 地址 SIP、目的 IP 地 址DIP、源端口號SPT、目的端口號DPT、IP數據報協議字段類型PTL,以及采集時間 Tt、應用層報文長度AML表示為一條數據報記錄PR存儲于數據報記錄表PRT中;所述 數據報記錄PR按照數學中的元組形式表示為PR= (SIP,DIP, SPT, DPT, PTL, Tt, AML);步驟2 過濾數據報記錄數據報記錄過濾模塊根據第一過濾規則集FFR過濾掉所述數據報記錄表PRT中的數 據報記錄PR;步驟3:抽取網絡流網絡流抽取模塊首先接受防御者輸入的超時時間間隔TO ;然后按照網絡流抽取策略 FEP,根據所述采集時間Tt的先后順序處理所述數據報記錄表PRT中的數據報記錄PR ;步驟4:過濾網絡流記錄網絡流記錄過濾模塊根據第二過濾規則集SFR過濾掉無關的網絡流記錄;所述的第 二過濾規則集SFR第一方面包括特殊通信過濾規則SCFR ;所述特殊通信過濾規則SCFR 包括數據報數量PN為1、字節數量網絡流記錄過濾模塊刪除網絡流記錄表FRT 中網絡流記錄FR相同于與所述特殊通信過濾規則SCFR的網絡流記錄FR;第二方面包 括P2P通信過濾規則PPFR ;所述的P2P通信過濾規則PPFR包含所述網絡流特征FFT為 某一特定值;網絡流記錄過濾模塊刪除網絡流記錄表FRT中網絡流特征FFT相同于所述 P2P通信過濾規則PPFR的網絡流記錄FR ;步驟5:進行網絡流聚類網絡流聚類模塊首先接受防御者輸入的命令與控制特征集CCFFT ;然后利用最大最 小值法MM對網絡流記錄表FRT中的網絡流記錄FR的網絡流特征FFT進行數據規格化; 最后對進行網絡流記錄表FRT中的網絡流記錄FR進行聚類,將聚類中心點接近所述命令 與控制特征集CCFFT中特征的一個或者多個聚類作為P2P僵尸網絡命令與控制網絡流集 CCS ;所述最大最小值法MM是取數據集中最小值MIN,數據集中最大值MAX,然后數 據集中的每一個數據D等于D-MIN除以MAX-MIN ;步驟6 顯示結果數據關聯和結果顯示模塊首先提取所述命令與控制網絡流集CCS中的IP地址集 IPS;然后將IP地址集IPS中的每一個IP地址表示為一個點,在所述命令與控制網絡流集 CCS中每一個網絡流記錄FR對應的源IP地址SIP、目的IP地址DIP之間繪制一條邊; 由得到的點和邊構成了防御者檢測到的P2P僵尸網絡結構。
2.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟1中,當PTL相同于TCP協議時,利用ITL-IHL-THL來計算應用層報文長度 AML。
3.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟1中,當PTL相同于UDP協議時,利用ITL-IHL-THL+8來計算應用層報文 長度AML。
4.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟2中,所述的第一過濾規則集FFR第一方面包括協議類型過濾規則PFR;數 據報記錄過濾模塊刪除數據報記錄表PRT中協議字段類型PTL不同于所述協議類型過濾 規則PFR的數據報記錄PR;第二方面包括白名單過濾規則WLFR ;所述白名單過濾規則 WLFR包含防御者信任的IP地址;數據報記錄過濾模塊刪除數據報記錄表PRT中源IP地 址SIP或目的IP地址DIP相同于所述白名單過濾規則WLFR的數據報記錄PR ;第三方 面包括黑名單過濾規則BLFR ;所述的黑名單過濾規則BLFR包含防御者懷疑的IP地址; 數據報記錄過濾模塊刪除數據報記錄表PRT中源IP地址SIP或目的IP地址DIP不同于所 述黑名單過濾規則BLFR的數據報記錄PR。
5.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟3中,網絡流記錄FR包括源IP地址SIP、目的IP地址DIP、源端口號SPT、 目的端口號DPT、協議類型PTL、開始時間ST、結束時間ET、數據報數量PN、字節數 量BN、網絡流持續時間DRT、平均每個數據報字節數量BPP、平均每秒鐘數據報數量 PPS >平均每秒鐘字節數量BPS;將所述網絡流記錄FR按照數學中的元組形式表示為FR =(SIP, DIP, SPT, DPT, PTL, ST, ET, PN, BN, DRT, BPP, PPS, BPS);所 述網絡流記錄FR存儲于網絡流記錄表FRT中。
6.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟3中,網絡流特征FFT包括網絡流持續時間DRT、平均每個數據報字節數量 BPP,平均每秒鐘數據報數量PPS、平均每秒鐘字節數量BPS;將所述網絡流特征FFT按 照數學中的元組形式表示為FFT = (DRT,BPP, PPS, BPS)。
7.根據權利要求1所述的基于網絡流聚類檢測P2P僵尸網絡結構的方法,其特征在 于在步驟3中,所述網絡流特征FFT按照網絡流特征計算策略FFTCP計算。所述網 絡流特征計算策略FFTCP利用ST-ET計算所述網絡流持續時間DRT,利用BN/PN計算 所述平均每個數據報字節數量BPP,利用PN/DRT計算所述平均每秒鐘數據報數量PPS, 利用BN/DRT計算所述平均每秒鐘字節數量BPS。
全文摘要
本發明公開了一種基于網絡流聚類檢測P2P僵尸網絡結構的方法,該方法通過實時通信數據采集模塊、數據報記錄過濾模塊、網絡流抽取模塊、網絡流記錄過濾模塊、網絡流聚類模塊、數據關聯和結果顯示模塊的順序執行完成了對P2P僵尸網絡結構的檢測,其基本思想是防御者利用P2P僵尸網絡節點間命令與控制通信的規律性,即持續時間、數據報數量、字節數量等具有特征,通過識別被監控網絡通信數據中的命令與控制通信來確定被監控網絡中的P2P僵尸網絡節點和節點間的命令與控制關系,進而給出P2P僵尸網絡結構;本發明的主要創新點在于通過聚類方法將具有相似特征的通信網絡流聚集在一起,與命令與控制通信特征集中的特征對比,區別正常通信與P2P僵尸網絡通信,從而達到檢測P2P僵尸網絡結構的目的。
文檔編號H04L29/06GK102014025SQ201010573650
公開日2011年4月13日 申請日期2010年12月6日 優先權日2010年12月6日
發明者馮杰, 夏春和, 姚珊, 段俊鋒, 王海泉 申請人:北京航空航天大學