了解Web DDoS海啸攻击的4个维度
我们都知道近年来网络攻击的数量和频率急剧上升,针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击,每个人都应该提前做好被攻击的准备并采取适当的保护措施。
哪些可以归类为 Web DDoS 海啸攻击?
要了解Web DDoS海啸攻击(以及一般的 HTTP洪水攻击),首先有必要了解这些攻击的所涉及的4个维度:攻击量、持续时间、使用的僵尸网络的特征以及攻击达成方式。
一、攻击量
在过去的几个月中,各种第三方组织都观察到了若干次攻击量达到数百万次RPS(每秒请求)的HTTPS Flood 攻击。其中一些大规模的攻击甚至达到了数千万RPS。这些巨型RPS攻击级别代表了极端的 HTTPS 洪水,而且大容量的RPS攻击数量还在不断增长。我们有理由相信,地球上几乎所有 Web 应用程序、Web 服务或任何其他在线资产都可能成为这波大规模 Web DDoS 海啸攻击的目标!Web DDoS 海啸防护的需求确实是我们行业的“必备”需求。
Web DDoS 海啸的兴起不仅极大地影响了在线资产所有者,还极大地影响了WAF和DDoS 防护解决方案供应商,我们有责任保护客户的在线资产和自己的基础设施免受这些复杂的高RPS DDoS 攻击。构建网络海啸攻击检测和缓解服务需要特别关注、专业知识和对适当基础设施的大量投资。目标是在实现实际的客户保护之前,消除保护基础设施因攻击的大量流量而不堪重负和饱和的情况。只有高容量的 L7 实体(网络代理等)以及高度架构和坚固耐用的保护基础设施,才能成功应对如此大量的攻击量。 只有在DDoS和L7 AppSec保护方面技术精湛且经验丰富的供应商(比如火伞云)才能满足Web DDoS 海啸新时代所产生的L7基础设施和攻击缓解要求。
二、攻击持续时间
Web DDoS 海啸攻击可能持续几秒到几小时或者几天不等。虽然一些臭名昭著的超高RPS(数百万)攻击通常持续不到一分钟,但最近的其他Web DDoS海啸攻击也有不少持续了几分钟或几个小时,火伞云的客户也有数起经历过持续数小时的海啸袭击。
除了持续时间之外,海啸攻击的强度也急剧上升,在多数情况下,攻击会在不到10秒的时间内瞬间爆发到“全力”,然后就停留在那里。人们可以想象一个未受保护的网站在高流量期间突然在不到10秒的时间内跃升至50-100万RPS的结果:该网站将关闭并且对合法用户没有反应,客户不得不转向另一个提供商来获取他们所需的服务。
抵御海啸袭击不是一件容易的任务,它需要高度的DDoS和AppSec保护专业知识。每个Web DDoS 海啸防护基础设施都必须能够应对和吸收传入负载的急剧增加,准备好在不同的时间段内保持此容量,并以高效且经济高效的方式完成这一切,而且这都需要在保证客户在线资产安全启动和运行的同时完成。
三、所使用的僵尸网络的特征
以下是火伞云总结的主要与攻击检测和缓解相关的维度:
首先,我们应该考虑僵尸网络的规模。 最主要指标是发起攻击的IP数量,使用的攻击者IP数量通常可以从数千到数十万不等。IP 可以分布在全球各地,也可以分配给众多自治系统编号 (ASN),这些编号通常由服务提供商拥有,用于标识互联网上存在的网络。 因此,在 Web DDoS 海啸期间,每个攻击者的 IP 都可以生成相似的、更高或更低的RPS水平,合法客户端的平均RPS水平也是如此。因此,将流量最大的IP(即在某个时间范围内收到的RPS最高的客户端IP)视为攻击者作为缓解技术(包括提供其他传统缓解方法,例如具有高RPS级别的速率限制源 IP)可能会产生不必要的误报。在火伞云看到的一些现实案例中,攻击者从大规模僵尸网络中生成Web DDoS海啸攻击,且每个单独的机器人都只会生成非常低的 RPS 量,以逃避用于缓解此类攻击的简单方法。
Web DDoS海啸也可能源自各种类型的源可能分配或拥有的源IP。最常见的攻击可能是攻击者的IP属于公共代理的攻击,例如开放代理、匿名代理或开放VPN。攻击者通常使用这种方式来混淆他们的真实身份。 此外,攻击者的 IP 可能属于合法用户(即属于无辜、不知情的用户的家庭路由器)、云提供商IP、网络托管提供商IP 和受感染的物联网设备。攻击者主要使用这些不同类型的IP来混淆自己,以免被识别和简单地阻止。因此,如果仅使用威胁情报信息根据IP地址从属关系来缓解攻击,则不会检测到并缓解攻击。 当攻击来自合法的住宅 IP(大多数在线服务的合法客户端)时,威胁情报源资源库就无济于事了。仅基于 IP 地址情报构建缓解策略可能会产生不必要的漏报。
而且为了构建海啸级的 HTTP 攻击,不同的黑客团体有时会合作并同时攻击单个受害者。因此,一次攻击中可能会出现多种类型的攻击IP地址和大量RPS,这使得处理起来变得复杂且具有挑战性。
四、攻击达成方式
最开始,Web DDoS 海啸攻击是由一个简单的HTTP请求组成的,该攻击是由大量传输或复制的单个事务构建。例如,它可以是对“/”的简单HTTP GET以及一组非常基本的HTTP 标头,例如Host和 Accept。 一方面,这些交易看起来合法,因此传统WAAF或其他现有手段不太可能缓解攻击。另一方面,缓解实体可能能够简单地阻止或过滤此特定的单个事务,然后再将其传递到受保护组织的在线资产。 在这种情况下,攻击将会减轻。然而,如今 Web DDoS海啸变得更加复杂,攻击者通过构建更复杂和真实的交易来避免这种简单的检测和缓解。此外,他们严重依赖随机化。网络海啸攻击中出现了各种各样的攻击交易结构。攻击者制作更真实、更合法的交易,其中包含一组“看起来合法”的查询参数、更多HTTP标头、用户代理和引用标头、Web Cookie 等。攻击请求具有各种HTTP方法(POST、PUT、HEAD等),并定向到受保护应用程序内的多个路径。攻击者生成的交易的许多属性是连续随机的,有时是基于单个交易的。使用这种高水平的随机化使得简单的缓解措施变得不切实际。海啸 DDoS攻击表现为合法的流量请求,并且不断随机化。因此,当旨在完美缓解时,没有简单的、预定义的签名或基于规则的机制来提供攻击缓解,因为请求看起来合法并且不表明恶意意图。
使这些攻击如此难以缓解的另一个原因是,即便加密的流量被解密,它看起来仍然是合法的。Web DDoS 海啸攻击者利用大量复杂的规避技术来绕过传统的应用程序保护。为了增加这些攻击的复杂性,攻击者在攻击期间改变其攻击模式或同时使用多个攻击请求结构。当攻击由多个精心策划的僵尸网络发起且攻击者的多种策略同时出现时,情况会变得更加复杂。由于所有这些攻击者策略,Web DDoS 海啸攻击可能包含数百万个不同的交易,且所有这些交易看起来都是合法的。如果不将这些攻击视为一种零日攻击,并专门使用一组预定义的过滤器来缓解攻击,则可能会导致缓解过程中出现大量不必要的漏报。想象一下假如有一次高达300万次RPS攻击,其中误报率为1%;也一样会带来许多在线资产无法承受流量而泄漏的影响。
抵御Web DDoS海啸攻击的合适选项
了解Web DDoS 海啸攻击的不同维度很重要,但更重要的是了解如何保护您的组织免受此类攻击。为了防范这些攻击,组织需要一种能够快速实时适应攻击活动的解决方案。常规的本地化或基于云的DDoS和 WAAF解决方案无法做到这一点:因为这些威胁是动态的,以至于它们的频率无法预测,攻击向量是随机的,源IP和其他参数会发生变化,并且它们承受这些变化的能力可以长期保持。
只有具有自学习和自动调整功能的基于行为的算法才能检测和减轻这些攻击。我们行业领先的应用程序保护产品和解决方案的开发始终牢记一个目标:在攻击压垮基础设施之前检测并阻止攻击,从而确保客户的安全。
相关文章:

了解Web DDoS海啸攻击的4个维度
我们都知道近年来网络攻击的数量和频率急剧上升,针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击,每个人都应该提前做好被攻击的准备并采取适当的保护措施。 哪些…...

【数学建模】逻辑回归算法(Logistic Resgression)
逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。 我认为ÿ…...

Hadoop HA集群两个NameNode都是standby或者主NameNode是standby,从NameNode是active的情况集锦
文章目录 背景架构HDFS HA配置错误原因解决方案方案一方案二方案三(首先查看自己各参数文件是否配置出错) 后记补充failovertransitionToActive 常用端口号及配置文件常用端口号hadoop3.xhadoop2.x 常用配置文件 这里说一下配置Hadoop HA集群可能出现的两…...

[Go版]算法通关村第十一关白银——位运算的高频算法题
目录 专题1:位移的妙用题目:位1的个数(也被称为汉明重量)解法1:遍历所有位,判断每个位的数字是否是1Go代码 解法2:依次消除每个1的位 numnum&(num-1)Go代码 题目:比特位计数思路…...

Swift 基础
工程目录 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 点击下载代码:swift-01...

IDEA的常用设置,让你更快速的编程
一、前言 在使用JetBrains的IntelliJ IDEA进行软件开发时,了解和正确配置一些常用设置是非常重要的。IDEA的强大功能和定制性使得开发过程更加高效和舒适。 在本文中,我们将介绍一些常用的IDEA设置,帮助您更好地利用IDEA进行开发。这些设置包…...

docker 镜像的导出与导入 save 与 load
一、镜像导出 docker save 导出 将系统中的镜像保存为压缩包,进行文件传输。使用 docker save --help 查看命令各参数,或者去docker官网查看.以 hello-world镜像为例。 A:将镜像保存为tar包 docker save image > package.tar docker sa…...

WPF显示初始界面--SplashScreen
WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。 对于WPF中…...

08- AD/DA模/数转换
AD/DA模/数转换 8、AD/DA模/数转换8.1 AD转换注意 示例8.2 DA转换DAC转换原理: 8.3 PWM的DAC 8、AD/DA模/数转换 8.1 AD转换 通道引脚对照表: ADC的引脚: 规则通道和注入通道: 各个通道可以在单次、连续、扫描或者间断模式里…...

DTC服务(0x14 0x19 0x85)
DTC相关的服务有ReadDTCInformation (19) service,ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…...

【国护攻防场景下的沙箱技术对比】
目录 前言 沙箱技术分析 总结 前言 真高兴呀,又是受到红队大佬青睐的一天,今天下午很荣幸的收到了来自红队大佬的恶意投喂,把我们各位在座100年工作经验的蓝队师傅们吓得赶忙拔掉自己的电脑电源,断掉自己的网线,…...

springboot综合案例第三课
SpringSecurity入门 什么是SpringSecurity Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。 (https://projects.spring.io/spring-security/) Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别 是使…...

面试经典150题——罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&#x…...

第三篇|金融人数据来源有哪些
数据对于金融行业真的很重要,那么金融人有哪些途径查数据呢? 国内: 1. 国家统计局 这个应该是无论什么行业都使用最频繁的网站,每个月都会固定发上个月资产投资数据 、工业增加值和利润数据等常规数据,其他数据也会…...

爬虫逆向实战(二)--某某观察城市排行榜
一、数据接口分析 主页地址:某某观察 1、抓包 通过抓包可以发现数据接口是multi 2、判断是否有加密参数 请求参数是否加密? 无请求头是否加密? 无cookie是否加密? 无响应数据是否加密? 通过查看“响应”板块可以…...

Grafana Prometheus 通过JMX监控kafka 【2023最新方式】
第三方kafka exporter方案 目前网上关于使用Prometheus 监控kafka的大部分资料都是使用一个第三方的 kafka exporter,他的原理大概就是启动一个kafka客户端,获取kafka服务器的信息,然后提供一些metric接口供Prometheus使用,随意它…...

发布游戏,进行打包。(Unity)
做到这里,我们的项目基本功能已经完成了,如果你还想使项目功能更加完善,可以自己思考如何补充,充分发挥并进行优化使效果达到更加美好。 首先呢,我们这里是说打包Window电脑游戏,我们直接点击菜单栏文件-&…...

我的C++待办事项
2023年8月17日 内存管理部分 学习智能指针 写一篇关于怎么在Linux中安装和使用vclgrind的博客(2023年8月17日下午完成) 拍一个关于在Linux中安装和使用vclgrind的视频 在Windows上怎么检测内存泄漏 怎么使用Address Sanitizer 在Linux上如何使用gc…...

浙大数据结构第七周之Saving James Bond - Hard Version
题目详情: This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the center of a lake f…...

线程同步条件变量
为何要线程同步 在线程互斥中外面解决了多线程访问共享资源所会造成的问题。 这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。 什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能…...

jeecgboot-vue3 查询区 label 文字居左实现
以系统管理中的系统角色界面为例 操作步骤 1. 通过路由或者工具找到当前代码所在的文件 src/views/system/role/index.vue 2. 找到 useListPage 调用,fromConfig 对象加入 labelWidth 和 rowProps 属性 formConfig: {labelWidth: 65, // 设置所有的label宽rowPr…...

CentOS系统环境搭建(五)——Centos7安装maven
centos系统环境搭建专栏🔗点击跳转 Centos7安装maven 下载压缩包 maven下载官网 解压 压缩包放置到/usr/local tar -xvf apache-maven-3.9.2-bin.tar.gz配置环境变量 vim /etc/profile在最下面追加 MAVEN_HOME/usr/local/apache-maven-3.9.2 export PATH${MAV…...

.eslintrc配置
ESLint 标准规则 /*** AlloyTeam ESLint 规则** 包含所有 ESLint 规则* 使用 babel-eslint 作为解析器** fixable 表示此配置支持 --fix* off 表示此配置被关闭了,并且后面说明了关闭的原因*/module.exports {parser: babel-eslint,parserOptions: {ecmaVersion: 2…...

LangChain手记 Models,Prompts and Parsers
整理并翻译自DeepLearning.AILangChain的官方课程:Models,Prompts and Parsers(源码可见) 模型,提示词和解析器(Models, Prompts and Parsers) 模型:大语言模型提示词:构建传递给模…...

Cannot resolve plugin ... maven插件和依赖无法下载解决方法
将 maven/conf/settings.xml 配置文件中的mirror修改成如下即可 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"…...

【skynet】skynet 服务间通信
写在前面 skynet 服务之间有自己的一套高效通信 API 。本文给出简单的示例。 文章目录 写在前面准备工作编写代码运行结果 准备工作 首先要有一个编译好,而且工作正常的 skynet 。 编写代码 在 skynet/example 目录编写一个配置文件,两个代码文件。 …...

Flink的Standalone部署实战
在Flink是通用的框架,以混合和匹配的方式支持部署不同场景,而Standalone单机部署方便快速部署,记录本地部署过程,方便备查。 环境要求 1)JDK1.8及以上 2)flink-1.14.3 3)CentOS7 Flink相关信…...

open cv学习 (一)像素的操作
open cv 入门 像素的操作 demo1 import cv2 import os import numpy as np# 1、读取图像 # imread()方法# 设置图像的路径 Path "./img.png" # 设置读取颜色类型默认是1代表彩色图 0 代表灰度图 # 彩色图 flag 1 # 灰度图 #flag 0# 读取图像,返回值…...

基于C#的消息处理的应用程序 - 开源研究系列文章
今天讲讲基于C#里的基于消息处理的应用程序的一个例子。 我们知道,Windows操作系统的程序是基于消息处理的。也就是说,程序接收到消息代码定义,然后根据消息代码定义去处理对应的操作。前面有一个博文例子( C#程序的启动显示方案(无窗口进程发…...

C语言刷题指南(一)
📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 👍 收藏 ⭐留言 &am…...