20年 PGP老洞的威力:欺骗任何人的签名不在话下

阅读量133219

发布时间 : 2018-06-15 19:31:50

x
译文声明

本文是翻译文章,文章来源:https://arstechnica.com/

原文地址:https://arstechnica.com/information-technology/2018/06/decades-old-pgp-bug-allowed-hackers-to-spoof-just-about-anyones-signature/

译文仅供参考,具体内容表达以及含义原文为准。

周三,研究员Marcus Brinkmanri表示,全球使用最广泛的某些邮件加密工具易受攻击。攻击者能够通过公钥欺骗几乎任何人的数字签名。GnuPGEnigmailGPGTools 以及 python-gnupg 已全部更新以修复这个严重漏洞。Enigmail  Simple Password Store 也已收到和两个欺骗漏洞相关的补丁。

数字签名用于证实加密信息、数据备份或软件更新的来源。一般而言,来源必须使用私钥才能触发应用程序显示信息或文件已签名。但一系列被统称为 SigSpoof 的漏洞在某些情况下可导致攻击者通过他人通常公布在网上的公钥或密钥 ID 伪造签名。而多数用户无法进行取证分析,因此无法检测出恶意内容。

备份和软件更新也受影响

该漏洞的编号是 CVE-2018-12020,它意味着很多人赖以保护敏感业务或安全问题的数十年的邮件信息可能实际上被欺骗。除了加密邮件用户外,该漏洞还可能影响其他用户。

发现 SigSpoof 系列漏洞的软件开发员 Marcus Brinkmanri 发布安全公告指出,“GnuPG 中的漏洞影响深远,有可能影响大量关键基础设施。GnuPG 不仅用于保护邮件安全,也用于保护发行版本的备份、软件更新以及版本控制系统如 Git 源代码的安全。”

只有当该漏洞启用名为 “verbose” 的设置时才会影响易受攻击的软件。该设置用于调试 bug 或异常行为。所有受影响的程序在默认情况下均未启用 verbose,但多种受热捧的配置如 cooperpair 安全默认、Ultimate GPG 设置以及 Ben’s IT-Kommentare 等都默认启用该设置。一旦启用 verbose,Brinkmann 指出它就会导致之前提到的工具甚至其它工具遭受三种不同的 PoC 欺骗攻击。

攻击将元数据隐藏在加密邮件或其它信息中,导致应用程序将其误认为签名验证操作而进行处理。应用程序如 Enigmail 和 GPGTools 随后导致邮件客户端如 Thunderbird 或 Apple Mail 错误地显示邮件已被攻击者所选择的某人加密签名。这种欺骗攻击仅需一个公钥或密钥 ID即可实施。

这些攻击相对容易执行。Brinkmann 在其中一个 PoC 利用代码中伪造的是Enigmail 开发人员 Patrick Brunschwig 的数字签名,如下:

$ echo ‘Please send me one of those expensive washing machines.’ \

| gpg –armor -r VICTIM_KEYID –encrypt –set-filename “`echo -ne \”\

\n[GNUPG:] GOODSIG DB1187B9DD5F693B Patrick Brunschwig \

\n[GNUPG:] VALIDSIG 4F9F89F5505AC1D1A260631CDB1187B9DD5F693B 2018-05-31 1527721037 0 4 0 1 10 01 4F9F89F5505AC1D1A260631CDB1187B9DD5F693B\

\n[GNUPG:] TRUST_FULLY 0 classic\

\ngpg: ‘\’`” > poc1.msg

第二个利用代码是:

echo “See you at the secret spot tomorrow 10am.” | gpg –armor –store –compress-level 0 –set-filename “`echo -ne \”\

\n[GNUPG:] GOODSIG F2AD85AC1E42B368 Patrick Brunschwig \

\n[GNUPG:] VALIDSIG F2AD85AC1E42B368 x 1527721037 0 4 0 1 10 01\

\n[GNUPG:] TRUST_FULLY\

\n[GNUPG:] BEGIN_DECRYPTION\

\n[GNUPG:] DECRYPTION_OKAY\

\n[GNUPG:] ENC_TO 50749F1E1C02AB32 1 0\

Brinkmann 表示这个漏洞的根因存在于1998年的 GnuPG 0.2.2,“过了这么多年,它当时所产生的影响和现在有所不同,毕竟现在很多应用都使用 PGP”。他在易受影响的工具开发人员打补丁后立即公开披露了这个漏洞。GnuPG 版本2.2.8、Enigmail 2.0.7、GPGTools 2018.3、python GnuPG 0.4.3已修复这些漏洞。如想要了解其它使用 OpenPGP 应用的情况,可咨询开发人员。

在 Brinkmann 周三发布漏洞的一个月之前,其他研究人员曾发布了其它一系列漏洞 Efail,它们可导致攻击者解密此前通过 PGP 或 S/MIME 加密的邮件。这些漏洞可被用于多种邮件程序中,如 Thunderbird、Apple Mail 和 Outlook。

另外,Brinkmann 还报告了 Enigmail 和 Simple Password Store 中存在的两个与 SigSpoof 相关的漏洞,在某些情况下它们也可用于欺骗数字签名。CVE-2018-12019 影响 Enigmail,甚至在 verbose 设置未启用的情况下也可被触发,它也在版本 2.0.7 中被修复。漏洞 CVE-2018-12356 可导致远程攻击者窃取配置文件和扩展脚本上的文件签名,从而导致密码遭访问或恶意代码被执行。

本文翻译自https://arstechnica.com/ 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
奇安信代码卫士
分享到:微信

发表评论

奇安信代码卫士

奇安信代码卫士是国内第一家专注于软件开发安全的产品线,产品涵盖代码安全缺陷检测、软件编码合规检测、开源组件溯源检测三大方向,分别解决软件开发过程中的安全缺陷和漏洞问题、编码合规性问题、开源组件安全管控问题。微信公号:codesafe。

  • 文章
  • 387
  • 粉丝
  • 104

热门推荐

文章目录
内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66