DDoS 攻击详解

DDoS 攻击详解一 介绍 1 什么是 DDoS 全称 DistributedD 中文意思为 分布式拒绝服务 就是利用大量合法的分布式服务器对目标发送请求 从而导致正常合法用户无法获得服务 通俗点讲就是利用网络节点资源如 IDC 服务器 个人 PC 手机 智能设备 打印机 摄像头等对目标发起大量攻击请求 从而导致服务器拥塞而无法对外提供正常服务 只能宣布 gameover 2 为什么 DDoS 备受青睐不同于其他恶意篡改数据或劫持类攻击 DDoS 简单粗暴 可以达到直接摧毁目标的目的 另

一、介绍

1.什么是DDoS

全称 Distributed Denial of Service,中文意思为 “分布式拒绝服务”,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。通俗点讲就是利用网络节点资源如:IDC 服务器、个人 PC、手机、智能设备、打印机、摄像头等对目标发起大量攻击请求,从而导致服务器拥塞而无法对外提供正常服务,只能宣布 game over。

2.为什么DDoS备受青睐

不同于其他恶意篡改数据或劫持类攻击,DDoS 简单粗暴,可以达到直接摧毁目标的目的。另外,相对其他攻击手段 DDoS 的技术要求和发动攻击的成本很低,只需要购买部分服务器权限或控制一批肉鸡即可,而且攻击相应速度很快,攻击效果可视。另一方面,DDoS 具有攻击易防守难的特征,服务提供商为了保证正常客户的需求需要耗费大量的资源才能和攻击发起方进行对抗。这些特点使得 DDoS 成为黑客们手中的一把很好使的利剑,而且所向霹雳。

从另一个方面看,DDoS 虽然可以侵蚀带宽或资源,迫使服务中断,但这远远不是黑客的正真目的。所谓没有买卖就没有杀害,DDoS 只是黑客手中的一枚核武器,他们的目的要么是敲诈勒索、要么是商业竞争、要么是要表达政治立场。在这种黑色利益的驱使下,越来越多的人参与到这个行业并对攻击手段进行改进升级,致使 DDoS 在互联网行业愈演愈烈,并成为全球范围内无法攻克的一个顽疾。

二、DDoS 的攻击方式

一种服务需要面向大众就需要提供用户访问接口,这些接口恰恰就给了黑客有可乘之机,如:可以利用 TCP/IP 协议握手缺陷消耗服务端的链接资源,可以利用 UDP 协议无状态的机制伪造大量的 UDP 数据包阻塞通信信道…… 可以说,互联网的世界自诞生之日起就不缺乏被 DDoS 利用的攻击点,从 TCP/IP 协议机制到 CC、DNS、NTP 反射类攻击,更有甚者利用各种应用漏洞发起更高级更精确的攻击。

(一)资源消耗类攻击

Syn Flood:SYN- Flood 攻击是当前网络上常见的 DDoS 攻击,它就是利用了 TCP 协议实现上的一个缺陷,通过向网络服务所在端口发送大量 的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在 1996 年就被发现,但至今仍然显示 出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。它的数据包特征通常 是,源发送了大量的 SYN 包,并且缺少三次握手的最后一步握手 ACK 回复。

Syn Flood原理:攻击者首先伪造地址对 服务器发起 SYN 请求,服务器回应 (SYN+ACK) 包,而真实的 IP 会认为,我没有发送请求,不作回应。服务 器没有收到回应,这样的话,服务器不知 道 (SYN+ACK) 是否发送成功,默认情况下会重试 5 次(tcp_syn_retries)。这样的话,对于服务器的内存,带宽都有很大的消耗。攻击者 如果处于公网,可以伪造 IP 的话,对于服务器就很难根据 IP 来判断攻击者,给防护带来很大的困难。

(二)服务消耗性攻击

相比资源消耗类攻击,服务消耗类攻击不需要太大的流量,它主要是针对服务的特点进行精确定点打击,如 web 的 CC,数据服务的检索,文件服务的下载等。这类攻击往往不是为了拥塞流量通道或协议处理通道,它们是让服务端始终处理高消耗型的业务的忙碌状态,进而无法对正常业务进行响应

反射攻击也叫放大攻击,该类攻击以 UDP 协议为主,一般请求回应的流量远远大于请求本身流量的大小。攻击者通过流量被放大的特点以较小的流量带宽就可以制造出大规模的流量源,从而对目标发起攻击。反射类攻击严格意义上来说不算是攻击的一种,它只是利用某些服务的业务特征来实现用更小的代价发动 Flood 攻击

三、DDoS 防护

(一)DDoS防护困难

在过去十几年中,网络基础设施核心部件从未改变,这使得一些已经发现和被利用的漏洞以及一些成熟的攻击工具生命周期很长,即使放到今天也依然有效。另一方面,互联网七层模型应用的迅猛发展,使得 DDoS 的攻击目标多元化,从 web 到 DNS,从三层网络到七层应用,从协议栈到应用 App,层出不穷的新产品也给了黑客更多的机会和突破点。再者 DDoS 的防护是一个技术和成本不对等的工程,往往一个业务的 DDoS 防御系统建设成本要比业务本身的成本或收益更加庞大,这使得很多创业公司或小型互联网公司不愿意做更多的投入。

(二)DDoS 防护手段

DDoS 的防护系统本质上是一个基于资源较量和规则过滤的智能化系统,主要的防御手段和策略包括:

1.资源隔离

资源隔离可以看作是用户服务的一堵防护盾,这套防护系统拥有无比强大的数据和流量处理能力,为用户过滤异常的流量和请求。如:针对 Syn Flood,防护盾会响应 Syn Cookie 或 Syn Reset 认证,通过对数据源的认证,过滤伪造源数据包或发动攻击的攻击,保护服务端不受恶意连接的侵蚀。资源隔离系统主要针对 ISO 模型的第三层和第四层进行防护。

2.用户规则

从服务的角度来说 DDoS 防护本质上是一场以用户为主体依赖抗 D 防护系统与黑客进行较量的战争,在整个数据对抗的过程中服务提供者往往具有绝对的主动权,用户可以基于抗 D 系统特定的规则,如:流量类型、请求频率、数据包特征、正常业务之间的延时间隔等。基于这些规则用户可以在满足正常服务本身的前提下更好地对抗七层类的 DDoS,并减少服务端的资源开销。

3.大数据智能分析

黑客为了构造大量的数据流,往往需要通过特定的工具来构造请求数据,这些数据包不具有正常用户的一些行为和特征。为了对抗这种攻击,可以基于对海量数据进行分析,进而对合法用户进行模型化,并利用这些指纹特征,如:Http 模型特征、数据来源、请求源等,有效地对请求源进行白名单过滤,从而实现对 DDoS 流量的精确清洗。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178912.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:14
下一篇 2026年3月26日 下午4:15


相关推荐

  • Vue的axios封装

    Vue的axios封装Vue 的 axios 封装在 vue 项目中 经常需要封装 axios 文档又看不懂 所以总结一下方法 安装 npminstallax 安装 axios 引入在项目的 src 目录中 新建一个 request 文件夹 然后在里面新建一个 http js 和一个 api js 文件 http js 文件用来封装我们的 axios api js 用来统一管理我们的接口 在 http js 中引入 axiosimporta axios 引入 axiosimportQ

    2025年7月10日
    6
  • PHP设计模式-工厂模式[通俗易懂]

    PHP设计模式-工厂模式[通俗易懂]PHP设计模式-工厂模式一、工厂模式概念工厂模式,顾名思义,像工厂的流水线,固定的规格,固定的材料,做固定的事情。工厂模式分为三种:简单工厂、工厂方法、抽象工厂,三种工厂的区别是,抽象工厂由多条产品线,而工厂方法只有一条产品线,是抽象工厂的简化。而工厂方法和简单工厂相对,大家初看起来好像工厂方法增加了许多代码但是实现的功能和简单工厂一样。但本质是,简单工厂并未严格遵循设计模式的开闭原则,当需要增加新产品时也需要修改工厂代码。但是工厂方法则严格遵守开闭原则,模式只负责抽象工厂接口,具体工厂交给客.

    2022年7月25日
    16
  • 关于 HikariPool-1 – Starting… 启动问题

    关于 HikariPool-1 – Starting… 启动问题问题今天开了一台新的阿里云服务器,启动Docker容器内的Springboot程序,数据库(阿里云的)一直死活连不上去。2020-12-0114:39:56.178INFO[svc-activity,,,]8—[main]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Starting…2020-12-0114:49:57.493ERROR[svc-activity,,,]8-

    2022年6月23日
    344
  • CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突

    CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突当RadioGroup与CompoundButton同时存在且都要监听事件时CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener就会出现冲突,导入任何一个包importandroid.widget.RadioGroup.OnCheckedChangeListen…

    2022年6月5日
    38
  • python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [

    python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [使用 python 版本 3 7 首先先了解下 python3 7 中的下标 python 下标有两套 一套是正的 一套是负的 a python 中的 python 的下标可以如下组 python 正下标 012345 负下标 6 5 4 3 2 1 对应位置的正下标 负下标 len a 使用正下标时 下标 i

    2026年3月18日
    2
  • Netfiex Conductor安装入门指南以及切换为mysql数据源

    Netfiex Conductor安装入门指南以及切换为mysql数据源通过 git 下载源码到本地 由于 Conductor 依赖于 gradle 编译 我们可以通过两种方式安装 gradle 通过命令 gradlewserve 自动下载 有点慢不建议 下载安装包 解压并配置环境变量到 bin 目录问题 如果你有数据源为 mysql 的需求可以按如下进行更改 publicinterf StringDB

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号