一些受VISA HTTPS保护的站点,因为存在漏洞容易受到Forbidden攻击,有将近70,000台服务器处于危险之中。

一种被称为“Forbidden攻击”的新攻击技术揭露许多HTTPS签证网站容易受到网络攻击,大约70,000台服务器处于危险之中。一群国际研究人员(Hanno Böck, Aaron Zauner, Sean Devlin, Juraj Somorovsky, and Philipp Jovanovic)发现该威胁动作可以向访问者的浏览器中注入恶意代码和伪造内容。

该组织已经发表了一篇题为“Nonce-Disrespecting对手:在TLS中对GCM的实用的伪造攻击”的文章。

专家已经发现有184台服务器受到了攻击,其中的一些属于德国证交所德意志交易所和波兰银行业协会Zwizek Bankow Polskich。
这种攻击利用并不新鲜,事实上这种攻击利用已经有至少十年的时间了,但很显然,它已经被遗忘了。Forbidden攻击的漏洞利用证据是十分确凿的,研究人员还现场演示了如何利用它来攻击加密通信。

包括德意志交易所的一些组织已经解决了这个问题, 但是Visa和Zwizek Bankow Polskich仍然是易受攻击的。

该漏洞是由TLS协议中在数据加密时重用相同的随机数引起的。nonce重用为Forbidden攻击打开了大门,黑客可以利用它来生成用于对网站内容进行身份验证的关键材料。

使用相同的nonce使得当浏览器第一次连接到一个HTTPS保护的站点时,威胁活动可以很容易地通过与攻击者共享的传输通道注入伪造的内容 (比如,在一个未加密的无线网络中,攻击者在同一个局域网段)。

此时,篡改的传输不会触发任何可疑行为来提醒受害者。

研究人员在他们发表的论文中这样写道:“在他给NIST Joux[18]的评论中描述了一个由于nonce重用而针对GCM的攻击。这种攻击允许攻击者学习认证密钥和伪造信息。因为nonce的唯一性是典型的密码分析的基本原则,所以Joux称他的攻击为“Forbidden攻击”。不过,它强调了一个在实际实现时重要的失效模式。只要这个nonce被重用了一次并且被我们用来实施了一个针对HTTPS的实用的伪造攻击,这将带来严重的真实性的失效问题。”

黑客可以运行一个Forbidden攻击来篡改通讯和添加恶意的JavaScript代码或添加用于欺诈活动的Web内容。

研究人员在线发布的一个概念验证利用代码显示了攻击的可行性,他们还发布了一个攻击脆弱的Visa网站的视频(https://youtu.be/qByIrRigmyo)。

专家们注意到,通过给予足够的web请求,那些易受攻击的网站会有很高的概率重用nonce,他们估计,对于一个成功的攻击来说需要的请求数量仍然极高。

论文中的一个表格显示,其中包括nonce碰撞的概率在目前的64位大小上是2n。专家们发现,大约230个请求时的概率是3%,235个请求时可以有100%的几率。

研究人员进行的这项研究被分成多个子任务,最初他们扫描网络寻找目标,然后他们试图找到易受攻击的那些。

“我们针对网络连接设备的评估一直被分成多个子任务。最初是发现扫描,紧接着漏洞扫描发现目标设备上使用不同参数的时间跨度约为18天。在本节中,我们描述了在我们的评估中用于发现和分析网络连接设备的方法。”这篇论文中写道。

在被研究人员发现的这70000个网站中,专家们发现了几个有缺陷的TLS实现,其中一个在IBM的Domino Web服务器上,另一个在Radware的负载平衡器上,这两个目前都已经被修复了。

结语

对于企业而言最重要的资产就是应用程序和其中的数据,现有常用的防护手段包括基础设施保护和边界防护,比如防火墙/WAF/IPS等。

  • 其一,边界防护是对网络访问和内容进行检查,这些保护措施并不清楚应用程序的行为:内部逻辑和数据处理过程,因此缺乏保护的精确性。
  • 其二,边界技术“天真”的认为程序内部是安全的,不安全因素来自外部。但从过去几年的经验中得出,最具毁灭性的攻击,恰恰来自内部,甚至是企业所信赖的员工。这正是边界技术的软肋。
  • 其三,过去一段时间的数据表明,明显网络边界逐渐消失。随着互联网的发展,越来越多的消费者开始向云端靠拢,他们更多的工作都是在企业外部完成的,边界技术难以针对这种变化环境提出有效的保护。

RASP,Runtime Application Self-protection,实时应用自我防护,是一种最新的应用层防护技术。能够克服上述问题,在运行时环境结合应用上下文防护,代码级定位漏洞,完爆Forbidden Attack等常见攻击。

Forbidden Attack:7万台web服务器陷入被攻击的险境的更多相关文章

  1. 多台web服务器之间共享session

    常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用 ...

  2. cookie、session的联系和区别,多台web服务器如何共享session

    1.Cookie与Session的联系: cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助coo ...

  3. php 高级 多台web服务器共享session的方法

    解决多台web服务器共享session的问题,至少有以下三种方法:   一.将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制, ...

  4. 如何设置让外网通过路由器IP加端口号访问到局域网一台Web服务器

    场景描述: 我们局域网内所有主机链接一台路由器,通过设置动态获取IP上网,现在想让一台主机作为Web 服务器,让外网用户通过http://ip:port的方式访问. 1:首先修改Apache的端口号: ...

  5. web服务器集群(多台web服务器)后session如何同步和共享

    在访问量上去以后,很多人会采用web集群的方式在满足逐渐增长的用户量.这时候就不得不面对一个问题,那就是在多个服务器下,每次请求都会因为负载均衡而分配到不同的服务器上.用户在登录服务器后,下一次请求被 ...

  6. EG:nginx反向代理两台web服务器,实现负载均衡 所有的web服务共享一台nfs的存储

    step1: 三台web服务器环境配置:iptables -F; setenforce 0 关闭防火墙:关闭setlinux step2:三台web服务器 装软件 step3: 主机修改配置文件:vi ...

  7. session和cookie区别,多台WEB服务器如何共享session,禁用COOKIE后SESSION是否可用,为什么?

    答:session的运行机制: 用户A访问站点Y,如果站点Y指定了session_start();(以下假设session_start()总是存在)那么会产生一个session_id,这个sessio ...

  8. cookie、session的联系和区别,多台web服务器如何共享session?

    cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助cookie来实现保存标识位的作用.cookie ...

  9. Facebook 运维内幕曝光:一人管理2万台服务器

    Facebook 运维内幕曝光:一人管理2万台服务器 oschina 发布于: 2013年11月23日 (29评) 分享到  新浪微博腾讯微博 收藏+32 11月30日 珠海 源创会,送U盘,先到先得 ...

随机推荐

  1. 一、Linq简介

    语言集成查询Language Integrated Query(LINQ)是一系列将查询功能集成到C#语言的技术统称. 传统数据查询的缺点: 简单的字符串查询,没有编译时类型检查或Intellisen ...

  2. msvcr110.dll丢失解决方案

    http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 打开之后,在“选择语言”里选择“简体中文”,然后点击右边的“下载”按钮.

  3. PHP-引入文件(include)后,页面错位,不居中解决办法

    1.把include文件放在head里,不要放在html或doctype上面,这样可以解决居中的问题,空白行的话可以用<div style="display:none"> ...

  4. Python学习--18 进程和线程

    线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...

  5. Linux 数据重定向

    名称 描述 代码 表示 stdin 标准输入 0 < 或 << stdout 标准输出 1 > 或 >> stderr 标准错误输出 2 2> 或 2> ...

  6. 利用Django构建web应用及其部署

    注:很久之前就有了学习Django的想法,最近终于有机会做了一次尝试.由于Django的详细教程很多,我在这里就不再详述了,只是将整个开发流程以及自己在学习Django中的一些思考记录在此. Syst ...

  7. mysql 根据一张表更新另一张表

    between 是>= and <=,即包含两个边界

  8. 百度前端技术学院-task2.18-2.19源码以及个人总结

    源码:http://yun.baidu.com/share/link?shareid=2310452098&uk=1997604551 1.感觉在写js的时候,最好先理清思路,先干什么,在干什 ...

  9. T4模板根据数据库表和列的Description生成代码的summary的终极解决方案

    相信很多人都用T4模版生成代码,用T4模版生成标准代码真的很方便.我们经常根据表生成相关的代码, 但是估计很多人都遇见过同一个问题, 特别是我们在生成model的时候,代码中model中的Summar ...

  10. c#关于路径的总结(转)

    来源:http://www.cnblogs.com/yugongmengjiutian/articles/5521165.html 前一段时间写代码时经常遇到获取路径问题,总是感觉有点乱,于是就总结了 ...