首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在从initramfs运行时使用命令(dd =/dev/mmcblk0p1\ sha1sum)

在从initramfs运行时使用命令(dd =/dev/mmcblk0p1\ sha1sum)
EN

Unix & Linux用户
提问于 2018-12-12 06:57:56
回答 1查看 544关注 0票数 1

我在下面的链接中看到了一个开放源码的raspberry pi项目: www.privatekeyvault.com

我提供了一种安装LUKS全磁盘加密的方法,如下所示:https://github.com/johnshearing/PrivateKeyVault#setup-luks-full-disk-encryption

我试图在中间攻击中减少一名少女的攻击,解释如下:https://github.com/johnshearing/PrivateKeyVault#preventing-the-evil-maid-or-maid-in-the-middle-attack

需要注意的是,有人可能会在引导分区上安装恶意程序密钥记录器,并在仍然运行initramfs时登录到加密分区时收集密码。

一旦登录到我的加密分区,我就可以运行以下命令来查看引导分区的sha1sum : dd =/dev/mmcblk0p1\x sha1sum

我将此与先前记录的sha1sum进行比较,以查看引导分区是否已更改。它不应该改变。

我希望在登录到加密分区之前获得引导分区的sha1sum。换句话说,在提供密码之前。这是在我还在使用initramfs的时候。我理解这是愚蠢的,因为任何安装密钥记录器的人也可以安装一个错误的sha1sum程序,所以最好是在登录到加密分区之后运行sha1sum命令,在加密的分区中不可能更改sha1sum程序。不过,我还是很好奇是否可以这样做。

困难在于,当运行命令(df)时,/dev/mmcblk0p1将不会显示,因此我的命令(dd =/dev/mmcblk0p1\ sha1sum)将无法工作。

有什么想法吗?在initramfs中如何引用引导分区?

另外,在登录到加密分区之前,还有其他关于如何检查是否有人篡改了引导分区的其他想法吗?

EN

回答 1

Unix & Linux用户

发布于 2018-12-12 07:50:33

我不会回答你的名义问题,因为信息太少,无法回答。没有什么特别的理由需要以不同于initramfs的方式引用引导分区。如果普通名称不起作用,这意味着initramfs正在使用不同的路径,或者在运行此命令时还没有加载驱动程序。如果您想在这方面得到帮助,您必须详细解释如何构建initramfs,以及在何处添加此命令。

我发这篇文章是为了回答,而不是作为一个评论告诉你不要麻烦。

你想做的根本是不可能的。如果攻击者可以更改您的引导分区,他们只会更改initramfs以删除此检查。

从加密的分区进行检查并不比以前好多少,但实际上攻击起来要困难得多。对手必须设置模拟环境(在技术上是可能的,但很难以一种您不会注意到的方式进行),或者在加载主操作系统之前将引导分区恢复到预期的状态(可能,但攻击者只有一次机会)。

如果你不能完全信任你的引导加载器,就没有办法防范邪恶的女佣攻击。如果有一个不可信的步骤,那么它之后的所有内容都是不可信的。防范邪恶女佣攻击的唯一方法是拥有一个完全安全的引导链,在该链中,每一步都验证下一步。如果下一步不是真实的(如果您担心降级攻击),每个步骤都必须停止引导,或者必须记录下一步的状态,然后将其发送给第三方可信验证器。如果在这个信任链中存在缺口,那么您就无法知道后续的步骤是报告真正的数据。

这在Raspberry Pi上是不可能做到的,因为ROM不验证它加载了什么。除非您愿意使用不同的硬件,否则您无法不信任您的引导分区。不幸的是,我没有推荐:对于Arm平台上的爱好者项目来说,这个市场并不适合可信的引导。

顺便说一句,即使你的命令有效,它也有一些缺陷。

  • dd if=/dev/mmcblk0p1 | sha1sumsha1sum </dev/mmcblk0p1是一样的。除了ifof之外,没有其他参数,dd只将输入复制到输出。当心那个有了一定的参数,dd实际上破坏了数据!除非您真的需要使用dd,否则不要使用它,并且您确信您使用它的方式不会有损坏的风险。
  • 沙-1是坏的。它并不是所有用例都被破坏的,在您的情况下很难利用它(有人将不得不安排将一些巧尽心思构建的无害内容植入到合法的引导分区中),但是在新的设计中使用SHA-1是不负责任的。使用sha256sum
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/487510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档