TWI596498B - FedMR-based botnet reconnaissance method - Google Patents
FedMR-based botnet reconnaissance method Download PDFInfo
- Publication number
- TWI596498B TWI596498B TW105135438A TW105135438A TWI596498B TW I596498 B TWI596498 B TW I596498B TW 105135438 A TW105135438 A TW 105135438A TW 105135438 A TW105135438 A TW 105135438A TW I596498 B TWI596498 B TW I596498B
- Authority
- TW
- Taiwan
- Prior art keywords
- group
- cloud
- src
- dst
- traffic
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係有關於一種基於FedMR之跨區域殭屍網路聯偵方法,尤指涉及一種採用非監督式機器學習(machine learning)之演算法,特別係指可找出大量相似行為的殭屍網路流量,包含當前存在之各種P2P殭屍網路以及未來產生之新型P2P殭屍網路均可標記出來之方法。
殭屍網路(Botnet)隨著駭客技術之進步,從集中式型態演變成分散式P2P型態,使得偵測及追蹤更為困難,現今之P2P殭屍網路偵測方法主要係分析單一類型之殭屍網路,例如:Waledac、Storm-like、Nugache-like、Sality與ZeroAccess等,從大量的網路日誌中分析其行為及模式,挖掘該P2P殭屍網路之特徵門檻值(Feature Threshold),並利用該特徵門檻值對未來網路流量做惡意行為偵測。 通常每一個版本之P2P殭屍網路都需有一組特定之門檻值以供偵測判斷,但這會造成兩個問題,第一,隨著P2P殭屍網路病毒版本更新與進化,新版本之P2P殭屍網路特徵門檻值可能隨之改變並變得更為隱晦,需重新收集該殭屍網路之網路流量並重新分析以建立新的門檻值 ;第二,病毒無時無刻在增加,P2P殭屍網路之偵測系統勢必得紀錄所有病毒之門檻值,最終將與傳統偵測病毒執行檔之病毒特徵(Virus Signature)方式相同,需要設置一個特徵資料庫紀錄無窮無盡之門檻值,才能有效偵測所有P2P 殭屍網路活動,面對巨量資訊的時代並不切實際。 近期已有一些研究開始開發可同時偵測多種P2P殭屍網路之通用型偵測方法,為了達到「通用之P2P殭屍網路偵測」這個目標,它們的作法是去找出不同P2P殭屍網路之間的交集之共通特徵,再透過分群或分類之方式將多個具有惡意行為之網路流量分離出來;然而,此作法如同前段第一點提到,在殭屍網路行為改變後(例如:惡意程式版本更新、通訊路徑改變如IRC變為HTTP),同樣會發生與上述相同之問題,使用者必須重新收集網路流量日誌,並重新挖掘P2P殭屍網路之共通特徵,重新校正該共通特徵之門檻值,才能有效偵測新型P2P殭屍網路,否則整個系統之誤判率將隨之提高。 鑑於以往特徵比對(Signature-Based)之偵測方法,如現有中國大陸第CN 201510643971與CN 105282152A號專利案、及美國第US 8677487 B2號專利案,其大多著重在預先定義之規則,如果符合規則才會發出警告,無法針對未知之惡意程式做標記與過濾,因此僅能適用已知之殭屍網路,對於新型之惡意殭屍網路則無法辨識出來。故,ㄧ般習用者係無法符合使用者於實際使用時之所需。
本發明之主要目的係在於,克服習知技術所遭遇之上述問題並提供一種採用非監督式機器學習之演算法,以不針對特定P2P殭屍網路之前提下,提供一套通用型之P2P殭屍網路偵測機制,可找出大量相似行為之殭屍網路流量,包含當前存在之各種P2P殭屍網路以及未來產生之新型P2P殭屍網路均可標記出來之基於FedMR之殭屍網路聯偵方法。 本發明之次要目的係在於,提供一種不需要事先針對各種P2P 殭屍網路進行特徵量測,即可找出P2P殭屍網路通訊之方法,亦即一個通用之基於FedMR之殭屍網路聯偵方法。 本發明之另一目的係在於,提供一種不需要對封包內容進行檢視,能確保資料隱私以及避免封包加密技術問題之基於FedMR之殭屍網路聯偵方法。 本發明之再一目的係在於,提供一種能在潛伏階段偵測P2P殭屍網路之成員之間之微量通訊行為,可在殭屍網路發動攻擊前就將有嫌疑之流量及可疑IP偵測出來之基於FedMR之殭屍網路聯偵方法。 本發明之又一目的係在於,提供一種透過Fed-MR協同式運算框架進行跨區域的聯合分析,聯合多個區域的網路流量日誌,提高分析的資訊總量,解決以往單一區域低偵測率之問題,並達到跨區域資安聯防目標之基於FedMR之殭屍網路聯偵方法。 本發明之又一目的係在於,提供一種未來可應用在學術網路、網路提供商(ISP)等自治系統中(autonomous system),偵測惡意網路行為並預防殭屍網路攻擊,加強網路安全保護之基於FedMR之殭屍網路聯偵方法。 為達以上之目的,本發明係一種基於FedMR之殭屍網路聯偵方法,其至少包含下列步驟:流量擷取(Traffic Extraction)步驟:數個區域雲(Region Cloud )分別持有個別之網路流量(NetFlow)日誌(Log)之資料,日誌之格式為NetFlow,每筆資料為單一方向性(uni-direction)之網路流量連線(Flow),合併來源IP(Src IP)、來源通訊埠(Src_port)、目的地IP(Dst IP)、及目的地Port(Dst_port)互異之Flow成為單一Session,Flow之合併會依據逾時(Timeout)時間做合併,假設任一兩個單一方向性之Flow其之間間隔差距在預先定義之範圍內,則合併並累計相關統計值至Session裡面,並統計Session內所有資訊建立特徵向量值(Feature Vector);過濾(Filter)步驟:包含前置過濾(Preprocessing Filtering)與P2P流量過濾(P2P Traffic Filtering)兩個子步驟,該前置過濾係將各式依據預先定義之白名單過濾,過濾白名單內之Session,Session內有任一(來源或目地皆可)IP在白名單內就會被過濾,接著以該P2P流量過濾判斷Session之遺失率(loss rate),假設遺失率大於一預設門檻值才會納入要分析之對象,透過過濾階段剃除白名單之Session與遺失率低之Session,可有效降低要分析之資料量;群聚(Grouping)步驟:分為三階段(Level),分別為Level 1 Grouping 、Level 2 Grouping、及Level 3 Grouping,該Level 1 Grouping判斷群聚同一組Src-Dst IP之相同行為之Session,相同行為定義為各Src-Dst Session之特徵向量距離在一個範圍內就定義為相同,如果相同行為之Session數量超過一門檻值,就保留在該Session所形成的L1流量群(L1 Group),該Level 2 Grouping則針對上個階段所留下來之L1 Group再群聚一次,並以同一Src IP對不同Dst IP之Session做判斷,群聚特徵向量相近之Session形成一個L2 Group,該Level 3 Grouping則是更進一步擴充,分析該Level 2 Grouping所產生之L2 Group,群聚特徵相近之L2 Group,最後做輸出L3 Group,上述步驟判定特徵相近之方式係利用向量距離公式得之,在一個特徵門檻值內皆判定為相近;群分配(Group Distributor)步驟:係依據各區域雲產生出來之L3 Groups分散給其他區域雲之群聚集(Group Aggregator);群聚集步驟:將各區域雲之群聚集最後彙整成為一個完整流量群列表(Complete Group List),且該完整流量群列表會散布至各區域雲;群相似性量測(Group Similarity Measure)步驟:係依據各區域雲產生出來之完整流量群列表建立關聯圖(Relationship Graph),每個區域雲會把自己擁有之Group與完整流量群列表內之Group逐一比較,除了群ID(Group ID)與自己相同之Group不比較外,其餘的均會比較距離,計算出來之距離如果落在一範圍值(Distance_threshold)內,則表示兩點之間會建立連線,一併紀錄至該點之鄰居列表(Adjacency List)當中;建立群關聯圖(Graph Constructor)步驟:係於上層雲(Top Cloud)彙整各區域雲之鄰居列表成為一完整鄰居列表(Complete Adjacency List),此完整鄰居列表即為一個關聯圖之完整描述;評分與耦合(Ranking and Association)步驟:係對於關聯圖中之節點(node),節點為Group之代表,執行一評分演算法,例如:SimRank、PageRank,透過該評分演算法標記各節點之分數,分數在一範圍(Range)內的節點可以視為同一元素(Component),如此可以獲得許多的主要元素(Main Component),這些主要元素就是擁有高度相似網路行為之Group集合;以及收集可疑IP(Suspicious IP Collector)步驟:係彙整各主要元素內之Group(即節點),傳回給各區域雲,各區域雲透過Group編號還原成一可疑IP列表(Suspicious IP List),標記出有嫌疑之IP,而還原之IP會包含Src IP與Dst IP兩個集合,其中,該流量擷取步驟、該過濾步驟、及該群聚步驟皆獨立在該區域雲中執行以獲得第一階段L3 Group資料,而該群分配步驟、該群聚集步驟、該相似性量測步驟、及該建立群關聯圖步驟則在FedMR(Federated MapRedcue)運行,並可拆解MapReduce成為兩部分,一部份放在該區域雲執行,另一部分放在該上層雲執行,俾令在不修改程式碼之情況下,可以跨雲執行MapReduce工作。 於本發明上述實施例中,該特徵向量值係根據Flow之基本資料為Session建立特徵向量,此特徵向量係表示一Session之活動統計向量,透過收集不同殭屍網路(Botnet)之日誌(Log),利用特徵選取(Feature Selection)做訓練分析,得到可有效偵測殭屍網路之14個特徵值,包含srcToDst_NumOfPkts、srcToDst_NumOfBytes、srcToDst_Byte_Max、srcToDst_Byte_Min、srcToDst_Byte_Mean、dstToSrc_NumOfBytes、dstToSrc_Byte_Max、dstToSrc_Byte_Min、dstToSrc_Byte_Mean、total_NumOfBytes、total_Byte_Max、total_Byte_Mean、total_Byte_STD、以及total_BytesTransferRatio,分別代表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之間封包平均位元數、Flow的資料位元數總和、Flow的資料最大位元數、Flow的資料最小位元數、Flow的資料位元數標準差、以及Flow的傳輸資料比,兩個方向的資料位元數的比值。 於本發明上述實施例中,該14個特徵值係從資訊增益(information gain)排名所得到之結果,但實務上不限於此14個特徵,任何有用之特徵均可納入分析。 於本發明上述實施例中,該流量擷取步驟中,該預先定義之範圍係將傳輸控制協定(Transmission Control Protocol, TCP)逾時設定為21秒或使用者資料報協定(User Datagram Protocol, UDP)逾時設定為22秒之內,但是通訊協定與網路環境調整不限定於上述的時間內。 於本發明上述實施例中,該白名單係由使用者設定,可為領域名稱系統伺服器(Domain Name System Server, DNS Server)、已知IP(Well-Known IP)與內聯網IP(intranet-class IP),該白名單可隨時更新,並可搭配網路服務改變新增任意之IP,IP不限定於IPv4或IPv6,本方法可應用於未來之IP型態。 於本發明上述實施例中,該群聚步驟係根據特徵向量之相似度決定群聚,相似度之公式係使用歐氏距離(Euclidean Distance)或任何可以判斷兩個資料維度距離之相關空間量測公式,而群聚之演算法在實施例中係採用DBScan-Like之演算法,以某一點為起點開始掃描節點,直到所有節點都被掃描完成,或是在預先定義之範圍內已經沒有任何節點;而該群聚之演算法亦可以任何有效的群聚演算法替代。 於本發明上述實施例中,該群聚步驟中,Level 1至Level 3之演算法流程均相同,僅計算對象不同,本步驟係彙整行為相似的Session至同一個Group,僅有Level 1 Grouping會判斷Group之大小作過濾,Level 2與Level 3也有各自之門檻值判斷大小,決定是否保留Group。 於本發明上述實施例中,該評分與耦合步驟中之評分演算法係使用改良之SimRank,為可平行運算之MapReduce之版本,但任何可執行評分之演算法均可使用。 於本發明上述實施例中,該收集可疑IP步驟係可獨立在各區域雲中執行,也可單獨在該上層雲上面執行,端視使用者對於資料之隱私程度。 於本發明上述實施例中,各區域雲先執行該流量擷取步驟、該過濾步驟、及該群聚步驟,統整網路流量日誌之資料,合併單一方向性之Flow成為雙向性(bi-directional)之Flow,該雙向性之Flow再進一步的群聚成個別之Session,該個別之Session建立好後會在更進一步的群聚成為獨立之Group。 於本發明上述實施例中,該群聚集步驟係產生可供該相似性量測步驟比較之完整流量群列表,讓各區域雲在建立關聯圖步驟時可以平行獨立執行。 於本發明上述實施例中,該評分與耦合步驟、及該收集可疑IP步驟皆獨立在該上層雲中執行。
請參閱『第1圖』所示,係本發明基於FedMR之殭屍網路聯偵流程示意圖。如圖所示:本發明係一種基於FedMR之殭屍網路聯偵方法,係提供數個區域雲(Region Cloud )1聯合,一同偵測殭屍網路(Botnet)之活動,克服網路流量(NetFlow)日誌(Log)過小,導致無法判斷是否有惡意程式活動之情況;並依循非監督式之機器學習(machine learning)演算法設計概念,建構一個可以自我調適,透過網路流量日誌,挖掘惡意程式活動之方法。該方法至少包含下列步驟: 流量擷取(Traffic Extraction)步驟s101:數個區域雲1分別持有個別之網路流量日誌之資料,日誌之格式為NetFlow,讀取網路流量連線(Flow),因為NetFlow Flow都是單一方向性(uni-direction),合併來源IP(Src IP)、來源通訊埠(Src_port)、目的地IP(Dst IP)、及目的地Port(Dst_port)互異之Flow成為單一Session,Flow之合併會依據逾時(Timeout)時間做合併,假設任一兩個單一方向性之Flow其之間間隔差距在預先定義之範圍內,則合併並累計相關統計值至Session裡面,並統計Session內所有資訊建立特徵向量值(Feature Vector)。於一實施例中,該預先定義之範圍係將傳輸控制協定(Transmission Control Protocol, TCP)逾時設定為21秒或使用者資料報協定(User Datagram Protocol, UDP)逾時設定為22秒之內。 本發明係根據Flow之基本資料建立特徵向量,此特徵向量係表示一Session之活動統計向量,透過收集不同殭屍網路之日誌,利用特徵選取(Feature Selection)做訓練分析,得到可有效偵測殭屍網路之14個特徵值,如表一所示。 表一
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 特徵名稱 </td><td> 特徵說明 </td></tr><tr><td> 1. srcToDst_NumOfPkts </td><td> Src IP與Dst IP之間的封包數 </td></tr><tr><td> 2. srcToDst_NumOfBytes </td><td> Src IP與Dst IP之間的資料位元數 </td></tr><tr><td> 3. srcToDst_Byte_Max </td><td> Src IP與Dst IP之間封包最大位元數 </td></tr><tr><td> 4. srcToDst_Byte_Min </td><td> Src IP與Dst IP之間封包最小位元數 </td></tr><tr><td> 5. srcToDst_Byte_Mean </td><td> Src IP與Dst IP之間封包平均位元數 </td></tr><tr><td> 6. dstToSrc_NumOfBytes </td><td> Dst IP與Src IP之間的資料位元數 </td></tr><tr><td> 7. dstToSrc_Byte_Max </td><td> Dst IP與Src IP之間封包最大位元數 </td></tr><tr><td> 8. dstToSrc_Byte_Min </td><td> Dst IP與Src IP之間封包最小位元數 </td></tr><tr><td> 9. dstToSrc_Byte_Mean </td><td> Dst IP與Src IP之間封包平均位元數 </td></tr><tr><td> 10. total_NumOfBytes </td><td> Flow的資料位元數總和 </td></tr><tr><td> 11. total_Byte_Max </td><td> Flow的資料最大位元數 </td></tr><tr><td> 12. total_Byte_Mean </td><td> Flow的資料最小位元數 </td></tr><tr><td> 13. total_Byte_STD </td><td> Flow的資料位元數標準差 </td></tr><tr><td> 14. total_BytesTransferRatio </td><td> Flow的傳輸資料比,兩個方向的資料位元數的比值 </td></tr></TBODY></TABLE>挑選上述14個特徵係從資訊增益(information gain)排名所得到之結果。本發明實驗部份採用這14個特徵做為可行性證明,但不限定只能使用該14個特徵,其他特徵亦可。 過濾(Filter)步驟s102:包含前置過濾(Preprocessing Filtering)與P2P流量過濾(P2P Traffic Filtering)兩個子步驟,該前置過濾係將各式依據預先定義之白名單過濾,過濾到白名單內之Session,Session內有任一IP在白名單內就會被過濾,接著以該P2P流量過濾判斷Session之遺失率(loss rate),假設遺失率大於一預設門檻值才會納入要分析之對象,其原因為殭屍網路之節點通常不一定常駐存在,所以通訊上面會產生許多失敗之連線,透過過濾階段剃除白名單之Session與遺失率低之Session,可有效降低要分析之資料量。其中,該白名單係由使用者設定,通常為領域名稱系統伺服器(Domain Name System Server, DNS Server)、已知IP(Well-Known IP)與內聯網IP(intranet-class IP)。 群聚(Grouping)步驟s103:分為三階段(Level),分別為Level 1 Grouping、Level 2 Grouping、及Level 3 Grouping,該Level 1 Grouping判斷群聚同一組Src-Dst IP之相同行為之Session,如果相同行為之Session數量超過一門檻值,就保留在該Session所形成之L1流量群(L1 Group),該Level 2 Grouping則針對上個階段所留下來之L1 Group再群聚一次,並以同一Src IP對不同Dst IP之Session做判斷,群聚特徵向量相近之Session形成一個L2 Group,該Level 3 Grouping則是更進一步擴充,分析該Level 2 Grouping所產生之L2 Group,群聚特徵相近之L2 Group,最後做輸出L3 Group。其中,群聚係根據特徵向量之相似度決定,相似度之公式可為任意之空間量測公式,本發明驗證之部分使用歐氏距離(Euclidean Distance)做示範。而群聚之演算法係採用DBScan-Like之演算法,以某一點為起點開始掃描節點,直到所有節點都被掃描完成,或是在預先定義之範圍內已經沒有任何節點。Level 1至Level 3之演算法流程均相同,僅計算對象不同,本步驟目的係彙整行為相似的Session至同一個Group,僅有Level 1 Grouping會判斷Group之大小作過濾,Level 2與Level 3也有各自之門檻值判斷大小,決定是否保留Group。 群分配(Group Distributor)步驟s104:係依據各區域雲1產生出來之L3 Groups分散給其他區域雲1之群聚集(Group Aggregator)。 群聚集步驟s105:將各區域雲1之群聚集最後彙整成為一個完整流量群列表(Complete Group List),該完整流量群列表會被用於建立關聯圖(Relationship Graph)(見步驟s106~s107),目的為產生一個可以比較之列表,讓各區域雲1在建圖時可以平行獨立執行。其中,每一Group內有一組特徵向量(請參考上述特徵向量之部分)。 群相似性量測(Group Similarity Measure)步驟s106:係依據各區域雲1產生出來之完整流量群列表建立關聯圖,每個區域雲1會把自己擁有之Group與完整流量群列表內之Group逐一比較,除了群ID(Group ID)與自己相同之Group不比較外,其餘的均會比較距離,計算出來之距離如果落在一範圍值(Distance_threshold)內,則表示兩點之間會建立連線,一併紀錄至該點之鄰居列表(Adjacency List)當中。 建立群關聯圖(Graph Constructor)步驟s107:當所有之步驟s107都執行完畢後,本步驟s107係於上層雲(Top Cloud)2彙整各區域雲1之鄰居列表成為一完整鄰居列表(Complete Adjacency List),此完整鄰居列表即為一個關聯圖之完整描述 評分與耦合(Ranking and Association)步驟s108:係對於關聯圖中之節點(node)執行一評分演算法,本發明驗證時係使用改良之SimRank(可平行運算之MapReduce之版本),透過SimRank標記各節點之分數,節點代表Group,分數在一範圍(Range)內的節點可以視為同一元素(Component),如此可以獲得許多的主要元素(Main Component),這些主要元素就是擁有高度相似網路行為之Group集合。 收集可疑IP(Suspicious IP Collector)步驟s109:係彙整各主要元素內之Group(即節點),傳回給各區域雲1,各區域雲1透過Group編號還原成一可疑IP列表(Suspicious IP List)之形式,標記出有嫌疑之IP,而還原之IP會包含Src IP與Dst IP兩個集合。本步驟s109可獨立在各區域雲1中執行,也可單獨在該上層雲2執行,端視使用者對於資料之隱私程度。如是,藉由上述揭露之流程構成一全新之基於FedMR之殭屍網路聯偵方法。 當運用時,本方法假設有多個雲構成區域雲,如第1圖所示,共有三個區域雲1,每個區域雲1分別持有個別之網路流量日誌,日誌之格式為Netflow;在執行協同偵測殭屍網路時,各區域雲1先執行流量擷取步驟s101、過濾步驟s102及群聚步驟s103,統整Netflow日誌之資訊,合併單一方向性之Flow成為雙向性(bi-directional)之Flow;該雙向性之Flow會再進一步的Grouping成個別之Session,該個別之Session建立好後會在更進一步的Grouping成為獨立之Group。建立好之Group,透過群分配步驟s104與群聚集步驟s105合併成一個完整流量群列表,這份完整流量群列表會散布至各區域雲1。當各區域雲1都有完整流量群列表之後,再執行群相似性量測步驟s106,建立各自之鄰居列表,最後在上層雲2由建立群關聯圖步驟s107彙整成為一個完整鄰居列表,這個完整鄰居列表即代表一個關聯圖。該完整之關聯圖再交由評分與耦合步驟s108,分析找出關聯圖中高度關聯之節點(Group),讓節點構成一個主要元素,這些主要元素就是本發明所得出之擁有相似網路行為之Group;在這些Group之IP就極有可能有殭屍網路之活動出現,最後透過收集可疑IP步驟s109彙整成一個可疑IP列表。關聯圖之表現形式本發明採用鄰居列表之方式呈現,這樣的表示利於分析儲存,每一行代表一個節點與跟其連接之相臨點還有該點與其他點之距離。 在執行階段部分,步驟s101至步驟s103透過流量擷取、過濾、群聚獲得第一階段Group資料,上述三個步驟都是獨立在區域雲1中執行。建立關聯圖過程之步驟s104至步驟s107則是在FedMR(Federated MapRedcue)3運行,並可拆解MapReduce成為兩部分,一部份放在區域雲1執行,另一部分放在上層雲2執行,達成在不修改程式碼之情況下,可以跨雲執行MapReduce工作。收集可疑IP過程之步驟s108至步驟s109皆獨立在該上層雲2中執行。 Netflow之資料會被轉換成特徵向量,特徵向量之內容可以隨意調整,本發明在驗證系統可行性時,定義了14個特徵向量作為標示一個Flow活動行為之標的。相似之判斷公式主要使用歐氏距離之公式,但不限定只用在此公式,任何可以判斷兩個資料維度距離之公式皆可以替代 。以下以實際之網路流量日誌實驗本方法之可行性,並利用VirusTotal之服務驗證偵測出來之IP是否為有嫌疑之IP,如表二、表三所示。 表二
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>網路流量日誌</b></td><td><b>成功大學</b><b>2016/4/7</b><b>至</b><b>2016/4/13</b><b>共七天總個</b><b>35G</b><b>B</b><b>,切割成四份資料每份均大小均向同。</b></td></tr><tr><td><b>距離公式</b></td><td> 歐式距離 </td></tr><tr><td><b>距離門檻值</b></td><td> 0.4 </td></tr><tr><td><b>流量遺失率</b></td><td> 0.225 </td></tr><tr><td><b>L1 Grouping</b><b>門檻值</b></td><td> 6 </td></tr><tr><td><b>L2 Grouping</b><b>門檻值</b></td><td> 6 </td></tr><tr><td><b>L3 Grouping</b><b>門檻值</b></td><td> 3 </td></tr></TBODY></TABLE>表三
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td><b>驗證</b><b>IP</b><b>門檻值</b></td><td><b>查找</b><b>IPs</b><b>(</b><b>Finding IPs, FIP</b><b>)</b></td><td><b>VirusTotal</b><b>驗證</b><b>IPs</b><b>(</b><b>Verified IPs, VIP</b><b>)</b></td><td><b>重疊率</b><b>(</b><b>Overlap Rate</b><b>)</b></td></tr><tr><td><b>1</b></td><td> 1659 </td><td> 1592 </td><td> 95.95% </td></tr><tr><td><b>2</b></td><td> 1659 </td><td> 1495 </td><td> 90.11% </td></tr><tr><td><b>3</b></td><td> 1659 </td><td> 1386 </td><td> 83.54% </td></tr></TBODY></TABLE>驗證IP門檻值(Verified IP Threshold)係用於確認一元素是否有惡意行為,1表示只要有一IP位於VirusTotal當中,就算有惡意行為,以此類推。 藉此,本方法透過行為分析可辦別出不同之殭屍網路,此方法不僅適用已知之殭屍網路,對於新型之惡意殭屍網路仍能夠辨識出來,不同於傳統Signature-Based之偵測方法,對於混合之殭屍網路,亦可有效地辨別出中毒之IP。該聯偵方法可分為兩個執行階段: 1. 首先考慮到殭屍網路之週期性活動特性,分析並群聚具有週期性行為之通訊流量。 2. 考慮同一類型之P2P 殭屍網路成員之間之行為相似度。該相似度大致包含兩點特性:(1)通訊特徵相近;以及(2)通訊鄰近點(neighbors)之重複性(使用simrank演算法)。 綜上所述,本發明係一種全新之基於FedMR之殭屍網路聯偵方法,可有效改善習用之種種缺點,採用非監督式機器學習(machine learning)之演算法,以不針對特定P2P殭屍網路之前提下進行特徵量測,提供一套通用型之P2P 殭屍網路偵測機制,可找出大量相似行為之殭屍網路流量,包含當前存在之各種P2P殭屍網路以及未來產生之新型P2P 殭屍網路均可標記出來,且不需要對封包內容進行分析,確保資料隱私以及避免封包加密技術之問題,並能在潛伏階段偵測P2P殭屍網路之成員之間之微量通訊行為,可在殭屍網路發動攻擊前就將有嫌疑之流量及可疑IP偵測出來。此外P2P殭屍網路之通訊,在單一區域(domain)未必顯著,因此本發明將透過Fed-MR協同式運算框架進行跨區域的聯合分析,解決以往單一區域低偵測率之問題,並達到跨區域資安聯防之目標。此方法未來可應用在學術網路、網路提供商(ISP)等自治系統(Autonomous system)中,用於偵測惡意網路行為並預防殭屍網路攻擊,加強網路安全保護,進而使本發明之□生能更進步、更實用、更符合使用者之所須,確已符合發明專利申請之要件,爰依法提出專利申請。 惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍;故,凡依本發明申請專利範圍及發明說明書內容所作之簡單的等效變化與修飾,皆應仍屬本發明專利涵蓋之範圍內。
1‧‧‧區域雲
2‧‧‧上層雲
3‧‧‧FedMR
s101~s109‧‧‧步驟
2‧‧‧上層雲
3‧‧‧FedMR
s101~s109‧‧‧步驟
第1圖,係本發明基於FedMR之殭屍網路聯偵流程示意圖。
1‧‧‧區域雲
2‧‧‧上層雲
3‧‧‧FedMR
s101~s109‧‧‧步驟
Claims (12)
- 一種基於FedMR之殭屍網路聯偵方法,其至少包含下列步驟: 流量擷取(Traffic Extraction)步驟:數個區域雲(Region Cloud )分別持有個別之網路流量(NetFlow)日誌(Log)之資料,日誌之格式為NetFlow,每筆資料為單一方向性(uni-direction)之網路流量連線(Flow),合併來源IP(Src IP)、來源通訊埠(Src_port)、目的地IP(Dst IP)、及目的地Port(Dst_port)互異之Flow成為單一Session,Flow之合併會依據逾時(Timeout)時間做合併,假設任一兩個單一方向性之Flow其之間間隔差距在預先定義之範圍內,則合併並累計相關統計值至Session裡面,並統計Session內所有資訊建立特徵向量值(Feature Vector); 過濾(Filter)步驟:包含前置過濾(Preprocessing Filtering)與P2P流量過濾(P2P Traffic Filtering)兩個子步驟,該前置過濾係將各式依據預先定義之白名單過濾,過濾白名單內之Session,Session內有任一IP在白名單內就會被過濾,接著以該P2P流量過濾判斷Session之遺失率(loss rate),假設遺失率大於一預設門檻值才會納入要分析之對象,透過過濾階段剃除白名單之Session與遺失率低之Session,可有效降低要分析之資料量; 群聚(Grouping)步驟:分為三階段(Level),分別為Level 1 Grouping、Level 2 Grouping、及Level 3 Grouping,該Level 1 Grouping判斷群聚同一組Src-Dst IP之相同行為之Session,如果相同行為之Session數量超過一門檻值,就保留在該Session所形成之L1流量群(L1 Group),該Level 2 Grouping則針對上個階段所留下來之L1 Group再群聚一次,並以同一Src IP對不同Dst IP之Session做判斷,群聚特徵向量相近之Session形成一個L2 Group,該Level 3 Grouping則是更進一步擴充,分析該Level 2 Grouping所產生之L2 Group,群聚特徵相近之L2 Group,最後做輸出L3 Group; 群分配(Group Distributor)步驟:係依據各區域雲產生出來之L3 Groups分散給其他區域雲之群聚集(Group Aggregator); 群聚集步驟:將各區域雲之群聚集最後彙整成為一個完整流量群列表(Complete Group List),且該完整流量群列表會散布至各區域雲; 群相似性量測(Group Similarity Measure)步驟:係依據各區域雲產生出來之完整流量群列表建立關聯圖(Relationship Graph),每個區域雲會把自己擁有之Group與完整流量群列表內之Group逐一比較,除了群ID(Group ID)與自己相同之Group不比較外,其餘的均會比較距離,計算出來之距離如果落在一範圍值(Distance_threshold)內,則表示兩點之間會建立連線,一併紀錄至該點之鄰居列表(Adjacency List)當中; 建立群關聯圖(Graph Constructor)步驟:係於上層雲(Top Cloud)彙整各區域雲之鄰居列表成為一完整鄰居列表(Complete Adjacency List),此完整鄰居列表即為一個關聯圖之完整描述; 評分與耦合(Ranking and Association)步驟:係對於關聯圖中之節點(node),節點為Group之代表,執行一評分演算法,透過該評分演算法標記各節點之分數,分數在一範圍(Range)內的節點可以視為同一元素(Component),如此可以獲得許多的主要元素(Main Component),這些主要元素就是擁有高度相似網路行為之Group集合;以及 收集可疑IP(Suspicious IP Collector)步驟:係彙整各主要元素內之Group(即節點),傳回給各區域雲,各區域雲透過Group編號還原成一可疑IP列表(Suspicious IP List),標記出有嫌疑之IP,而還原之IP會包含Src IP與Dst IP兩個集合; 其中,該流量擷取步驟、該過濾步驟、及該群聚步驟皆獨立在該區域雲中執行以獲得第一階段L3 Group資料,而該群分配步驟、該群聚集步驟、該相似性量測步驟、及建立群關聯圖步驟則在FedMR(Federated MapRedcue)運行,並可拆解MapReduce成為兩部分,一部份放在該區域雲執行,另一部分放在該上層雲執行,俾令在不修改程式碼之情況下,可以跨雲執行MapReduce工作。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該特徵向量值係根據Flow之基本資料為Session建立特徵向量,此特徵向量係表示一Session之活動統計向量,透過收集不同殭屍網路(Botnet)之日誌(Log),利用特徵選取(Feature Selection)做訓練分析,得到可有效偵測殭屍網路之14個特徵值,包含srcToDst_NumOfPkts、srcToDst_NumOfBytes、srcToDst_Byte_Max、srcToDst_Byte_Min、srcToDst_Byte_Mean、dstToSrc_NumOfBytes、dstToSrc_Byte_Max、dstToSrc_Byte_Min、dstToSrc_Byte_Mean、total_NumOfBytes、total_Byte_Max、total_Byte_Mean、total_Byte_STD、以及total_BytesTransferRatio,分別代表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之間封包平均位元數、Flow的資料位元數總和、Flow的資料最大位元數、Flow的資料最小位元數、Flow的資料位元數標準差、以及Flow的傳輸資料比,兩個方向的資料位元數的比值。
- 依申請專利範圍第2項所述之基於FedMR之殭屍網路聯偵方法, 其中,該14個特徵值係從資訊增益(information gain)排名所得到之結果,但不限於於此14個特徵值,任何可有效區隔殭屍網路之特徵皆可使用。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該流量擷取步驟中,該預先定義之範圍係將傳輸控制協定(Transmission Control Protocol, TCP)逾時設定為21秒或使用者資料報協定(User Datagram Protocol, UDP)逾時設定為22秒之內,但不限定於上述兩組逾時範圍,可依應用情況調整。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該白名單係由使用者設定,可為領域名稱系統伺服器(Domain Name System Server, DNS Server)、已知IP(Well-Known IP)、內聯網IP(intranet-class IP)或未來任何形式之公開IP。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該群聚步驟係根據特徵向量之相似度決定群聚,相似度之公式係使用歐氏距離(Euclidean Distance)或任何可以判斷兩個資料維度距離之相關空間量測公式,而群聚之演算法係採用DBScan-Like之演算法,以某一點為起點開始掃描節點,直到所有節點都被掃描完成,或是在預先定義之範圍內已經沒有任何節點;而該群聚之演算法亦可以任何有效的群聚演算法替代。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該群聚步驟中,Level 1至Level 3之演算法流程均相同,僅計算對象不同,本步驟係彙整行為相似的Session至同一個Group,僅有Level 1 Grouping會判斷Group之大小作過濾,Level 2與Level 3也有各自之門檻值判斷大小,決定是否保留Group。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該評分與耦合步驟中之評分演算法係使用改良之SimRank,為可平行運算之MapReduce之版本,亦或使用任何可對於關聯圖執行評分之演算法替代。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法, 其中,該收集可疑IP步驟係可獨立在各區域雲中執行,也可單獨在該上層雲上面執行,端視使用者對於資料之隱私程度。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法 ,其中,各區域雲先執行該流量擷取步驟、該過濾步驟、及該群聚步驟,統整網路流量日誌之資料,合併單一方向性之Flow成為雙向性(bi-directional)之Flow,該雙向性之Flow再進一步的群聚成個別之Session,該個別之Session建立好後會在更進一步的群聚成為獨立之Group。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法 ,其中,該群聚集步驟係產生可供該相似性量測步驟比較之完整流量群列表,讓各區域雲在建立關聯圖步驟時可以平行獨立執行。
- 依申請專利範圍第1項所述之基於FedMR之殭屍網路聯偵方法 ,其中,該評分與耦合步驟、及該收集可疑IP步驟皆獨立在該上層雲中執行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105135438A TWI596498B (zh) | 2016-11-02 | 2016-11-02 | FedMR-based botnet reconnaissance method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105135438A TWI596498B (zh) | 2016-11-02 | 2016-11-02 | FedMR-based botnet reconnaissance method |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI596498B true TWI596498B (zh) | 2017-08-21 |
TW201818285A TW201818285A (zh) | 2018-05-16 |
Family
ID=60189395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105135438A TWI596498B (zh) | 2016-11-02 | 2016-11-02 | FedMR-based botnet reconnaissance method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI596498B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI707565B (zh) * | 2019-04-19 | 2020-10-11 | 國立中央大學 | 網路攻擊者辨識方法及網路系統 |
TWI734466B (zh) * | 2019-11-19 | 2021-07-21 | 大陸商支付寶(杭州)信息技術有限公司 | 針對隱私資料洩漏的風險評估方法及裝置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138327B2 (en) | 2018-12-27 | 2021-10-05 | Industrial Technology Research Institute | Privacy data integration method and server |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204264A1 (en) * | 2009-10-20 | 2012-08-09 | Chengdu Huawei Symantec Technologies Co., Ltd. | Method, apparatus and system for detecting botnet |
TWI405434B (zh) * | 2009-07-03 | 2013-08-11 | Univ Nat Taiwan Science Tech | 殭屍網路偵測系統及方法 |
US20130227045A1 (en) * | 2010-04-08 | 2013-08-29 | At&T Intellectual Property I, L.P. | Bot-Network Detection Based on Simple Mail Transfer Protocol (SMTP) Characteristics of E-Mail Senders Within IP Address Aggregates |
US20140047543A1 (en) * | 2012-08-07 | 2014-02-13 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting http botnet based on densities of web transactions |
US20160014147A1 (en) * | 2014-01-07 | 2016-01-14 | Fair Isaac Corporation | Cyber security adaptive analytics threat monitoring system and method |
US20160156644A1 (en) * | 2011-05-24 | 2016-06-02 | Palo Alto Networks, Inc. | Heuristic botnet detection |
-
2016
- 2016-11-02 TW TW105135438A patent/TWI596498B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI405434B (zh) * | 2009-07-03 | 2013-08-11 | Univ Nat Taiwan Science Tech | 殭屍網路偵測系統及方法 |
US20120204264A1 (en) * | 2009-10-20 | 2012-08-09 | Chengdu Huawei Symantec Technologies Co., Ltd. | Method, apparatus and system for detecting botnet |
US20130227045A1 (en) * | 2010-04-08 | 2013-08-29 | At&T Intellectual Property I, L.P. | Bot-Network Detection Based on Simple Mail Transfer Protocol (SMTP) Characteristics of E-Mail Senders Within IP Address Aggregates |
US20160156644A1 (en) * | 2011-05-24 | 2016-06-02 | Palo Alto Networks, Inc. | Heuristic botnet detection |
US20140047543A1 (en) * | 2012-08-07 | 2014-02-13 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting http botnet based on densities of web transactions |
US20160014147A1 (en) * | 2014-01-07 | 2016-01-14 | Fair Isaac Corporation | Cyber security adaptive analytics threat monitoring system and method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI707565B (zh) * | 2019-04-19 | 2020-10-11 | 國立中央大學 | 網路攻擊者辨識方法及網路系統 |
TWI734466B (zh) * | 2019-11-19 | 2021-07-21 | 大陸商支付寶(杭州)信息技術有限公司 | 針對隱私資料洩漏的風險評估方法及裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201818285A (zh) | 2018-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10721244B2 (en) | Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program | |
Lu et al. | Automatic discovery of botnet communities on large-scale communication networks | |
CN108965248B (zh) | 一种基于流量分析的p2p僵尸网络检测系统及方法 | |
Sung et al. | Large-scale IP traceback in high-speed internet: practical techniques and information-theoretic foundation | |
Lu et al. | BotCop: An online botnet traffic classifier | |
Chen et al. | Detecting botnet by anomalous traffic | |
Varalakshmi et al. | Thwarting DDoS attacks in grid using information divergence | |
Cai et al. | Detecting HTTP botnet with clustering network traffic | |
TWI596498B (zh) | FedMR-based botnet reconnaissance method | |
Narang et al. | PeerShark: flow-clustering and conversation-generation for malicious peer-to-peer traffic identification | |
Chen et al. | Web botnet detection based on flow information | |
Haddadi et al. | How to choose from different botnet detection systems? | |
CN114513325B (zh) | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 | |
Shamsolmoali et al. | C2DF: High rate DDOS filtering method in cloud computing | |
Fajana et al. | Torbot stalker: Detecting tor botnets through intelligent circuit data analysis | |
Tarng et al. | The analysis and identification of P2P botnet's traffic flows | |
Keshariya et al. | DDoS defense mechanisms: A new taxonomy | |
Catak | Two-layer malicious network flow detection system with sparse linear model based feature selection | |
Qin et al. | MUCM: multilevel user cluster mining based on behavior profiles for network monitoring | |
US20200021647A1 (en) | Method of P2P Botnet Detection Based on Netflow Sessions | |
Hwa et al. | Review of peer-to-peer botnets and detection mechanisms | |
TW201947442A (zh) | 可疑網域之偵測方法、閘道裝置及非暫態電腦可讀取媒體 | |
Resmi et al. | An extension of intrusion prevention, detection and response system for secure content delivery networks | |
TWI666568B (zh) | 在Netflow上以會話型式之P2P殭屍網路偵測方法 | |
Ding et al. | Machine learning for cybersecurity: Network-based botnet detection using time-limited flows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |