cryptsetup 中的漏洞允许在 LUKS2 分区上禁用加密

最近有消息说 发现漏洞 (已在 CVE-2021-4122 下列出) 在 Cryptsetup 包中,用于加密 Linux 中的磁盘分区.

有人提到 要利用该漏洞,攻击者必须具有物理访问权限 到加密媒体,也就是说, 该方法主要用于攻击加密的外部驱动器, 例如闪存驱动器,攻击者可以访问,但不知道解密数据的密码。

攻击 它仅适用于 LUKS2 格式并与元数据操作相关联 负责激活«在线重新加密»扩展,如果需要,它允许更改访问密钥,在不停止分区工作的情况下即时启动数据重新加密过程。

由于使用新密钥进行解密和加密的过程需要很长时间,“在线重新加密”允许不中断分区工作并在后台执行重新加密,逐渐将数据从一个密钥传输到另一个密钥。 特别是,可以选择一个空的目标密钥,这样您就可以将该部分转换为未加密的形式。

攻击者可以对 LUKS2 元数据进行更改,模拟由于失败而中止解密操作,并在所有者随后激活和使用修改后的驱动器后实现对部分分区的解密。 在这种情况下,连接修改驱动器并使用正确密码解锁的用户不会收到任何有关恢复中断的重新加密操作的警告,只能通过“luks Dump”命令了解该操作的进度. 攻击者可以解密的数据量取决于 LUKS2 标头的大小,但默认大小 (16 MiB) 可以超过 3 GB。

问题 源于这样一个事实,虽然重加密操作需要计算 和验证新旧密钥的哈希值,如果新状态意味着缺少用于加密的密钥(纯文本),则不需要哈希值来恢复中断的解密过程。

另外, 指定加密算法的 LUKS2 元数据不受修改保护 如果他们落入攻击者手中。 为了阻止该漏洞,开发人员在 LUKS2 中添加了额外的元数据保护,现在根据已知密钥和元数据内容验证额外的哈希值,即攻击者将不再能够在不知道解密密码的情况下秘密更改元数据。

典型的攻击场景需要攻击者有机会 把他们的手 在磁盘上几次。 首先,不知道访问密码的攻击者对元数据区域进行更改,在下次激活驱动器时启动对部分数据的解密。

然后驱动器返回原位,攻击者等待用户通过输入密码连接它。 在用户激活设备期间,在后台启动重新加密过程,在此期间,部分加密数据被解密数据替换。 此外,如果攻击者能够再次获得设备,驱动器上的一些数据将被解密。

该问题由 cryptsetup 项目的维护者发现并在 cryptsetup 2.4.3 和 2.3.7 更新中修复。

可以在这些页面上跟踪发行版中问题解决方案的更新生成状态: RHELSUSEFedoraUbuntu. 该漏洞仅在 cryptsetup 2.2.0 发布后出现,该版本引入了对“在线重新加密”操作的支持。 从选项“–disable-luks2-reencryption”开始可以用作安全解决方案。

最后 如果您有兴趣了解更多信息 关于新闻,您可以在 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。