网络连接异常、网站服务器失去响应_新型DoS攻击或对使用了CDN的网站产生巨大威胁...

news/2024/5/20 13:20:31/文章来源:https://blog.csdn.net/weixin_39788256/article/details/110859892
5a2c4b6e23112ddbd127942867cd16a3.png

在当今全球网络中,CDN服务扮演着很重要的角色,它的缓存系统可以极大缓解原网站的压力,并给访问者提供更好的网络体验。

但近期,有安全研究人员发现了一种针对CDN缓存功能的DoS攻击——CPDoS,它有多种变体,不过基本都是通过恶意的HTTP请求头来实现。在攻击成功后,用户就无法正常访问那些使用了CDN的网站。

通过缓存服务器进行DoS

CPDoS瞄准了CDN中的缓存系统,它会向目标网站发送一个包含恶意请求头的HTTP请求,CDN接受到请求后便会直接转发给原网站,并把原网站的响应缓存起来。由于恶意请求头的存在,原网站的响应往往是异常的,但这并不影响CDN对这种异常响应进行缓存,这就导致其他用户在访问同一个页面时会直接看到缓存中的异常响应。这就是CPDoS攻击。

15e8f2a48c4db6e7796c51028cb721d0.png

攻击的变种

来自科隆应用科学大学和德国汉堡大学的Hoai Viet Nguyen、Luigi Lo Iacono和Hannes Federrath展示了CPDoS攻击的三种变体:

  • HTTP Header Oversize (HHO)
  • HTTP me ta Character (HMC)
  • HTTP Method Override (HMO)

在HHO类型的CPDoS攻击中,攻击者主要利用服务器对HTTP请求头大小的限制来发起攻击。

如果CDN所转发的HTTP请求头大于原服务器定义的尺寸,则攻击者可以通过发送包含多个巨大请求头的请求来发动攻击。

例如在下图,CDN转发一个具有多个请求头的HTTP请求,原服务器被成功阻塞,返回一个400 Bad request错误页面,被缓存系统所存储。

ddffa9d0eb82e25839b1df12a9a930e8.png

为了更好地说明这个场景,研究人员还制作了一个视频,针对一个托管在Amazon CloudFront上的应用发起测试。

https://vimeo.com/368153261

第二种HMC类型的CPDoS攻击,是利用某些特殊字符来使服务器发生异常,例如、、a等。当把这些字符塞入请求头时,服务器也有可能发生异常,返回错误页面。接着被CDN缓存,影响正常用户的访问。

f240ac674ebb5f9dbf936397a5c54ee2.png

而第三种HMO类型的CPDoS攻击,是通过注入和原始请求不同的请求类型来转换请求类型,使服务器无法处理请求,从而返回异常结果。这主要基于原服务器的安全策略,有些服务器并不支持请求类型转换。

ae35b0e4a53921a33e241bf4a922a061.png

在上图中,GET请求被转换为POST请求,而原服务器又无法处理该页面的POST请求,最终返回异常页面。

在错误页面被缓存后,正常用户对于目标页面的GET请求都出现异常。

研究人员也使用了Postman来演示了这种功能。

https://vimeo.com/368153252

影响

CDN服务器往往会影响一大片区域(甚至跨国),而CPDoS攻击所生成的错误页面也往往会影响多个缓存服务器。

当然,研究人员发现并不是所有的边缘服务器都受到这种攻击的影响,一些用户仍然可收到来自原网站的正常页面。

在整个测试中,研究人员使用了TurboBytes Pulse(全局DNS、HTTP和traceroute测试工具)和一个网站速度测试服务来统计结果。

最后发现来自德国(法兰克福)的针对科隆目标的CPDoS攻击影响了欧洲和亚洲部分地区的CDN服务器。

d14036379fa98ac45505446e82d6bbac.png

解决方法

要防御这种攻击,对于CDN来说,就最简单的方法就是只缓存404,405,410,501之类的常见的,符合标准的错误页面。

当然,这也需要网站开发人员的配合,切勿把所有错误都归类为同一个错误代码和页面。

此外还可以在WAF之类的安全设备上加强防御,阻止恶意内容的通过。

CDN现状

从这三位研究人员进行的测试来看,亚马逊的CloudFront CDN似乎是最容易受到CPDoS攻击的。

在研究人员测试的25种相关服务和产品中,只有3种不受CPDoS攻击影响:Apache TS、谷歌云存储和Squid。

124160ab2b7ba925cb0d29702682f1c5.png

微软在6月份更新了IIS服务,并发布了关于该漏洞的详细信息(CVE-2019-0941)。Play framework也在版本1.5.3和1.4.6中针对HMO攻击进行了修复。

但并不是所有供应商的反应都很迅速,Flask的开发者就一直无回复。

亚马逊的安全团队也承认了CloudFront确实易受该攻击影响,并在默认情况下禁止缓存400 Bad Request错误页面。

Hoai Viet Nguyen、Luigi Lo Iacono和Hannes Federrath也在一篇题为Your Cache Has Fallen: Cache-Poisoned Denial-of-Service Attack的文章中详细介绍了该攻击。

他们也将在11月14日伦敦举行的第26届ACM计算机与通信安全(CCS)会议上发布报告。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_769459.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nand flash多少次写_这个比QQ空间还古老的网站,是多少网友的精神家园?

你多久没有上网冲浪了?你还记得第一次和因特网的亲密接触吗?仔细算算那些诞生于 1999 年的网站,已经过了二十岁了。这些网站就像一座孤岛,在飞速发展的网络时代,这么多年来一直坚守着自己 QQ 空间式文艺复兴的设计。二…

php网站建设步骤,「php环境搭建」简单6个步骤教会你快速搭建一个网站(windows环境) - seo实验室...

php环境搭建三、配置php环境1、同样php模块选择也是免安装版,直接解压到自己习惯的文件夹中配置即可,提醒站长在官网上下载的时候也要注意系统和VC环境支持。解压路径如下图:进入php的解压目录,找到php.ini-production或者php.ini…

二次元论坛php,Discuz动漫二次元风格网站模板商业版

模板简介Discuz动漫二次元风格网站模板商业版,GBK商业版。1、本模板为门户论坛个人空间形式,其中个人空间模板需要单独购买,点击购买,美化N多默认模板页面2、全新设计的标签页,标签页帖子图文调用3、论坛首页&#xff…

Linux 网站部署——如何部署自己的论坛网站(简单易上手)

首先我们需要部署自己的网站需要的几个工具及服务: 1.云服务器 阿里云、华为云、腾讯云都可以,记下自己的IP地址; 2.X-shell工具; 3.代码包(在这里我们以部署一个开源的BBS网站为例子)。 首先&#xff0c…

Linux网站部署——从零到一部署一个自己的电商网站

上一篇关于部署论坛的网站已经发出,这次我们来部署一下电商网站,前期的准备工作请参考上篇文章:https://editor.csdn.net/md/?articleId114901490 我在这里直接借用了一个云服务器。如果还是自己服务器的同学可以直接使用我们的第一条命令&…

Linux网站服务——静态站点动态站点

网站服务 概念: 网站(Website)是指在因特网上根据一定的规则,使用HTML(标准通用标记语言)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种工具,人们可以通过网站来提供相关的网络服务。…

Linux部署网站域名服务——DNS网站搭建域名购买

概念 域名服务作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 hosts文件(互联网发展初期的服务) windows系统 C:\Windows\System32\drivers\etc\host…

Linux HTTP网站——网站基础服务详解

HTTP HTTP(Hyper Text Transfer Protocol)超文本传输协议,用于万维网WWW.(World Wide Web)与浏览器的传输协议。(基于TCP/IP通信协议) HTTP工作原理 http协议工作于客户端、服务端架构上&#…

Linux NginxHTTPS——HTTPS介绍、加密算法、SSL协议、HTTP风险、Nginx HTTPS部署(安全的网站部署)

HTTPS介绍 HTTPS(HyperText Transfer Protocol over Secure Socket Layer),Google 为了保证数据安全很早就开始启用了。 近些年互联网巨头,开始大力推行 HTTPS, 国内外的大型互联网公司基本也都已经启用了全站 HTTPS。…

一章——Web网站服务(一)(应用—linux高级管理)

三期总目录链接 目录 1、Apache 的起源 2、准备工作centOS7机器一台 3、把httpd添加为系统服务 4、httpd服务和 dns服务结合使用 域名访问网站 就www.aaa.com为例 常用的全局配置参数 常用的全局配置参数(续) Require配置项的常见语法 1、Apach…

二章——Web 网站服务(二)(应用——linux高级管理)

三期总目录链接 目录 一、基本理论 (一)、客户机地址限制 (二)、用户授权限制 二、实验要求 1、默认情况 2、只允许客户端192.168.1.200访问网站应该如何修改配置文件并验证 3、进行用户授权配置,允许aaa 和bo…

二章——Web网站服务(二)2.2(应用——linux高级管理)

三期总目录链接 目录 一、构建虚拟Web主机 案例1: 构建www.a1.com 和www.a1.com 这种基于域名的虚拟主机 案例2:构建基于地址的虚拟主机 (192.168.1.2 和 192.168.1.12) 案例3: 添加基于端口的虚拟主机 &#xf…

四章——Nginx网站服务(应用——linux防护与群集)

三期总目录链接 目录 一、Nginx服务 1、安装及运行控制 2、配置文件nginx.conf 2.1全局配置 解释: 2.2 I/O事件配置 解释: 2.3 HTTP配置 解释: 3、访问状态统计及虚拟主机应用 二、LNMP架构及应用部署 1、搭建LNMP网站平台 1.1…

rust全息要啥才能做_网站优化要怎么做才能排名靠前-乐云SEO

对于一个网站来说,网站优化是重要的,只有在搜索引擎中的关键词排名靠前才能获得更多的点击量。一个没有用户点击量的网站,即使它是完美的,是徒劳的。那么,我们如何在百度或其他搜索引擎的主页上获得网站的关键词排名呢…

实验楼网站mysql_进阶篇 - MySQL 常用查询

实验9 进阶篇-MySQL常用查询一、简介1. 内容:通过一个经销商数据库实例学习并实践多种在数据库中查找记录的方法。2. 知识点:表查询操作。二、步骤1. 启动并连接MySQL。创建切换数据库。创建表并插入数据。mysql> CREATE TABLE shop (-> article I…

java 爬虫 登陆_Java 爬虫遇到需要登录的网站,该怎么办?

这是 Java 网络爬虫系列博文的第二篇,在上一篇 Java 网络爬虫,就是这么的简单 中,我们简单的学习了一下如何利用 Java 进行网络爬虫。在这一篇中我们将简单的聊一聊在网络爬虫时,遇到需要登录的网站,我们该怎么办&…

php行业八卦,Phpwind肖睿哲:与网站主合作信任最重要

(图为:Phpwind副总裁肖睿哲)【TechWeb消息】12月4日下午消息,Phpwind副总裁肖睿哲在“2010年中国地方与行业网站高峰论坛”上接受TechWeb专访时表示,与新浪微博合作产生利益之后,网站主将会与新浪微博七三分成,“Phpwi…

java请求爬取https网站报错javax.net.ssl.SSLHandshakeException的解决办法

前言 在爬取https网站的时候,今天遇到了一个之前没有见过的异常javax.net.ssl.SSLHandshakeException,具体细节请看如图 2020-06-01 23:18:17.032 DEBUG org.springframework.web.servlet.DispatcherServlet - Successfully completed request javax.ne…

不同网站不同网卡_不同时代网站设计制作的技巧

对于大多数网页设计师来说,基于特定的目标受众来计划一个网站设计项目是显而易见的。它可能是为那些喜欢苏打水或购买电子游戏或对运动鞋有亲和力的人。但是另一个需要考虑的问题经常被忽略——为不同的时代的用户设计。年龄会影响用户如何使用网站、应用程序和移动…

win7网站服务器错误怎么解决方法,win7系统网页提示network error怎么办|win7 network error的解决方法...

‍‍有很多win7旗舰版用户在访问网页的时候出现无法访问的情况,并提示network error,我们遇到在win7系统网页提示network error怎么办呢?会出现network error很有可能是网络参数发现错误或接触DNS服务器发生错误导致二级网页打不开&#xff0…