是否可以设置一个引导加载程序,在尝试解密分区失败时自动开始粉碎 header.img 文件,然后粉碎加密分区本身?
如果这还不存在——是否有可能在不进行大量工作的情况下创建任何此类软件?
干杯,
答案1
是(对于您自己的引导加载程序/initramfs)和否(对于试图从 Live CD 解密它的小偷,从而绕过您的陷阱)。所以问题是,你想在这里涵盖哪种情况......
从安全角度来看,这不是一个好主意,因为它不起作用,并且无论如何密码都不可能被暴力破解。此外,您自己触发陷阱的风险也很高。
输入密码时完全有可能出错。我最喜欢的是大写锁定键,不小心按下它而没有注意到(因为密码没有回显)并且......在你的情况下它会爆炸。
为了实现它,您必须查看您的发行版的 initramfs 风格是否有钩子系统或类似系统。正常的 cryptsetup 调用可能如下所示:
cryptsetup -T 5 luksOpen /dev/sda1 luksroot
要诱杀它,你可以简单地执行以下操作:
cryptsetup -T 5 luksOpen /dev/sda1 luksroot || boobytrap
陷阱是一种功能,可以删除你的东西,同时让小偷忙个不停。除此之外,您必须绝对检查 cryptsetup 的错误代码;所以你不会因为错误的参数或类似的事情而删除。检查RETURN CODES
联机帮助页中的部分。
伪代码:(未经测试且不推荐)
boobytrap() {
if [ $? -eq 2 ]
then
# kill the disk silently in the background...
dd bs=1M if=/dev/zero of=/dev/sda1 seek=2 2> /dev/null &
# ...while keeping the thief busy entering more passwords
cryptsetup -T 9999 luksOpen /dev/sda1 luksroot \
&& echo Congrats, but I already deleted your data...
fi
}
我希望你有一个好的备份。
答案2
快速浏览一下我的 Debian“wheezy”系统表明,完全有可能在do_luks
位于 shell 脚本库中的函数中插入这样的陷阱/lib/cryptsetup/cryptdisks.functions
,该函数是从/etc/init.d/cryptdisks-early
.
更改代码后,需要运行update-initramfs
以确保初始启动磁盘映像也已更新。
我的 Debian“jessie”系统也有这些文件,但我还没有确认它们是否真的在这个勇敢的新世界中使用systemd
。