美國國防部 DOD 5220.22-M 標準 銷毀儲存媒體資料
依據美國國防部 DOD 5220.22-M 標準 銷毀儲存媒體資料
Table of Contents
[TOC]
利用 SystemRescue 製作 USB 開機碟進行抹除
Official Doucument:
https://www.system-rescue.org/
1. 製作 wipe 開機碟
- 查看需要製作的 USB 硬碟編號:
diskutil list
- 卸載 USB
diskutil unmountDisk /dev/<disk name>
- 格式化 USB
diskutil eraseDisk FAT32 MYDISK MBRFormat /dev/<disk name>
- 下載 SystemRescue Image
Image: https://www.system-rescue.org/Download/

2. 將 image 燒錄至 USB
將 SystemRescue Image 寫入 USB
各系統燒錄 image 工具:
2.1 Linux
linux 可透過 dd 寫入
sudo dd if="<systemrescue.iso PATH>" of=/dev/<disk name> bs=4m conv=sync,noerror status=progress
status=progress 顯示寫入進度
sync
diskutil eject /dev/<disk name>
確保資料完全寫入後,再拔除 USB
2.2 MacOS
MacOS 可透過 balenaEtcher 燒錄

2.3 Windows
Windows 可利用 Rufus 燒錄

- Partition scheme 選擇
MBR同時相容 BIOS 和 UEFI- Target:
BIOS or UEFI- Filesystem 選擇
FAT32(UEFI 啟動過程僅適用於 FAT 檔案系統)
3. 啟用 SystemRescue
開機進入 BIOS 選擇使用 HardDisk (USB) 開機,進入 SystemRescue 開機選單
3.1 選擇 Boot SystemRescue using default options
選擇 Boot SystemRescue using default options 進入預設開機模式:

- Boot SystemRescue using default options
正常開機進 SystemRescue(預設參數)- Boot SystemRescue and copy system to RAM (copytoram)
整個 live 系統載入到記憶體再啟動 (開機後可以拔掉 USB)- Boot SystemRescue and verify integrity of the medium (checksum)
開機前/開機時做 media 驗證(校驗 ISO/檔案)- Boot SystemRescue using basic display drivers (nomodeset)
用基本顯示模式(禁用顯示卡 modesetting)- Boot a Linux operating system installed on the disk (findroot)
不進 SystemRescue,而是找硬碟上已安裝的 Linux 並嘗試開機- Stop during the boot process before mounting the root filesystem
除錯用(開機掛載 root 失敗、手動查 initramfs)- Boot existing OS
直接跳過開啟原本硬碟上的作業系統- Run Memtest86+ (RAM test)
跑記憶體測試- Reboot
- Power Off
3.2 SystemRescue CLI
進入到 SystemRescue CLI
透過 lsblk 查詢要清除的內建 SSD/NVMe
lsblk -o NAME,SIZE,MODEL,TYPE
(範例)
或 nvme list 查看
nvme list
(範例)
符合 DoD 5220.22-M 或 NIST SP 800-88,兩條 Wipe SSD 路徑:
- NIST 800-88:使用 Purge(Sanitize/Crypto-Erase/Block-Erase),或 Clear(覆寫)
- DoD 5220.22-M:用 nwipe 的 DoD 3-pass / 7-pass 選項多次複寫
3.3 (Option 1) DoD 5220.22-M
以 DoD 5220.22-M 為例,在 Terminal 使用 nwipe
sudo nwipe
進入 nwipe 介面,可選擇要清除的硬碟

Print
m: method
可選擇 Wipe Method (抹除方法/演算法)
Print
p: PRNG / Pattern
設定隨機資料的產生器(PRNG)或寫入 pattern的細節
顯示 Pseudo Random Number Generator
🥚 因為 DoD method 每一輪都是固定 pattern(0x00/0xFF/隨機),若包含 random pass,才會用到設定的 PRNG
Print
v: Verify
設定驗證策略,常見:No Pass / Last Pass / All PassesPrint
c: Config / Options
全域選項包含 System Date & Time 設定、可以將 Wipe 過程匯出成 PDF Report
上述內容設定完後點擊 SHIFT + S 開始抹除 (如圖)
3.4 (Option 2) NIST SP 800-88
若要符合 NIST SP 800-88 可利用 NVMe Sanitize 執行 Purge
NVMe management:
https://github.com/linux-nvme/nvme-cli
sudo nvme sanitize /dev/<disk name> -a 4
sudo nvme sanitize /dev/<disk name> -a 2
-a 4: Crypto Erase(加密抹除)-a 2: Block Erase (若 SSD 不支援 crypto erase)
查看抹除進度:
sudo nvme sanitize-log /dev/nvme0
讀取 NVMe 的 Sanitize Log Page,查看執行進度
詳細 nvme 操作可參考:manpages
