use*_*459 2 security file-format metadata format-conversion
我有一个.iso
包含敏感信息的 10GB文件。
我如何将其格式伪装为我选择的格式(例如.mp4
)
这种方法对任何格式都有效吗?
$ cat picture.png myiso.iso.gpg > picture2.png
Run Code Online (Sandbox Code Playgroud)
其中picture.png
是一张随机图片,myiso.iso.gpg
一个带有敏感信息的gpg加密文件和picture2.png
一个伪造格式的隐藏文件。
Linux 不关心文件扩展名。更改文件名不会让file
命令显示它是图片。它仍然会显示它是一个 ISO。
您认为如何通过执行此操作来检索 ISO:
cat picture.png myiso.iso.gpg > picture2.png
Run Code Online (Sandbox Code Playgroud)
为什么不加密文件?
gpg -c {file}
Run Code Online (Sandbox Code Playgroud)
就足够了。它会要求输入密码两次。让它成为一个好的,不要忘记它
如果您不想让任何人看到该文件,请以“.”开头。并将其放入一个目录中,删除除用户之外的所有权限并chattr -i {file}
从 root 会话中将其锁定。
对我来说,这听起来非常像 A/B 问题。您希望以人们不会怀疑它是敏感数据的方式保护数据。
隐藏数据的最简单方法是使用gpg
、TrueCrypt、LUKS或类似的加密实用程序对其进行加密。
现在,您可以使用隐写术,但这并不是最好的主意,因为“默默无闻的安全”的概念仍在发挥作用。任何足够坚定的攻击者仍然能够提取文件或至少找到它(“为什么这个人有一个 10GB 的图像或损坏的 MP4?它可能隐藏了数据!”)。你依靠默默无闻的安全性,这总是一个坏主意。
相反,如果你想保存一些东西并保持合理的否认,你只需要确保数据看起来是随机的并且没有标题。LUKS/cryptsetup
有一个选项 ( --header
),允许您将 LUKS 标头与数据分开存储(例如,在您随身携带的 USB 驱动器上),因此任何攻击者使用file
它只会将其视为随机数据。而且,如果您怀疑有人正在靠近,只需方便地“丢失”驱动器即可。
如果你真的很偏执,你总是可以在 LUKS 中使用隐藏卷,这将允许你有一个假的外部卷和一个更秘密的内部卷。为什么这会有用?案例:
从XKCD借来的漫画
即使您受到橡胶软管密码分析的影响,您也可以仅使用垃圾数据泄露外部(非秘密)卷密码。而且,如果您已经破坏了标头驱动器(或没有将其从安全的地方取出),则无法解密并且实际上只是随机数据的集合。
TL;DR:不要尝试隐写术。相反,只需删除加密标头,使其看起来像随机数据。如果你真的很偏执,为了安全起见,制作一个额外的“隐藏”卷。您的加密文件不会被破解,因为使用专业设备需要数百万年的时间。如果您因密码而被抓住/折磨,您可以为不重要的数据提供一个“假”密码。无论哪种方式,您都会获得 2FA、合理的否认以及快速有效地破坏其中一个因素的能力。
或者,您可以忽略所有这些,只拥有一个普通的加密文件。反驳你的评论:
将其显示为已加密表明它具有宝贵的内容,因此更容易被昂贵的临时硬件破解。
加密现在非常普遍。几乎所有的智能手机都有加密功能。是否每部智能手机都有珍贵/敏感的内容?使用非常专业的设备破解良好的加密需要数百万年和数十万美元,仅凭“怀疑”就尝试破解数据是不可行的。诚然,你可能会得到国家机密,但你可能很容易得到一些猫的图片(后者是远远更有可能)。正如上述 XKCD 的标题文字所说:
真实的现实:没有人关心他的秘密。