1 / 36

作業系統鑑識

作業系統鑑識. Unix-Like/Linux. 蔡一郎. 2010/12/29. 大綱. 何謂 Linux 鑑識 OpenSource 工具說明 Linux 系統的鑑識重點說明 Linux 鑑識待解決的問題. 何謂 Linux 鑑識. 使用 Linux 的工具去做數位證據的搜尋及鑑識 目前的現狀 有多少好用的工具 ? (Open Source) 跟商用 Forensics 工具的比較 Linux 系統本身的鑑識重點 繼 ePC 銷售大賣後 ( 目前已有 Acer/ 廣達 /HP/Mac 等大廠陸續跟進 …)

orly
Download Presentation

作業系統鑑識

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 作業系統鑑識 Unix-Like/Linux 蔡一郎 2010/12/29

  2. 大綱 • 何謂Linux鑑識 • OpenSource 工具說明 • Linux 系統的鑑識重點說明 • Linux鑑識待解決的問題

  3. 何謂 Linux鑑識 • 使用Linux的工具去做數位證據的搜尋及鑑識 • 目前的現狀 • 有多少好用的工具 ? (Open Source) • 跟商用Forensics工具的比較 • Linux 系統本身的鑑識重點 • 繼 ePC 銷售大賣後 • (目前已有Acer/廣達/HP/Mac等大廠陸續跟進…) • ePC/Mac等作業系統為何 ? • 要面臨的鑑識重點 Windows  Linux ?

  4. Linux 鑑識工具 – 案例 • 台灣一家美國上市公司真實案例 • 星期六利用電子郵件將重要資訊外洩 • 電子郵件 = 偽造否 ? • E-mail log • 是否為本人所犯 ? • Physical ? • 從網路 ? • 證物範圍 • VPN/FireWall log ? • 嫌犯家裏的電腦 ? • ISP 業者的通聯紀錄 ? • Mail Server

  5. Linux 鑑識工具現狀 • Linux 鑑識工具可以做什麼 ? • 製作映像檔(Imaging) • 資料復原 (刪除檔復原/分割區/毀損檔案) • 證據搜尋 (Data Analysis & Search) • 密碼破解 (Password Crack) • 檔案檢視 (FileViewer) • More as you think …

  6. Linux 鑑識工具現狀 • 目前世界上有名的Linux 鑑識工具有哪些 ? • Helix • Smart Linux • FCCU Forensic(比利時) • MI-4n6(德國) • F.I.R.E • Deft • Knoppix-Std(德國) • 哪些單位在用? • 美國法務部/FBI/白領犯罪中心(NW3c)/ 比利時聯邦犯罪中心/澳洲警方…

  7. Linux 鑑識工具 現狀 • 目前世界上有名的Linux 鑑識工具要錢嗎 ? • Helix • Smart Linux • FCCU Forensic(比利時) • MI-4n6(德國) • F.I.R.E • Deft • Knoppix-std(德國) • Free 代表可以任意使用嗎 ? • GPL license的定義 • 這些工具靠何收入維持競爭性 ?

  8. Linux 鑑識工具 – 製作映像檔 • 如何確認使用的鑑識工具在分析目標證物時不會破壞證據貯存資料 ? • 如何驗證 • 大部份使用Live CD Boot 後將檔案系統放在 Ramdisk • Boot後不會touch 證據碟(直到mount readonly) • 公認被接受的製作映像檔及Digest演算法? • dd like(ddfldd,dd_rescue,dccidd) • Md5/sha1 • Md5sum • Shasum • 是否每個Case均可製作Image ?

  9. Linux 鑑識工具 – DataRecovery • 資料貯存的基本方式說明 • C:\temp\readme.txt FAT/FDT/MFT/InodeTable MBR Data Content • 當把檔案readme.txt刪除時,檔案系統作何處理? • 僅在FAT/FDT/MFT/Inode 等相關區域作標示處理,主要告訴檔案系統目前資料實體貯存位置己空出來可供使用,但真正裏面的資料內容並未刪除 C: \temp\readme.txt 阿Sir, 你好! 我是yilang

  10. Linux 鑑識工具 – DataRecovery • 若資料內容超過一個Cluster的大小則必需存到另一個Cluster但若貯存不連續 (如下例:readme.txt) FAT/FDT/MFT/InodeTable MBR Data Content Fragment C: \temp\readme.txt 老大,請今天把貨送到老地方 阿郎留 • 如何找到兩段資料為具有關聯性?而回愎為原來的檔案 • (Unallocated 區Recover)

  11. Linux 鑑識工具 – DataRecovery • Data Revovery 案例說明:Unallocate 區的資料回復 • 多困難 ? • 拼圖 • 手工藝 • 損毀檔案的搶救…

  12. Linux 鑑識工具 – DataRecovery • 資料貯存的基本方式說明 • C:\temp\readme.txt • 什麼狀況下資料無法救回? • 當實體貯存Data的資料磁區被覆寫 • FBI標準, 需要覆寫7次 ?

  13. Linux 鑑識工具 – DataRecovery • 資料有可能在瞬間刪除嗎 ? • Partition table (1秒) • FAT/MFT/Inode table (1分鐘) • 所有的Data(1小時 or more…) HardDisk

  14. 如何救回已刪除的檔案 • 目前救回已刪除檔案的方式主要有兩種: • 修改檔案系統的索引區(FAT/FDT/MFT/InodeTable),將標示已刪除的Tag及相關資料回復為未刪除的型態 • 在Unallocate資料區搜尋符合的資料取出另存在新的檔案系統中

  15. Linux 資料救援回復的主要工具 (Open Source) • Linux資料救援回復的主要工具 (Open source) • Partition table recovery - testdisk • NTFS files recovery – Sleuth Kit • FAT files Recovery – Fatback / Sleuth Kit • Linux ext2 – E2undel • Linux ext3 (僅能從Unallocate區找File Pattern嘗試把資料救回) • 檢視Windows 資源回收筒的檔案 – Rifruti • 從Unallocate區救回資料– revit(ReviveIt)/foremost

  16. Linux 鑑識工具 – 證據搜尋 • 數位證據資料搜尋的方式主要有兩種: • Linear search(字串比對方式) ,例如:encase string search • 優點: 可以搜尋磁碟的 file slack及 unallocate 區 • 缺點: 每次搜尋均要花相同的時間 • String Token Indexing Search, 例如:全文檢索 • 優點:可以在做完一次Indexing後,每次搜尋均可以在數秒內完成 • 缺點:只適用於File System中存在的檔案,delete 檔案必先Recover回來 • 無法搜尋File slack 及 unallocate 區

  17. 何謂 Linear Search (字串比對方式) • 以下列檔案內容舉例說明: Hi Bob, I am ready to ship the drug pills. The drug-dealer 李 大牛 will contact with you ; Pls give me a call, My phone number is 02-1234-5678. • 輸入以下字串,搜尋結果為何 ? • drug = ? • 12345678  ? • 李大牛  ? • one  ?

  18. 何謂 String Token indexing Search (全文檢索) • 以下列檔案為例,只要遇到空白則視為一個String Token: Hi Bob, I am ready to ship the drug pills. The drug-dealer 李 大牛 will contact with you ; Pls give me a call, My phone number is 02-1234-5678. • 輸入以下字串,搜尋結果為何 ? • drug = ? • 12345678  ? • 李大牛  ? • one  ?

  19. Linux Linear Search 的解決方式 • Step 1:把輸入字串 轉成必要的各語系字串 • Step 2:把每個目標檔案先用file命令得知檔案格式 • Step 3:遇到壓縮檔格式則先使用解壓縮的工具解開 • Step 4:遇到各種AP檔案則使用對應的extracter 將檔案內容轉為txt • 例如:Antiword/pdftotext/regp.pl/ripmime/ • Step 5:遇到binary的格式檔案則使用string指令將binary內容中有text的內容取出 • Step 6:使用grep的方式來搜尋內容

  20. 證據搜尋-檔案格式問題 • 同樣的內容在不同應用軟體所貯存的格式即不同 Text formate HexCode Office 97 Doc formate HexCode Office 2007 Doc formate HexCode

  21. 證據搜尋-其它問題 • 語系問題 • 一個搜尋字串,在作Linear Search 時必需要同時轉成各種不同的語系 • 中文字至少的表示有: Big5,UniCode (UTF-8 Linux,UTF-16Windows),UniCode Big-Endian • 字母大小寫問題 • 壓縮檔問題 • zip/rar/gz/tar.gz/bzip/Z...等 • 資料結構問題 • Registry/Database • Binary執行檔搜尋問題 • Exe/dll… • 加密檔案搜尋問題

  22. Linux String Token Indexing Search 的解決方式 • Step 1:把每個目標檔案先用file命令得知檔案格式 • Step 2:遇到壓縮檔格式則先使用解壓縮的工具解開 • Step 3:使用各種檔案的extracter 將檔案內容轉為txt • Step 4:遇到binary的格式檔案則使用string指令將binary內容中有string的內容取出 • Step 5:使用全文檢索引擎 (Lucene -Free)或(Google-indexing engine non-open)來將每個字串當成Token取出作為indexing檔案 • Step 6:把輸入字串轉成必要的各語系字串送到檢索引擎做搜尋

  23. Linux Unallocated區搜尋的解決方式 • Step 1:先將磁碟以bit-stream的方式轉為Image檔 • Step 2:將Image檔案使用string的指令找出各種語系編碼的純字串轉出 • Step 3:使用grep方式進行搜尋及定位 • 案例一:如何證明此顆硬碟為某人遺失的硬碟? • 案例二:在智財權的侵權訴訟中如何證明某個軟體並非原創有抄襲的情形?

  24. Linux 鑑識工具 – 密碼破解 • 先瞭解你的目標對象 • PGP/SSL/AES/WEP/3DES… • 柿子挑軟的吃 – 先從簡單著手 ? • Social Engineering • 使用習慣 • 先破 MSN/DOC/RAR 密碼 • 非不得已,不用暴力破解 • Linux 知名破解工具 • John the Ripper (破解windows/linux密碼檔)

  25. Linux 或 Window 密碼遺忘 • 使用更改而非破解,此為 Non-forensics 作法 • Windows Administrator密碼忘了如何? • Linux root密碼忘了如何? • VMWare 內的作業系統該如何? • 使用chntpw 製作開機光碟後可更改windows的密碼,linux 只要mount檔案系統後更改/etc/shadow即可

  26. Linux 檔案檢視 • 應用檔檢視 • pdf/office(2007/2003…)/xml/mp3/avi/mpeg/… • 電子郵件檢視 • Outlook/outlook express/Notes/Exchange • Browser 瀏覽行為檢視 • History/Cache/Cookie/Typed URL address • Windows Registry 檢視 • Windows Event/Security log檢視 • 檔案Hexcode檢視

  27. Linux系統本身的鑑識重點 • 瞭解Linux的重要性及淵源 • 商業版的Unix跟Linux的關係 • HP Unix/AIX/Solaris • Mac跟Linux的關係 • 繼ePC銷售大賣後,未來的趨勢 ? • 現行Linux 版本的差異性 • RedHat/Suse/Slackware/Debian(Ubuntu/Knoppix…) • Kernel 版本編號關係 (http://www.kernel.org/) • 2.6.13-1.1532_FC • 作Live Forensics 時會有影響

  28. Linux系統本身的鑑識重點 • Linux 系統應用的現狀 • 超過90% Linux 系統,大多使用於網路伺服器應用 • Web/Database/Mail/DNS/Ftp/Firewall/Proxy/… • 作鑑識前先瞭解目標證物的應用為何? • 要找的證據方向為何? • 找應用系統曾經被使用的紀錄 ? • Log & AP files location • 還是系統本身被駭客入侵 ? • All systems & Locate Unknown files first • 還是系統軟體的侵權問題 ? • Object code comparing

  29. 目標證物Linux系統的Live重現 • 目標Linux 系統的Live重現 • 目的 ? • 方便觀察 • 較快速找出應用系統程式中相關聯的開啟檔案 • 較快速瞭解網路行為(開啟的Port及傳送的封包) • 作法: • 製作多一份的映像檔並倒入某顆備用硬碟 • 選擇一個通用性的硬體 (注意CPU規格) 網路卡(Intel/Realtek) • 將映像檔的硬碟設為boot的開機碟 • 在Live重現系統中所採集證物具法律效力嗎 ?

  30. Linux Live 系統中的證物採集/觀察 • Live 採集適用於何時 ? 重現的狀態只適用於觀察 • Network Connection & Open Port • netstat -an • 是哪些程式開啟這些 Port ? • lsof • 系統中有哪些程式正在執行 ? • pstree • ps -e --forest --format=pid,ppid,args • 封包搜集 ? • tcpdump • Memory Dump • dd if=/proc/memxx of=/mnt/usbdisk/memdump

  31. Linux 系統中的資料搜尋 • 當系統映像檔製作完成後,如何作資料搜尋? • 方法一: 將bitstream的映像檔複製到其它硬碟,將被複製的硬碟以唯讀方式mount來分析 • 方法二: 以loopback的方式將映像檔直接mount來進行分析 • 資料搜尋及刪除檔救回的方法如先前章節所述 • 但linux filesystem的搜尋會比windows filesystem的搜尋更容易 • 主要由於 linux 大部份的系統檔均為text base 格式,且應用程式大多為open source 可找到原始程式來拆解分析

  32. Linux系統本身的鑑識重點 - Log • Linux 應用系統的log: /var/log 下的所有紀錄均採集 • /var/log/secure:記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中; • /var/log/wtmp:記錄登入者的訊息資料,由於本檔案已經被編碼過,所以必須使用 last 這個指令來取出檔案的內容; • /var/log/messages:這個檔案相當的重要,幾乎系統發生的錯誤訊息(或者是重要的資訊)都會記錄在這個檔案中; • /var/log/boot.log:記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息; • /var/log/maillog 或 /var/log/mail/*:紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄; • /var/log/cron:這個是用來記錄 crontab 這個例行性服務的內容的! • /var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:分別是幾個不同的網路服務的記錄(可能分佈在不同地方)

  33. Linux 系統中的證物採集 – 駭客入侵 • 重現Live的作業環境 ,主要用來確認搜證的重點 • 使用Sniffer側錄所有的封包 • 作live程式的觀察 • Check rookit (rkhunter/chkrootkit) • 可做初步的確認是否已被駭客入侵及相關程式 • 從history 及 系統log中觀察可能被植入的程式 • 移除所有的Known files • 確認系統的kernel及patch level • 重建相同的系統,比對所有系統binary 程式的md5把可疑的檔找出

  34. Linux 鑑識工具– 軟體侵權案例 • 如何比較兩個程式執行檔的相似度: • 很多抄襲會把程式一模一樣作複製,包含程式輸出的錯誤訊息/程式執行某個參數的版權宣告/及程式執行會輸出的提示訊息 均可比對. • strings -a program1 > result1.txt • #strings -a program2 > result2.txt • 將result1.txt的每個字串來對result2.txt作比對 • 對於#加殼的程式,則必需比對執行中的Memory Dump資訊 • 抄襲時連function() name 均一樣 • # nm program1 > func_name1.txt • # nm program2 > func_name2.txt • 將兩個output 作比較看是否有自已命名非系統命名的function name一樣.

  35. Linux 系統鑑識待解決問題 • Linux 介面不Friendly • 很多工具均是command line的執行方式,必需有一個親和的操作介面可以讓使用人員輕易上手 • 中文語系的問題 • 很多forensics好用的工具均預設只考慮single bytes 或 unicode的搜尋,並不會有big5編碼support,必需自已 Hacking程式作修改(簡體中文亦類似) • Windows檔案格式支援的問題 • 由於AP的廠商很多僅支援windows platform或不公開檔案實作格式文件,因此必需有人去hacking 檔案拆解內容(office document/registry/notes mail/…)

  36. Q & A

More Related