Security

在分區上使用 rm 和 zerofree 刪除數據的安全性如何?

  • February 3, 2017

可以簡單地取消連結文件並在相關分區上執行,而不是使用srm,wipe或:shred``zerofree

mount /dev/sda1 /mnt
rm /mnt/confidential_file
umount /mnt
zerofree /dev/sda1

與 和相比srm,這種方法有多安全?wipe``shred

PS:我也在尋找取消文件連結並安排文件粉碎的方法。

shred只要您可以保證沒有製作過該文件的其他副本,那麼對單個文件的安全性就有任何希望。這可能適用於非常大的文件(電影)——假設您不重新編碼這些文件,而對於小文件、文件和您實際使用的所有內容則完全不適用。

每次點擊“保存”時,您都會得到另一個副本。因為保存會將文件截斷為 0 字節並寫入一個新文件——通常在物理上不同的位置。甚至文件系統也不再知道舊副本的位置,因此無法使用shred或任何其他實用程序刪除它。

因此,您最終會覆蓋所有可用空間。這比切碎單個文件要好得多,但也有其自身的缺陷……你需要成為 root 才能覆蓋 root 保留,而且文件系統根本不喜歡被填滿——任何其他寫入同時進行時間將失敗,因此您最終會在此過程中失去實際數據。

所以像這個方法:

truncate -s 1E sparsefile
shred -v -n 1 sparsefile
sync # other programs will lose data at this point
rm sparsefile

使用 SSD,您可以獲得 zerofree 作為內置功能,fstrim/discard 正是這樣做的,快速輕鬆地擺脫可用空間。基本上使用 SSD,您將無法在修剪髮生後恢復任何已刪除的文件。

安全嗎?這取決於文件​​系統以及您想要刪除的文件的大小。一些文件系統有角落和縫隙,例如多個小文件共享一個塊,當創建一個充滿隨機數據的大文件時,該空間不會被覆蓋。也可能還有其他痕跡,例如目錄條目中的剩余文件名……

您無法擊敗一次覆蓋整個設備。

# backup everything
blkdiscard /dev/sda    # SSD
shred -v -n 1 /dev/sda # HDD
# create partitions, filesystems, restore backup

引用自:https://unix.stackexchange.com/questions/342339