550 likes | 731 Views
以網路管理觀點的殭屍電腦與惡意軟體偵測. 作者:國立暨南國際 大學 陳 彥 錚 報告人 : MA2G0207 蘇柏榕. Outline. 1. 緒論 2. 論文探討 3. 研究方法 4. 研究結果 5. 結論. 緒論. 電腦安全問題 越來越嚴重,導致個人電腦 資料被 破壞 或竊取問題 日趨 嚴重 不同 種類的 Botnet 具有 不同的 感染途徑及 C&C(Command and Control) 通道 本研究目的並是以 網路管理 為觀點的 Botnet 偵測技術之 研究 過去偵測 Botnet 之相關研究,多於主機上安裝監測程式. 緒論.
E N D
以網路管理觀點的殭屍電腦與惡意軟體偵測 作者:國立暨南國際大學 陳彥錚 報告人:MA2G0207 蘇柏榕
Outline 1.緒論 2.論文探討 3.研究方法 4.研究結果 5.結論
緒論 電腦安全問題越來越嚴重,導致個人電腦資料被破壞或竊取問題日趨嚴重 不同種類的Botnet 具有不同的感染途徑及C&C(Command andControl)通道 本研究目的並是以網路管理為觀點的Botnet 偵測技術之研究 過去偵測Botnet 之相關研究,多於主機上安裝監測程式
緒論 相關研究顯示於殭屍電腦上所植入之惡意軟體可能藏於作業系統程式 使用VMWare在虛擬機器環境監測殭屍電腦行為是目前相關研究共同採用的模式 利用SNMP 網路管理協定的主機型Botnet 監測方式,並配合網路型的NetFlow訊務流分析,以其建置方便又有效的Botnet 偵測機制。 管理者可以利用監測所得之資訊建立黑白名單,利於儲存不同Botnet 執行程式或連線資訊之特徵
論文探討 • Botnet • 是指受感染主機由控制者(BotMaster)操控,控制者(BotMaster)藉由連線C&C(Command and Control)伺服器遠端控制受感染主機(Zombies)
論文探討 • SNMP • 簡易網路管理協定(Simple Network Management Protocol,簡稱SNMP),讓不同的網路設備具有共同標準,並提供基本網路管理功能,此協定目前已成為網際網路的共同網路管理標準。
論文探討 • 管理資訊庫 • 管理資訊庫(ManagementInformationBase,簡稱MIB) • MIB 中之被管物件依其物件識別碼(OID)形成樹狀架構,不同設備以及不同的網管功能所提供的MIB 也不同
論文探討 • NetFlow • NetFlow根據網路傳輸資料時,往相同目的地的封包會連續傳送的特性,在路由器(Router)中建立相對應的Entry 儲存在Cache Table 中 • 當管理者將路由器介面上的NetFlow功能打開時,路由器既會配合Cache Table 的機制,對經過介面上的封包擷取出特定的資訊,彙整至一筆Flow 中,等待Expire 機制決定將Flows 封包匯出
論文探討 • 每一筆Flow 中記錄著七個欄位 • 相同來源端IP 位址(Source IP Address) • 來源端埠號(SourcePortNumber) • 目的端IP 位址(Destination IP Address) • 目的端埠號(Destination PortNumber) • 協定種類(Protocol Type) • 服務種類(Type of Service) • 路由輸入介面(RouterInput Interface)
論文探討 • 若進入路由器之封包在Flow Table 中找不到符合相同七個欄位的Flow 時,便會產生一個新的Flow, • 而已下狀況則會終止該Flow(s)的紀錄: • 該筆Flow Entry 已經持續一段特定時間沒有任何符合該Flow 之packet 進入 • 該筆Flow Entry 雖然有封包持續進入,但超過了封包最長保留時間
路由器儲存之Flows 的Table 已滿,需要將現有的Flows 匯出。 • 若該Flow之通訊協定為TCP,則當收到Close Connection 之FIN Flag 或Reset之RST Flag 的封包時,代表該TCP 連線所屬的Flow 結束,則匯出該Flow。 • 當路由器的路由資訊(Routing Information)改變或介面關閉時 • 終止Flow(s)之記錄會將該Flow(s)匯集成一個NetFlow PDU(UDP Datagram)送出至使用者端,進行封包之分析處理
研究方法 • 殭屍網路與惡意軟體之偵測大致上可分成 • 主機型(host-based) • 網路型(network-based) • 本研究提出以網路管理為觀點的Botnet 偵測技術 • 利用SNMP網路管理協定進行主機型Botnet 的偵測 • 配合網路型的NetFlow訊務流進行分析 • 針對SNMP 主機型Botnet 的偵測,需啟動Windows 內建的SNMP 代理程式,以便網路管理工作站進行遠端監測
研究方法 利用SNMP 的ColdStart Trap 得知監測電腦之開機時間 利用SNMP 監測標準的MIB-II 物件及個人電腦內建的Host Resources MIB 物件,進行開機後第一時間的網路連線(tcpConnEntry)及執行處理程序(hrSWRunEntry)的監測 運用NetFlow蒐集監測電腦連線資訊,對於Fast-Flux 模式的Botnet 與惡意軟體進行即時分析,也於監測電腦關機後,將所蒐集的連線資訊採用事後的存錄分析
研究方法 • 偵測輪詢機制 • 蒐集監測資料之方法通常使用週期性輪詢(Polling)方式 • 輪詢週期會影響監測的資料品質與正確性 • 較小的輪詢週期可獲得較正確之監測結果,然而會耗費較多的通訊與計算資源,不利於延展性(Scalability) • 採用較大的輪詢週期,則可能無法觀測被管設備瞬時之狀態變化
研究方法 以本研究為例,系統開機後短暫時間的處理程序執行,以及生命週期較短的TCP 連結,採用較大的輪詢週期並無法有效監測。 本研究將提出一個以SNMP Trap驅動的動態輪詢機制,可以有效監測使用者電腦開機後短暫時間的處理程序與對外TCP 連結
研究方法 • 依據SNMP 協定標準之規定,每一被管系統在下列情況發生時必須發送Trap 訊息至管理者 • 被管系統開機啟動(ColdStart) • 被管系統之網管模組重新啟動(WarmStart) • 失去網路連結(LinkDown) • 恢復網路連結(LinkUp) • 認證失敗(AuthenticationFailure) • 外部路由交換失敗(egpNeighborLoss) • 設備廠商自訂Trap(EnterpriseSpecific)
研究方法 • 黑白灰名單 • 監測在電腦開機後極短暫時間內執行的Botnet 與惡意軟體之處理程序 • 基於大部分殭屍網路及惡意軟體程式於電腦開機後會執行其程式,並與C&C Server 進行通訊並等待BotMaster下達攻擊指令,黑白灰名單的維護時機在監測電腦開機後之一段時間
研究方法 黑名單:殭屍網路及惡意軟體程式於電腦上執行的處理程序內容,新增方式可由管理者維護,另外加入灰名單的處理程序經由檢測分析後,若具異常流量者,則加入黑名單。 白名單:系統正常執行程式於電腦上的處理程序內容,新增方式由管理者維護,如灰名單的處理程序經由檢測分析後,未發現異常流量者則加入白名單。 灰名單:當監測電腦使用者執行新的處理程序時,先將此處理程序加入灰名單,待檢測分析後判斷要加入黑名單或白名單。
研究方法 • Netflow訊務流統計分析 • 本研究採用以SNMP Trap 驅動的監測方式,可以精確掌握使用者電腦的開關機時間(tu與td) • NetFlow特性將同屬一訊務流的一序列之單向傳送封包匯集成具固定資料格式的記錄 • 當伺服器與使用者進行通訊時,介於之間的路由器將有兩筆訊務流紀錄,分別為伺服器傳送至使用者端和使用者端傳送至伺服器的訊務
依據SNMP Trap 與動態取得開關機時間(tu與td),從眾多的NetFlow訊務流中,只擷取被監測主機於tu至td 間的訊務流資料進行分析 • 藉由SNMP Trap 取得主機IP 位址及主機開關機時間訊息,可以避免其他前後無關之訊務資訊對訊務分析的干擾誤判,增加訊務分析之正確性
研究結果 • 監測電腦之SNMP模組設定 • 監測電腦需安裝Windows 系列作業系統內SNMP 模組 • 將SNMP服務啟動,且設定Trap 使用之社群名稱(Community Name)及發送Trap 之目的地
NetFlow訊務流蒐集 • 以透過Port Mirroring 功能之網路交換器,將受監測網路連外網路之所有封包導向單一監測主機 • 安裝NetFlow Exporter,便可將導入之所有封包轉換成仿NetFlow之訊務流,並將訊務流Export 至該主機進行統計分析,
偵測系統程式開發 • 偵測系統程式是使用Java 語言撰寫 • SNMP 接收Trap 以及蒐集SNMP MIB-II與Host Resources MIB 資料則運用AdventNetSNMP API 進行開發 • SNMP預設Trap 之目的端連接埠(Destination Port)為162 • 收到ColdStart Trap 時開始進行偵測,同時也開始蒐集NetFlow訊務流
NetFlow訊務流之蒐集方法是使用Jnca開放原始碼的程式庫改寫NetFlow訊務流之蒐集方法是使用Jnca開放原始碼的程式庫改寫 • NetFlowExporter程式中,輸出連接埠為9991 • 當收到封包時,將此封包進行NetFlow訊務流格式處理,才可獲得訊務流的資訊。
研究結果 有週期特性之原始資料圖
研究結果 有週期特性之FFT 資料圖
研究結果 無週期特性之原始資料
研究結果 無週期特性之FFT 資料
研究結果 • 執行處理程序黑白灰名單 • 新安裝好的WindowsXP作業系統 • 偵測系統第一次黑白名單的初始化 • 對IRC Bot、HTTP Bot 與P2P Bot進行處理程序之黑白名單判斷 • HTTP Bot 程式在啟動時並不會產生新的處理程序,而是隱藏在系統程式內,偵測難度提高
研究結果 但HTTP Bot 需要與HTTP 伺服器(C&C)進行訊息傳遞,此時,HTTP Bot 也會有和IRC Bot 相同之PING/PONG 週期性傳送訊息 本研究所提出之NetFlow分析是能夠分析出有週期性訊息傳遞之特性
研究結果 • 實驗Fast-Flux型態的殭屍網路之偵測 • 許多新型殭屍網路與惡意軟體皆是使用Fast-Flux 技術 • Fast-Flux (流光)技術是運用RR(Round-Robin)DNS 加上設定非常短暫的TTL(Time To Live)值,依照循序方式於一群IP 位址中做替換 • 本研究實際架設DNS 伺服器,並運用撰寫好之腳本(Script),動態更改網域名稱所對應的IP 位址,同時也設定此IP 位址之反查
研究結果 • 然而在進行實驗過程中觀察到IRC Bot 執行時,就會與IRC 伺服器建立連線,而此連線便會執行到感染電腦關機 • IRC Bot 無法於執行中運用Fast-Flux 技術來動態改變網域名稱與IP 位址之對應,HTTP Bot 與P2P Bot 也有相同情形
研究結果 • Bot 程式執行時,偵測系統將從NetFlow訊物流中取得目的端之IP 位址,並即時進行DNS 反查,將結果存入資料庫 • 如DNS 所對應之IP 位址一旦改變,偵測系統就可利用資料庫內資料進行比對,比對不同時,將視此DNS 運用Fast-Flux 技術