• 沒有找到結果。

殭屍網路偵測技術

第二章 文獻探討

第二節 殭屍網路偵測技術

伺服主機傳達給所有殭屍電腦時,收到指令的殭屍電腦則會回復訊息給命令與控 制伺服主機,殭屍網路控制者可以藉此確認命令是否有被執行。對殭屍網路管理 者而言,透過這樣架構的殭屍網路,殭屍網路控制者可以輕易地掌控整個殭屍網 路的狀況,例如殭屍電腦的數量以及個別的系統資訊等,但是同時也因為命令與 控制伺服主機上具備整個殭屍網路的資訊,萬一當命令與控制伺服主機遭到破獲 時,整個殭屍網路的所有資訊將會完全洩漏。

為了改善集中式殭屍網路的缺點,殭屍網路逐漸發展出其他不同架構形式,

像是分散式(Peer-to-Peer, P2P)以及隨機式(Random),因此殭屍網路也從主從式 (Client-Server)架構轉變成點對點式(P2P)架構[7]。儘管殭屍網路的結構不斷轉變,

但是因為集中式殭屍網路相較其他架構較具有優秀的操控管理能力,所以截至目 前集中式殭屍網路仍占多數,因此本研究所偵測的殭屍網路架構亦選擇集中式架 構之殭屍網路。

第二節 殭屍網路偵測技術

截至目前為止,許多研究提出各式各樣的方法來偵測殭屍網路,Zhu 等人 (2008)[30] 整理近年來 的偵測技術 並歸納出 誘捕網路 (Honeynet)與 流量監控 (Traffic Monitoring)兩大類別,其中誘捕網路是一個引誘攻擊者進行惡意攻擊,

並記錄攻擊活動與行為的網路架構,透過攻擊資訊的蒐集將有助於日後研擬防 禦措施;流量監控類別主要是透過網路傳輸設備所提供的網路流量資訊進行分 析,從中找到殭屍網路的網路傳輸特徵模式,進行殭屍網路偵測防禦,而兩大 類別之詳細說明如下。

(1) 誘捕網路

根據 Spitzner (2002)[24]的定義,誘捕系統(Honeypot)是一種針對未經授權以

10

及非法的存取進行偵測之資訊系統,其作法是將誘捕系統刻意設計成一個有弱點 缺陷的主機並放置在網路上,讓攻擊者可以藉由此弱點輕易地突破系統防護,當 系統被入侵後紀錄攻擊者的攻擊來源、系統所執行過的指令或程式,以及指令或 程式執行後所產生的結果。

而誘捕網路不像誘捕系統是一部單一主機[25],而是一個利用誘捕系統和 Honeywall 所組成的網路架構,其架構如圖 3。在誘捕網路中,透過 Honeywall 將多個誘捕系統與網域內一般用途的主機區隔開來,並且會在 Honeywall 的位置 建置入侵偵測系統(Intrusion Detection System, IDS),避免誘捕系統遭到入侵後對 網域內的一般主機進行攻擊行為,並且針對所有流經過 Honeywall 的流量資料進 行監控,尋找攻擊者的入侵相關線索,藉此研究分析攻擊者使用的攻擊工具、攻 擊手法以及動機。

圖3 誘捕網路架構圖[25]

11

在過去有許多研究利用誘捕系統或是誘捕網路進行殭屍網路的偵測追蹤,因 為誘捕系統會將攻擊者的完整入侵流程詳細記錄下來,藉此分析攻擊者如何獲得 系統的存取權限,找出更好的方法來保護其他系統主機。但是誘捕系統的原理是 在網路中建置一個有缺陷的系統,被動地等待攻擊者或病毒的入侵感染,若誘捕 系統無法順利地引誘攻擊者,則此系統架構的偵測效能將會大幅降低,同時因為 誘捕系統必須遵從「誘捕系統遭到入侵後,不得任意攻擊他人系統主機」的道德 規範,所以 Wang 等人(2010)[29]指出殭屍網路控制者可以透過某些確認機制來 偵測所入侵的主機是否為誘捕系統。

圖4 殭屍網路控制者偵測誘捕系統之方法[29]

在殭屍網路環境中,殭屍網路控制者成功入侵一台主機時,會命令該受害主 機先向網路中的一群主機發動攻擊行為,例如圖 4 的步驟一。而在這些主機中有 一台主機為殭屍網路控制者刻意安排的目標主機 (Target),當目標主機收到攻擊 流量時會先驗證該流量是否遭到誘捕系統的修改,若驗證未遭到竄改後,誘捕目 標主機會將遭到受害主機的 IP 位址傳回給命令與控制伺服主機,如圖 4 的步驟 二。直到此刻殭屍網路控制者才會將該主機納入殭屍網路下成為受控制之殭屍電

12

腦,這時才和命令與控制伺服主機進行連線,如圖 4 的步驟三。因此利用誘捕系 統相關技術進行殭屍網路偵測將有可能遇到,殭屍網路控制者透過目標主機來檢 驗所入侵的電腦主機是否為誘捕系統。

(2) 流量監控

當利用網際網路存取網路上任何設備將有網路流量產生,流量監控技術會記 錄受監控網域內的所有網路流量資訊,當發生殭屍網路攻擊時,透過流量紀錄過 濾,從中找出可能的殭屍電腦。Feily & Shahrestani (2009)在流量監控技術分類中 [9],再細分出特徵值偵測法(Signature-based Detection)、異常偵測(Anomaly-based Detection) 、 DNS 偵 測 法 (DNS-based Detection) 與 流 量 探 勘 式 技 術 (Flow Mining-based Detection)。

 特徵偵測法

已被明確定義的殭屍網路特徵值與行為可以用來偵測殭屍網路,舉例來說,

Snort 就是一種公開來源的入侵偵測系統[23],利用監控網路流量資料來尋找是否 遭到入侵攻擊。像大多數的入侵偵測系統一樣,Snort 由一群的規則或特徵組成 特徵分析資料庫,從流量資料中找出可疑的部分。然而特徵偵測技術對於已知的 殭屍網路具有良好的偵測能力,但是對於未知型態的殭屍網路則無法偵測出來。

 異常偵測

異常偵測用在殭屍網路上是藉由長期蒐集網路流量,當網路異常件發生時可 以推測目前遭受殭屍網路的惡意攻擊,而網路異常事件大致包含爆增的大量網路 封包(Packet)、不尋常的通訊埠(Port)連線和系統行為,這些都可以證明網路中有 惡意殭屍的存在。然而透過異常測技術可以解決無法找出未知殭屍網路的問題,

但 是 若 殭 屍 網 路 上 未 發 動 攻 擊 行 為 時 依 然 難 以 偵 測 察 覺 , Binkley &

13

Singh(2006)[5]為了解決這樣的問題,針對以 IRC 為架構的殭屍網路提出一個演 算法,利用殭屍電腦在 IRC 伺服主機上的頻道名稱和訊息(Message)的統計資料,

結合以 TCP 為主的異常偵測模式對所收集的封包(Packet)進行偵查,利用此演算 法所建置的系統不僅可以明確地找到殭屍電腦,甚至連命令與控制伺服主機都能 揭露,但是這樣的方法在 IRC 伺服主機訊息以加密方式進行傳遞時就會宣告失 敗。

Karasaridis 等人(2007)[15]提出另一種演算法,改採用網路傳輸層的流量資 訊作為偵測的資料來源,因此對於加密後殭屍網路之間的通訊一樣具有優秀的偵 測能力。因為在相同將網路內的殭屍電腦,收到來自殭屍網路控制者的命令時所 產生的回應與行為具有高度的相似性,利用這樣的原理 G u 等人(2008)[14]提出 一個名為 BotSniffer 的殭屍網路異常偵測系統,採用多個相似度分析演算法對相 同時空所產的網路流量進行偵測,藉此勘查出殭屍網路是否存在於自身的網路環 境當中。

 DNS 偵測法

在殭屍網路入侵過程中,惡意程式會使受害主機連線到命令與控制伺服主機 的網路名稱,對殭屍網路控制者而言,若未來需要變更命令與控制伺服主機的 IP 位址,只需要更換網域名稱的註冊 IP 即可,殭屍電腦利用 DNS 伺服主機反查 IP 位址後就能正確連線至新的命令與控制伺服主機 IP 位址。DNS 偵測和異常偵測 相當類似,DNS 偵測法是從所有 DNS 網路流量中偵測出異常的 DNS 查詢流量。

Choi 等人(2007)[6]提出基於異常偵測技術的殭屍電腦檢測機制,透過觀察異 常主機群體對於 DNS 進行查詢的網路流量,因為利用異常偵測技術,所以必須 事先定義出異常 DNS 查詢流量,以區別合法的 DNS 流量。他們同時發產出可以

14

監控命令與控制伺服主機轉移的機制,這種基於檢查異常的殭屍網路查詢流量方 法比過往的研究更為可靠,無論何種殭屍網路的架構都能在應用於此偵測系統,

此外他還可以偵測於加密的殭屍網路環境中,然而這種方法的主要缺點在監控較 大的網域時需要龐大的資料處理時間。

 流量探勘式偵測技術

事實上,殭屍網路中控制指令的傳遞不會產生大量的網路流量以及網路延遲 (Network Latency),況且殭屍網路會改用尋常通訊埠,和命令與控制伺服主機進 行訊息溝通傳遞,增加偵測上的困難度,因此使用異常偵測技術難以將控制指令 傳遞之流量分辨出來,所以有相當多研究改採用機器學習(Machine Learning)、分 類方法(Classification)和叢集偵測(Cluster)方式來勘查殭屍網路中的命令與控制 流量。

Geobl & Holz (2007)[12]提出 Rishi 系統來偵測殭屍網路,監控不尋常或是可 疑的 IRC 伺服主機的頻道、位址以及連線通訊埠,使用相似度 N-Gram 分析和評 分系統(Scoring System)可以將那些無法被傳統入侵偵測系統發現的殭屍電腦順 利找出,但是這個系統僅能探勘出集中式架構的 IRC 殭屍網路,同時因為必須 針對殭屍網路內的訊息進行分析,所以若該殭屍網路採用加密傳輸則此方法亦無 法運作。

在機器學習的偵測技術中,Strayer 等人(2008)[27]採用兩階段的分析處理過 程,首先把 IRC 伺服主機的相關流量從眾多流量資料中擷取出來,再來是從過 濾後的流量資料找出可疑的殭屍網路資料,因為機器學習的對象是每一筆網路流 量資料中的封包負載內容(Payload Content),所以無法在加密後的殭屍網路環境 中順利探勘,雖然此方法並不限定特定架構的殭屍網路才能運作,但是相較之下

15

該方法對於集中式的 IRC 殭屍網路還是具有較好的偵測效能。

BotMiner 是近期利用資料探勘技術進行殭屍網路命令與控制流量偵測的研 究[13],是由 BotSniffer 改良而成,從完整的網路流量紀錄中過濾出殭屍網路流 量,將相似的殭屍網路連線情形以及網路活動以叢聚分析做分群,並用兩者結果

BotMiner 是近期利用資料探勘技術進行殭屍網路命令與控制流量偵測的研 究[13],是由 BotSniffer 改良而成,從完整的網路流量紀錄中過濾出殭屍網路流 量,將相似的殭屍網路連線情形以及網路活動以叢聚分析做分群,並用兩者結果

相關文件