假设我从一个非常专业的黑客那里购买了一个二手 USB 驱动器,而该黑客使用非常专业的方法来破坏该驱动器,NSA 或 FBI 会用它来破坏它:使用 TrueCrypt 7.1a 加密整个驱动器并进行格式化是否安全,或者该设备是否仍然有可能被破坏?
答案1
您最好的选择(如果我理解您的尝试)是使用 Linux 在整个 USB 上写入零,然后使用 gdisk 或 fdisk 创建一个新的 MBR 或 GPT 空表,之后将其视为未受损害的 USB,创建分区,格式化它们...如果您愿意,可以加密它。
偏执的观点:也就是说,您有任何 USB(例如,您在街上、山上等处发现的),其中可能有您不信任/不想要的软件/数据,也许您认为拥有这些数据会让您入狱。
真的很偏执:只有一次覆盖是不够的,真正的法医专家可以恢复(至少,上次我检查时)超过最近的 83 个状态,因此您至少需要(为了安全起见)覆盖大约一百次(如果使用特殊模式则更好);这适用于磁性 HDD 以及 USB 记忆棒、存储卡、SSD 等。这称为“安全擦除多次通过”。
另一方面:如果您有想要安全保存的数据但只供您自己查看,那么它会复杂得多,但就像 1、2、3 一样简单......只需确保您有另一个可以“复制”数据的介质,然后执行“安全擦除多次”,之后,创建新的 MBR/GPT 表和分区,对其进行加密,用来自 random.org 数据(真正的随机且不可复制的数据)的数据填充一个或多个大文件(如果是 FAT32 和> 4GiB 等),删除该大文件,将数据复制回其中,然后对另一个文件执行“安全擦除多次”。
偏执的观点:要想让数据不被别人看到,你需要一个完全加密的系统,永远不要相信任何人说不需要 100% 系统加密……最好的例子是这个问题:你是否一直知道所有正在运行的软件将数据保存在哪里?(不仅是休眠、虚拟内存……文本编辑器也可以将你正在编辑的文本文件保存在你不知道的地方)……只是举个例子,打开(最新版本的)Notepad++ 写一些文本但不保存,如果不相信就关闭 NotePadd++ 并重新启动,然后重新打开 Notepad++,未保存的文本还在那里,所以它保存在我们不知道的地方。
因此,为了保护数据...并确保安全...切勿在无法进行 100% 系统加密的系统上使用数据。
更不用说,要注意安装了什么应用程序(键盘记录器等)。
偏执:由于 Windows 不信任 Bitlocker,密钥被发送到 M$ 服务器和 NSA 等……并且已发现一个大后门。
我个人的最佳选择是:VeraCrypt(Win+Lin)和 DiskCryptor(仅限 Win)和 LUKs+LVM+LUKs(仅限 Lin)。
是的,我不信任一个 LUK,它不够安全......必须链接至少两个或三个......VeraCrypt 也是一样(使用两种或三种算法的级联)。
偏执的观点:我在 Linux 上使用扇区到扇区循环挂载在 Ext4 的可用空间上(我维护秘密的开始和长度,并且必须在每次启动时输入)通过 5 个没有标题的链 LUK(没有标题非常重要),我使用 Grub2 在加密分区上启动(在 LUKS 上)带有假的 grug.cfg(它将启动一个虚拟 linux)。
所以我的偏执启动:打开电源,输入 /boot 的加密,出现 Grub 菜单,我按 c 进入控制台模式,然后我输入命令来访问 Ext4、通过 LUKs、通过 LVM、通过 LUKs、通过扇区到扇区的 Ext4,而 Ext4 是通过 LUKs、通过 LVM、通过 LUKs 来访问的,...等等,然后我可以输入命令来加载内核和 initramfs...然后启动,我已经将 initramfs 配置为显示一个预 sh 控制台提示符,因此我重新输入所有允许我访问 rootfs 的命令和密码,然后我按 exit 并在 rootfs 挂载的情况下继续启动....每次内核更新时都非常难看...我必须在启动前做很多事情...但是,嘿,我们正在谈论“隐藏和保护完整的 Linux”...任何不太复杂的东西都不够安全。
当然...我使用比这更复杂的...我也使用 ZFS 和 RAID0 等...在链上,等等...但这将是另一个故事......更不用说在 1 万个或更多的列表上使用 250 到 750 个 1MiB 大小的文件,等等...来保护薄弱的部分(只是因为长达 64 个字节的密码太弱了!)。
那是偏执的观点......让事情变得非常困难,甚至很难找到那里的 Linux,任何人或机器都会停止(暴力攻击不会起作用,因为整个宇宙的能量不足以测试 1% 的可能组合)只是为了一个 8GiB USB 记忆棒......想象一下 1000GiB 的硬盘!
基本概念:
- 如果您想要安全删除信息并且仍使用该介质,则需要使用特殊工具(模式)擦除数据 100 多次。
- 如果您想销毁它,请融合(加热)介质,格式化是不够的,擦除也是不够的,等等。
- 对于敏感数据,放置很多层以使访问非常困难,使用多个加密层,在每个加密层上使用不同的密码、算法等。
- 将您的操作系统隐藏在分区的可用空间内,但请确保除非可以安装该分区,否则无法检测到该部分(切勿使用:物理,然后是 Ext4,然后是扇区 X 到 Y...Ext4 将显示您加密数据的位置)。
- 在两个相邻层上使用相同的加密算法,其中 Ext4 是针对扇区到扇区部分,否则测试算法可以揭示起点。
- 永远不要将超过 1% 的磁盘空间用于存储敏感数据,并在其余部分上放置几乎类似的困难层和大量虚拟数据。
主要思想:在星系中搜索硬币,而不是在行星、城市或农场等中...将你的硬币隐藏在星系大小的等价物中...并花费大量时间和精力去访问它,却发现硬币不在那里...如果做得好,没有人会得到你的数据。
重要提示:任何存储介质不仅可以在扇区上保存数据,还可以在固件上保存数据,等等...有些被称为“无驱动程序”...当您连接它们时,它们会自动安装所需的驱动程序...认为驱动程序可能已经被破解了...所以不要将它连接到您的主计算机等...使用没有互联网的虚拟计算机等...如果它是一个没有连接其他存储器的 Live Linux,那就更好了,等等。
等等,我不想让人们感到无聊!