当使用托管专用服务(无论是虚拟的还是物理的)时,您可以完全控制安装在您无法物理访问的硬件上的操作系统,有什么好的方法可以测试存储中是否已经适当地擦除了以前客户的任何数据?
我认为,如果我从我的机器上的前一个客户那里获取数据,那么下一个客户也可能会获取我的数据,因此我希望有一种方法可以测试光盘上是否已经适当地清除了任何以前的数据,以了解我要做什么。
一种简单的方法是将dd
和 一起使用hexdump -C
,fgrep -v
但uniq
区分哪些数据是你的而哪些不是你的并不容易,因为我们在已经格式化的硬盘上运行它。
是否有任何适用于 Linux、FreeBSD 或 OpenBSD 的工具可以检查文件系统当前未分配的未使用磁盘空间? 理想的工具应该能够确定当前使用的文件系统,并以线性或更好的格式呈现所有未使用的磁盘空间的所有数据;包括不一定遵守当前使用的文件系统格式的内容(例如,曾经是其他任意文件系统格式的一部分的文件)。
答案1
理想情况下,您需要在获得驱动器后立即对其进行分析(即不要在驱动器本身上安装某些操作系统,然后再对其进行分析)。
通常,擦除驱动器意味着用其他数据覆盖驱动器上的所有字节。同样,通常写入 0、1 或随机数据。当然,这并非对所有提供商都适用,并且完全取决于提供商及其政策、软件、硬件等……
目前已经开发了许多恢复软件工具,可能允许您从非运行驱动器中恢复数据。但是,如果您不知道提供商对驱动器做了什么,那么通过这种方式您将陷入一个充满疑问和不确定性的世界。也许提供商只擦除了驱动器的一部分,也许提供商通过应用类似凯撒的密码更改了数据。
我认为,如果我从我的机器上的前一个客户那里获取数据,那么下一个客户也可能会获取我的数据,因此我希望有一种方法可以测试光盘上是否已经适当地清除了任何以前的数据,以了解我要做什么。
我不知道有没有什么方法可以证明这一点。我会立即按顺序执行以下操作:1. 尝试从系统启动(这些东西很容易出问题)2. 如果我被告知驱动器已被 1s/0s 擦除,则分析驱动器的开头和结尾。3. 运行 testdisk(或其他分区恢复工具或与多个文件系统兼容的其他工具)或许确认驱动器上是否仍存在初始分区。并非所有提供商环境都支持此功能。
笔记:这些驱动器恢复工具通常会在驱动器的开头读取 GTP、MBR、RAID 或其他分区布局信息。它们通常不会分析驱动器上的每个字节,因为这样会很慢。有些工具甚至知道一些驱动器加密规范(例如 LUKS),但同样有很多这样的技术,它们几乎总是在驱动器或分区的开头有一些可识别的字节。
我无法直接帮助您从已安装的操作系统进行分析,因为您涵盖了上述所有变量以及更多变量。因此,我认为您需要进一步定义什么会构成最低限度的信息泄漏(例如,如果驱动器上的单个位具有相同的值,因为提供商在将其分配给新客户后没有更改它)。
您还应该为给定的提供商指定一种情况。一些提供商允许在现有操作系统上安装驱动器,而其他提供商则强制您安装他们自己的操作系统自定义映像才能使用该驱动器。
注意:我尝试使用评论功能,但我只能评论答案。