原文链接: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. 解题报告:hdu1013 Digital Roots

    2017-09-07 22:02:01 writer:pprp 简单的水题,但是需要对最初的部分进行处理,防止溢出 /* @theme: hdu 1013 Digital roots @writer: ...

  2. 不一样的入门:看C# Hello World的17种写法

    摘要:本文针对不同阶段.不同程度的C#学习者,介绍了C# Hello World的17种不同写法,希望会对大家有所帮助.(C# Hello World写法入门.C# Hello World写法进阶.C ...

  3. apollo stomp client 代码示例

    0.环境准备 0.1.linux 0.2.java 0.3.下载apollo二进制包,解压 0.4.创建broker,名字为 userlog {APOLLO_HOME}/bin/apollo crea ...

  4. [postgresql]ROWS is not applicable when function does not return a set问题解决

    需要把程序结尾的ROWS 1000去掉,提示如果函数不是返回一个数据集的情况下ROWS是不适用的: CREATE OR REPLACE FUNCTION public.function( eigyou ...

  5. jquery中的工具方法$.isFunction, $.isArray(), $.isWindow()

    本文正式地址:http://www.xiabingbao.com/jquery/2015/07/25/jquery-judge-type 在javascript中对变量类型的判断中,我们讲解了了jqu ...

  6. 1-10 RHLE7 系统进程管理

    1.1-Linux进程管理 程序.进程.线程 程序:一组指令的集合    QQ 进程:程序的执行就是进程.也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代 ...

  7. yii控制布局方式

    1:在控制器内成员变量设置 public $layout = false; //不使用布局 public $layout = “main”; //设置使用的布局文件 2:在控制器成员方法内设置 $th ...

  8. Mac下新安装的MySQL无法登陆root用户解决方法

      一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile ...

  9. [转载]java获取word文档的条目化内容

    在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文档的各种处理在API层面进行了封装,屏蔽了Office VB ...

  10. 【linux】VirtualBox-“please use a kernel appropriate for your cpu”

    This kernel requires the following features not present on the CPU:paeUnable to boot – please use a ...