以網路資料探勘技術偵測隱藏惡意網站之研究
54
0
0
全文
(2)
(3) 致謝 拿在手中的這本薄薄幾頁的論文,在心中卻是格外地有份量,隨著論文的完成,研 究所兩年的學習生涯也已告尾聲,一路走來的顛簸及酸甜苦辣,在資管大家庭的師長、 職員、學長姐弟妹及同學的扶持下一一化成了甜美的果實,這兩年的學習生涯開拓了我 的視野,充實了我的學識,豐富了我的人生。 要感謝的人實在太多了,首先要感謝是指導教授蕭漢威老師,自大學時期與老師結 緣起便一直受到老師的照顧,在研究所兩年中蕭老師的包容及悉心指導,對研究過程嚴 謹要求的訓練,論文撰寫要求的一絲不苟的態度,都令學生受益匪淺。感謝口試委員陳 灯能教授與楊新章教授對學生的論文不吝地給予寶貴的建議與指導,使本篇論文能更臻 完備。 特別感謝系主任郭英峰教授對學生的栽培與厚愛,屢屢推薦學生獲獎,也感謝資管 系的授課教授們於平日課堂上引導我一窺高等學術領域的殿堂。感謝系辦助理閔玲無所 不在的協助,感謝共患難的同學,思揚、恆慈、智翔、軍達、東建、佑寧、齊祥、冀威 的互相勉勵與扶持,學弟坤裕、瑋宬、慶鴻、國隆、裕晟、永平、偉鈞的付出,讓我的 碩士生涯更添色彩。這麼多的感激也表達不完我對所有曾經幫助過我、陪伴著我的所有 人,不管是討論、是激辦、是拌嘴、是談天說笑或言不及義,這些交流才造就了今日的 我,真心的、謝謝。 最後,我要感謝我最親愛的家人,爸爸、媽媽、哥哥與兩位姐姐在我決定從職場重 返學生角色之後,無論精神上或實質的幫助都不曾間斷的全力支持我、鼓勵我,對於家 人有著太多的感謝,實在難以用文字形容。我的成就是屬於你們的,感謝我的家人,我 愛你們。. 吳宗儒 謹誌於 國立高雄大學 資料工程與網路管理實驗室 中華民國九十八年六月.
(4) 以網路資料探勘技術偵測隱藏惡意網站之研究 指導教授:蕭漢威 博士 國立高雄大學資訊管理學系. 學生:吳宗儒 國立高雄大學資訊管理學系研究所. 摘要. 隨著網際網路應用的蓬勃發展,越來越多的人在日常生活中透過網際網路進行資料 搜尋、學習、娛樂、交友、資訊交換、理財、商業行為等各項活動,因此網路的用戶已 經成為不法人士覬覦的目標,攻擊者企圖透過植入廣告軟體、後門軟體、病毒蠕蟲等惡 意程式碼的方式獲取利益或達到特定目的。而近年來網路管理者普遍以防火牆防堵不正 常連線,以致惡意程式散佈方式逐漸從以往主動入侵植入目標主機的方式,改為藉由全 球資訊網平臺(Web-based)放置惡意程式,再以被動或引誘的方式讓使用者主動穿透防火 牆到惡意網站下載並散佈惡意程式。因此網路管理者如何防堵不法人士入侵使用者電 腦,以有效維護網路品質並確保資訊安全已成為網路管理者必須面對的重要課題。. 本研究於 2008 年在高雄大學內發現一組新形態的惡意程式,此類惡意程式與以往發 現的傳統惡意程式相比較,最大的特色在於充份的利用了網際網路的技術,擁有完整的 自動更新機制,並透過 ARP 欺騙攻擊技術於區域網路內引領其他使用者到惡意網站下 載執行惡意程式。根據評估分析,此類的惡意程式不易被現今常見的網路安全防禦系統 所偵測。本研究提出以 NetFlow 資料為基礎運用資料探勘技術,以協助網路管理者面對 大範圍的網路環境,自動偵測目前存在而未被發現之潛藏惡意程式下載網站,並且找出 可能己受感染電腦。有別於傳統 NetFlow 資料探勘技術,本研究依該惡意網站之相關特 性提出時間與空間等相關變數彙整方式以建立偵測模型,經過實際網路的實證評估比 較,發現確實獲得較好的偵測效能。 關鍵字:資料探勘、空間探勘、時間探勘、惡意程式、網路安全、NetFlow. i.
(5) Detecting Hiding Malicious Website Using Network Traffic Mining Approach Advisor: Dr. Han Wei Hsiao Department of Information Management National University of Kaohsiung. Student: Tsung Ju Wu Department of Information Management National University of Kaohsiung. ABSTRACT As the Internet continues to broaden its coverage worldwide, it has let to a spread of data searching, learning, entertaining, friends making, information exchanging, financing, commercial activities and so on via Internet. This tendency makes the users of the Internet a target of being attacked. There are many kind of network attack such as viruses, worms, and many other malicious codes were implemented to get the illegal benefits or for some particular purpose. In recent years, firewall techniques were being used to reject the anomaly Internet connections. And this has made the spreading of malwares gradually shifted from the traditional "Push-based" method to the "Pull-based" method. That made the penetration of the firewall much easier than before. Therefore, how to prevent the illegitimate access from the attacker and maintaining the quality of service of network become a important issue of the network manager.. In 2008, there was a new kind malware be found, that have some new features in comparison of the traditional malwares. Further, those codes can be updated self-acting, making computers under the same LAN to download and execute the malwares automatically. Our empirical evaluation results show these kinds of codes cannot be easily detected in traditional defense systems. This research proposed spatial-temporal concepts for aggregating variables to build a detection module of the NetFlow data. In our empirical evaluation results show this module has better performance to detect the malicious web sites. The results are helpful to improve the management of the wide range network environment.. Keywords: Data Mining, Spatial-Temporal Pattern, Malware, Network Security, NetFlow. ii.
(6) 論文目錄 第1章. 前言.......................................................................................................................... 1. 1.1. 研究背景.................................................................................................................. 1. 1.2. 研究動機.................................................................................................................. 2. 1.3. 研究目標.................................................................................................................. 3. 第2章. 文獻探討.................................................................................................................. 4. 2.1. 惡意程式.................................................................................................................. 4. 2.2. 防禦惡意網站的方法.............................................................................................. 5. 2.3. 偵測惡意網站的方法.............................................................................................. 7. 第3章. 惡意程式自動更新行為分析.................................................................................. 9. 3.1. 分析環境的簡介...................................................................................................... 9. 3.2. 惡意程式自動更新機制........................................................................................ 10. 3.3. 惡意網站的隱密性................................................................................................ 11. 3.4. 多樣而具彈性的攻擊形式.................................................................................... 12. 3.5. 更新頻率................................................................................................................ 13. 3.6. 感染途徑................................................................................................................ 14. 3.7. 惡意程式行為分析................................................................................................ 15. 第4章. 惡意程式下載網站偵測模組................................................................................ 18. 4.1. NetFlow簡介.......................................................................................................... 18. 4.2. 系統架構................................................................................................................ 21. 4.3. 建立偵測模組的方法............................................................................................ 22. 4.4. 資料探勘分類法.................................................................................................... 29. 第5章. 實證評估................................................................................................................ 32. 5.1. 分類分析所使用之資料集.................................................................................... 32. 5.2. 偵測模組分類效能評估方法................................................................................ 34. 5.3. 偵測模組實證分類結果........................................................................................ 35. 5.4. 流量變數效力重要程度評估................................................................................ 39. 第6章. 結論與未來研究方向............................................................................................ 42. 參考文獻 ................................................................................................................................ 44. iii.
(7) 表目錄 表 3-1.. Malware_list.txt 檔案內容形式 .............................................................................. 11. 表 4-1.. NetFlow V5 資料屬性.............................................................................................. 19. 表 4-2.. 單以 NetFlow 變數彙整之流量變數....................................................................... 25. 表 4-3.. 以空間區域性彙整之流量變數............................................................................... 26. 表 4-4.. 以時間區域性彙整之流量變數............................................................................... 27. 表 4-5.. 以時間區域性結合時間區域性彙整之流量變數................................................... 29. 表 5-1.. 用於分類模組建立與測試之資料........................................................................... 33. 表 5-2.. 分類結果狀態混合矩陣(Confusion Matrix) ........................................................... 34. 表 5-3.. 貝式分類法實證結果............................................................................................... 36. 表 5-4.. 決策樹分類法分類實證結果................................................................................... 37. 表 5-5.. 支援向量機分類法分類實證結果........................................................................... 37. 表 5-6.. 流量變數分類效力程度排序................................................................................... 40. iv.
(8) 圖目錄 圖 3-1.. 分析環境架構............................................................................................................. 9. 圖 3-2.. 惡意程式更新機制................................................................................................... 10. 圖 3-3.. 惡意程式更新次數統計........................................................................................... 13. 圖 3-4.. 惡意程式感染途徑................................................................................................... 14. 圖 3-5.. 安插惡意連結........................................................................................................... 15. 圖 4-1.. NetFlow 資料收集架構圖........................................................................................ 21. 圖 4-2.. 惡意網站偵測系統架構........................................................................................... 22. v.
(9) 第1章. 前言. 1.1 研究背景 隨著網際網路應用的蓬勃發展,各式各樣的網路技術如雨後春筍般的出現及進化, 特別是全球資訊網相關技術更是一日千里,相關應用服務興起,越來越多的人在日常生 活中透過網際網路及全球資訊網進行資料搜尋、學習、娛樂、交友、資訊交換、理財、 商業行為等各式活動,然而卻也因此產生了許多負面的效應,當人們把這些的活動從現 實世界轉移到網路的世界的同時,網際網路的用戶已經成為不法人士覬覦的目標,攻擊 者企圖透過植入廣告軟體、後門軟體、病毒蠕蟲等惡意程式碼的方式散佈不當資訊、竊 取機密、破壞與控制電腦軟硬體設施,以獲取利益或達到其他特定目的。. 根據美國電腦安全局與聯邦調查局電腦犯罪與安全調查報告[10][23]指出,到 2006 年為止電腦病毒等相關惡意程式攻擊,已連續 7 年蟬聯造成經濟損失的主因,2006 年惡 意程式造成受訪的 313 個美國企業、政府機關、大學、醫療、金融機構等單位經濟損失 高達 16,615,160 美元,平均每位受訪者受惡意程式攻擊損失了 53,084 美元; 2007 年雖 然網路金融詐騙造成的經濟損失首次超過了電腦病毒,但惡意程式仍造成了 194 個受訪 者高達 11,261,400 美元的損失,平均每位受訪者損失 58,048 美元,其損失金額趨勢仍持 續成長,嚴重性僅次於網路金融詐騙。. 另外,根據全球企業管理軟體領導公司 CA 發表 2007 網際網路威脅前瞻(CA 2007 Internet Threat Outlook) [4]及 2008 網際網路威脅前瞻(CA 2008 Internet Threat Outlook)[3] 報告中指出,2006 年木馬程式比例達所有惡意程式的 62%,而 2007 年的十大惡意程式 中即有七件為木馬程式,意即惡意程式的發展趨勢正朝木馬程式為主流靠攏,其原因不 外乎網路上商業活動頻繁,惡意程式設計者想利用木馬程式隱匿性、精準式的鎖定目標 攻擊方式等特性獲取不當利益。此外報告中還指出,混合式威脅(Blended Threats)將 持續惡化,攻擊者將幾種性質不同的元件融合製作成一組惡意程式(即混合型之惡意程 式),使惡意程式複雜化,且散佈的管道更加多變。同時目標鎖定式的攻擊日益嚴重, 利用惡意程式對企業進行間諜活動、竊取智慧資產,或是佔用電腦資源、建立殭屍網路 (Botnet)[12]的案例與日俱增。. 1.
(10) 根據網路搜尋引擎巨擘 Google 在 2007 年發表的研究報告 The Ghost in the Browser: Analysis of Web-based Malware [17]中指出,網路惡意程式興起,一大助因是網際網路在 人們日常生活中扮演愈來愈重要的角色,以往不法攻擊者常以主動入侵的方式進行惡意 程式植入的手法,此類的方法被稱為 Push-based 模式,而近年來網路管理者普遍以網路 防火牆(Network Firewall)相關技術防堵不正常連線[22],以及使用者亦會啟動 PC 中的主 機防火牆(Host Firewall),由於相關的防禦技術的運用使得 Push-based 的入侵方法變得更 為困難,於是攻擊者改變策略,惡意程式散佈方式逐漸從以往的 Push-based 模式改為藉 由全球資訊網 Web-based 平臺以被動或引誘的方式讓使用者主動穿透防火牆到惡意網站 下載並散佈惡意程式,此一概念被稱為 Pull-based 模式。報告中 Google 對總計 450 萬個 網站做了一項深入的研究報告,發現其中每十個網站就有一個含有病毒、木馬程式等惡 意程式,而在使用者瀏覽網站的過程中,藉由網頁內容引導或引誘使用者連結這些網 頁,透過瀏覽即下載(Drive-by Download)的方式在沒有經過使用者的許可前提下,自動 的下載、安裝與執行這些惡意程式,將惡意程式值入使用者的電腦裡。而這類惡意程式 可能讓不法攻擊者存取存在電腦或其連線網路上的私密資料,或是安裝其他惡意的應用 程式成為殭屍網路的一員。因此網路管理者如何協助使用者防堵不法人士入侵使用者電 腦,以有效維護網路品質並確保資訊安全已成為網路管理者必須面對的重要課題。. 1.2 研究動機 隨著網際網路不斷的擴張發展,網路上的利益誘惑著不法人士進行獲取不法利益的 行為,而資訊安全觀念的抬頭,促使網路管理者與網路攻擊者的攻防手法不斷快速地演 進,站在網路管理者的角度,適時的研究並瞭解新型態的攻擊手法並尋求相對的因應策 略是有其必要性的。. 本研究於 2008 年六月底於高雄大學校內發現有一組惡意程式在校內部份特定網 段內發出了許多 ARP 欺騙攻擊,進而發現到這是一系列特殊的惡意程式所產生的攻擊 行為。根據進一步的觀察研究,我們發現此類的惡意程式會自動更新本身並且感染同區 域網路內的其他主機。此類惡意程式與傳統所發現的惡意程式相比較,其最大的特色在 於它有一套完整的自動更新的機制,在每次使用者登入後都會連上某些惡意網站下載植. 2.
(11) 入並更新這些惡意程式。根據觀察,這些惡意網站上放置的惡意程式版本更新頻率非常 頻繁,這讓傳統使用病毒特徵碼比對方法為基礎的防禦系統面臨很大的挑戰。因為惡意 程式也利用了一般作業系統或軟體在升級或修補漏洞時所使用的網路即時更新模式,來 加速惡意程式更新本身的速度。甚至在我們測試的期間內,以更新至最新病毒碼的防毒 軟體仍無法完全有效的偵測出所有經由自動更新下載而來的惡意程式。相信這對目前系 統管理與網路管理人員而言是個值得重視的問題,對於此類自動更新的惡意程式的行為 分析及防治也有更為深入研究的必要。. 1.3 研究目標 這一類的攻擊方式,充分結合了以往惡意程式的攻擊技術與網路的便利性,產生了 另一種型態的攻擊技術。為了研究這一組特殊的惡意網站,本研究架設了一個半封閉的 實驗網路環境,實際執行並觀察了這類自動更新的惡意程式的運作,並且探究這個自動 更機制的結構與運作原理,針對了這類惡意程式的隱密性、多樣性、感染途徑與版本的 更新頻率來討論。同時考慮大型網路管理者管理網路需求及其限制,採用網路流量為偵 測基礎,並依照該惡意程式製造之網路流量行為特性提出了使用網路流量 NetFlow 的偵 測技術,由於惡意網站的惡意程式下載流量與正常網站流量在 NetFlow 變數中沒有明顯 區別,故本研究依照惡意程式 ARP 欺騙攻擊之特性及惡意網站更新行為特性提出時間 與空間等相關變數彙整方式以建立偵測模組,以網路流量中時間與 IP 網路環境的空間 上的特徵進行惡意網站的偵測,藉以進一步找出其他未發現的同類型惡意網站及受其感 染之電腦。. 在後面的章節中,第二章將討論本研究所需的背景知識及目前網路流量行為分析之 相關研究,第三章將描述於高雄大學內發現的新型態惡意程式行為研究結果及其細節, 第四張將說明本研究提出的偵測模組及其作法細節,第五章為偵測模組經過實際網路的 實證評估比較結果,第六章做出結論與未來研究建議。. 3.
(12) 第2章. 文獻探討. 在本章中我們彙整了目前對於惡意程式散佈、惡意網站偵測的研究文獻,並說明本 研究採用的研究對象與方法,2-1 闡述惡意程式的定義、分類與相關說明。2-2 說明相關 防禦惡意程式的方法與其限制。2-3 探討目前針對追蹤散佈惡意程式的惡意網站可使用 的方法,說明目前的研究在搜尋惡意網站上的缺點與限制,並比較本研究所提出的偵測 模組與其他方法的差異。. 2.1 惡意程式 惡意程式的定義為:任何不符合預期、未經授權存取、具惡意攻擊企圖的程式碼皆 為之[18]。惡意程式的設計目的包含入侵主機設備做為網路攻擊跳板、竊取資料、竄改 資料、破壞資料、消耗網路及硬體資源、強佔主機控制權、阻絕伺服器主機正常服務、 癱瘓網路等,因此舉凡電腦病毒(Virus)、蠕蟲(Worm)、特洛伊木馬 (Trojan horse)、後門 程式(Backdoor)、殭屍程式(Zombies、Bots)、間諜軟體(Spyware),以及整合病毒、蠕蟲 及特洛伊木馬特性的混合型威脅程式皆屬之。. 惡意程式依照其存在的形式及行為特徵做區分則可分為三大基礎類型[24]: 1. 電腦病毒:像病毒一樣本身為一段無法獨立執行的惡意程式碼,需要依附於母體 程式方能存在、活動,會嘗試自我複製然後感染其他程式或其他電腦,同時可能 會損壞硬體、軟體或資訊,且不易清除。 2. 網路蠕蟲:有類似病毒自我複製、感染其他主機的行為,不同的是蠕蟲不需要依 附於程式,本身可以獨立執行與控制的惡意程式,除同樣可能損害軟硬體及之 外,其最可怕的破壞力為大量自我複製的能力,可在極短的時間內散播到全世 界,並拖垮網路的可用性。 3. 特洛伊木馬:本身為一個看似無害的檔或應用程式,但實際上確隱藏著惡意程式 碼,其傳染途徑為利用欺瞞的手段透過檔案下載、電子郵件夾帶等方式引誘使用 者執行,相對於病毒及蠕蟲,特洛伊木馬本身不會自我複製,其應用類型為最為 多變,例如:BotNet、Backdoor、Downloader、Spyware 等皆屬之。. 4.
(13) 此外,惡意程式依據攻擊者的目的,逐漸朝向綜合上述三大基礎類型惡意程式的優 點,發展出兼具自動化、結構化、不易偵測等特性的混合式惡意程式,並利用這些惡意 程式進行網路攻擊、破壞與資料竊取,藉以獲取不法的實質利益。而利用全球資訊網網 站瀏覽即下載技術、欺騙利誘…等技巧散佈上述之惡意程式的網站,皆稱為惡意網站。 本研究所發現之惡意程式散佈方式即是以建立 Web-based 的惡意網站方式,讓受害者的 電腦主動連結下載惡意程式,本研究即是以網路管理者的角度,採用網路流量為偵測基 礎方式進行惡意網站之偵測。. 2.2 防禦惡意網站的方法 為了防禦惡意程式的攻擊者,資訊安全領域的學者與專家們發展出了許多的防禦技 術,例如:防火牆(Firewall)相關技術、防毒軟體(Anti-Virus Software)、入侵偵測系統(IDS, Intrusion Detection System)及入侵防護系統(IPS, Intrusion Prevention System),以下部份將 進一步探討這些防禦惡意程式攻擊的方法以及其缺點。. 首先,防火牆(Firewall)相關技術的防禦機制包含了網路防火牆(Packet filter)、應用 層防火牆(Application Filter)、代理伺服器(Transparent proxy)、網絡地址轉換(NAT)。網 路防火牆是基於 TCP/IP 封包表頭內容進行封包過濾,表頭內容資訊符合通行規則的封 包方可通行,然而此一惡意程式是透過 Hypertext Transfer Protocol(HTTP)連接全球資訊 網網站散佈,而網路防火牆通常不限制 HTTP 封包進出。對特定網站封鎖時,其惡意網 站 IP 位址可藉由其更新機制任意靈活變換,故無法有效防禦。應用層防火牆及代理伺 服器主要作用在國際標準組織(ISO)開放式通信系統互聯參考模型(OSI Model, Open System Interconnection Reference Model) [30]中的應用層(Application Layer),依照封包所 包含的內容特徵進行過濾,然此惡意程式更新行為具有及頻繁的更新頻率,下載的惡意 程式特徵不易立即掌握與更新防火牆特徵規則,所以也無法有效防禦之。而網路地址轉 換機制主要為解決 Public IP 不足問題,同時使得 NAT 以外的網路無法直接連接到 NAT 內部的 IP 而達到保護作用,然而本研究觀察之惡意程式為藉由 Web-based 佈置惡意程 式於全球資訊網網站、以 Pull-based 的方式散佈,藉由使用者主機主動前往下載惡意程 式而達成感染效果,NAT 並不阻擋內部網路主動對外的連線,其防禦效果也就無用武之. 5.
(14) 地。是故防火牆的防禦機制在此一惡意程式散佈的機制下是無法達到防禦效果的。 其次,防毒軟體(Anti-Virus Software)是最普遍被佈建於終端主機的惡意程式防禦機 制,其主要作用為偵測、消除電腦病毒、網路蠕蟲及特洛伊木馬等惡意軟體的軟體,並 且還可以系統化整合監控大量主機,然而防毒軟體所依憑的運作方式為惡意程式的特徵 碼比對(Signature-based Detection)偵測技術,即利用已知的惡意程式建立出各種病毒特徵 碼,故新出現的惡意程式被防毒軟體公司發現並發布特徵碼以及防毒軟體對特徵碼的更 新頻率便為其防禦機制重點,然而本研究觀察之惡意程式更新改版頻率非常之頻繁且快 速,足以造成新的惡意程式碼被開發出來後,尚未被防毒軟體、作業系統、應用程式軟 體、資訊安全設備等相關開發維護廠商發現,或是已被發現但仍無法提供修補程式及防 禦機制的狀況下攻擊者發動攻擊而造成的攻擊成功現象,此現象稱為零時差攻擊 (Zero-Day Attack)現象,故防毒軟體也無法全然有效地防禦具有頻繁更新行為的惡意程 式。. 第三種防禦方法為入侵偵測系統(IDS)及入侵防護系統(IPS),這類的系統是利用已知 的攻擊事件建立出各種攻擊特徵資料庫,在網路的閘道對封包內容進行偵測比對。IDS、 IPS 會依照網路攻擊行為及惡意程式碼的特徵資料庫比對封包內容的特徵值[15][21],當 若存在有符合特定惡意程式之特徵則會發出警告或直接進行阻斷連線等反應,然而 IDS、IPS 遭受到的問題亦與防毒軟體一樣,系統中惡意程式的特徵碼的更新為其防禦 機制重點,本研究觀察之惡意程式更新改版頻率極為頻繁,以 IDS、IPS 方式進行防禦 時,改版後的新版惡意程式有可能造成零時差攻擊成功之現象。. 總合上述的各防禦方式的缺點,(1)網路管理者、主機使用者設置防火牆無法有效針 對 Pull-based 感染方式進行防禦,(2)惡意程式版本更新頻率極高,特徵碼比對之防禦機 制可能遭受零時差攻擊而防禦失敗,(3)攻擊者經由其惡意程式更新機制隨時可變更佈建 的網站位置,發現單一感染來源封鎖後仍容易被突破。所以針對以上的問題本研究希望 提出藉由惡意網站網路流量上的行為特徵來進行惡意網站的偵測防禦,因為行為特徵並 未涉及上述病毒碼特徵資料庫的使用,亦不受 Push-based 或 Pull-based 的攻擊架構限制。. 6.
(15) 2.3 偵測惡意網站的方法 網路管理者為了管理網路,通常會使用各種網路管理工具來提高管理效率,而現有 常見的網路狀況偵測方式可分為以下三類:封包內容分析、NetFlow 流量資料分析、 SNMP 資料監控,分別敘述如下。. 1. 以封包內容(Packet Content)分析:以封包內容為基礎的偵測方法,是利用封包的 內容來偵測網路上是否發生異常攻擊。使用網路封包的內容做為偵測資訊來源, 其封包來源主要有二:一為在網路上架設監測設備,以擷取網路上的封包來進行 偵測。例如利用網路上所架設的 Sniffer 或是 Tcpdump 的資料來做為攻擊封包偵 測的基礎;另一為利用網路安全設備來進行偵測,例如利用網路上的防火牆或是 NAT 伺服器,來檢查所有流經此安全設備的封包。使用此類偵測資料的偵測技 術,主要包括傳統入侵偵測系統所採用的特徵值比對偵測技術。這類型的偵測技 術主要是檢查監測設備或網路安全設備所擷取到的完整封包,比對封包內容是否 含有事先定義好的攻擊特徵值,以作為判別是否為攻擊封包。其中封包內容分析 的資料包含 OSI Model 中所定義的 Layer 2 到 Layer 7 的資訊,可提供分析之資訊 較為詳盡,惟不適合資料量較大之分析任務,其原因為此方法需解析各層之表頭 資訊,分析成本較大。. 2. 以 NetFlow 流量資料分析:其利用網路傳輸設備(例如路由器、交換器)所提供的 NetFlow 流量傳輸資訊來進行網路狀況偵測;在偵測技術上,主要是藉由蒐集過 去的使用資料,利用統計方法或資料探勘等方法來建立網路的網路流量狀態模 型,然後比較監控中的網路狀態與所建立的網路流量狀態模型的差異,以其差異 來判定是否有異常的狀況發生。例如,建立各種服務類別的網站流量模型,若監 控中的網路狀態與網路流量特徵似時,則可判定該網站為何種服務種類的網站 [32]。其中 NetFlow 資料包含 Layer 3 與 Layer 4 的資料流資訊,包含了 IP 層資訊, 可供追查網際網路上出狀況之主機為何。. 3. 以 SNMP 資料監控,SNMP 為網路設備最普遍支援的技術協定[14],但由於其資 料皆以設備狀態為主,例如:設備 CPU 使用負載狀態、記憶體使用負載狀態、. 7.
(16) 設備介面 Enable/Disable、介面進出之封包總數量、總流量等;網路管理者可以 宏觀監測網路狀況,輕易簡單的管理網路管理事務,但其缺點為資料宏觀單純, 只能得知所管轄的網路大致的狀況,例如流量大幅增減、設備介面狀況…等,無 法以 SNMP 資料直觀區別網路是否有異常的攻擊行為。且 SNMP 資料為 Layer 2 的資訊,非最接近問題主機之網路設備則無法得知出狀況之主機為何者。. 綜觀上述三大類網路管理偵測技術,由於惡意網站是散佈在網際網路上,而網際網 路的運作主要是建立在網際網路協定(IP, Internet Protocol)[16]之上,而網際網路協定在 國際標準組織開放式通信系統互聯參考模型中是屬於 Layer 3 的通訊協定,故僅包含 Layer 2 資訊的 SNMP 資料不適合應用在惡意網站的搜尋。而站在網路管理者的角度, 封包內容分析所耗用的主機資源相當龐大,由於目前網路技術應用一日千里,網際網路 蓬勃發展讓使用人數大增,同時使得網路頻寬大幅增加,大型網路的網路骨幹設備流量 的監控早已無法使用封包內容分析比對的方式處理,是故本研究將採用分析成本較低之 NetFlow 流量資料進行惡意網站的偵測搜尋。. 若能由封包流經網路設備的網路運作原理的特性,由發現散佈惡意程式的網站 NetFlow 流量資料研究分析其流量行為,建立出一個有效率的網路流量行為偵測模型, 即使惡意網站具有隨時移轉代換 Domain Name、IP 位址的行為,或擁有高頻率的惡意程 式版本更新頻率,仍可藉由該網路流量行為偵測模型,以不藉助病毒特徵碼比對的方 式,找出惡意網站及受感染主機所在,並且調整網路設備的存取控制表(Access Control List),完全杜絕具有該行為之惡意網站連線,提高網路的防禦能力。因此,本研究試圖 利用網路 NetFlow 流量資料,使用資料探勘的分類分析演算法提出一個偵測惡意網站的 偵測模組。. 8.
(17) 第3章. 惡意程式自動更新行為分析. 本研究蒐集了前述攻擊事件所蒐集到的惡意程式做為分析的樣本,設計了一個安全 的實驗環境,植入了我們所得到的惡意程式,並限制了這些實驗攻擊主機部份的網路功 能,使其無法攻擊到其他正常的網路主機。並以網路監聽程式在實驗攻擊主機出口處, 長期並完整的監聽這台主機的所有網路行為。本研究發現了許多與之前的惡意程式不同 的行為,其最重要的差異在於利用網際網路自動更新本身的特性,相信這對目前的網路 安全有嚴重的影響。. 3.1 分析環境的簡介 因為在本研究中所需分析之惡意程式具感染能力與攻擊性,所以並不適合於一般使 用的真實網路環境進行分析,但若完全於獨立的單獨機器上則又無法讓這類的惡意程式 連接上網去進行更新的行為。所以我們建置了以下的實驗網路環境,如圖 3-1 所示。. 圖 3-1. 分析環境架構. 此惡意程式具有攻擊同區域網路中其他主機的行為,受感染之主機會發送偽造之. 9.
(18) ARP 封包至直接廣播封包(Direct Broadcast)位址,企圖修改其他主機之 ARP 快取 (Cache),然而路由器針對此類型廣播並不進行轉送,因此我們以切分虛擬區域網路 (Virtual Local Area Network, VLAN)的方式將實驗環境與正常使用者網路環境作區隔,藉 以保留實驗主機正常對外之網路環境。. 3.2 惡意程式自動更新機制 惡意程式之更新機制經分析後其流程如圖 3-2 所示。. 圖 3-2. 惡意程式更新機制. 當惡意 Downloader.exe 程式感染某一主機後改以不同形式、不同位置、不同檔名存 在於系統內,隨即執行方才植入的惡意程式碼,並刪除原始之 Downloader.exe,接著以 避免引起使用者注意的視窗程底層連線函數向某惡意網站的特定網址 http://Malware_site01/path1/Malware_list01.txt 下載含有新版更新程式完整路徑的檔案, 在此稱為 Malware_list.txt,在這份檔案中的形式如表 3-1。. 10.
(19) 表 3-1.. Malware_list.txt 檔案內容形式. http:// Malware_site02/path02/ Downloader.exe http:// Malware_site02/path02/ Malware_exe01.exe http:// Malware_site02/path02/ Malware_exe02.exe ….. http:// Malware_site03/path03/ Malware_exe07.exe http:// Malware_site03/path03/ Malware_exe08.exe …... 其中 Malware_exe01.exe ~ Malware_exeN.exe 皆為其他不同類型的惡意程式。而原 始的惡意程式 Downloader.exe 下載完成 Malware_list.txt 後則自動按著這個文件檔案內容 的順序向 Malware_site02 和 Malware_site03 這些不同的惡意網站下載並執行其他程 式,以達成在受害者主機上自動植入並執行這些惡意程式的目的。其中較為特異的是在 這些執行其中第一個 Downloader.exe 即為新版本的惡意程式,重新執行後將會在受害 者主機更新惡意程式自己,在隨著這個程式版本的更新,在下一次執行時可能會到另一 個不同的網址 http://Malware_site04/path4/Malware_list01.txt 做為這類惡意程式自動更 新程式新的啟始點。. 3.3 惡意網站的隱密性 在上述的自動更新程式中,Malware_site01、Malware_site02 與 Malware_site03 所 使用的領功能變數名稱(Domain Name)皆不相同,而且這些惡意網站在網際網路上只具 有 DNS 的正解,也就是說我們可以透過一般 DNS 查詢查到這些惡意網站的 IP 位 址,但是無法得知這些 IP 具有哪些其他不同的領功能變數名稱,無法經由一般的 DNS 查詢瞭解還有哪些可能潛在的其他領功能變數名稱。在此情況下惡意網站可以輕易的更 換或註冊不同的領功能變數名稱,並彈性的更動 Downloader.exe 程式就可以輕易的改變 了更新的啟始更新網址,甚至只需更動註冊的領功能變數名稱而不用改變 IP 位址即可 發動更一波的攻擊,這樣的結構使得許多以惡意網站 URL 為過濾機制的防護機制無法 及時更新存取控制表的過濾名單,導致無法有效的防護管轄內的主機。. 11.
(20) 在這些惡意網站都利用虛擬主機的網站技術(Virtual Host),在同一台主機上不同的 定義領功能變數名稱會對應到不同的目錄,這樣的結構使這些惡意網站可以同時在同一 個網頁伺服程式上架設其他合法的網路服務來掩護這些惡意的程式更新的行為,就另一 個方面來討論,攻擊者也可以透過入侵到其他合法的網站後,在不影響正常網路服務的 情況下偷偷的建立這種更新機制的環境,這對以檢視網路第三層 IP 資訊的連線記錄偵 測方式而言,是無法輕易判斷這樣的惡意網站的正確位置。. 3.4 多樣而具彈性的攻擊形式 如第二節所述,這類的惡意程式同一個批次可以下載許多不同的其他攻擊程式,而 隨著每一次 自動更新的程式,都會下載不同版本的 Malware_list.txt,並到其他惡意網 站中去更新或是植入其他的惡意程式,目前就己觀察到的有許多不同種類惡意程式,包 括了不同種類的竊聽程式、特洛伊木馬程式與 ARP Spoofing 的攻擊程式。在此種結構 下,提供了入侵者非常方便而且多變的彈性,舉例來說若是入侵者更新的 Malware_list.txt 內容中,放置了一個阻斷攻擊(Denial of Service)的程式,則就可以在下次更新程式時控 制多台受害主機對攻擊目標開始發動阻斷攻擊,造成網路上的重大損害。而入侵者只需 準備好攻擊程式放上網路,更新 Malware_list.txt 的文件檔案,其他的攻擊行動,這個 自動的更新機制就可自動化的完成其他的攻擊準備。. 網站利用了多層的結構 Malware_site01、Malware_site02 與 Malware_site03 不同的 惡意網站或是不同領功能變數名稱的方式,可以彈性的更動所在網站的真實位置。並且 在其中有部份惡意網站被查覺封鎖後,機動的更新其他的惡意網站的領功能變數名稱或 轉移這樣的更新結構到其他主機上。只需調整 Malware_list.txt 檔案中 Malware_site02 與 Malware_site03 指定到不同的網址,則所有被入侵的主機即會到更新後的新網站去 下載相關的其他惡意程式,而根據觀察 Downloader.exe 惡意程式會不定時更新,而更新 過後就會讓下載初始檔案連線的 Malware_site01 的網站變動到不同新的網站。. 12.
(21) 3.5 更新頻率 在 2008 年 7 月 14 日到 2008 年 7 月 25 日這 12 天內,在這幾個提供下載更新的惡 意網站中,一共出現了 40 個不同的惡意程式,這 40 個可執行的程式若是以檔案大小 來看變動並不大,但我們若以 MD5/SHA 檢查碼 (MD5/SHA Checksum)來比較,可以發 現,這些檔名、大小相同的執行檔案其實內容都己不同,在我們觀察的這 12 天內只有 四分之一也就是 10 個惡意程式並沒有更新,其他 四分之三的惡意程式至少都有一次 的更新。其中有 2 個程式更新了 7 次,平均 1.7 天更新一次,其中甚至有 10 個程式(佔 全部的四分之一)在這 12 天中更新了 5 次,也就是平均 2.5 天就更新一個新的版本, 詳細分佈圖表如下:. 12 10. 數量. 8 6 4 2 0 0. 1. 2. 3. 4. 5. 6. 7 更新次數. 圖 3-3. 惡意程式更新次數統計. 以觀察的期間來評估,這類的惡意網站在更新這些惡意程式的頻率是很快的,在傳 統惡意程式的傳播模式中,新的惡意程式要透過使用者共用儲存設備或是電子郵件傳遞 的感染方式散佈,在單一主機中惡意程式更新至新版本都需要較長的時間。所以一般防 毒軟體能在新的惡意程式擴散到受害者的主機之前更新病毒碼,但對於此類自動下載更 新的惡意程式,由攻擊者發放新版或新的惡意程式到這些下載網站,幾乎可以同時的讓 所有受感染主機更即時的更新,這對於一般現有的比對病毒碼特徵的防禦方法是一個嚴. 13.
(22) 峻的挑戰。. 3.6 感染途徑 受感染主機對區域內其他主機所造成之影響經分析後其流程如圖 3-4 所示。. 圖 3-4. 惡意程式感染途徑. 對於第一個 Downloader.exe 的程式應是透過釣魚網站或其他的入侵途徑所執行,在 本研究中觀察的是在更新程式開始後的感染行為,在 Malware_exe02.exe 的程式為一 ARP 欺騙(ARP Spoofing)的攻擊程式,在下載執行後即在區域網路內對所有連線的主機 發動假的 ARP 封包竄改各主機中 ARP 快取(ARP Cache)的資料,使得所有要傳送到網 際網路上的封包完全流過這台受害的主機再加以轉送。這樣除了能監聽到區域網路內其 他主機所傳送的資訊外,本研究亦觀察到這個 ARP 欺騙的攻擊行為還利用這個轉送的 過程,根據轉送資料判定,若為瀏覽網頁資訊,則將回送給使用者之資料中多加上了一 個內嵌框架(iframe)[26],其內容指向某個惡意網站,讓其他受害主機前去下載惡意程. 14.
(23) 式,如圖 3-5 所示。這樣的模式會讓其他在區域網路內的其他使用者在不知不覺在使用 全球資訊網(WWW)的資源時,就自行下載了這樣的惡意程式,並且開始以 3.2 節的自 動更新程式進行其他惡意程式的下載與更新動作。. 圖 3-5. 安插惡意連結. 在一般中小企業的網路環境中雖有架設防火牆阻止外來的入侵者的攻擊與入侵,仍 無法有效的隔離這類在區域網路內以 ARP 欺騙攻擊的感染。此外,由於防火牆通常不 阻擋 HTTP 連線,所以防火牆亦無法阻擋經由此一途徑的惡意程式下載行為。故這樣的 感染途徑使得在同一個區域網路下只要有一台主機被植入了這樣的惡意程式,其他的使 用者都受到威脅。在台灣學術網路中,各級學校內都使用乙太網路做為區域網路的架設 方式,從傳輸的流量傳輸記錄可發現到,這種在同一個區域網路下集體被感染的現象。 若是這些被感染的主機是筆記型電腦,則在其移動到不同區域網路的環境後連線,就可 以把這樣子的惡意程式帶到不同區域網路中,並發送 ARP 欺騙攻擊的封包,以中間人 攻擊 (Man-in-the-Middle Attack)[27]的手法,去欺騙其他相同區域內的主機自行下載植 入,並開始自動更新的程式。. 3.7 惡意程式行為分析 根據前述分析結果,可歸納出下列幾項特性: 1. 惡意程式採 ARP 欺騙攻擊感染相同網段之主機,使其感染行為有區域網段群聚 性特徵。 2. 具新型態的惡意軟體更新、擴散機制: z. 有別於舊有的惡意程式常見的遞移性感染方式,惡意程式採用極具彈性的自動 更新機制,該機制非常類似作業系統、防毒軟體常見的自動更新機制,以 HTTP. 15.
(24) 連線主動連往前次更新後所指定的惡意網站更新伺服器,在惡意網站發布新的 下載列表與惡意程式後,所有受感染的受害主機在極短的時間內就可以完成新 版惡意程式之更新,同時可安排下次更新的惡意網站網址,而新的惡意網站網 址可能已不同於先前的網址。 z. 由於惡意程式更新機制採用 HTTP 協定連線,而企業、機關、組織乃至於個人 防火牆一般而言大都不阻擋 HTTP 協定的連線,是故傳統防火牆無法主動防禦 此種更新行為之連線。. 3. 在隱匿性部分,惡意網站大量利用網路上免費申請之 Domain Name 正解對映, 並利用虛擬主機(Virtual Host)技術隱藏惡意站台的存在,致使以連結網址中的 Domian Name 為偵測基礎的方法無法有效防禦。 z. 惡意程式所下載的更新列表內容為以 Domain Name 方式呈現的網址,而依據 DNS 反查的結果是無法得知其所有的 Domain Name 為何,只要惡意網站頻繁 更換惡意程式更新列表內的 Domain Name 即可規避過濾 URL 的防禦方式,故 以 URL 過濾方式防堵惡意網站是非常沒有效率的。. z. 全球資訊網網站技術中,虛擬主機(Virtual Host)技術極為常見,而攻擊者可藉 由入侵合法網站在不影響正常服務下建立惡意程式更新機制之環境,利用此一 技術隱藏其存在,且流量亦混雜在正常流量之中,使得單純以網路流量第三 層、第四層資訊無法輕易判斷此類惡意網站的存在而達到隱匿的目的。. z. 藉由多個 Domain Name 的替換、多個惡意網站布建、虛擬主機技術的掩護, 再藉由惡意程式更新機制頻繁的更新列表,使得惡意網站的機動性極強,使得 網路安全系統難以偵測防禦。. 4. 惡意程式版本的更新極為頻繁,輔以極為有效率的更新機制過擴散,以防毒軟 體、IDS、IPS 等病毒碼特徵比對的防禦方法,有可能因為病毒碼還來不及更新 即遭到惡意程式的零時差攻擊與感染,因此以病傳統病毒碼特徵比對的防禦方 法遭嚴峻挑戰。. 綜合上述特性,惡意網站散佈於網際網路,而該惡意程式不易以病毒特徵碼比對方 式偵測,且機動力強隱蔽性高,但其感染途徑為 ARP、更新行為具有群聚性,因此本研 究不採用封包比對病毒特徵碼之方法,提出以惡意網站相關 NetFlow 流量在時間與空間 上群聚行為特徵作為偵測基礎,試圖偵測散佈於網際網路的惡意網站以利網路管理者即. 16.
(25) 早發現這類特殊的惡意網站,並做必要的處理。. 17.
(26) 第4章. 惡意程式下載網站偵測模組. 依據第三章的研究結果,該類型惡意網站及其惡意程式具有以下特徵:(1)採用具變 化彈性的 HTTP 自動更新機制,其更新機制核心為位於網際網路上之惡意網站,(2)利用 DNS 特性及 Virtual Host 等網站技術,多層次架構,多點於大範圍網路環境佈置,避開 網路安全系統的追查並提高隱匿性,(3)惡意程式的版本更新速度快,使得以特徵碼比對 方式可能無法即時有效偵測,(4)以 ARP 欺騙攻擊技術作為主要感染途徑。本研究以大 型網路環境管理者的立場,在分析上述惡意網站及其惡意程式的特性,針對大型網路環 境管理的需求,提出了一套分析成本較低的網路流量分析方法進行惡意網站的偵測方 式,其中以包含網路第三層 IP 資訊的 NetFlow 流量資料為分析的基礎,利用惡意程式 使用 ARP 欺騙攻擊手法感染及其更新機制集中連線至惡意網站更新時,所造成的行為 上時間與空間區域群聚特徵來彙整相關變數,並使用資料探勘分類分析方法來建立惡意 程式下載網站偵測模組。. 4.1 NetFlow 簡介 網路封包在網際網路(Internet)上傳遞時,所使用的傳輸協定都是仰賴網際網路協定 (IP, Internet Protocol)來進行傳遞,而在網際網路上依據網際網路協定擔任傳遞轉送封包 工作的設備就是路由器(Router),所有網路封包在網際網路上的傳遞都必須依賴沿途所 經過的路由器層層傳送方能到達目的地,因此路由器是封包在網際網路上的必經途徑, 也是適合記錄網際網路封包行為的網路節點。. Cisco 公司 Darren Kerr 和 Barry Bruins 在 1996 年發展一套名為 NetFlow 的網路流 量資訊紀錄技術,該技術依據同一連線路徑的網路封包會連續傳輸的特性,在路由器的 快取中存著連線的資訊,當路由器的 NetFlow 功能打開後,路由器就會擷取相關特定的 資訊彙整到 NetFlow 資料紀錄中,直到滿足 NetFlow 定義的 Flow 紀錄結束條件就會將 該筆 Flow 紀錄以 UDP datagramn 的方式送到管理者所指定的 NetFlow 收集設備之中儲 存起來供後續需要分析使用。. 18.
(27) 目前 NetFlow 開始發展至今已經擁有許多的版本,而目前最主要的版本有 V5、V7、 V9 三種,且各網路設備製造廠商亦有實作自家類似 NetFlow 的網路流量資訊記錄技術, 但目前受到最廣泛支援的當屬 NetFlow Version 5,本研究即是使用目前最普遍應用的 NetFlow Version 5 相關資料進行偵測模組的建立,其相關屬性與說明如表 4-1(Cisco, 2007)[5]所示。. 表 4-1.. NetFlow V5 資料屬性. 資料屬性. 說明. Source IP Address. Flow 來源 IP 位址. Destination IP Address. Flow 目標 IP 位址. Next-Hop Router IP Address. 轉送封包至下一個路由器的 IP 位置. Input Physical Interface Index Output Physical Interface Index. Flow 流入的路由器網路介面 SNMP 索引 號 Flow 流出的路由器網路介面 SNMP 索引 號. Packet Count for this Flow. 該 Flow 累計傳送的封包數量. Byte Count for this Flow. 該 Flow 累計傳輸的 Byte 數量. Start Of Flow Timestamp. Flow 起始時間戳記. End Of Flow Timestamp. Flow 結束時間戳記. Source TCP/UDP Application Port. Flow 來源端 L4 通訊埠. Destination TCP/UDP Application Port. Flow 目的端 L4 通訊埠. TCP Flags. TCP 連線旗標(SYN, ACK, RST, FIN 等). IP Protocol (for example: TCP=6; UDP=17). 封包格式(TCP 或 UCP). Type of Service(Tos) byte. 封包服務類型,通常做為流量控制用途. Source AS Number. 來源端 AS 號碼. Destination AS Number. 目的端 AS 號碼. Source Subnet Mask. 來源端 IP 的子網路遮罩. Destination Subnet Mask. 目標端 IP 的子網路遮罩. 19.
(28) 在 NetFlow 的資訊定義中 Flow 紀錄是單向的流量資料,以 Source IP address、 Destination IP address、Source port number、Destination port number、IP protocol type、ToS byte、Input Physical Interface Index (ifIndex)等七項屬性來定義出獨一無二不重複的紀錄 項目;NetFlow 根據這七項屬性將單向、相同來源和目地且連續的一系列封包定義為一 個 Flow 紀錄,而路由器依此定義將所有流經的封包建立對應的 Flow 紀錄,並將符合同 一筆 Flow 紀錄的封包予以累計封包數量及封包 Byte 數等相關資訊。. 此外,由於路由器儲存 Flow 記錄的空間有限,故在 NetFlow 的定義中,一筆 Flow 紀錄的開始條件為封包進入路由器且 Flow Table 中不存在符合該封包的紀錄;而 Flow 紀錄的終止條件則為以下任一條件發生時,即會將 Flow 匯出至其他網路伺服器儲存, 並將已匯出之 Flow 紀錄從 Flow Table 中移除:. z. 該筆 Flow 紀錄超過指定時間沒有任何封包符合該 Flow. z. 該筆 Flow 紀錄雖有封包持續進入,但已超過 Flow 記錄保留之最長限制時間. z. 路由器儲存 Flow 紀錄的 Flow Table 已滿,便將 Flow Table 所有的紀錄匯出. z. 依據 TCP 通訊協定的特性,當 Flow 的通訊協定為 TCP 時,收到含有 FIN 或 RST 旗標的封包,TCP 連線所屬的 Flow 結束匯出. 本研究收集國立高雄大學校園網路骨幹核心路由器 NetFlow 流量資料供本研究分析 使用,NetFlow 流量資料收集架構如圖 4-1,高雄大學校園網路中底下連線接取單位為 各行政單位、教學單位、研究單位及學生宿舍等數十單位;依據高雄大學校園網路之架 構,所有高雄大學校園網路下轄單位對高雄大學校園網路外之連線,除少部分單位元擁 有額外擁有其他 ISP 接取線路外,大部分網路流量都會經過高雄大學校園網路骨幹核心 路由器,因此收集高雄大學校園網路骨幹核心路由器之 NetFlow 資料便可掌握高雄大學 校園網路內所有流經該核心路由器的連線資料,其中這些資料包含了高雄大學校園網路 內電腦與外界的正常流量資料及來自外界網路威脅流量資料。. 20.
(29) 圖 4-1.. NetFlow 資料收集架構圖. 4.2 系統架構 本研究建立惡意網站偵測系統架構如圖 4-2,以已知分類之 NetFlow 資料作為訓練 資料,分別依據惡意程式更新行為在時間上與空間上的特徵進行 NetFlow 變數資料彙 整,透過分類學習演算法的分析學習建立惡意網站分類偵測模組。建立惡意網站分類偵 測模組後,將即時收集的 NetFlow 資料以相同之時間、空間變數彙整方式彙整相關變數, 再利用已建立之惡意網站分類偵測模組對這些彙整完的變數資料進行分類判斷,以區別 是否為惡意網站或是一般正常使用的網站[7]。. 21.
(30) 圖 4-2.. 惡意網站偵測系統架構. 4.3 建立偵測模組的方法 本研究的目標就是想要找出網路上正在活動的惡意程式下載網站,而具體的方法就. 22.
(31) 是將網際網路上的網站正確的區分成正常的網站以及惡意程式下載網站。故本研究利用 NetFlow 網路流量資料進行彙整,將正常的網站與惡意網站在時間上與空間上行為特徵 的相關變數資料彙整成資料探勘的分類變數,再透過分類分析方法建立惡意程式下載網 站偵測模組。在分類分析法部分,本研究基於訓練及分類判斷時所需的時間成本考量, 採用了下列三種分類方法:貝氏分類法(Naïve Bayesian)、決策樹分類法(Decision Tree) 與支援向量機分類法(Support Vector Machine)。. NetFlow 變數彙整部份,依據本研究第三章惡意網站行為分析結果,惡意網站每次 連線所傳輸的資料大小並不固定,且變化頻繁,而網路上亦有入口網站、拍賣網站、軟 體下載網站等各式網站,使得正常網站的流量資料亦無一定的規則特徵,因此單純以 NetFlow 變數進行資料探勘的分類分析,並無法將網站的流量之中的惡意網站流量資料 與正常網站流量資料輕易地區分出來,故本研究提出以參照的區域性(Locality of Reference)概念進行 NetFlow 資料的彙整,以突顯該惡意網站在行為上的特徵。其中參 照的區域性可分為兩大類,時間性與區域性[13]:. z. 空間區域性意義: 依據參照的區域性在空間上的特性,若一個點發生過參照,則在其空間相近 的其他點較為容易發生相同的參照現象。而該惡意程式以 ARP 攻擊為感染手段, 當一區域網路(LAN, Local Area Network)內會有電腦主機受到感染後,會試圖以 ARP 欺騙攻擊的手法在區域網路內部試圖感染其他電腦主機,感染行為之範圍僅 限於該區域網路內,故當區域網路內有受感染主機出現時,同一區域網路內便較 為容易出現其他受感染之主機,使得感染現象出現網路區域上的群聚性,而所有 受感染的主機皆會連上惡意網站進行更新,意即惡意網站流量將具有網路上的空 間區域性。. 然而在網際網路上 IP 位址的分佈與實體的地理空間區域分佈並無直接關 聯,所以很難定義出 IP 位址的空間區域性[28],但在網路 IP 位址分配時,通常 會以相鄰網路位元址的方式分配給同一單位元,是故本研究以 IP 位址相近之 IP 視為空間相鄰之關係。而本研究採用由高雄大學校園網路核心路由器上所蒐集之 NetFlow 流量資料,其下連線接取單位為各行政單位、教學單位、研究單位及學. 23.
(32) 生宿舍等數十單位之網路,受限於無法得知所有下轄各級單位之所有 IP 網段詳 細分切方式,故本研究以學術網路最常見之網段劃分方式做為彙整資料的依據, 所有網段的分割皆以子網路遮罩(Netmask)為 255.255.255.0 做為單一區域網段之 劃分。. z. 時間區域性意義: 依據參照的區域性在時間上的特性,最近發生過的一件事,在未來的相近時 間範圍內較為容易再次重複發生。該惡意程式感染一台電腦主機後該主機會開始 試圖感染區域網路內所有主機,其動作都在相近的時間點發生,而被同網段被感 染之主機受感染時間點將極為相近,在此同時網段內所有受感染的主機包括本身 皆會於相近的時間點多次的嘗試連往惡意網站進行惡意程式更新,故該惡意程式 更新行為亦具有時間的區域性,意即惡意網站流量將具有時間的區域性。. 依據上述的流量空間區域性及時間區域性之定義,本研究根據第三章所研究之惡意 網站行為特徵進行空間區域性、時間區域性、時間區域性結合空間區域性之變數彙整資 料,並且以單以 NetFlow 變數的彙整方法作為對照組。. z. 依據 NetFlow 變數彙整之預測變數: 本研究從骨幹路由器的 NetFlow 資料中過濾出 HTTP 連線的部分作為研究資 料,而目的為偵測尋找惡意網站的連線。因此在 NetFlow Version 5 資料格式中, 本研究採用了 Flow 起始時間、Flow 結束時間、Flow 來源 IP 位址、Flow 目標 IP 位址、Flow 的 Byte 數量、Flow 的封包數量等資料屬性作為分類變數彙整依據, 基於第三章中所陳述的這類惡意程式的行為特性反應,這些流量的資料屬性對於 鑑別正常網站與惡意網站時是重要的,依據選用的 NetFlow 資料屬性我們可以加 以彙整成為各個分類模組的變數。. 為建立作為對照組的 NetFlow 變數彙整偵測模組(在此簡稱為對照組模組), 本研究以電腦主機 IP 對應全球資訊網網站 IP 作為連線彙整基礎,將相同之來源 與目的的 Flow 資料以每十分鐘為時間單位加以彙整,彙整了八個流量變數作為 預測變數,如表 4-2,第一個欄位名稱為變數名稱,為本研究提出的對照組模組. 24.
(33) 預測變數,第二個欄位為變數說明,解釋該模組之變數所代表的意義。. 表 4-2. 單以 NetFlow 變數彙整之流量變數 變數名稱. 說明. Octets. 累計之封包 byte 數. Pkts. 累計之封包數. Flows. 累計之 Flow 數. OctetsPerFlows. 平均每筆 Flow 之封包 byte 數. PktsPerFlows. 平均每筆 Flow 之封包數. OctetsPerPkts. 平均每個封包之 byte 數. OctetsPerFlows_std. 平均每筆 Flow 之封包 byte 數的標準差. PktsPerFlows_std. 平均每筆 Flow 之封包數的標準差. 由於惡意程式的更新行為啟動時會依照惡意程式列表內容做為更新行為依 據,使得更新行為所產生的流量具有某些固定的流量行為特徵模式,與網際網路 上其他正常網站的流量特徵應有所不同,因此本研究彙整了前述的八個變數,其 中為了呈現出惡意網站連線在單位時間內在傳輸量上的特徵,本研究挑選了累計 單位時間的 Octets、Pkts、Flows 數量的三個預測變數。為了呈現出惡意網站連線 在每筆 Flow 的特徵所以設計了 OctetsPerFlows 及 PktsPerFlows 兩個預測變數, 而挑選 OctetsPerPkts 預測變數則是為了呈現單位時間內每個封包的平均大小的 流量特徵;最後為了呈現出每筆 Flow 在 Octets 數及 Pkts 數量上的變化差異,所 以本研究設計了 OctetsPerFlows_std 以及 PktsPerFlows_std 兩個標準差的預測變 數。. z. 依據空間區域性彙整之預測變數: 根據第三章觀察惡意程式更新行為的發現,惡意程式具有以下之行為:受惡 意程式感染之電腦主機會在其所在之區域網路內發動 ARP 欺騙攻擊,以中間人 攻擊 (Man-in-the-Middle Attack)的手法在其他電腦主機的 HTTP 連線回傳資料中 加入含有惡意網站連結的 iframe 資料,引導在同區域網路內的其他電腦主機連到 惡意網站,並透過瀏覽即下載(Drive-by Download)的方式將惡意程式值入到訪客. 25.
(34) 的電腦裡。. 因此在本研究中,為建立空間區域性變數彙整偵測模組(在此簡稱為空間模 組 ) , 本 研 究 依 據 前 述 的 網 路 空 間 區 域 性 定 義 , 以 子 網 路 遮 罩 (Netmask) 為 255.255.255.0 的網路大小範圍進行空間變數之彙整,故變數彙整時是以網路位址 (Network ID)對應全球資訊網網站 IP 作為連線彙整的來源與目的基礎,例如:客戶 端高雄大學資管系網段 140.127.220.0 內所有流向伺服端 Google 搜尋網站 IP 72.14.235.99 連線,將相同之來源與目的的 Flow 資料以每十分鐘為時間單位加以 彙整,彙整了七個流量變數作為預測變數,如表 4-3,第一個欄位名稱為變數名 稱,為本研究提出的空間模組預測變數,第二個欄位為變數說明,解釋該模組之 變數所代表的意義。. 表 4-3. 以空間區域性彙整之流量變數 變數名稱. 說明. S_Octets. 同網段內累計之封包 byte 數. S_Pkts. 同網段內累計之封包數. S_Flows. 同網段內累計之 Flow 數. S_OctetsPerFlows. 同網段內平均每筆 Flow 之封包 byte 數. S_PktsPerFlows. 同網段內平均每筆 Flow 之封包數. S_OctetsPerPkts. 同網段內平均每個封包之 byte 數. S_ActiveIP_ratio. 同網段內有 HTTP 連線活動的 IP 中,有連到網站 IP 比例. 在 上 述 變 數 中 , S_Octets 、 S_Pkts 、 S_Flows 、 S_OctetsPerFlows 、 S_PktsPerFlows、S_OctetsPerPkts 等六個預測變數與對照組模組用意一樣,皆為 了呈現流量,其差異僅為彙整連線單位不同,目的為呈現網站連線的 NetFlow 流 量在前述定義的網路空間上的行為特徵;而 S_ActiveIP_ratio 預測變數則是為了 加強呈現該網站在該客端網段內同時被連結的空間行為特徵。. z. 依據時間區域性彙整之預測變數: 根據第三章觀察惡意程式更新行為的發現,惡意程式具有以下之行為:在受. 26.
(35) 感染主機至收集 NetFlow 資料之路由器間具有充足頻寬的條件下(意即受感染主 機至惡意網站間的頻寬瓶頸不在手感染主機至收集 NetFlow 資料之路由器間), 惡意程式每回合之更新行為約為十分鐘,更新完之後就不再連網惡意程式下載網 站進行更新,僅不斷試圖感染同網段之主機,直到惡意程式導致主機重新開機為 止,重新開機後便又開始進行另一回合之更新行為。. 故在本研究中,建立了時間區域性變數彙整偵測模組(在此簡稱為時間模 組),本模組的彙整基礎是以電腦主機 IP 與全球資訊網網站 IP 作為來源端與目的 端的 IP 對應,該 IP 對應組合之封包出現時即視為同一回合連線(Session)之建立, 該 Session 超過十分鐘沒有該 IP 對應組合封包出現即視為 Session 結束,以此為 一筆時間變數彙整之紀錄,而 Session 記錄之時間長度將不一定。其中該紀錄彙 整了九個流量相關變數作為預測變數,如表 4-4,第一個欄位名稱為變數名稱, 為本研究提出的時間模組預測變數,第二個欄位為變數說明,解釋該模組之變數 所代表的意義。. 表 4-4. 以時間區域性彙整之流量變數 變數名稱. 說明. T_Session_length. Session 時間長度. T_Octets. Session 中累計之封包 byte 數. T_Pkts. Session 中累計之封包數. T_Flows. Session 中累計之 Flow 數. T_OctetsPerFlows. Session 中平均每筆 Flow 之封包 byte 數. T_PktsPerFlows. Session 中平均每筆 Flow 之封包數. T_OctetsPerPkts. Session 中平均每個封包之 byte 數. T_OctetsPerFlows_std Session 中平均每筆 Flow 之封包 byte 數的標準差 T_PktsPerFlows_std. Session 中平均每筆 Flow 之封包數的標準差. 除了彙整的時間長度與起始時間定義不同外,其變數彙整與對照組模組一 樣,為呈現惡意網站連線在 Session 時間內在傳輸量上的特徵,所以採用了累計 Session 時間內累計的 T_Octets、T_Pkts、T_Flows 數量的三個預測變數;為了呈. 27.
(36) 現出在該 Session 裡意網站連線在每筆 Flow 的特徵所以採用 T_OctetsPerFlows 及 T_PktsPerFlows 兩個預測變數,而使用 T_OctetsPerPkts 預測變數則是為了呈現 Session 時間內每個封包的平均大小的流量特徵;最後為了呈現每個 Session 每筆 Flow 在 Octets 數及 Pkts 數量上的變化差異,所以本研究比照對照組模組設計了 T_OctetsPerFlows_std 以及 T_PktsPerFlows_std 兩個標準差的預測變數。. z. 結合時間區域性及空間區域性彙整之預測變數: 根據參照的區域性的定義,可分為兩大類,即空間區域性及時間區域性,而 這兩種參照的區域性在定義上並不互相衝突影響,故本研究提出結合時間區域性 及空間區域性的流量變數彙整概念,並且建立偵測模組進行效能之評估。. 為建立結合時間區域性變數與空間區域性變數彙整偵測模組(在此簡稱為時 空混合模組),本研究直接將時間模組與空間模組變數相結合,彙整了十六個流 量相關變數作為預測變數,如表 4-5,第一個欄位名稱為變數名稱,為本研究提 出的時間模組預測變數,第二個欄位為變數說明,解釋該模組之變數所代表的意 義。. 時間模組與空間模組的結合方法部分,本研究是直接以時間模組為基礎,時 間模組之資料原封不動,依照時間模組的資料從空間模組尋找相關資料並加以計 算產生該 Session 之空間區域性相關資訊;意即將時間模組彙整完的資料依照每 一筆資料的 IP 對應組合以及 Session 起始時間到結束時間,從空間模組彙整完的 資料中,尋找對應的資料,再加以重新計算產生時空混合模組之資料,其步驟如 下: Step 1. 以時間模組的 IP 對應組合,將客端的 IP 以子網路遮罩 255.255.255.0 找出 其網路位址(Network ID),再利用該網路位址與 IP 對應組合中的全球資 訊網網站 IP 相結合,組合成吻合空間模組來源端與目的端一端為網路位 址一端為全球資訊網網站 IP 的對應格式(NetworkID-WebIP)。 Step 2. 利用 Step 1.產生的 NetworkID-WebIP 資料加上時間模組中該回合的起始 時間到結束時間,可以從空間模組彙整過的資料中,找到被該回合橫跨 且符合 NetworkID-WebIP 資料的相關紀錄。. 28.
(37) Step 3. 利用 Step 1.產生的 NetworkID-WebIP 資料加上時間模組中該回合的起始 時間到結束時間,可以從空間模組彙整過的資料中,找到被該回合橫跨 且符合 NetworkID-WebIP 資料的相關紀錄。 Step 4. 將空間模組中符合的相關筆數資料加以重新計算,例如該筆時間模組的資 料橫跨 3 個空間模組的彙整時間區間,再附加到時間模組上即成為時空 混合模組之彙整資料。. 表 4-5. 以時間區域性結合時間區域性彙整之流量變數 變數名稱. 說明. T_Session_length. Session 時間長度. T_Octets. Session 中累計之封包 byte 數. T_Pkts. Session 中累計之封包數. T_Flows. Session 中累計之 Flow 數. T_OctetsPerFlows. Session 中平均每筆 Flow 之封包 byte 數. T_PktsPerFlows. Session 中平均每筆 Flow 之封包數. T_OctetsPerPkts. Session 中平均每個封包之 byte 數. T_OctetsPerFlows_std Session 中平均每筆 Flow 之封包 byte 數的標準差 T_PktsPerFlows_std. Session 中平均每筆 Flow 之封包數的標準差. TS_Octets. Session 中同網段內連線累計之封包 byte 數. TS _Pkts. Session 中同網段內連線累計之封包數. TS _Flows. Session 中同網段內連線累計之 Flow 數. TS _OctetsPerFlows. Session 中同網段內連線平均每筆 Flow 之封包 byte 數. TS _PktsPerFlows. Session 中同網段內連線平均每筆 Flow 之封包數. TS _OctetsPerPkts. Session 中同網段內連線平均每個封包之 byte 數. TS _ActiveIP_ratio. Session 中同網段內有 HTTP 連線活動的 IP 中,有連到該網站 IP 的 比例. 4.4 資料探勘分類法 隨著科技的快速發展與應用,資訊的儲存與使用變得十分的有效率,因而造就了資. 29.
(38) 訊快速的發展與成長,在資訊量不斷地以驚人速度成長的情況下,如何將大量的資訊做 適當的整理並進行分析,從中找出有效的知識,便是一項很重要的課題,而資料探勘(Data Mining)技術即是一種有效率的工具。. 資料探勘(Data Mining)又稱為資料庫之知識發掘(KDD, Knowledge Discovery in Database) [31],其簡單定義可陳述為「針對大量的資料進行處理,以發掘、萃取、得到 存在於資料中,我們有興趣知道但尚未得知的知識。」,而在資料探勘的技術中主要有 統 計 分 析 (Statistic Analysis) 、 關 聯 規 則 分 析 (Association Rule Analysis) 、 分 類 法 (Classification)、分群法(Clustering)以及回歸分析(Regression Analysis)…等,本研究的目 的是要區分正常網站及惡意網站的流量,故本研究採用了分類法建立惡意網站偵測模 組,利用流量變數特徵屬性來進行惡意網站與正常網站之分類偵測。. 所謂分類法(Classification)就是以一組已知正確分類的訓練資料集合,建立能夠描述 資料集合的特徵的模式或函數,對未知的資料進行有效率的分類。在本研究中的研究目 標為協助大型骨幹網路管理者偵測防禦惡意網站,而骨幹網路流量的資料量非常龐大, 在面對行為多變的惡意網站流量時,要能維持有效率的預測準確度,必須要經常蒐集不 斷變化的惡意網站流量重新作模組的訓練,為了能有效率的處理大量的 NetFlow 流量資 料,基於訓練及分類判斷時所需的時間成本考量,本研究選用了貝氏分類法(Naïve Bayesian)、決策樹分類法(Decision Tree)、支援向量機分類法(Support Vector Machine, SVM)等三種在訓練與預測階段皆有快速反應的分類方法進行惡意程式下載網站的偵 測。此三種分類法皆監督式的學習方法,分類前必須事先知道分類型態,透過訓練樣本 的訓練,學習與記憶分類根據所使用屬性的關係,產生這些訓練樣本的中心概念,然後 再用學習後的結果對未歸類的資料進行類別預測,以期能有效地處理未來欲分類的資 料。. 貝氏分類法[1][9]是以貝氏定理(Bayes' Theorem)為基礎建立的分類方法,而貝氏定 理 主 張 將 考 慮 之 參 數 視 為 隨 機 變 數 (Random Variable) 並 具 有 機 率 分 配 (Probability Distribution)的性質。因此,貝氏分類法特徵為假設各類別間的條件獨立,變數與變數間 的屬性亦互相為條件獨立,單一變數的數值改變時並不會影響其他變數數值改變,且每 個變數對於分類結果影響權重皆相等,由於假設各類別間並無屬性上之關聯性,使得在. 30.
(39) 建立貝氏分類法的條件機率分類模型時,計算上的處理量相當精簡,因此貝式分類具有 極快速的分類效能,適合用來處理資料量大的分類任務。. 決策樹演算法是使採貪婪演算法(Greedy Algorithm)作為基本的概念,以從上到下遞 迴(Top-Down Recursive)的方式來建構決策樹[11]。Quinlan 於 1979 年提出的 ID3 演算法 [19]是最早的決策樹演演算法之一,其主要是以遞迴的方式將訓練資料做切割,再取部 分資料做測試,依據資訊獲利(Information Gain)中值最大的變數當作分支的節點,然後 依遞迴的方式以同樣的方法取得下一分枝節點,直到每一訓練資料都屬於一個分類之中 或是滿足訓練時所設定的條件為止,但由於 ID3 以資訊熵函數(Information Entropy Function)作為類別不純度的度量方式,使得 ID3 會優先選擇最具純化能力的屬性,太注 重純化能力的結果又不注重決策分支數量,使得 ID3 演算法會傾向產生大量的決策分 支,造成過適(Overfitting)的問題。Quinlan 於 1993 年提出了 C4.5 決策樹演算法[20],該 演算法是基於 ID3 演算法再進行改良,改以資訊獲利率(Information Gain Ratio)做為節點 變數分割依據,而且 C4.5 是在建立好完整的決策樹,再依據錯誤預估率(Predicted Error Rate)來進行決策樹的修剪(Pruning)動作,因此明顯的改善了 ID3 演算法過度配適的問 題。此外,決策樹可以很容易的改成 IF-THEN 規則來建立規則式判斷模型,分類處理 的速度也相當地有效率,在本研究中,我們的資料探勘工具 Weka[29]即是採用了改良自 C4.5 演算法的 J48 決策樹分類法。. 支援向量機[1][6][25]是一種基於結構風險最小化原理(Structural Risk Minimization Principle)所發展的機器學習方法,適用於分類分析及預測的問題,尤其在處理小樣本、 非線性、高維度的資料時有許多特有的優勢,所以支援向量機已被廣泛地應用在各種不 同的領域。它的作法是利用一個非線性轉換(Nonlinear Transformation)將線性或非線性的 原始資料轉換成較高維度的資料,然後利用支持向量(Support Vectors)與邊界(Margins) 尋找高維度平面中最佳的線性超平面分隔(Linear Optimizal Separating Hyperplane)。由於 能夠描述多維度、非線性的決策邊界,所以支援向量機具有很高的正確率,且具快速的 分類判斷速度,故本研究亦評估支援向量機分類法建立分類預測模組的預測準確性。. 31.
(40) 第5章. 實證評估. 在本研究第四章裡提出了以網路空間與時間的彙整方式,依照惡意網站流量特性彙 整 NetFlow 流量相關變數建立惡意網站偵測模組。為了評估本研究所提出的惡意網站偵 測模組之分類效能,在本章中將以實際網際網路上的全球資訊網網站連線流量資料進行 驗證,以評估惡意網站偵測模組的分類效能。. 5.1 分類分析所使用之資料集 本研究使用高雄大學校園網路骨幹核心路由器之 NetFlow 流量資料進行偵測模組的 建立,彙整資料時間範圍為 2008 年 7 月 21 日至 2008 年 7 月 26 日。本研究利用其中 2008 年 7 月 21 日至 2008 年 7 月 23 日為分類模組之訓練資料集合,2008 年 7 月 24 日至 2008 年 7 月 26 日的網路流量資料為用於驗證分類模組效能之測試資料。. 研究中利用 flow-tools[8]將訓練與測試用之 NetFlow 流量資料過濾出 TCP 80 Port 之 全球資訊網流量資料,依此收集了實際正常網站連線流量及惡意網站流量,其中為確保 正常網站之流量資料中不會因夾雜未知的惡意網站流量資料而產生分類結果的偏誤,本 研究在正常網站資料取樣時儘可能客觀的挑選各類型之知名網站服務的 IP 流量資料, 例如:Google 搜尋引擎網頁、Yahoo 圖文網頁及無名相簿網頁、軟體王下載連結之站台 以及 SourceForge 軟體下載站台等,做為研究中正常使用的網路流量資料集合,而惡意 網站相關流量資料則藉由第三章中所述真實觀察惡意程式行為,所發現的惡意網站位置 進行相關資料取樣。. 經 4.3 一節中提到的各偵測模組之變數彙整方式彙整之後,單以空間變數彙整方 式,在訓練資料中可彙整出 306 筆惡意網站流量資料,在測試資料中可取得 122 筆流量 資料;單以時間變數彙整方式,在訓練資料中可彙整出 222 筆惡意網站流量資料,在測 試資料中可取得 64 筆流量資料;以結合時間與空間變數彙整的方式,在訓練資料中可 彙整出 222 筆惡意網站流量資料,在測試資料中可取得 64 筆流量資料;而作為對照組 的傳統 NetFlow 變數彙整方式,在訓練資料中可彙整出 318 筆惡意網站流量資料,在測 試資料中取得 145 筆流量資料。. 32.
Outline
相關文件
Verio 提供網站代管公司完整的軟體、運算 與網路資源,也提供網路零售業者開發電子 商務及網站代管的服務 V i 也提供小型 商務及網站代管的服務。
由於自簽的電子證書並非由知名憑證授權單位簽署,因此當使用者進入網 站時會被瀏覽器標注為不安全(例如使用 Google Chrome
由於資料探勘 Apriori 演算法具有探勘資訊關聯性之特性,因此文具申請資 訊分析系統將所有文具申請之歷史資訊載入系統,利用
I-STD 是在資料以漸進式增加的前提下進行資料探勘,在醫院的門診診斷紀 錄中,雖然每個月門診數量不盡相同但基本上仍有一固定總門診數量範疇,因此 由圖
類神經網路 ( Artificial Neural Network ),根據 DARPA Neural Network
接下來我們將討論切換的機制,因為在我們假設的網路環境下,所以 sink 是保持在接收資料的狀態。網路中所有的感測點都將資料往 sink 端傳送,但是
Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,
在無線區域網路部份,高傳輸速度的要求,讓 IEEE 802.11a 成為矚目 的標準。本篇論文主要是以 FPGA 晶片來實現一適合於無限區域網路 IEEE 802.11a