写点什么

使用 PGP 和 S/MIME 的加密邮件易受 Efail 攻击

2018 年 5 月 27 日

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

德国和比利时的一个研究小组发现, PGP 和 S/MIME 的漏洞会被 Efail 攻击利用,把加密邮件的明文泄露出去。电子前线基金(EFF)会确认了这个漏洞,并建议使用替代方式交换安全信息。但是,据GnuPG 创建者Werner Koch 介绍,这个漏洞并不在PGP 中,他还表示, EFF 的评论言过其实了。

EFAIL 攻击会利用 OpenPGP 和 S/MIME 标准中的漏洞获取加密邮件的明文。简而言之,EFAIL 会滥用 HTML 邮件的动态内容,例如从外部加载图片或样式,通过请求的 URL 泄露明文。

不过,要利用这个漏洞并不简单,因为它需要首先访问到加密消息。例如,需要破解邮件账户、备份或者窃听网络通信。当攻击者获取了加密的邮件,他们就可以修改邮件,然后把修改后的加密邮件发送给接收者。当受害者解密邮件,加载了外部内容,消息的明文就泄露给了攻击者。论文Efail 详细介绍了两种类型的Efail 攻击。研究者声称,他们通过把一条精心设计的S/MIME 消息发送给受害者就成功地破坏了500 封S/MIME 加密邮件。按照他们的说法,使用PGP 的成功率更低,三次攻击中只有一次能成功,因为PGP 会在加密之前对明文进行压缩。

Efail 背后的研究团队还提出了可能的短期防范措施。一种可能的防范措施是仅在电子邮件客户端外解密收到的邮件,禁用任何自动为你进行解密处理的解密插件。这可以防止邮件客户端向攻击者打开渗漏通道。再简单些,你可以禁用邮件客户端中的 HTML 渲染,因为 HTML 表示是最容易利用的渗漏通道。

Efail 的公布在 Web 和媒体上引发了激烈的讨论。EFF 官方证实了 Efail 研究团队的发现:

很遗憾,不管是在你的设备上,还是在接收者的设备上,我们不再推荐在邮件客户端中使用 PGP 了,直到它们打上补丁。[……] 我们建议把邮件客户端和 PGP 断开,直到恰当的防范措施发布。

EFF 特别指出,不管是何种防范措施,最关键的是要涵盖加密通信的所有参与方。例如,只要你的邮件的其中一名接收者没有在客户端中禁用 HTML 渲染,则漏洞就可以在那个系统上被利用。

在 Efail 公布后不久,流行 PGP 实现 GnuPG 的创建团队就发布了正式声明。按照Robert J. Hansen 的说法,论文Efail 只解决了由邮件客户端Bug 导致的漏洞,主要是由于忽视了警告。按照他的说法,实际上,对于论文Efail 中描述的那种攻击,GnuPG 包含一个专门的防范措施“修改检测代码(Modification Detection Code,缩写为MDC)”。据Hansen 介绍,MDC 是一种认证加密方式,你只要检查一下,自己的PGP 插件没有使用一个“古老的”GnuPG 版本(1.0 系列),并且正确地处理了MDC 警告,那么你就是安全的。此外,Koch 强调,认证加密不是为S/MIME 实现的,因此,对于S/MIME,禁用HTML 渲染是唯一的短期防范措施。

查看英文原文 PGP and S/MIME Encrypted Email Vulnerable to Efail Attack

2018 年 5 月 27 日 14:05492
用户头像

发布了 1008 篇内容, 共 308.1 次阅读, 收获喜欢 272 次。

关注

评论

发布
暂无评论
发现更多内容

20年美团架构师一份“架构宝典”竟涵盖了架构设计和实践技巧?

周老师

Java 编程 程序员 架构 面试

甲方日常 3

句子

工作 随笔杂谈 日常

ShardingSphere简介+实战

云淡风轻

ShardingJDBC

【写作群星榜】8.15~8.28 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

mPaaS 客户端证书错误避坑指南

阿里云金融线TAM SRE专家服务团队

微前端在民生 APaaS/PSET 平台的探索与实践

亻尔可真木奉

探索与实践 案例分享 微前端

消息队列之推还是拉,RocketMQ 和 Kafka 是如何做的?

yes的练级攻略

kafka RocketMQ

最强云硬盘来了,让AI模型迭代从1周缩短到1天

华为云开发者社区

SSD 云存储 All-Flash 云硬盘 擎天架构

抗疫复产,CDN助企业破局发展

华为云开发者社区

CDN 网络 华为云 CDN加速 企业应用

LeetCode题解:155.最小栈,使用两个栈,详细注释

Lee Chen

LeetCode 前端进阶训练营

数据挖掘学习指南(转载)

Jackchang234987

数据挖掘 产品经理

架构师训练营第 11周作业和感想

tuuezzy

极客大学架构师训练营

分享一个阿里云轻量级开源前端图编排,流程图js组件——butterfly-dag

InfoQ_39ba186c207f

Java 流程图 flow canvas html/css

学习Python真的能找到工作吗?

代码制造者

Python 程序员 编程语言 低代码 零代码

【FCC前端教程】44关学习CSS与CSS3基础「二」

三钻

CSS 前端 FCC

区块链 新基建定位下的新使命 2020新区势

CECBC区块链专委会

区块链 新基建

架构师训练营0期11周

WW

建设开发者生态:6项华为API管理原则落地

华为云开发者社区

开发者 API 华为云 API Explorer平台 应用技术

面试官想知道都在这里

escray

学习 面试 面试现场

企业网络安全漏洞多,这些等保服务来填坑

华为云开发者社区

Web 安全 防火墙 等保 DDoS

穿什么衣服去面试?

escray

学习 面试 面试现场

微服务架构下,DLI的部署和运维有何奥秘?

华为云开发者社区

Docker 大数据 Serverless 数据湖 DLI

屏幕共享接入指南

anyRTC开发者

WebRTC 在线教育 直播 RTC

Flink-状态后端作用-11

小知识点

scala 大数据 flink

软件开发丨关于软件重构的灵魂四问

华为云开发者社区

软件 开发者 软件开发 代码 软件重构

有为而治:平衡吞噬世界的系统之熵

IT民工大叔

开发者的福音,LR.NET模块化代码生成器

Philips

敏捷开发 快速开发 模块化流程 代码质量 .net core

oeasy教您玩转linux010107那啥在哪 whereis

o

涵盖多场景区块链与政务结合 应用前景广阔

CECBC区块链专委会

区块链 互联网 数字政务

化妆品行业与区块链的融合可减少甚至消除假冒伪劣

CECBC区块链专委会

区块链 化妆品

初识Druid——实时OLAP系统

justskinny

大数据处理 大数据技术 Apache Druid

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

使用PGP和S/MIME的加密邮件易受Efail攻击-InfoQ