概要 在雅虎, 我们的用户每天接收和发送数十亿的邮件。为了我们全世界数亿的用户,我们致力于使雅虎邮箱更易于使用,更个性化,更安全。为了达到努力保护用户数据的要求,最近,我们安全团队做了一个关于度量SMTP STARTTLS 部署质量的调查。我们发现,虽然STARTTLS的使用越来越普遍和广泛,但是近年来增长速度非常缓慢。与其他的服务提供方对比,有优质的/正规的认证服务提供方有更好的TLS个性化设置。而且我们相信,为了保护邮件信息,也就是用户免受活跃的网络攻击的影响,提高STARTTLS的部署质量是一个很大的需求。 现代邮件生态系统 简单邮件传送协议(SMTP)是邮件传送的底层协议,尤其是在不同的服务提供方之间收发邮件。SMTP协议默认是不要求加密的,所以像雅虎这样的服务提供方依赖于STARTTLS扩展来给邮件在传输过程中加密。不幸的是,在收发邮件的时候,不是所有的服务提供方都支持STARTTLS协议,这就导致了邮件泄露给网络窃听者的可能性。 |
下面的表格提供了一个邮件生态系统的简单概述。邮件服务提供方之间的交流都是使用SMTP协议,服务提供方使用MTAs(邮件传送代理)来发送和接收来自其他服务提供方的邮件。MTAs使用SMTP协议进行交流,使用STARTTLS给邮件在传输中加密。为了发送一个邮件,发送方(MTA 输出)从DNS解析一条接受方域的邮件交换信息记录(MX)。邮件交换信息记录包含接收方(MTAs 输入)的服务器名字。一旦接收方的服务器名字被解析成功,发送方就会连接上相应的服务器并发送邮件。 在近年来,STARTTLS受到了高度的关注。在2015年,大约半数的相关研究论文被发布和提出(见附录),所有的论文都强调安全邮件发送的基础设施在对抗大众监督和网络窃听方面的重要性。由于邮件是一个开放性的系统,为了邮件通信的安全,行业集体的共同努力是很关键的。 |
什么是STARTTLS ? STARTTLS是一种扩展,它可以使支持STARTTLS的客户端和服务端之间纯文本通信随机升级为加密通信。下面的图表演示了客户端和服务端之间的一个SMTP会话。当服务端想要通过TLS接收邮件,它会在接收客户端EHLO请求后回复一个250 STARTTLS代码。如果客户端支持TLS协议,它会发起一个TLS握手协议,一旦TLS会话建立成功,邮件就会在一个加密的通道上传输。 STARTTLS提供了对抗消极攻击的防护功能,实际上,STARTTLS的随机特性使在SMTP协议中TLS的广泛使用率。同时,随机性的加密也意味着STARTTLS在对抗MITM(主动)攻击是无效的。原因:(1)STARTTLS降级攻击 -通过从活动的SMTP会话中剥离STARTTLS协议,强制使邮件通过明文发送,(2) DNS MX欺骗攻击的可能性,一个受到危害的域名服务器返回了一条目标主机或者IP地址受到篡改的邮件交换信息记录,转移流量到攻击者的邮件服务器。 |
研究方法为了这个研究,我们从2016年1月份30天内的邮件发送日志中收集了12M个不同的域的数据。在我们浏览的12M个域中,我们统计收集了9M个域的数据和3.7M的不同MX主机和大约1M的不同IP地址。对收集的数据进行汇总,并用多种方式呈现 - 不同的域,邮件交换信息记录,IP地址等等。数据也和我们以前在2015年5月(M3AAWG 34届会员大会上展示在爱尔兰的都柏林)做的一个研究(slides) 进行对比。 注意事项 这个Go语言的TLS实现有密码支持的局限性:尤其是,它不支持过期的/低安全性的密码。它也不支持SSLv3的客户端。这个研究基于我们从雅虎收集到的域信息,而且我们只考虑那些在收集期间发送过三封或者三封以上邮件的域。 |
研究结果我们的研究结果被组织和呈现在不同的柱状图里,根据:
注意这些9M的域被包括于3.7M的MX信息,而3.7M的MX信息对应于1M的不同的IP地址。很多的域共用相同的MX,很多的MX共用相同的IP地址。 STARTTLS 的使用率我们扫描的MX信息大约有80%支持STARTTLS。当和去年我们做的一个相似的调查进行对比,发现STARTTLS的使用率变化非常平缓,可以预见在近来不会有明显的增长。不同IP地址的柱状图使用率低于其他两个柱状图。 |
TLS X.509 证书
|
证书验证 这个图表分三组来展示证书的分布: (1) 不可信的, (2) 有效证书, 和(3) 严格的有效证书。有效证书组代表连接了可信根CA的证书,严格的有效证书组表示有对等验证的有效证书。需要注意这里的对等验证是针对MX的主机名而言,而不是针对邮件的域。不同域的柱状图有更多的有效证书,而且严格的有效证书比其他的两个柱状图的对等验证部分多于50%。这个差距很大,因为大型的邮件服务提供商代理了数百万的第三方的域,这些第三方的域大都使用了STARTTLS的有效证书。至于不同的IP地址组,我们发现有很大百分比的不可信证书。 |
证书验证 - 错误类型分布 这个图表展示了证书验证错误类型的分布情况。在域和MX的柱状图中,主机名不匹配(对等验证失败)比自签名/过期证书的错误更普遍。这个错误很多是因为大型的邮件服务提供商更偏向使用CA签名的证书而不是自签名的证书。有趣的是,即使大型邮件服务提供商受主机名不匹配问题的困扰,然而在IP地址的柱状图中,自签名和过期的证书仍然更普遍。
证书链深度 链深度为0主要表示的是自签名的证书(用红色表示),在前三个柱状图中更普遍。然而,在有效的和严格有效的柱状图中,链的深度或者是2或者是3。这是符合预期的。
|
TLS 会话
|
部署的质量 - 邮件服务提供方的关注点
|
客户端/发送者
STARTTLS的使用是非常广泛和普遍的;然而,它近几年的增长放缓了脚步。通过我们的研究,我们发现有着好的/有效的证书的提供者相较其他提供者而言有更好的TLS设置。对于STARTTLS来说,有一个迫切且基本的来保护消息(因此来保护用户)不受到网络上主动攻击侵害的需求。作为需求的基本底线,邮件服务提供者应该努力消除自签名,过期证书的情况并且在SMTP服务器的PFS上使用优秀的加密机制。发送者应该认证证书的有效性和登录认证失败记录,因为失败登录可以提供宝贵的观察并以之来做有效的报告 附录TLS in the wild: An Internet-wide analysis of TLS-based protocols for electronic communication http://arxiv.org/pdf/1511.00341v2.pdf No Need for Black Chambers: Testing TLS in the E-mail Ecosystem at Large http://arxiv.org/pdf/1510.08646v2.pdf Neither Snow Nor Rain Nor MITM… An Empirical Analysis of Email Delivery Security http://conferences2.sigcomm.org/imc/2015/papers/p27.pdf Analysis of TLS in SMTP World http://www.slideshare.net/BinuRamakrishnan/analysis-of-tls-in-smtp-world The Current State of SMTP STARTTLS Deployment (2014) https://www.facebook.com/notes/protect-the-graph/the-current-state-of-smtp-starttls-deployment/1453015901605223/ Yep! We Poked all your mail daemons http://www.slideshare.net/SBAResearch/yep-we-poked-all-your-mail-daemons STARTTLS Everywhere (2014) https://github.com/EFForg/starttls-everywhere 声明:感谢Mike Shema, Elizabeth Zwicky, Suzanne Philion和来自雅虎邮箱(Yahoo Mail Delivery and Paranoids teams)团队的同事们的帮助和贡献 |
本文转自:开源中国社区 [http://www.oschina.net]
本文标题:度量 SMTP STARTTLS 部署的质量
本文地址:http://www.oschina.net/translate/measuring-smtp-starttls-deployment-quality
参与翻译:coinci, 可以扯扯
英文原文:Measuring SMTP STARTTLS Deployment Quality