问题描述
我打算出售我的笔记本电脑。因此,我使用“磁盘工具”对磁盘进行了格式化,然后选择用零覆盖磁盘。
两个问题:
这与使用dd
覆盖磁盘相同吗?
sudo dd if=/dev/zero of=/dev/sda
而且此方法是否足够安全,以使买家无法轻松恢复以前的数据?还是我应该采取其他措施(例如加密磁盘,销毁标题等)?
最佳办法
是的,磁盘实用程序使用的方法类似于您描述的使用dd
的方法,或者使用一种更快,更安全的方法,例如:
dd if=/dev/urandom of=/dev/sda bs=1M
这给覆盖模式带来的模糊不只是零,这将使恢复更加困难,但执行起来不会明显慢。
有人声称,这还不够,应该多次重写硬盘并使用更复杂的模式(scrub(1)
可以按照the other answer做到这两种方式),但是大多数人会说一次就足够了,如果攻击者想要恢复多个磁盘。几位机会很大。
编辑:显然,/dev/urandom
在包括我的至少两个系统上的峰值为〜13 MiB /s。因此,使用openssl(1)
的simonp suggested a different approach:
head -c 32 /dev/urandom | sudo openssl enc -rc4 -nosalt -pass stdin -in /dev/zero -out /dev/sda
次佳办法
可供参考的另一个选项是通过hdparm使用ATA安全擦除方法。
使用诸如sa DD之类的OS级别命令的问题在于它们只会擦除OS看到的块。任何备用块(特别是SSD上的保留单元)都不会被擦除。
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
重申:(2017年7月)
唯一可行的方法(对于HDD,SSHD和SSD)是使用ATA“增强型安全擦除”(ESE)命令对所有已存储和剩余的数据进行’remove’。
如果不能使用此命令,则介质必须是’destructed'(转换为小于2mm的碎片,或在熔炉中熔化)。
笔记:
-
该建议忽略了较旧的magnetic-media(从2001年之前开始,和/或容量不足15GB)。
-
某些PC BIOS(或OS)会阻止ATA命令的运行,而某些(更旧的)品牌/型号(驱动器)会由于ESE的实施不佳而出现问题。
-
较小的ATA ‘Secure Erase’命令更快,但仅使用’zeros’覆盖,而不是随机模式。
-
唯一比使用ESE更好的方法是首先不要在驱动器上存储数据。这可以通过使用full-disk加密(FDE)或self-encrypting驱动器(SED)来实现。
第三种办法
“bootom line” AFIK是数据必须被覆盖或可以检索。有很多工具/方法可以做到这一点。
共识是您只需要通过一次,因此,额外的通过将花费更多的时间,并且会使硬盘驱动器遭受过多的磨损。
尽管有许多解决方案,但我更喜欢scrub
。
scrub /dev/sda
或者,如果您愿意
scrub -p dod /dev/sda
也可以看看
-
http://www.cyberciti.biz/tips/linux-unix-make-retrieving-data-more-difficult.html
-
http://link.springer.com/chapter/10.1007%2F978-3-540-89862-7_21