加密软件 VeraCrypt 审计报告公布,发现多个高危漏洞

加密软件 VeraCrypt 审计报告公布,发现多个高危漏洞

在 DuckDuckGo 和 VikingVPN 的资助下,QuarksLab 最近对开源加密软件 VeraCrypt 进行了安全审计。此次审计发现了 8个高危漏洞和 10 多个中低级别的漏洞。

关于VeraCrypt

VeraCrypt 是一款非常流行的磁盘加密软件,它基于 TrueCrypt 7.1a 开发(在 2014 年 TrueCrypt 突然关闭之后才启动的这个项目),因此可以把它看成是 TrueCrypt 的分支 。在 TrueCrypt 停用之后,VeraCrypt 接过了 TrueCrypt 的钢枪,迅速成为了一款十分受欢迎的加密软件。其开发者为法国的 Mounir Idrassi,现在是由 IDRIX 团队在负责维护,相比 TrueCrypt ,VeraCrypt 在防暴力破解方面造诣更深。

VeraCrypt 有着十分庞大的用户群,记者、安全从业人员以及很多其他用户,他们都是 VeraCrypt 的忠实粉丝。正是因为用户数量庞大(本身也存在一些漏洞),OSTIF(一个开源技术改进基金)才同意独立审计 VeraCrypt,并于今年8月聘请了 QuarksLab 研究人员主导这次审计。

发现数个高危漏洞

这次安全审计的源代码来自 VeraCrypt 1.18 版本和 VeraCrypt DCS EFI Bootloader 1.18 版本,重点聚焦在上次审查后,这款应用引入的新特性上。另外此次安全审计仅针对 Windows 版本,OS X 和 Linux 版本不在审计范围之内。另外,使用的SHA-2 值为:

VeraCrypt_1.18_Source.zip : 12c1438a9d2467dcfa9fa1440c3e4f9bd5e886a038231d7931aa2117fef3a5c5

VeraCrypt-DCS-EFI-LGPL_1.18_Source.zip : 2e8655b3b14ee427320891c08cc7f52239378ee650eb28bad9531371e7c64ae3

这次审计牵扯到方方面面,既要熟悉操作系统,Windows 内核,系统启动链,又要对密码学有了解。总之,就是对参与人员的素质要求非常高。安全专家们对 VeraCrypt 1.18 版本和 VeraCrypt DCS EFI Bootloader 1.18 版本进行了一个月的分析后,总结了一份长达42页的审计报告。

在 VeraCrypt 1.18 版本中,UEFI 支持是其最重要的功能之一,这部分代码存储在一个名为 VeraCrypt-DCS 的单独库中。但跟其他功能比起来,由于某些功能的欠缺,这个特性还是显得不够成熟。

研究人员发现,黑客能够在 UEFI 模式下轻松获取到启动密码——在用户变更密码的时候,VeraCrypt 未能正确将其擦除。

bootloader 处理的数据一般不会被擦除。一般来说,启动时用户密码会被正确清除。但在用户修改密码时,包含新密码的密码结构则不会被擦除。实际上,TrueCrypt 和 VeraCrypt 的开发人员有仔细检查内存中的数据是否被正确清除。但 DCS 模块显然没有被纳入到检查范围内。除此之外,还有一些高危的漏洞也被检查出来。其余的高危漏洞和 GOST 28147-89 对称分组密码的实施过程相关。

加密软件 VeraCrypt 审计报告公布,发现多个高危漏洞

在 VeraCrypt 发布的 1.19 版本中,修复了报告披露的部分漏洞,而部分漏洞因为其复杂性尚未修复。已经修复的漏洞包括:VeraCrypt 使用了旧版本的 zlib 库,1.19 版移除了旧版本用新版本替换;移除 GOST 28147-89 加密选项,原因是其实现不安全;修复了多个 UEFI 支持问题。

值得一提的是,James Forshaw 在 TrueCrypt 驱动中发现的一个漏洞也被修复,该漏洞可以实现提权,而在 OCAP 审计报告中并没有提及到该漏洞。对于需要大量修改代码或架构的漏洞,VeraCrypt 暂时还没有修复。包括:

  • TC_IOCTL_OPEN_TEST,multiple issues
  • EncryptDataUnits() lacks error handling
  • AES implementation susceptible to cache-timing attacks

另外,涉及到密码机制的相关漏洞也未修复,包括:

  • Keyfile mixing is not cryptographically sound
  • Unauthenticated ciphertext in volume headers

毫无疑问,这种类型的审计不仅对用户安全非常重要,而且也加快了 bug 的发现和修复进程。现在我们更关注的是,其他的 bug何时能修复?


作者:佚名

来源:51CTO

上一篇:《Excel 职场手册:260招菜鸟变达人》一第 25 招 如何快速把数据的单位从元转换为万元


下一篇:Codeforces Round #739 (Div. 3) 题解