iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
Security

資安這條路:系統化學習藍隊技術系列 第 20

Day20:藍隊提升技術力:數位鑑識 (2)─認識檔案系統映像檔與實作

  • 分享至 

  • xImage
  •  

基本概念介紹

在開始實際操作之前,讓我們先深入了解一些基本概念。為我們提供了理解和分析數位證據的基礎知識。

儲存裝置的基本結構

為什麼重要:了解儲存裝置的基本結構有助於鑑識人員理解資料在物理層面的組織方式,這對於資料恢復和隱藏資料的檢測非常重要。

  • 磁區(Sector):儲存裝置的基本單位,通常大小為 512 字節或 4096 字節。
  • 叢集(Cluster):檔案系統分配空間的最小單位,由多個連續的磁區組成。
  • 磁軌(Track):硬碟盤面上的同心圓,包含多個磁區。
  • 磁頭(Head):用於讀寫磁碟上資料的裝置。

開機過程

為什麼重要:了解開機過程可以幫助鑑識人員識別系統啟動時可能留下的重要證據,以及潛在的惡意軟體感染點。

  • MBR(Master Boot Record):位於硬碟第一個磁區,包含分區表和啟動載入程序。
  • 開機扇區(Boot Sector):包含啟動作業系統所需的基本資訊和程式碼。

檔案系統

為什麼重要:不同的檔案系統有不同的特性和結構,了解這些可以幫助鑑識人員更有效地搜尋和恢復資料,以及理解資料如何被組織和儲存。

檔案系統的主要功能包括:

  • 資料組織:將檔案和目錄按階層結構排列
  • 資料存取:控制如何讀取和寫入資料
  • 空間管理:有效利用儲存空間,處理檔案碎片
  • 中繼資料管理:儲存檔案的屬性,如創建日期、大小等
  • 安全性:實現存取控制和權限管理

檔案系統結構

為什麼重要:了解檔案系統的結構可以幫助鑑識人員定位重要的系統文件和用戶資料,以及理解文件刪除和恢復的機制。

  • 根目錄(Root Directory):檔案系統的頂層目錄,所有其他目錄和檔案都從這裡開始。
  • FAT(File Allocation Table):在 FAT 檔案系統中用於追踪檔案儲存位置的表格。
  • MFT(Master File Table):在 NTFS 中用於儲存檔案和目錄資訊的中央資料庫。

檔案系統中繼資料

為什麼重要:中繼資料包含了大量關於文件和系統的重要資訊,對於建立事件時間線和了解系統活動非常有價值。

  • OEM-ID:標識創建檔案系統的軟體。
  • 媒體描述符(Media Descriptor):指示儲存媒體的類型。
  • 序列號(Serial Number):唯一識別檔案系統的號碼。
  • UUID(Universally Unique Identifier):在 ext4 中用於唯一標識檔案系統。

常見檔案系統類型

為什麼重要:不同的操作系統使用不同的檔案系統,了解這些可以幫助鑑識人員選擇正確的工具和技術來分析特定的系統。

FAT16/FAT32

  • 特點:結構簡單,兼容性好
  • FAT16 限制:
    • 最大分區大小:2GB
    • 最大檔案大小:2GB
  • FAT32 改進:
    • 最大分區大小:2TB
    • 最大檔案大小:4GB
  • 應用:常見於較舊的 Windows 系統、小容量 USB 隨身碟、數位相機等

NTFS (New Technology File System)

  • 特點:
    • 支持大容量硬碟和大檔案
    • 提供檔案級別的加密和壓縮
    • 支持存取控制列表(ACL)
    • 具有日誌功能,提高系統崩潰後的恢復能力
  • 最大檔案大小:理論上可達 16EB(1EB = 1,000,000TB)
  • 應用:現代 Windows 系統的預設檔案系統

ext4 (Fourth Extended Filesystem)

  • 特點:
    • 高性能和可靠性
    • 支持大容量儲存(最大 1EB)
    • 減少檔案碎片
    • 支持日誌功能
  • 應用:許多 Linux 發行版的預設檔案系統

其他重要檔案系統

  • HFS+/APFS:用於 macOS 系統
  • ZFS:用於某些高級存儲系統,提供資料完整性檢查和自動修復功能
  • Btrfs:新一代 Linux 檔案系統,提供快照和 RAID 功能

檔案系統特性

為什麼重要:了解檔案系統的特殊特性可以幫助鑑識人員更好地理解資料的儲存方式,以及可能隱藏資訊的位置。

  • 大檔案支援:允許儲存超過傳統 4GB 限制的檔案。
  • 擴展(Extents):提高大檔案儲存效率的方法,將連續的磁區組合在一起。
  • 日誌(Journaling):提高檔案系統可靠性的機制,通過記錄更改來加速系統崩潰後的恢復。

檔案大小和儲存容量的單位

為什麼重要:準確理解儲存單位可以幫助鑑識人員正確估計資料量,選擇合適的儲存媒體,並有效管理證據。

  • 1 Byte (B) = 8 bits
  • 1 Kilobyte (KB) = 1,024 Bytes
  • 1 Megabyte (MB) = 1,024 KB
  • 1 Gigabyte (GB) = 1,024 MB
  • 1 Terabyte (TB) = 1,024 GB

映像檔(Image)

為什麼重要:使用映像檔是保護原始證據完整性的關鍵方法,同時也允許在不影響原始資料的情況下進行深入分析。

映像檔是一個檔案,它包含了整個儲存裝置或分割區的完整複製品。在數位鑑識中,調查人員常常使用映像檔來分析電腦系統,而不直接操作原始裝置,以避免破壞證據。

常見的映像檔格式包括:

  • DD:原始位元對位元複製
  • E01:EnCase 證據檔案格式
  • AFF:進階取證格式

為什麼使用映像檔

為什麼重要:了解使用映像檔的優點可以幫助鑑識人員在調查過程中做出正確的決策,確保證據的完整性和可接受性。

使用映像檔有以下優點:

  • 保護原始資料:避免直接操作可能導致的意外修改
  • 方便分析:可以在不同的電腦上進行分析,不需要原始硬體
  • 保存時間點:映像檔代表了儲存裝置在特定時間點的狀態
  • 法律效力:適當創建和保存的映像檔在法庭上具有證據效力
  • 多重分析:可以同時由多個調查員在不同位置分析同一份資料

數位鑑識工具

為什麼重要:熟悉各種數位鑑識工具及其功能可以幫助鑑識人員選擇最合適的工具來完成特定的分析任務,提高工作效率。

  • file 指令:用於確定檔案類型的工具。
  • dd:用於創建磁碟或分區的位元對位元複製。
  • fdisk:用於查看和修改磁碟分區表的工具。

實作

你有沒有想過,當你儲存檔案到電腦或手機時,資料是如何被組織的?在這個實作教學中,我們將一起探索不同的檔案系統,這是數位鑑識的重要基礎知識。

準備工作

  1. 確保你使用的是 Linux 系統或有 Linux 終端機的環境(如 macOS 的終端機或 Windows 的 WSL)。
  2. 下載以下五個檔案到同一個資料夾中,檔案下載
    • fat16_sample.img
    • fat32_sample.img
    • ntfs_sample.img
    • ext4_sample.img

開始動手做

首先,打開終端機,切換到你存放這些檔案的資料夾。假設資料夾名稱為 filesystem_images

cd ~/filesystem_images
  • 熟悉指令列操作是數位鑑識的基本技能,可以提高工作效率並允許更靈活的檔案操作。

現在,讓我們逐一分析這些檔案:

1. 分析 FAT16 檔案系統

輸入以下指令:

file fat16_sample.img

image

你會看到類似這樣的輸出:

fat16_sample.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, reserved sectors 4, root entries 512, Media descriptor 0xf8, sectors/FAT 200, sectors/track 32, heads 8, sectors 204800 (volumes > 32 MB), serial number 0x7136f4f8, unlabeled, FAT (16 bit)

這告訴我們:

  • 這是一個 FAT16 檔案系統
  • 它有 512 個根目錄項目
  • 總共有 204,800 個磁區

FAT16 是較舊的檔案系統,常見於較小的儲存裝置,如早期的 USB 隨身碟。

了解 FAT16 的結構可以幫助鑑識人員在分析較舊的設備或小容量儲存設備時,更準確地定位和恢復資料。

2. 分析 FAT32 檔案系統

輸入:

file fat32_sample.img

image

輸出可能如下:

fat32_sample.img: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "mkfs.fat", Media descriptor 0xf8, sectors/track 32, heads 16, sectors 409600 (volumes > 32 MB), FAT (32 bit), sectors/FAT 3151, serial number 0x7285e8a7, unlabeled

這表示:

  • 這是一個 FAT32 檔案系統
  • 它有 409,600 個磁區
  • 每個 FAT 表佔用 3,151 個磁區

FAT32 是 FAT16 的改進版本,可以支援更大的儲存容量。

FAT32 常見於許多攜帶性設備,了解其結構可以幫助鑑識人員更有效地分析這些設備,尤其是在恢復刪除文件時。

3. 分析 NTFS 檔案系統

輸入:

file ntfs_sample.img

image

你會看到:

ntfs_sample.img: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS    ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 0, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors 409599, $MFT start cluster 4, $MFTMirror start cluster 25599, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 02165147609c67dd2

這告訴我們:

  • 這是一個 NTFS 檔案系統
  • 每個叢集(cluster)包含 8 個磁區
  • 主文件表(MFT)從第 4 個叢集開始

NTFS 是 Windows 作業系統常用的現代檔案系統,它提供了更好的安全性和更多功能。了解其結構對於分析大多數 Windows 設備重要,尤其是在處理加密檔案和權限問題時。

4. 分析 ext4 檔案系統

輸入:

file ext4_sample.img

image

輸出會像這樣:

ext4_sample.img: Linux rev 1.0 ext4 filesystem data, UUID=5f2919fd-5a1c-4b61-893f-b27b4b5e585e (extents) (64bit) (large files) (huge files)

這表示:

  • 這是一個 ext4 檔案系統
  • 它支援大檔案和巨大檔案
  • 有一個唯一的識別碼(UUID)

ext4 是 Linux 作業系統常用的檔案系統,提供了良好的性能和可靠性。了解其特性可以幫助鑑識人員更有效地分析 Linux 設備,特別是在處理大文件和恢復刪除資料時。

5. 分析未知檔案系統

最後,讓我們看看 IoTGoat-x86.img:

file IoTGoat-x86.img

image

輸出很簡單:

IoTGoat-x86.img: DOS/MBR boot sector

這告訴我們這個檔案只包含一個 DOS/MBR 開機磁區,但沒有提供更多資訊。這可能是一個特殊用途的映像檔,需要進一步分析。

遇到未知或不完整的檔案系統時,鑑識人員需要更深入的分析技術。這種情況可能出現在損壞的設備或特殊的嵌入式系統中。

為什麼這些資訊很重要?

這些基本資訊為進一步的深入分析奠定了基礎,可以幫助鑑識人員選擇適當的工具和技術來提取和分析資料。

在數位鑑識中,了解檔案系統的類型和結構可以幫助調查人員:

  1. 確定儲存裝置的類型和容量
  2. 了解資料如何被組織和儲存
  3. 找出可能隱藏的資料或被刪除的檔案

下一步

現在你已經了解了如何使用 file 指令來初步分析檔案系統映像檔,你可以:

  1. 嘗試創建自己的映像檔,並使用 file 指令分析
  2. 學習使用更進階的工具,如 fdiskmount,來深入探索這些映像檔
  3. 研究每種檔案系統的詳細結構和特點
  4. 下載 ftk-imager 分析

小試身手

  1. 在數位鑑識中,為什麼使用映像檔(Image)而不是直接分析原始裝置?
    A) 映像檔可以更快速地分析
    B) 映像檔可以保護原始資料不被修改
    C) 映像檔可以壓縮資料,節省儲存空間
    D) 映像檔可以自動修復損壞的檔案

    答案:B

    解析:使用映像檔是為了保護原始資料的完整性。直接操作原始裝置可能會意外修改資料,影響證據的可靠性。映像檔允許鑑識人員在不影響原始資料的情況下進行分析,這對於維護證據的法律效力非常重要。

  2. 以下哪種檔案系統支援最大的單一檔案大小?
    A) FAT16
    B) FAT32
    C) NTFS
    D) ext4

    答案:C

    解析:NTFS 支援的最大單一檔案大小遠超過其他選項。FAT16 的最大檔案大小為 2GB,FAT32 為 4GB,而 NTFS 理論上可以支援高達 16EB(1EB = 1,000,000TB)的檔案大小。雖然 ext4 也支援非常大的檔案,但 NTFS 在這方面的理論上限更高。

  3. 在使用 file 指令分析檔案系統映像檔時,哪項資訊最能直接指示這是一個 FAT32 檔案系統?
    A) DOS/MBR boot sector
    B) OEM-ID "mkfs.fat"
    C) FAT (32 bit)
    D) sectors/track 32

    答案:C

    解析:雖然其他選項也可能出現在 FAT32 檔案系統的描述中,但 "FAT (32 bit)" 是最直接和明確地指示這是一個 FAT32 檔案系統的資訊。其他選項可能在不同類型的檔案系統中都會出現。

  4. 在數位鑑識中,了解檔案系統結構的重要性主要體現在哪方面?
    A) 加快檔案複製速度
    B) 提高系統執行效率
    C) 幫助定位和恢復已刪除的檔案
    D) 加強檔案加密能力

    答案:C

    解析:了解檔案系統結構對於數位鑑識很重要,特別是在定位和恢復已刪除檔案方面。不同的檔案系統有不同的刪除和空間重分配機制,了解這些可以幫助鑑識人員更有效地恢復被刪除的資料,這通常是調查中的關鍵任務。

  5. 以下哪項不是使用映像檔進行數位鑑識的優點?
    A) 可以在不同的電腦上進行分析
    B) 代表了儲存裝置在特定時間點的狀態
    C) 可以自動修復損壞的檔案
    D) 允許多個調查員同時分析同一份資料

    答案:C

    解析:使用映像檔進行數位鑑識有很多優點,包括方便在不同電腦上分析、保存特定時間點的狀態、允許多人同時分析等。然而,映像檔本身不能自動修復損壞的檔案。事實上,保持原始資料的完整性,包括任何可能存在的損壞,對於鑑識調查的可靠性和證據的可接受性很重要。


上一篇
Day19:藍隊提升技術力:數位鑑識 (1)─基礎概念理解
下一篇
Day21:藍隊提升技術力:數位鑑識 (3)─深入分析檔案系統映像檔:使用 FTK Imager
系列文
資安這條路:系統化學習藍隊技術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言