预加密擦除,为什么?


25

我想知道为什么,将自身加密并安装到驱动器之前,Kali:

  1. 擦除了整个驱动器
  2. 用0填充驱动器
  3. 用1s填充驱动器
  4. 用随机数据填充驱动器
  5. 再次擦除驱动器

我知道并不是要安装Kali,但这不是重点。

那么,在全新的HDD上进行安装之前,这有什么用?我过去经常在移除HDD时看到它,而不是安装它。


步骤1-3听起来与badblocks检查坏扇区,写入并检查0、1、01、10的操作类似。对于全磁盘加密,它的通用于frostschultz的答案(+1)推荐的加密零填充(到处写加密的数据)的原因,但做这一切之前加密是不寻常的,加密然后运行后badblocks或mkfs的公司-cc将完成同样,再加上识别坏块。也许卡利(Kali)的某人对闪存(USB,SSD)并不总是在同一位置写入同一扇区,以及将扇区与备份进行交换感到有些偏执
Xen2050

Answers:


36

多遍没有意义。一次就够了。

用随机数据填充要加密的驱动器主要有两个用途:

  • 清除旧的未加密数据
  • 使可用空间与加密数据难以区分

通常,如果您进行加密,则您不希望任何人看到您的数据。因此,如果此驱动器上有旧的未加密数据,那么您也希望摆脱它。固态硬盘可以通过轻松,快速地处理它blkdiscard。实际上,Linux mkfsTRIM甚至不要求您确认即可所有数据,这使得任何类型的数据恢复都变得不可能。Linux中的TRIM过多。

自由空间有点灰色。如果您不预先填充随机数据,则在全新的HDD上,从未写入的扇区将为零。在SSD上,如果允许丢弃/ TRIM,则可用空间也将为零。

尽管这不会以任何方式影响您的数据(它仍然是加密的),但它可以显示您拥有多少可用空间/实际数据,以及该可用空间/数据的位置。例如hexdump -C,加密的,修剪过的SSD的a看起来像这样:

# hexdump -C /dev/ssd | grep -C 2 '^\*'
...
--
b3eabff0  dc c9 c7 89 16 ca d3 4f  a3 27 d6 df a0 10 c3 4f  |.......O.'.....O|
b3eac000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f70000  5a 99 44 b5 9c 6b 1e 9c  81 cf 9a 43 b6 23 e9 0f  |Z.D..k.....C.#..|
b3f70010  2c e6 9a 5d 59 9b 46 5f  21 3f 4d 5f 44 5b 0a 6b  |,..]Y.F_!?M_D[.k|
--
b3f70ff0  5f 63 8d e8 c4 10 fd b1  a6 17 b5 7d 4a 57 09 68  |_c.........}JW.h|
b3f71000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f72000  5d 1c 09 dd c9 6b 57 18  db 67 e1 35 81 57 45 8e  |]....kW..g.5.WE.|
b3f72010  0f a8 be 39 ae e5 5f cf  cf e3 8b a7 c1 25 1a a3  |...9.._......%..|
--
...

从这个你可以告诉我有自由空间段的地址0xb3eac000 .. 0xb3f70000b3f71000 .. b3f72000......和那逆就像是当然的数据段0xb3f70000 .. b3f71000

你能做什么呢?好吧,什么都没有(*)。

(*)是我想说的。但是人们很有创造力。可用空间模式可用于导出您使用的文件系统的类型(由于它们存储元数据的方式/位置-如果有可用空间ext4来存储其元数据备份之一,则很可能不会ext4,等等)。有时甚至会显示您使用的发行版(如果Linux安装程序确定性地填充了文件系统,则文件可能总是以相同的物理地址结尾)。在那时,某人可能知道特定系统文件的位置,并可能以某种方式对其进行修改/损坏。(安装程序应随机分配其填充文件系统的方式,以防止这种情况。)

但是,与大多数加密安装由于其他原因造成的脆弱性相比,这些考虑是非常理论性的,并且风险非常低。在大多数开箱即用的安装中,相比以某种方式获得原始访问和分析加密数据并希望以这种方式完成任何操作,更可能/更简单地是篡改initramfs,安装键盘记录程序或利用正在运行的系统。

在担心释放可用空间之前,您应该先担心这些。

使用SSD,启用TRIM是完全正常的,因此随时都有可用的可用空间。在文件层而不是块层上工作的加密解决方案也是如此。

使用HDD,您主要可以在新磁盘上进行随机擦除,因为您可以这样做,并且没有理由不这样做,因为它不涉及成本(除了首次安装),也没有缺点。


1
修整并不一定会擦除所有修整后的NAND闪存,因为其中某些可能与某些未修整的扇区位于同一擦除块中。(擦除块大于写块)。即使mkfs在写入新的元数据之前修剪了整个分区,来自其他分区(例如EFI系统分区)的数据仍然处于活动状态,并且SSD固件不了解分区。
彼得·科德斯

指向en.wikipedia.org/wiki/Trim_(计算)的链接可能对您的答案有用!
Gaurav
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.