31
Rootkit 惡惡惡 惡惡惡惡惡惡惡惡 惡惡惡惡惡惡惡惡惡惡 惡惡惡 惡惡惡 2008/03/07

Rootkit 惡意軟體之隱藏及偵測技術

Embed Size (px)

DESCRIPTION

Rootkit 惡意軟體之隱藏及偵測技術. 大葉大學資訊管理學系 曹偉駿 副教授 2008/03/07. 大綱. 研究背景與動機 研究目的 文獻探討 新型的 Linux Kernel Mode Rootkit 研製 實驗設計與分析 結論與未來發展方向. 研究背景與動機 (1/2). 近年來,惡意軟體( Malware )包括病毒、木馬以及間諜程式日益盛行 道高一尺,魔高一丈,一種稱為 Rootkit 的技術正威脅著系統,並且讓系統的安全檢測變得更加困難,甚至無從下手 - PowerPoint PPT Presentation

Citation preview

Page 1: Rootkit 惡意軟體之隱藏及偵測技術

Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理學系 曹偉駿 副教授

2008/03/07

Page 2: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 2

大綱 研究背景與動機 研究目的 文獻探討 新型的 Linux Kernel Mode Rootkit 研製 實驗設計與分析 結論與未來發展方向

Page 3: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 3

研究背景與動機 (1/2) 近年來,惡意軟體( Malware )包括病毒、木馬以及間諜程式日益盛行

道高一尺,魔高一丈,一種稱為 Rootkit 的技術正威脅著系統,並且讓系統的安全檢測變得更加困難,甚至無從下手

Rootkit 的高深隱藏技術常被許多惡意程式用來躲過防毒軟體或防惡意軟體程式的監控

Page 4: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 4

研究背景與動機 (2/2) 2005 年 Sony BMG 音樂光碟使用 Rootkit 技術,來保護防盜拷軟體不被使用者任意移除,引來人們對 Rootkit 的注意

專門討論 Rootkit 的論壇誕生 http://www.rootkit.com

Rootkit Detectors 問世,這些 Detectors 夠好嗎 ? 老大的姿態自居 ?

有些機構如 Honeynet Project 或軍方,透過網路竊取情報時 , 需要高隱藏技術

Page 5: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 5

研究目的 若想研製具有高準確度之偵測機制,必需探究

Rootkit 的製作流程、技術及特徵,才能有效率的防患於未然

開發出一套新型的 Linux Kernel Mode Rootkit且能不被現有的偵測方法所偵測到,激勵 Rootkit Detectors 能改進其缺失

經由研究變種 Rootkit 的心得,研製比市面上更強的 Detector ,其偵測方法希望能觸發 Detector 研發者新的想法,並能縮短開發新版本的時間

Page 6: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 6

文獻探討( 1/11 ) 惡意程式碼決策流程圖

開始

是否有惡意?此程式碼並非惡意軟體

程式碼會自行複製嗎?此程式碼為特洛伊木馬程式

會感染主體使其進行複製嗎?

此程式碼為蠕蟲

此程式碼為病毒

結束

Page 7: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 7

文獻探討( 2/11 ) Rootkit 的探討

Rootkit 出現二十世紀 90 年代初, rootkit 這個名詞,來自 root 與 kit 兩個字的結合。

Rootkit 是一套可以讓攻擊者取得受害電腦最高權限的工具,攻擊者利用 root 權限隱藏與電腦的溝通,不讓管理者發現。

Page 8: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 8

文獻探討( 3/11 ) Rootkit 類型 諸如 Windows 或 Linux 等作業系統都有「使用者模

式」 (user mode)和「核心模式」 (kernel mode) 等執行模式。

Page 9: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 9

文獻探討( 4/11 ) User Mode Rootkit 攻擊者以 Rootkit中的木馬程式來替換系統中正常

的應用程式與系統檔案。

Page 10: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 10

文獻探討( 5/11 ) Kernel Mode Rootkit 透過操作與利用 kernel ,已成為最難被發現的 Ro

otkit ,因為它能夠在應用層檢查中,建立一條繞過檢驗的通道。

系統核心

正常的l s

正常的ps

正常的netstat

更改的核心模組

Page 11: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 11

文獻探討( 6/11 )Kernel Mode Rootkit修改系統呼叫表

Page 12: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 12

文獻探討( 7/11 ) Rootkit 技術

隱藏檔案 正常系統呼叫函數替換成 Rootkit 的系統呼叫函數

隱藏程序 程序的記錄訊息會存放於檔案系統中的〝 /proc〞,改變 sys_get

dents() 系統呼叫函數 隱藏網路連接

網路連結會記錄在〝 /proc/net/tcp 〞與〝 /proc/net/udp〞這兩個檔案之中,改變 sys_read() 系統呼叫函數

重定向檔案設置 將正常 sys_execve 系統呼叫函數替換為 Rootkit 的系統呼叫函數

Inline Function Hooking Hoglund 、 Butler 兩學者提出,主要是利用繞道 (Runtime Pathin

g) 技術

Page 13: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 13

文獻探討( 8/11 )Inline Function Hooking 程序

Page 14: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 14

文獻探討( 9/11 ) 現有的 Kernel Mode Rootkit

Knark 安裝於系統核心模組時,將會隱藏監聽網路封包之檔案且改變八個系統呼叫: fork 、 write 、 close 、 clone 、 kill 、mkdir 、 clone 與 getdents 供攻擊者取得較多的系統控制權

特性 隱藏檔案或目錄、隱藏 TCP 或 UDP連接、程序執行重定向、非授權的用戶權限增加、隱藏正在執行的程序

Adore 具有 Kernel Mode Rootkit 的主要功能,如隱藏檔案、隱藏程序、隱藏網路連結與重定向檔案設置等

一個非常強大的功能: root 許可權後門程式

Page 15: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 15

文獻探討( 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)

Page 16: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 16

文獻探討( 11/11 ) -各偵測技術的比較

優點 缺點

特徵偵測 需不定期更新病毒碼至資料庫中,即可偵測新的惡意軟體

無法偵測未知型的惡意軟體

行為偵測 可辨識已知或未知的惡意軟體 無法辨識特定的惡意軟體

完整性偵測 不需更新病毒碼至資料庫中,可發現系統檔案是否被竄改

無法辨識惡意軟體行為

硬體式偵測 擁有自己的 CPU ,並透過 DMA 對電腦記憶體掃描

需花費大量成本建置與維護

交叉察看偵測 檢測系統檔案、程序與機碼 只應用於 Windows 作業系統

Page 17: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 17

新型的 Linux Kernel Mode Rootkit 研製( 1/2 )

Adore 更改系統呼叫之記憶體位址

KSTAT 偵測 Adore

Page 18: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 18

新型的核心模式 Linux Rootkit ( 2/2 )重定向系統呼叫方法架構

系統呼叫 函式位址

open 0x000A1F2

unlink 0x00003F16

rmdir 0x00009c57

變形的Rootki t載入

搜尋system. map

系統呼叫記憶體位址

系統呼叫函式

插入j mp指令

新的系統呼叫

逃避偵測軟體

Page 19: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 19

躲避現有偵測機制的測試方法

Page 20: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 20

變形的 Linux Kernel Mode Rootkit 之偵測機制 (1/2)

安裝變形的Linux Kernel Mode Rootki t

列示已安裝本系統之系統呼叫指令

偵測結果

列示核心映像檔之系統呼叫指令

完整性偵測

1

2 3

4

5

Page 21: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 21

變形的 Linux Kernel Mode Rootkit 之偵測機制 (2/2)

變形 Rootkit 系統呼叫指令

Linux 作業系統核心映像檔系統呼叫指令

Page 22: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 22

實驗設計與分析 編譯核心

編譯與安裝變形 Rootkit

Page 23: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 23

實驗測試 -功能可行性 (1/6) 隱藏程序

Page 24: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 24

實驗測試 -功能可行性 (2/6)

Page 25: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 25

實驗測試 -功能可行性 (3/6)隱藏檔案

Page 26: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 26

實驗測試 - 躲避現有偵測軟體 (4/6) KSTAT

Page 27: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 27

實驗測試 - 躲避現有偵測軟體 (5/6) Chkrootkit

Page 28: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 28

實驗測試 - 躲避現有偵測軟體 (6/6)

tripwire

Page 29: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 29

結論 本論文所提出重定向系統呼叫方法確實能夠成功迴避現有的偵測軟體,具有實務意義與相關研究價值

Page 30: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 30

未來發展方向 經由研究 Rootkit 的心得,研製比現有 Rootki

t Detectors 更強的偵測軟體 發展專於隱藏 Windows Driver 的 Rootkit ,並能躲過市面上知名的偵測軟體

針對所設計的 Windows Driver-hidden 技術,研發出對應的偵測方法

Page 31: Rootkit 惡意軟體之隱藏及偵測技術

大葉大學資訊管理系 31

謝謝聆聽敬請指教