原文链接:https://community.qualys.com/blogs/securitylabs/2011/10/17/mitigating-the-beast-attack-on-tls

原文发表时间:2011.10.17

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

更新 (2013.3.19):这篇博文建议使用RC4来缓解BEAST攻击,但最先的发现显示RC比以前所知道的更为弱。目前针对RC4的攻击还无法实用。惟一安全的选择是AES-GCM密码套件,仅在TLS1.2中支持。你可以在新近撰写的博文中查看更多信息。


在这个夏天,有关一种新的SSL攻击手段的说法正在流传。Opera发布了一个补丁,但是没有说是什么补丁。最终一些聪明的人从越来越多的消息中发现了这种攻击的情况。但是攻击的技术细节仍旧是个谜,最后在Thai的博文中得到解释。Thierry Zoller的博文综合了各个链接的情况。

实际上,这种攻击多年前就曾被提出,虽然无法实际应用,但是TLS1.1仍然修复了该问题。最新的攻击技术做了一些优化,使得这种攻击变得可行了。

为了缓解这种攻击,我认为最好通过客户端的方式进行,虽然可能会由于兼容性问题导致无法访问某些网站。对抗BEAST的唯一方式是使用RC4密码套件,正如在PhoneFactor的博文中提到的。

下面给出在Apache中设置的例子:

SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH

并不是所有人都喜欢RC4,尽管尚未有足够的证据证明它在SSL/TLS中是不安全的。如果你的服务器支持TLS1.1+,你可以尝试Steve Caligo给出的建议:

SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH

上述设置是将TLS1.2置为最前的位置,以便支持该协议的客户端选择它,该版本是不受BEAST攻击影响的。接着是用于TLS1.0的RC4算法。

我们来看一些没有用的缓解方法:

  • 服务端支持TLS 1.1+是个好的开始,但是并不会有太大帮助,因为现在还只有很少一部分客户端支持高版本的协议。即使客户端支持TLS 1.1+协议,还是无法防止中间人攻击强制降级到TLS1.0.(关于对抗降级攻击的信息,参看TLS WG邮件列表的这个主题。)
  • 服务端启用空分片技术(?详情参看OpenSSL描述)也没有用。TLS 1.0使用两个初始向量(IVs),分别用于客户端和服务端的通信信道。BEAST利用的脆弱性是在客户端的,无法通过服务端的设置解决。
  • 压缩被认为可以使攻击无效,但是TLS 1.1+的协议对客户端的支持并不一致(?)。

更新(2012.1.20): 通过测试昨天发布的OpenSSL 1.0.1-beta2,我发现即使是在TLSv1.0的连接中也会尝试使用AES-CBC-SHA256算法。因此我从建议中将其移除,用另外两个TLSv1.2的密码套件取代。

[译]缓解BEAST对TLS攻击的方式的更多相关文章

  1. Python3中发邮件emal(明文/SSL/TLS三种方式)

    #!/usr/bin/env python #-*- coding:utf-8 -*- #Author:lzd import smtplib from email.mime.text import M ...

  2. 使用iptables缓解DDOS及CC攻击

    使用iptables缓解DDOS及CC攻击 LINUX  追马  7个月前 (02-09)  465浏览  0评论 缓解DDOS攻击 防止SYN攻击,轻量级预防 iptables -N syn-flo ...

  3. 新手学黑客攻防-黑客攻击电脑方式和认识IP地址

    听说过黑客,没见过黑客,从最基础的开始学习,让我能在互联网中保护自己的隐私安全和信息安全. 黑客攻击电脑方式 黑客攻击的方式多种多样,但常见的只有以下几种,基本上每个黑客都会用到: 网络报文嗅探 网络 ...

  4. 防止DDoS攻击的方式

    针对企业的DDoS攻击持续增长,根据Akamai的调查报告,2015年DDoS攻击增长了史无前例的180% !面对 DDoS 攻击性挑战,我们应该建立有效的防御体系来抵御攻击.   1.网站IP减少公 ...

  5. PHP之防御sql注入攻击的方式

    长期以来,web的安全性存在着巨大的争议与挑战.其中,sql注入就是一种常见的一种攻击方法,开发人员普遍的做法就是不停的过滤,转义参数,可是我们php大法天生弱类型的机制,总是让黑客有机可乘,绕过防御 ...

  6. 防止XSS攻击的方式

    主要有三种请求方式,进行过滤替换非法符号 1.普通的GET请求数据: 2.FORM表单提交数据: 3.Json格式数据提交: 把下面5个文件放入项目中即可 package com.joppay.adm ...

  7. php防止用户输入进行跨站攻击的方式

    1.对用户输入的内容进行转义 //1.过滤内容中html标记 $userinput=strip_tags($userinput); //2.转换成HTML实体 $userinput=htmlentit ...

  8. [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?

    原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...

  9. [译]BEAST还是一个威胁吗?

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

随机推荐

  1. JDK 中的监控与故障处理工具-02 (jps)

    jps : JVM Process Status Tool jps 命令可以列出正在运行的虚拟机进程, 并显示虚拟机执行的 main class 的名称(main函数所在的类),以及这些进程的本地虚拟 ...

  2. sleep(),wait(),yield()和join()方法的区别

    sleep() sleep()方法需要指定等待的时间,它可以让当前正在执行的线程在指定的时间内暂停执行,进入阻塞状态,该方法既可以让其他同优先级或者高优先级 的线程得到执行的机会,也可以让低优先级的线 ...

  3. HMM代码实践

    本文主要转载于:http://www.52nlp.cn/hmm-learn-best-practices-eight-summary 这个文章是边看边实践加上自己的一些想法生成的初稿..... 状态转 ...

  4. Servlet与线程安全

    先说结论:servlet不是线程安全的. servlet运行过程 Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ①Web服务器首先检查是否已经装载并创建了 ...

  5. phpstorm 右下角显示updating indices,一直有任务卡着

    其实就是生成的这个node_modules目录内文件太多了,选中node_modules这个目录右键,选择Excluded 一直在加载忽略掉这个文件就可以了

  6. [spring mvc]Hello World入门

    1.新建项目 File->New->Other,选择Dynamic web project: 项目建好之后,目录结构如下: 2.WEB-INF/web.xml 中配置 dispatcher ...

  7. 《Think in Java》(十一)持有对象

    Java 中的持有对象就是容器啦,看完这一章粗略的了解了 Java 中的容器框架以及常用实现!但是容器框架中的接口以及实现类有好多,下午还得好好看看第 17 章--容器深入研究以及 Java 官方的文 ...

  8. 玲珑oj 1129 ST

    1129 - 喵哈哈村的战斗魔法师丶坏坏い月 Time Limit:3s Memory Limit:256MByte Submissions:490Solved:107 DESCRIPTION 坏坏い ...

  9. 原生javascript-日历插件编写

    在线实例:http://lgy.1zwq.com/calendar/ 按照我们常用的日历格式,是7*6的格子,所以生成格子的总数就确定为42 例子:(如:2013年8月,这个时间为例子) /*---- ...

  10. JAVA运行war包

    set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m  java %JAVA_OPTS%  ...