TWI666568B - 在Netflow上以會話型式之P2P殭屍網路偵測方法 - Google Patents
在Netflow上以會話型式之P2P殭屍網路偵測方法 Download PDFInfo
- Publication number
- TWI666568B TWI666568B TW107114725A TW107114725A TWI666568B TW I666568 B TWI666568 B TW I666568B TW 107114725 A TW107114725 A TW 107114725A TW 107114725 A TW107114725 A TW 107114725A TW I666568 B TWI666568 B TW I666568B
- Authority
- TW
- Taiwan
- Prior art keywords
- clustering
- netflow
- botnets
- bits
- session
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明係一種在網路流量(NetFlow)合併單向(uni-directional)網路流量連線(Flow)為雙向會話(bi-directional Session)之P2P偵測殭屍網路之系統,目的係解決單向網路流量日誌(Log),無法突顯雙向通訊特徵,導致難以判斷是否有惡意程式活動之情況。此外本發明係以巨量資料為基礎進行研發皆實作在MapReduce平台上,藉由發掘相似的雙向會話與搭配創新多層次非監督式群聚演算法,分析P2P殭屍網路之活動行為。創新之多層次非監督式群聚演算法係利用密度基礎聚類(Density-based clustering)算法搭配反覆分析網路流量日誌,在每一層都抽象化出一個群組,最終群聚出擁有相似行為之惡意行為集合。最後本發明以實際之網路流量日誌證明本發明之可靠度可達95%以上,係可有效強化國家資訊安全之防護力。
Description
本發明係有關於一種在Netflow上以會話型式之P2P殭屍網路偵測系統,尤指涉及一種採用非監督式演算法,可找出大量相似行為的網路流量,包含已知的殭屍網路或者未知的均可標記出來者。
現有專利大多著重在預先定義之規則,如果符合規則才會發出警告,無法針對未知的惡意程式做標記與過濾。例如:中國專利號CN103685184 A為一種基於小流統計分析的對等殭屍主機識別方法,該專利分析網路流量日誌(Neflow log)分類網路流量連線(Flow)為流入(inflow)與流出(outflow)集合,時間框(sliding-window)為基礎判斷殭屍網路(Botnet)之相似行為;然而,該專利需要預先定義門檻值判斷殭屍網路活動,每個殭屍網路之門檻值也許都不同,且亦無揭露先合成會話(Session)進行相似判斷之技術手段。美國專利號US8762298 B1為Machine learning based botnet detection using real-time connectivity graph based traffic features,該專利係以偵測命令暨控制(C&C)殭屍網路為主,以圖論方式(Graph-based)判斷IP是否有與C&C伺服器(C&C Server)通訊之情況發生,然而該專利需要歷史資料協助才能準確判斷是否有惡意行為發生。美國專利號US20170251005 A1為Techniques for botnet detection and member identification,該專利係一個判斷主機(host)是否有與殭屍網路成員(botnet member)溝通之方法,殭屍網路成員記錄在歷史資料表中,host如果有跟多個成員溝通就算有惡意行為之嫌疑。中國專利號CN106657160 A為面向大流量基於可信度的網路惡意行為檢測方法,該專利係一個即時偵測惡意行之方法,在已知之惡意行為矩陣(malicious behavior matrix)直接使用Netflow之特徵計算p值(p-value) ,如果p-value在一定範圍內則該host極可能有惡意行為。中國專利號CN106657001 A為一種基於Netflow及DNS日誌的殭屍網絡檢測方法,透過異常流量監測技術能快速對採集到之Netflow數據進行關聯分析 ;相較於此,本發明僅需收集Netflow日誌即可進行分析,不須再經由查詢DNS等設備日誌。中國專利號CN105282152 A為一種異常流量檢測的方法,該專利採用固定時間框之即時檢測,在固定之觸發條件下,進行異常流量檢測,檢測條件係事先定義好的;相較於此,本發明採用非監督式之方式,不需要事先定義觸發條件,即可進行殭屍網路之偵測,目的是找出相同行為模式之Session,大量相同網路行為模式之產生,極有可能是殭屍網路活動所造成的。以及中國專利號CN103532969 A為一種殭屍網絡檢測方法、裝置及處理器,該專利透過計算平均封包位元組(Byte)數量與平均每秒Byte數作為通信特徵值,並透過設定好之聚類方式與進行聚類;相較於此,本發明係擷取Netflow日誌中多個特徵組合成特徵向量,並透過殭屍網路病毒行為特徵與訂定門檻值作為聚類依據。 由上述各專利可知,現行在網路流量上偵測殭屍網路大多直接利用其特徵屬性,鮮有先合成為Session再進行相似判斷的。因此,目前相關研究皆基於實驗性之資料及何如ISCX、CTU13等,鮮少有針對實際大規模流量分析P2P殭屍網路之相關研究。而本申請案發明人的先前專利(TW I596498)曾提出一種基於FedMR之殭屍網路聯偵方法,惟其中評分與耦合(Ranking and Association)步驟在聯偵模式實務上合作不易,無法提供一個完整之流程步驟,故,ㄧ般習用者係無法符合使用者於實際使用時之所需。
本發明之主要目的係在於,克服習知技藝所遭遇之上述問題並提供一種以Netflow為基礎,建構會話行為資訊分析殭屍網路行為之P2P殭屍網路偵測系統。 本發明之次要目的係在於,提供一種以大數據為基礎設計整個系統,實作在MapReduce平台上,該系統已實際驗證可以承受高達1TB等級之網路流量日誌之P2P殭屍網路偵測系統。 本發明之另一目的係在於,提供一種具備完整二個月之實驗結果,而所提供之實驗數據係實際分析整個校園流量,並搭配真實之黑名單驗證,經實驗證明可靠度可達95%以上,可有效強化國家資訊安全之防護力之P2P殭屍網路偵測系統。 為達以上之目的,本發明係一種在Netflow上以會話型式之P2P殭屍網路偵測系統,其至少包含下列步驟:會話擷取(Session Extraction)步驟:輸入日誌格式為網路流量,每筆資料皆代表一單向(uni-directional)之網路流量連線,其中包含時間戳、來源IP(Src IP)、目的IP(Dst IP)、端口、及封包數量,將合併單向之Flow為雙向會話(bi-directional Session),並使用一時間間隔門檻值作為合成會話之標準,當兩個IP間之通訊Flow至下一條Flow之時間間隔在該時間間隔門檻值內,兩個Flow被視為在相同之會話期,Flow將合併成Session,再將兩者特徵合併計算,以此形成能突顯通訊行為之特徵,並且透過資訊增益(Information gain)對Session特徵進行特徵順序(Feature Ranking),挑選出具有代表性之特徵,形成Session之特徵向量(Feature Vector)進行後續之偵測;過濾(Filtering)步驟:包含白名單過濾(Whitelist Filter)與流量丟失響應過濾(Flow Loss-Response Filter)兩個子步驟,係透過白名單與丟失率為標準,過濾掉正常流量與非P2P通訊行為之流量;群聚(Grouping)步驟:是由多個子階段(Level)各自執行聚類算法(clustering algorithm)組成。在本實施中是以一個三階段算法作為範例說明,分別為SuperSession群聚(SuperSession Grouping)、會話群聚(SessionGroup Grouping)、及行為群聚(BehaviorGroup Grouping),係透過P2P殭屍網路病毒之行為並藉由距離與群聚數量門檻值為依據,群聚出疑似P2P殭屍網路病毒之IP群,而聚類算法則是採用密度基礎聚類算法DBScan作為實施例。上述群聚步驟可不限於三階段,可以由多階段組成;而各子階段的算法不限定於密度基礎聚類之算法,能達成相同效果的算法皆可替代。 反查(Reverse Lookup)步驟:係透過黑名單直接與間接驗證,反查成可疑IP列表(Suspicious IP list)。 於本發明上述實施例中,該時間間隔門檻值係將傳輸控制協定(Transmission Control Protocol, TCP)設定為22秒、使用者資料報協定(User Datagram Protocol, UDP)設定為21秒之內,但不限定於上述兩組逾時範圍,可依應用情況調整。 於本發明上述實施例中,該會話擷取步驟中係挑選出14個特徵,包含Forward_Pkts、Forward_Bytes、Forward_MaxBytes、Forward_MinBytes、Forward_MeanByte、Backward _Bytes、Backward_MaxBytes、Backward_MinBytes、Backward_MeanByte、Total_Bytes、Total_MaxBytes、Total_MeanByte、Total_STDByte、以及Total_IORatio,分別代表Src IP與Dst IP之間的封包數、Src IP與Dst IP之間的位元數、Src IP與Dst IP之間的最大位元數、Src IP與Dst IP之間的最小位元數、Src IP與Dst IP之間的平均位元數、Dst IP與Src IP之間的位元數、Dst IP與Src IP之間的最大位元數、Dst IP與Src IP之間的最小位元數、Dst IP與Src IP之間的平均位元數、雙向Total的資料位元數總和、雙向Total的資料最大位元數、雙向Total的資料平均位元數、雙向Total的資料位元數標準差、以及雙向Total的傳輸資料比,兩個方向的資料位元數的比值。 於本發明上述實施例中,不限於該14個特徵,特徵之個數挑選皆彈性,可用任意特徵組合進行後續偵測。 於本發明上述實施例中,該白名單過濾子步驟用於過濾白名單,刪除Netflow日誌中之已知良性IP,接著由該流量丟失響應過濾子步驟過濾非P2P特性之通訊行為。 於本發明上述實施例中,該白名單過濾將檢查來源IP地址與目的IP地址,若其一存在於白名單,則將此Session刪除,剩餘部分則被視為可疑之Session。 於本發明上述實施例中,該流量丟失響應過濾子步驟包含三階段處理,第一階段用於計算流量損失響應之數量,第二階段計算相同來源IP地址之平均流量丟失響應率(Flow Loss-Response Rate, FLR),第三階段係在一列表中記錄具有高FLR之會話,並使用其來過濾非P2P流量。 於本發明上述實施例中,該群聚步驟係基於P2P殭屍網路之特性以一組三階段群聚算法作為實施例,進行三階段之群聚,根據相似通訊行為之判別,使用歐氏距離(Euclidean Distance)之公式計算Session間特徵向量之間的距離,但不限定此公式,任何可以判斷兩個資料維度距離之相關空間量測公式皆可替代,而群聚與否之判斷依據,則必須存在距離門檻值以上之相似通訊數量。 於本發明上述實施例中,該數量係至少為3以上。 於本發明上述實施例中,該群聚步驟第一階段之SuperSession群聚子步驟,係利用P2P殭屍網路會與同儕(peer)進行重複性通訊之特性進行群聚,透過相似之判斷公式,將相似之Session進行群聚成SuperSession,並計算平均特徵向量(Average Feature Vector)作為代表此SuperSession之特徵向量,並往第二階段之會話群聚子步驟進行群聚分析。 於本發明上述實施例中,該群聚步驟第二階段之會話群聚子步驟,係利用P2P 殭屍網路會與其他許多同儕進行通訊之特性進行群聚,其在第一階段群聚後具有許多之SuperSession,將該些SuperSession透過相似之判斷公式,將彼此相似之SuperSession進行群聚成SessionGroup,並計算平均特徵向量作為代表此SessionGroup之特徵向量,並往第三階段之行為群聚子步驟進行群聚分析。 於本發明上述實施例中,該群聚步驟第三階段之行為群聚子步驟,係利用P2P殭屍網路間會有相似的通訊行為之特性,將第二階段之結果再進行一次群聚,透過已經在第二階段群聚後形成SessionGroup,將該些SessionGroup再次進行相似之判斷公式,將行為相似之SessionGroup群聚為BehaviorGroup,同樣計算平均特徵向量作為代表此BehaviorGroup之特徵向量,形成最終偵測結果。 於本發明上述實施例中,群聚不限訂於三階段也可以由多階段群聚子步驟組成。
請參閱『第1圖~第4圖』所示,係分別為本發明之系統架構示意圖、本發明群聚第一階段之SuperSession群聚示意圖、本發明群聚第二階段之會話群聚示意圖、及本發明群聚第三階段之行為群聚示意圖。如圖所示:本發明係一種在Netflow上以會話型式之P2P殭屍網路偵測系統,係透過合併單向性之網路流量日誌(Netflow Logs)建立雙向性之會話(bi-directional session),克服單向之Netflow流量無法突顯通訊特徵,導致無法判斷流量中是否具有惡意程式之活動行為問題。接著依循非監督式(Unsupervised)之演算法設計概念,在MapReduce平台(如Hadoop)上建構一個基於尋找相似會話行為之P2P殭屍網路偵測系統。以下敘述系統運作流程,本系統如第1圖所示,分為四個步驟,其中日誌之格式為Netflow: 會話擷取(Session Extraction)步驟s11:將透過來源IP(Src IP)、目的IP(Dst IP)、端口與時間間隔門檻值合成單向Netflow資料成雙向,以突顯IP間之通訊特徵。 該過濾(Filtering)步驟s12:包含白名單過濾(Whitelist Filter)與流量丟失響應過濾(Flow Loss-Respose Filter)兩個子步驟s121、s122,係透過白名單與丟失率為標準,過濾掉正常流量與非P2P通訊行為之流量。 該群聚(Grouping)步驟s13:分為三階段(Level)處理,分別為SuperSession群聚(SuperSession Grouping)子步驟s131、會話群聚(SessionGroup Grouping )子步驟s132、及行為群聚(BehaviorGroup Grouping)子步驟s13,係透過P2P殭屍網路病毒之行為並藉由距離與群聚數量門檻值為依據,群聚出疑似P2P殭屍網路病毒之IP群。 該反查(Reverse Lookup)步驟s14:係透過黑名單直接與間接驗證,反查成可疑IP列表(Suspicious IP list)。如是,藉由上述揭露之流程構成一全新之在Netflow上以會話型式之P2P殭屍網路偵測系統。 在執行偵測殭屍網路,本系統會逐步執行各階段步驟。以下詳述各階段步驟之細部流程與相關之資料形式。 在第一步驟中,因輸入日誌格式為Netflow,每筆資料皆代表一單向(uni-directional)之網路流量連線(Flow),其中包含時間戳、來源IP、目的IP、端口、及封包數量等項目,但單向之Flow無法突顯兩者間之通訊特徵。因此在會話擷取步驟s11中,將合併單向之Flow為雙向之會話,並使用一時間間隔門檻值作為合成Session之標準,預設傳輸控制協定(Transmission Control Protocol, TCP)為22秒、使用者資料報協定(User Datagram Protocol, UDP)為21秒,亦即當兩個IP間之通訊Flow至下一條Flow之時間間隔在該時間間隔門檻值內,兩個Flow被視為在相同之會話期,Flow將合併成Session。並將兩者特徵合併計算,如封包大小、封包數等。以此形成能突顯通訊行為之特徵,並且透過資訊增益(Information gain)對Session特徵進行特徵順序(Feature Ranking),挑選出具有代表性之特徵。以下表一特徵向量表為例,本發明對20個特徵進行排名,挑選出14個特徵(*)形成Session之特徵向量(Feature Vector)進行後續之偵測步驟。其中特徵之個數挑選皆彈性,可用任意特徵組合進行後續偵測。 表一
其中,本發明也將計算流入與流出Flow數量來定義該Session之流量丟失響應率(Flow Loss-Response Rate, FLR),作為是否具有P2P通訊行為之判斷依據。在過濾步驟s12中,具有兩個子步驟s121、s122,首先由白名單過濾子步驟s121用於過濾白名單,刪除Netflow日誌中的已知良性IP,如領域名稱系統服務器(Domain Name System Server, DNS Server)或知名網站。接著,由流量丟失響應過濾子步驟s122過濾非P2P特性之通訊行為。兩個子步驟之MapReduce虛擬碼(Pseudo Code)如下表二所示。 表二
過濾白名單之虛擬碼如上表二所示。其將檢查來源IP地址與目的IP地址,若其一存在於白名單,則將此Session刪除,剩餘的部分則被視為可疑的Session(如表二之Map 1.)。並生成一個由<time,srcIP,srcPort,dstIP,dstPort>組成之key值作為本系統之reduce key,並將這個Session之特徵向量發送到reduce函數(如表二之Map 2.~3.)。而Reduce部分為單位函數(identity function)。接著 流量丟失響應過濾子步驟s122由三個階段組成,如下表三、四及五所示。第一階段用於計算流量損失響應的數量,第二階段計算相同來源IP地址之平均FLR,最後第三階段在一個列表中記錄具有高FLR之會話,並使用其來過濾非P2P流量。 表三
流量丟失響應過濾之虛擬碼1如上表三所示。在表三中,其Map為單位函數,輸出key為來源IP地址與目標IP地址(如表三之Map 1.~2.)。在Reduce中,本發明將具有相同IP pair之Session,計算平均丟失率並將此值標記為該IP pair之FLR(如表三之Reduce 1.)。本發明將FLR視為一個新特徵,並將其合併到Session之當前特徵向量中(如表三之Reduce 2.)。除FLR外,輸出與輸入相同。 表四
流量丟失響應過濾之虛擬碼2如上表四所示。在表四中,其Map亦為單位函數,但key值將被設為Session之來源IP(如表四之Map 1.)。Reduce則將相同來源IP之FLR再進行平均計算,平均FLR若大於門檻值(預設為0.225),則將來源IP寫入高流量丟失響應率(HLR)列表中(如表四之Reduce 3.)。 表五
流量丟失響應過濾之虛擬碼3如上表五所示。在表五中,將會話擷取步驟之結果與HLR列表比較,若來源IP存在於HLR列表則將其輸出至群聚階段。 本發明基於以下P2P殭屍網路之特性,包括(1)會與同儕(peer)進行重複性之連線、(2)會連線至其他許多同儕、以及(3)P2P殭屍網路間會有相似之通訊行為等特性,而分別提出群聚步驟s13之三階段群聚處理。相似通訊行為之判別,主要使用歐氏距離(Euclidean Distance )之公式計算Session間特徵向量之間的距離,但不限定只用在此公式,任何可以判斷兩個資料維度距離之公式皆可以替代。而群聚與否之判斷依據,則必須存在距離門檻值以上之相似通訊數量(預設為3個以上)。 如上所述,在群聚步驟s13第一階段之SuperSession群聚子步驟s131,係利用P2P殭屍網路會與同儕進行重複性通訊之特性進行群聚,以第2圖為例,在IP A與IP B中具有多個Session透過相似之判斷公式,將相似之Session進行群聚成SuperSession,並計算平均特徵向量(Average Feature Vector)作為代表此SuperSession之特徵向量,並往第二階段之會話群聚子步驟s132進行群聚分析。 下表六為群聚步驟s13第一階段之虛擬碼,其中具有兩個Phase,第一Phase,Map將協定、來源IP與目的IP組成key(如表六之Phase1,Map 1.~2.),接著在Reduce以歐氏距離進行相似判斷(如表六之Phase1,Reduce 1.~2.),並將群聚結果組成key(如表六之Phase1,Reduce 3.)傳入第二phase。第二phase,Map將最小時間戳加進原來之key中接著在Reduce計算平均特徵向量,以此代表群聚結果的FV。 表六
在群聚步驟s13第二階段之會話群聚子步驟s132,係利用P2P 殭屍網路會與其他許多同儕進行通訊之特性進行群聚。以第3圖為例,IP A在第一階段群聚後具有許多的SuperSession,將IP A這些SuperSession同樣透過相似之判斷公式,將彼此相似的SuperSession進行群聚成SessionGroup,並計算平均特徵向量作為代表此SessionGroup之特徵向量,並往第三階段之行為群聚子步驟s133進行群聚分析。 下表七為群聚步驟s13第二階段之虛擬碼。在此階段,具有兩個Phase,Phase1與第一階段之差異在於,Map將協定與來源IP組成key(如表七之Phase1,Map 1.~2.),接著在Reduce同樣進行相似判斷(如表七之Phase1,Reduce 1.~2.),並將群聚結果組成key傳入第二個phase(如表七之Phase1,Reduce 3.)。第二個phase,Map將最小時間戳加進原來的key中接著在Reduce計算平均特徵向量,以此代表群聚結果的FV。 表七
而在最後的群聚步驟s13第三階段之行為群聚子步驟s133,係利用P2P殭屍網路間會有相似的通訊行為之特性,將第二階段之結果再進行一次群聚。以第4圖為例,IP A在第二階段群聚後形成SessionGroup,將這些SessionGroup(如第4圖中之IP A、IP X、IP Y、及IP W)再次進行相似之判斷公式,將行為相似之SessionGroup群聚為BehaviorGroup,同樣計算平均特徵向量作為代表此BehaviorGroup之特徵向量,形成最終偵測結果。 下表八為群聚步驟s13第三階段之虛擬碼。在此階段,同樣兩個Phase,Phase1 Map將協定、時間戳與群組代號,組成key(如表八之Phase1,Map 1.),接著在Reduce同樣地執行相似判斷(如表七之Phase1,Reduce 1.~2.),最後將群聚結果組成key傳入第二個phase(如表八之Phase1,Reduce 3.)。而第二個phase,Map一樣將最小時間戳加入原來的key中,而Reduce計算平均特徵向量,以此代表群聚結果的FV。 表八
整個系統之運作模式為上所述。以下部分係以實際的網路流量日誌實驗本系統之可行性,並利用VirusTotal之服務與本發明之驗證方式,直接與間接驗證系統偵測出來之IP是否為有嫌疑之IP。本發明以成功大學2016/6/1至2016/7/31共61天之網路流量日誌(總共242GB、930915個IP),以週為輸入單位進行偵測,FLR須高於0.225並設定距離門檻值為2,群聚條件為具3個以上之數量,才進行群聚與更新代表特徵向量。網路流量日誌與偵測參數各項設定如下表九所示: 表九
而驗證方式為,將群聚步驟第三階段群聚後所產生之BehaviorGroup將其來源IP透過黑名單(目前為VirusTotal,但不限定黑名單來源)進行直接驗證。若BehaviorGroup中的來源IP,存在5個以上存在於VirusTotal,則將整個BehaviorGroup中所有IP視為具有惡意行為之可疑IP。因為經過三階段之群聚,皆是具有相似的特徵向量,代表著該IP之行為雖然沒有直接在VirusTotal黑名單中,但其與惡意IP具有相同的行為。因此也將其視為具有惡意行為之IP。下表十為上述資料集之各週大小、IP數量、經過各階段過濾、群聚後,偵測與直接、間接驗證結果。Detected IP Num為所有BehaviorGroup經過去重後之IP數量、Directed IP Num為直接存在於VirusTotal之IP數量、Verified IP Num為被判定為具有惡意行為之所有BehaviorGroup去重後之IP數量。從結果來看,精確度(Precision)皆9成以上,可證明本發明所提偵測系統之有效性。 表十
鑑於目前各國皆把資安作為國家安全之重要項目,本發明係一個基於非監督式演算法在Netflow上進行殭屍網路偵測之系統,採用非監督式演算法,以Netflow為基礎,建構會話行為資訊分析殭屍網路行為,可找出大量相似行為之網路流量,包含已知的殭屍網路或者未知的均可標記出來。本發明係以大數據為基礎設計整個系統,並實作在MapReduce平台上,整體流程步驟較現有專利更為完整,並且提供了完整二個月的實驗結果。由結果可知,本系統已實際驗證可以承受高達1TB等級之網路流量日誌,而所提供之實驗數據係實際分析整個校園流量,並搭配真實之黑名單驗證,因此,本發明已經實驗證明可靠度(達95%以上)比其他現有專利更高,可有效強化國家資訊安全之防護力。 綜上所述,本發明係一種在Netflow上以會話型式之P2P殭屍網路偵測系統,可有效改善習用之種種缺點,採用非監督式演算法,以Netflow為基礎,建構會話行為資訊分析殭屍網路行為,可找出大量相似行為之網路流量,包含已知的殭屍網路或者未知的均可標記出來,本系統已經實驗證明可靠度(達95%以上)比其他現有專利更高,可有效強化國家資訊安全之防護力,進而使本發明之産生能更進步、更實用、更符合使用者之所須,確已符合發明專利申請之要件,爰依法提出專利申請。 惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍;故,凡依本發明申請專利範圍及發明說明書內容所作之簡單的等效變化與修飾,皆應仍屬本發明專利涵蓋之範圍內。
方向 | 特徵名稱 | 順序 | 特徵說明 |
向前 | Forward_Pkts* | 1.05765 | 從Source IP 到 destination IP 之間的封包數 |
Forward_Bytes* | 1.17954 | 從Source IP 到 destination IP 之間的位元數 | |
Forward_MaxBytes* | 1.00955 | 從Source IP 到 destination IP 之間的最大位元數 | |
Forward_MinBytes* | 1.01777 | 從Source IP 到 destination IP 之間的最小位元數 | |
Forward_MeanByte* | 1.02147 | 從Source IP 到 destination IP 之間的平均位元數 | |
向後 | Backward _Pkts | 0.82696 | 從destination IP 到Source IP之間的封包數 |
Backward _Bytes* | 0.99065 | 從destination IP 到Source IP之間的位元數 | |
Backward_MaxBytes* | 1.02112 | 從destination IP 到Source IP之間的最大位元數 | |
Backward_MinBytes* | 1.0214 | 從destination IP 到Source IP之間的最小位元數 | |
Backward_MeanByte* | 1.02112 | 從destination IP 到Source IP之間的平均位元數 | |
總和 | Total_Pkts | 0.91196 | 雙向Total的總封包數 |
Total_Bytes* | 1.02132 | 雙向Total的資料位元數總和 | |
Total_MaxBytes* | 1.02127 | 雙向Total的資料最大位元數 | |
Total_MinBytes | 0.91188 | 雙向Total的資料最小位元數 | |
Total_MeanByte* | 1.08504 | 雙向Total的資料平均位元數 | |
Total_STDByte* | 1.06214 | 雙向Total的資料位元數標準差 | |
Total_ByteRate | 0.77111 | 雙向Total的資料位元速率 | |
Total_PacketRate | 0.6363 | 雙向Total的資料封包速率 | |
Total_IORatio* | 1.13313 | 雙向Total的傳輸資料比, 兩個方向的資料位元數的比值 | |
Total_Duration | 0.65722 | 雙向Total的持續時間 |
來源 | 成功大學 |
持續時間 | 2016/6/1至2016/7/31共61天 |
大小 | 242GB、IP數量:930915 |
單位 | 每7天為單位切割進行偵測分析 |
FLR | 0.225 |
距離公式 | 歐氏距離 |
距離門檻值 | 2 |
Grouping 1 範圍 | 3 |
Grouping 2 範圍 | 3 |
Grouping 3 範圍 | 3 |
驗證門檻值 | 5 |
日期 | 大小 | IPs | Detected IP Num | Directed IP Num | Verified IP Num | 精確度 |
6/1~6/7 | 33G | 354576 | 10214 | 1049 | 9969 | 97.60% |
6/8~6/14 | 31G | 297243 | 11131 | 1144 | 10735 | 96.44% |
6/15~6/21 | 33G | 266545 | 10900 | 1055 | 10526 | 96.57% |
6/22~6/28 | 28G | 234223 | 8772 | 951 | 8401 | 95.77% |
6/29~7/5 | 23G | 159216 | 5709 | 770 | 5389 | 94.39% |
7/6~7/12 | 25G | 149563 | 5383 | 718 | 5019 | 93.24% |
7/13~7/19 | 23G | 140810 | 4791 | 628 | 4346 | 90.71% |
7/20~7/26 | 21G | 141374 | 4958 | 662 | 4634 | 93.47% |
7/27~7/31 | 25G | 110563 | 3600 | 474 | 3333 | 92.58% |
s11~s14‧‧‧步驟
s121~s122‧‧‧子步驟
s131~s132‧‧‧子步驟
第1圖,係本發明之系統架構示意圖。 第2圖,係本發明群聚實施例第一階段之SuperSession群聚示意圖。 第3圖,係本發明群聚實施例第二階段之會話群聚示意圖。 第4圖,係本發明群聚實施例第三階段之行為群聚示意圖。
Claims (14)
- 一種在Netflow上偵測P2P殭屍網路之方法,其至少包含下列步驟: 會話擷取(Session Extraction)步驟:輸入日誌格式為網路流量(NetFlow),每筆資料皆代表一單向(Uni-directional)之網路流量連線(Flow),其中包含時間戳、來源IP(Src IP)、目的IP(Dst IP)、端口、及封包數量,將合併單向之Flow為雙向會話(bi-directional Session),並使用一時間間隔門檻值作為合成會話之標準,當兩個IP間之通訊Flow至下一條Flow之時間間隔在該時間間隔門檻值內,兩個Flow被視為在相同之會話期,Flow將合併成Session,再將兩者特徵合併計算,以此形成能突顯通訊行為之特徵,並且透過資訊增益(Information gain)對Session特徵進行特徵順序(Feature Ranking),挑選出具有代表性之特徵,形成Session之特徵向量(Feature Vector)進行後續之偵測; 過濾(Filtering)步驟:包含白名單過濾(Whitelist Filter)與流量丟失響應過濾(Flow Loss-Respose Filter)兩個子步驟,係透過白名單與丟失率為標準,過濾掉正常流量與非P2P通訊行為之流量; 群聚(Grouping)步驟:分為三階段(Level),分別為SuperSession群聚(SuperSession Grouping)、會話群聚(SessionGroup Grouping)、及行為群聚(BehaviorGroup Grouping),係透過P2P殭屍網路病毒之行為並藉由距離與群聚數量門檻值為依據,群聚出疑似P2P殭屍網路病毒之IP群;以及 反查(Reverse Lookup)步驟:係透過黑名單直接與間接驗證,反查成可疑IP列表(Suspicious IP list)。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該時間間隔門檻值係將傳輸控制協定(Transmission Control Protocol, TCP)設定為22秒、使用者資料報協定(User Datagram Protocol, UDP)設定為21秒之內,但不限定於上述兩組逾時範圍,可依應用情況調整。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該會話擷取步驟中係挑選出14個特徵,包含Forward_Pkts、Forward_Bytes、Forward_MaxBytes、Forward_MinBytes、Forward_MeanByte、Backward _Bytes、Backward_MaxBytes、Backward_MinBytes、Backward_MeanByte、Total_Bytes、Total_MaxBytes、Total_MeanByte、Total_STDByte、以及Total_IORatio,分別代表Src IP與Dst IP之間的封包數、Src IP與Dst IP之間的位元數、Src IP與Dst IP之間的最大位元數、Src IP與Dst IP之間的最小位元數、Src IP與Dst IP之間的平均位元數、Dst IP與Src IP之間的位元數、Dst IP與Src IP之間的最大位元數、Dst IP與Src IP之間的最小位元數、Dst IP與Src IP之間的平均位元數、雙向Total的資料位元數總和、雙向Total的資料最大位元數、雙向Total的資料平均位元數、雙向Total的資料位元數標準差、以及雙向Total的傳輸資料比,兩個方向的資料位元數的比值。
- 依申請專利範圍第3項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,不限於該14個特徵,特徵之個數挑選皆彈性,可用任意特徵組合進行後續偵測。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該白名單過濾子步驟用於過濾白名單,刪除Netflow日誌中之已知良性IP,接著由該流量丟失響應過濾子步驟過濾非P2P特性之通訊行為。
- 依申請專利範圍第1或5項所述之Netflow上偵測P2P殭屍網路之 方法,其中,該白名單過濾將檢查來源IP地址與目的IP地址,若其一存在於白名單,則將此Session刪除,剩餘部分則被視為可疑之Session。
- 依申請專利範圍第1或5項所述之Netflow上偵測P2P殭屍網路之 方法,其中,該流量丟失響應過濾子步驟包含三階段處理,第一階段用於計算流量損失響應之數量,第二階段計算相同來源IP地址之平均流量丟失響應率(Flow Loss-Response Rate, FLR),第三階段係在一列表中記錄具有高FLR之會話,並使用其來過濾非P2P流量。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟係基於P2P殭屍網路之特性進行三階段之群聚,但不限定只有三階段群聚,任何可以群聚相同Session行為的多階層演算法皆可替代。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟係基於密度基礎聚類算法,但不限定密度基礎聚類算法,任何可以達到相同效果的算法皆可替代。
- 依申請專利範圍第1項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟係基於P2P殭屍網路之特性進行三階段之群聚,根據相似通訊行為之判別,使用歐氏距離(Euclidean Distance)之公式計算Session間特徵向量之間的距離,但不限定此公式,任何可以判斷兩個資料維度距離之相關空間量測公式皆可替代,而群聚與否之判斷依據,則必須存在距離門檻值以上之相似通訊數量。
- 依申請專利範圍第8項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該數量係至少超過一個門檻值為3以上,其中,但該門檻值不限定可以是任何大於3或者依比例定義。
- 依申請專利範圍第8項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟第一階段之SuperSession群聚子步驟,係利用P2P殭屍網路會與同儕(peer)進行重複性通訊之特性進行群聚,透過相似之判斷公式,將相似之Session進行群聚成SuperSession,並計算平均特徵向量(Average Feature Vector)作為代表此SuperSession之特徵向量,並往第二階段之會話群聚子步驟進行群聚分析。
- 依申請專利範圍第8項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟第二階段之會話群聚子步驟,係利用P2P 殭屍網路會與其他許多同儕進行通訊之特性進行群聚,其在第一階段群聚後具有許多之Super Session,將該些SuperSession透過相似之判斷公式,將彼此相似之SuperSession進行群聚成SessionGroup,並計算平均特徵向量作為代表此SessionGroup之特徵向量,並往第三階段之行為群聚子步驟進行群聚分析。
- 依申請專利範圍第8項所述之Netflow上偵測P2P殭屍網路之方法 ,其中,該群聚步驟第三階段之行為群聚子步驟,係利用P2P殭屍網路間會有相似的通訊行為之特性,將第二階段之結果再進行一次群聚,透過已經在第二階段群聚後形成SessionGroup,將該些SessionGroup再次進行相似之判斷公式,將行為相似之SessionGroup群聚為BehaviorGroup,同樣計算平均特徵向量作為代表此BehaviorGroup之特徵向量,形成最終偵測結果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107114725A TWI666568B (zh) | 2018-04-30 | 2018-04-30 | 在Netflow上以會話型式之P2P殭屍網路偵測方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107114725A TWI666568B (zh) | 2018-04-30 | 2018-04-30 | 在Netflow上以會話型式之P2P殭屍網路偵測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI666568B true TWI666568B (zh) | 2019-07-21 |
TW201945972A TW201945972A (zh) | 2019-12-01 |
Family
ID=68049354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107114725A TWI666568B (zh) | 2018-04-30 | 2018-04-30 | 在Netflow上以會話型式之P2P殭屍網路偵測方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI666568B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI779245B (zh) * | 2019-10-31 | 2022-10-01 | 安碁資訊股份有限公司 | 異常流量偵測方法與異常流量偵測裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201103281A (en) * | 2009-07-03 | 2011-01-16 | Univ Nat Taiwan Science Tech | Botnet early detection using HHMM algorithm |
TW201126983A (en) * | 2010-01-22 | 2011-08-01 | Univ Nat Taiwan Science Tech | Detection methods and devices of network attack |
TW201701182A (zh) * | 2015-06-18 | 2017-01-01 | Chunghwa Telecom Co Ltd | 偵測可疑殭屍網路中繼站域名之方法 |
-
2018
- 2018-04-30 TW TW107114725A patent/TWI666568B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201103281A (en) * | 2009-07-03 | 2011-01-16 | Univ Nat Taiwan Science Tech | Botnet early detection using HHMM algorithm |
TW201126983A (en) * | 2010-01-22 | 2011-08-01 | Univ Nat Taiwan Science Tech | Detection methods and devices of network attack |
TW201701182A (zh) * | 2015-06-18 | 2017-01-01 | Chunghwa Telecom Co Ltd | 偵測可疑殭屍網路中繼站域名之方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI779245B (zh) * | 2019-10-31 | 2022-10-01 | 安碁資訊股份有限公司 | 異常流量偵測方法與異常流量偵測裝置 |
US11916939B2 (en) | 2019-10-31 | 2024-02-27 | Acer Cyber Security Incorporated | Abnormal traffic detection method and abnormal traffic detection device |
Also Published As
Publication number | Publication date |
---|---|
TW201945972A (zh) | 2019-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149343B (zh) | 一种基于流的异常通联行为检测方法和系统 | |
CN108282497B (zh) | 针对SDN控制平面的DDoS攻击检测方法 | |
Najafabadi et al. | Machine learning for detecting brute force attacks at the network level | |
Strayer et al. | Botnet detection based on network behavior | |
Lu et al. | Clustering botnet communication traffic based on n-gram feature selection | |
CN103297433B (zh) | 基于网络数据流的http僵尸网络检测方法及系统 | |
CN108429761B (zh) | 智慧协同网络中资源适配解析服务器DDoS攻击检测防御方法 | |
Iliofotou et al. | Graph-based p2p traffic classification at the internet backbone | |
CN108965248B (zh) | 一种基于流量分析的p2p僵尸网络检测系统及方法 | |
CN110166480B (zh) | 一种数据包的分析方法及装置 | |
Cai et al. | Detecting HTTP botnet with clustering network traffic | |
KR100684602B1 (ko) | 세션 상태전이를 이용한 시나리오 기반 침입대응 시스템 및그 방법 | |
KR100877911B1 (ko) | 네트워크 트래픽 전이 모델을 이용한 피투피 기반 봇넷탐지방법 | |
CN109194608B (zh) | 一种基于流的DDoS攻击与闪拥事件检测方法 | |
Kheir et al. | Botsuer: Suing stealthy p2p bots in network traffic through netflow analysis | |
Narang et al. | PeerShark: flow-clustering and conversation-generation for malicious peer-to-peer traffic identification | |
CN106330611A (zh) | 一种基于统计特征分类的匿名协议分类方法 | |
Dorfinger et al. | Entropy-based traffic filtering to support real-time Skype detection | |
Dong et al. | Overview of botnet detection based on machine learning | |
Priya et al. | The protocol independent detection and classification (PIDC) system for DRDoS attack | |
Thi et al. | Federated learning-based cyber threat hunting for apt attack detection in SDN-enabled networks | |
Hurley et al. | Host-based P2P flow identification and use in real-time | |
Shamsolmoali et al. | C2DF: High rate DDOS filtering method in cloud computing | |
TWI666568B (zh) | 在Netflow上以會話型式之P2P殭屍網路偵測方法 | |
US20200021647A1 (en) | Method of P2P Botnet Detection Based on Netflow Sessions |