一些受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. JavaScript -- Window-Blur

    -----030-Window-Blur.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=& ...

  2. vue实现城市列表选择

    成果展示 最后的成果就是下面所展示的内容,因为gif图没有做,只能截图所展示,接下来,会带着大家一步一步的完成下面功能,脚手架搭建和node安装在本次案例不会讲解,如果了解,可以在我的博客园找到有详细 ...

  3. java5新特性-加强for循环

    本文目标是加强for循环和普通for循环的比较.阅读本文大概3-5分钟 刚开始学习编程语言的时候接触了三种循环方式 1. for 常用 2. while 较常用 3 do ... while 不常用 ...

  4. mysql 查找在另一张表不存在的数据

    有两个表Phone_book, Call: Phone_book +----+------+--------------+ | id | name | phone_number | +----+--- ...

  5. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(7)- EF增删改查

    前言 上一节创建了实体数据库,这次我们来看看怎么操作这个实体 代码实现 新建一个UserInfoController的控制器:不需要写什么代码,系统自动生成Index方法: 创建IDAL,DAL,IB ...

  6. 第3章:Hadoop分布式文件系统(1)

    当数据量增大到超出了单个物理计算机存储容量时,有必要把它分开存储在多个不同的计算机中.那些管理存储在多个网络互连的计算机中的文件系统被称为"分布式文件系统".由于这些计算机是基于网 ...

  7. js类的继承

    1.类式继承 首先要做的是创建构造函数.按惯例,其名称就是类名,首字母应该大写.在构造函数中,创建实例属性要用关键字this .类的方法则被添加到prototype对象中.要创建该类的实例,只需结合关 ...

  8. oc for in遍历

    在oc中用for in遍历可变数组时,不能修改删除新增元素,因为for in遍历是枚举遍历,在遍历的过程中不能修改容器里的值. NSMutableArray *arr=[NSMutableArray ...

  9. jQuery实现两个DropDownList联动(MVC)

    近段时间原本是学习MVC的,谁知道把jQuery也学上了.而且觉得对jQuery更感兴趣,比如今早上有写了一个练习<jQuery实现DropDownList(MVC)>http://www ...

  10. vue-cli中配置屏幕自适应(px2rem)

    在vue-cli中配置屏幕自适应的方法 首先,我们需要安装flexible库. npm i lib-flexible --save 在index.html文件当中配置meta标签, <meta ...