320 likes | 467 Views
Rootkit 惡意軟體之隱藏及偵測技術. 大葉大學資訊管理學系 曹偉駿 副教授 2008/03/07. 大綱. 研究背景與動機 研究目的 文獻探討 新型的 Linux Kernel Mode Rootkit 研製 實驗設計與分析 結論與未來發展方向. 研究背景與動機 (1/2). 近年來,惡意軟體( Malware )包括病毒、木馬以及間諜程式日益盛行 道高一尺,魔高一丈,一種稱為 Rootkit 的技術正威脅著系統,並且讓系統的安全檢測變得更加困難,甚至無從下手
E N D
Rootkit惡意軟體之隱藏及偵測技術 大葉大學資訊管理學系 曹偉駿 副教授 2008/03/07
大綱 • 研究背景與動機 • 研究目的 • 文獻探討 • 新型的Linux Kernel Mode Rootkit研製 • 實驗設計與分析 • 結論與未來發展方向
研究背景與動機 (1/2) • 近年來,惡意軟體(Malware)包括病毒、木馬以及間諜程式日益盛行 • 道高一尺,魔高一丈,一種稱為Rootkit的技術正威脅著系統,並且讓系統的安全檢測變得更加困難,甚至無從下手 • Rootkit的高深隱藏技術常被許多惡意程式用來躲過防毒軟體或防惡意軟體程式的監控
研究背景與動機 (2/2) • 2005年 Sony BMG 音樂光碟使用 Rootkit 技術,來保護防盜拷軟體不被使用者任意移除,引來人們對Rootkit的注意 • 專門討論Rootkit的論壇誕生 http://www.rootkit.com • Rootkit Detectors 問世,這些 Detectors 夠好嗎? 老大的姿態自居? • 有些機構如Honeynet Project或軍方,透過網路竊取情報時, 需要高隱藏技術
研究目的 • 若想研製具有高準確度之偵測機制,必需探究Rootkit的製作流程、技術及特徵,才能有效率的防患於未然 • 開發出一套新型的Linux Kernel Mode Rootkit且能不被現有的偵測方法所偵測到,激勵Rootkit Detectors能改進其缺失 • 經由研究變種Rootkit的心得,研製比市面上更強的Detector ,其偵測方法希望能觸發Detector研發者新的想法,並能縮短開發新版本的時間
文獻探討(1/11) • 惡意程式碼決策流程圖
文獻探討(2/11) • Rootkit的探討 • Rootkit出現二十世紀90年代初,rootkit這個名詞,來自 root 與 kit 兩個字的結合。 • Rootkit是一套可以讓攻擊者取得受害電腦最高權限的工具,攻擊者利用 root 權限隱藏與電腦的溝通,不讓管理者發現。
文獻探討(3/11) • Rootkit類型 諸如Windows或Linux等作業系統都有「使用者模式」(user mode)和「核心模式」(kernel mode)等執行模式。
文獻探討(4/11) • User Mode Rootkit 攻擊者以Rootkit中的木馬程式來替換系統中正常的應用程式與系統檔案。
文獻探討(5/11) • Kernel Mode Rootkit 透過操作與利用 kernel,已成為最難被發現的Rootkit,因為它能夠在應用層檢查中,建立一條繞過檢驗的通道。
文獻探討(6/11) Kernel Mode Rootkit修改系統呼叫表
文獻探討(7/11) • Rootkit技術 • 隱藏檔案 • 正常系統呼叫函數替換成Rootkit的系統呼叫函數 • 隱藏程序 • 程序的記錄訊息會存放於檔案系統中的〝/proc〞,改變sys_getdents()系統呼叫函數 • 隱藏網路連接 • 網路連結會記錄在〝/proc/net/tcp〞與〝/proc/net/udp〞這兩個檔案之中,改變sys_read()系統呼叫函數 • 重定向檔案設置 • 將正常sys_execve系統呼叫函數替換為Rootkit的系統呼叫函數 • Inline Function Hooking • Hoglund、Butler兩學者提出,主要是利用繞道(Runtime Pathing)技術
文獻探討(8/11) Inline Function Hooking程序
文獻探討(9/11) • 現有的Kernel Mode Rootkit • Knark • 安裝於系統核心模組時,將會隱藏監聽網路封包之檔案且改變八個系統呼叫:fork、write、close、clone、kill、mkdir、clone與getdents 供攻擊者取得較多的系統控制權 • 特性 • 隱藏檔案或目錄、隱藏TCP或UDP連接、程序執行重定向、非授權的用戶權限增加、隱藏正在執行的程序 • Adore • 具有Kernel Mode Rootkit的主要功能,如隱藏檔案、隱藏程序、隱藏網路連結與重定向檔案設置等 • 一個非常強大的功能:root許可權後門程式
文獻探討(10/11) • 現有的偵測技術 • 特徵偵測(Signature based detection) • 鑑別Rootkit的特徵 (Chkrootkit) • 行為偵測(Behavioral detection) • 搜尋Rootkit程式隱藏的元素,包括檔案或記錄(VICE、Patchfinder) • 完整性偵測(Integrity based detection) • 對系統中的檔案與目錄建立一個比對資料庫 (Tripwire) • 硬體式偵測(Hardware detection) • 透過外接周邊設備方式安裝在電腦PCI插槽中,對Rootkit進行偵測與監控 (Copilot) • 交叉察看偵測(Hardware detection) • 透過Windows common APIs 取得系統上重要的資訊,如檔案(files)、程序(process)或機碼(Registry key),再與「經由程式本身演算法產生的資訊」進行交叉察看 (Rootkit Revealer)
新型的Linux Kernel Mode Rootkit 研製(1/2) Adore更改系統呼叫之記憶體位址 KSTAT偵測Adore
新型的核心模式Linux Rootkit(2/2) • 重定向系統呼叫方法架構
變形的Linux Kernel Mode Rootkit之偵測機制(2/2) 變形Rootkit系統呼叫指令 Linux作業系統核心映像檔系統呼叫指令
實驗設計與分析 • 編譯核心 • 編譯與安裝變形Rootkit
實驗測試-功能可行性(1/6) • 隱藏程序
實驗測試-功能可行性(3/6) • 隱藏檔案
實驗測試-躲避現有偵測軟體(4/6) • KSTAT
實驗測試-躲避現有偵測軟體(5/6) • Chkrootkit
實驗測試-躲避現有偵測軟體(6/6) • tripwire
結論 • 本論文所提出重定向系統呼叫方法確實能夠成功迴避現有的偵測軟體,具有實務意義與相關研究價值
未來發展方向 • 經由研究Rootkit的心得,研製比現有Rootkit Detectors更強的偵測軟體 • 發展專於隱藏Windows Driver的Rootkit,並能躲過市面上知名的偵測軟體 • 針對所設計的Windows Driver-hidden技術,研發出對應的偵測方法
謝謝聆聽 敬請指教