原文链接:https://community.qualys.com/blogs/securitylabs/2013/09/10/is-beast-still-a-threat

原文发表时间:2013.9.10

本博文仅仅是上述原文的翻译,仅供研究参考,本人不对准确性作任何保证,侵立删,如有转载,需自行承担所有责任。如有翻译不准确的地方,欢迎指教。

昨天,我改变了 SSL Labs 的打分规则(译者注:SSL Labs是一个在线检测SSL站点安全性的网站),停止检测站点是否启用了服务端的BEAST缓解措施。这表示我们现在认为这种可以从客户端进行缓解,但是有一些事情你还是要了解的。

什么是BEAST?

TLS 1.0和更早版本的协议中有一个严重的漏洞:分组密码中在加密前用于混淆明文的初始化向量(IV)可以通过中间人攻击(MITM)预测到。IV是用来避免加密陷入定式,没有它们,你每次使用相同的密钥加密相同的分组时,你将得到相同的加密结果。这可不太好。一个聪明的攻击者可以通过如下三个步骤来猜测加密的原文是什么:1)猜测IV;2)看看加密结果是什么;3)改变加密原文(译者注:也就是“选择明文攻击”)。从技术的角度来看,攻击者并未解密任何数据,但是可以验证自己的猜测是否正确,但是如果没有足够多次的猜测,并不能发现任何明文信息。

这只是该问题的一个超级浓缩版本,如果你对详细情况感兴趣,建议您参看我之前写的一篇文章,并且参考那篇文章中推荐的链接。

因为猜测并不是非常有效的,因此在实践中BEAST攻击只能获取一小段数据。这听起来好像没什么卵用,但是我们使用的很多高价值的信息都是不大的数据段,例如:HTTP session cookie,认证凭证集(许多协议中都在用,而不仅仅是HTTP),基于URL的session token等等。因此,BEAST是一个很严重的问题。

缓解措施现状

BEAST是纯粹的客户端脆弱性。因为这种攻击已经被公开,许多主流的浏览器厂商都通过一种称为1/n-1 split的技术解决了这个问题。这种技术通过阻止攻击者猜测IV从而有效的从根本上解决了这个问题。

但是有一个平台拖了后腿 -- 苹果家的。我们对他们是怎么想的一无所知,因为他们没有就此问题进行过官方的说明。我的理解是Mountain Lion的发布版中会包含1/n-1 split,但是默认是禁用的。另外,据我所知,IOS中并未使用该防范技术。

因为苹果没有解决BEAST攻击,因此用户仍然潜在的面临着威胁。考虑到这个原因,今年年初,SSL Labs开始检测站点是否使用了服务端的缓解措施以对抗这种攻击。

不幸的是,TLS1.0和更早期协议(当前使用协议的大多数)对抗BEAST唯一有效的方法是使用RC4算法。之所以说“不幸”,是因为我们刚开始服务端缓解措施检测后不久,一项关于RC4的研究发现这种算法比我们之前认为的更弱。这种脆弱性虽然不会立即带来危害,但很显然RC4算法正在走向不归路。

情况变得有些不妙,因为我们无法同时解决两个问题。但是因为两个问题大致可认为同样是低风险,最终的策略也是很明显的:RC4影响所有人,并且无法缓解;BEAST仅仅影响一部分人,并且不再有可利用的方法(希望吧)。另外,我们知道针对RC4的攻击正变得更为有效,针对BESAT的攻击似乎变得更少了。

BEAST还是一个威胁吗?

从目前的情况看,剩下的唯一工作就是证明利用BEAST的路径都被切断了。但是我们并没有有关这点的可信信息,因此我打算测试一些运行在脆弱性平台的浏览器,如果可能的话阅读它的源代码,并且尝试利用BEAST。

这项研究需要大量的精力和时间,主要是因为我不想只是运行现有的利用工具,我想完全理解这种攻击,并且发掘其他可能的攻击方法。Juliano和Thai(BEAST作者)对我的问题给了很多有用的回答。我曾走了一些弯路,一部分是因为现实的问题,一部分是因为我的错误。我认为BEAST在很长一段时间里仍旧是可利用的,因为我发现在BEAST里使用的同源策略绕过仍旧存在,这点令我很是惊讶。很显然,针对那个问题(译者注:应是指针对同源策略绕过的修复)的修复搞砸了。使用该漏洞,MITM仍能使用Java applet控制受害者的浏览器加密任意明文并发送到任意主机。

幸运的是,自从BEAST被公开之后,applet的运行机制已经发生了很多改变。例如:现在在运行applet前总会有一个警告。在我的测试中,Java插件无法获取HttpOnly的cookie,也无法在任何请求中发送或接收它。更为重要的是,由applet发出的HTTPS请求使用了Java的TLS协议栈,而不是宿主浏览器的。因为Java实现了1/n-1 split,因此BEAST无法发威。

结语

虽然SSL Labs对未实现服务端BEAST缓解措施的站点进行惩罚(打低分),但这个问题还会长期存在,因为还有大量的浏览器尚未进行修复。虽然我不认为现在这个问题已经被利用了,但是或许有我们不知道的一些攻击方式。Safari新添加的一项特性会使得该项漏洞再次可被利用,或者有时间进行测试的人可能会证明我是错的。由于这个原因,我们需要一个良好的安全保证,我们需要Safari默认的实现1/n-1 split。

另外,支持TLS1.1和1.2在现在及不远的未来并不能真正的解决BEAST,即使这些协议并不包含这种攻击所利用的IV预测漏洞。第一个问题当前网络还主要是依赖TLS1.0,在SSL Pulse检测的服务器中只有大约18%支持TLS1.2。因此,即使下一代的web浏览器都支持TLS1.2,服务完成升级仍旧需要一段时间。

还有第二个问题,所有主流浏览器都容易遭受协议降级攻击,主动的MITM可以模拟失败场景,迫使浏览器从TLS1.2回退至SSL3.0,从而利用IV预测漏洞。除非协议降级漏洞被修复,更新的协议仅仅对被动攻击者有效,对主动的攻击者则无效。

转载于:https://www.cnblogs.com/likefrank/p/is-beast-still-a-threat.html

[译]BEAST还是一个威胁吗?相关推荐

  1. 在线公开课 | 教你如何自行搭建一个威胁感知大脑?

    那么在云上安全备受瞩目的大环境下,云态势感知技术又如何为安全保驾护航呢?在未来又有着怎样的发展趋势呢?为此,京东云产品研发部产品经理梁洋洋,专门为大家解读了云态势感知的进化论. 01态势感知出现的技术 ...

  2. [PyTorch] 译+注:一个例子,让你明白PyTorch框架

    文章目录 Introduction Motivation Table of Contents A Simple Regression Problem (一个简单的线性回归) Data Generati ...

  3. [译] Font-size:一个意外复杂的 CSS 属性

    原文地址:Font-size: An Unexpectedly Complex CSS Property 原文作者:Manish Goregaokar 译文出自:掘金翻译计划 本文永久链接:githu ...

  4. [译] 如何从一个业余爱好者成长成为专业开发者

    原文地址:How to Go From Hobbyist to Professional Developer 原文作者:Ken Rogers 译文出自:掘金翻译计划 译者:zaraguo 校对者:Sa ...

  5. [译] 如何创建一个设计体系来赋能团队 —— 关注人,而非像素

    原文地址:How building a design system empowers your team to focus on people - not pixels. 原文作者:Mariah Mu ...

  6. php 测试手机页面,[译]如何测试一个手机站点

    移动浏览器的使用与日剧增.据 StatCounter 统计,手机和平板电脑产生的流量约占网络流量的30%左右.这就意味着消费者对移动网站的需求比以往任何时候都高.鉴于消费者各种各样的移动设备,即使是像 ...

  7. [译] APT分析报告:11.深入了解Zebrocy的Dropper文档(APT28)

    这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助.当然,由于作者英语有限,会借助机翻进行校验,还请包涵! ...

  8. [CSO]安全威胁建模分析中7个可能犯的错误

    [CSO]安全威胁建模分析中7个可能犯的错误 相对缺乏成熟度的威胁建模分析可能给那些依赖此举确保其网络和服务安全的机构带来大麻烦. [By Jaikumar Vijayanfrom:www.csoon ...

  9. 利用威胁建模防范金融和互联网风险

    从B站数据遭竞品批量爬取,到华住集团信息泄露:从东海航空遭遇大规模恶意占座,到马蜂窝旅游网站事件:从接码平台日赚百万到双十一电商风险爆发.....顶象2018年第三季度业务风险监测数据显示,恶意爬取是 ...

最新文章

  1. python浪漫代码-python爱心表白 每天都是浪漫七夕!
  2. 基于FT5x06嵌入式Linux电容触摸屏驱动
  3. list集合去重复元素
  4. ESXi主机下的常用日志
  5. ubuntu classicmenu-indicator
  6. 网络爬虫-原理篇(一)
  7. asp系统转换php系统时间函数,window_Asp常用通用函数之生成时间的整数,'函数名:GetMyTimeNumber()' - phpStudy...
  8. CF-697B Barnicle与691C Exponential notation
  9. 计算机专业改动漫设计,《计算机动漫与游戏制作》专业课程体系改革方案.doc...
  10. Awvs 12.x安装及使用教程超详细(包括录制脚本)
  11. linux趋势防病毒软件进程,你了解linux的防病毒软件吗?你知道我说的不是防火墙...
  12. Access数据库压缩失败后修复经历
  13. 龙门架式焊接机器人_一种龙门架式焊接机械手的制作方法
  14. 开发一个可以查询并显示数据库内容的微信小程序
  15. Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33
  16. SEO 行业怎么了?
  17. 谷歌采用神经网络驱动机器翻译,可离线翻译59种语言
  18. java cos和native cos的区别
  19. 计算机绘图cad实训报告,AUTOCAD实训报告.doc
  20. python建立题库随机抽题,用Python读取Excel题库随机组成Word版本试卷

热门文章

  1. linux 故障:df -h统计磁盘空间占用太多,但又du -h找不到大的文件
  2. Ubuntu10 上安装Vmware Tools注意
  3. java反编器中文版,java反编译软件下载
  4. leetcode算法题--连续差相同的数字
  5. thinkphp 个别字段无法更新_Ripro子主题:jizhichlid极致主题,原创首发永久更新,不限域名永乐使用...
  6. Wex5铛铛开发环境搭建步骤
  7. Navicat使用Instant Client创建连接到Oracle数据库的正确姿势
  8. XBodhi(技术框架)——序
  9. 机器学习入门:线性回归及梯度下降
  10. 在物理机上用u盘安装linux遇到的问题