文章目录
- 拒绝服务攻击概述
- 拒绝服务攻击简介
- 分布式拒绝服务攻击
- DDoS与DoS的关系
- 拒绝服务攻击分类
- 剧毒包型拒绝服务攻击
- WinNuke攻击
- 泪滴(Teardrop) 攻击
- Land 攻击
- Ping of death攻击
- 循环攻击
- 风暴型拒绝服务攻击
- 风暴型DoS攻击
- 风暴型攻击用的分组
- 直接风暴型DDoS
- PING风暴攻击(直接型)
- SYN风暴攻击(直接型)
- TCP连接耗尽攻击(直接型)
- UDP风暴攻击(直接型)
- HTTP风暴攻击(直接型)
- 对邮件系统的DoS攻击(直接型)
- 反射风暴型DDoS
- 反射型DDoS:常用协议
- NTP
- NTP DDoS(DRDoS)
- SSDP DDoS
- UPnP
- 四种主要反射源攻击的应对策略
- 其它风暴型DDoS
- 将CDN变成DDoS加农炮
- HTTP Rang攻击
- SBR攻击原理
- OBR攻击
- 重定向DoS攻击
- 僵尸网络
- 拒绝服务攻击的作用
- 拒绝服务攻击检测及响应技术
- 检测技术
- 响应技术
- 防范策略
- DDoS 防御:流量清洗
- CDN 防护
拒绝服务攻击概述
拒绝服务攻击简介
- 拒绝服务攻击:攻击者通过某种手段,造成计算机或网络不能正常运转向用户提供服务或者使服务质量降低。
- 服务(Service):系统提供为用户服务。
- 拒绝服务(DoS: Denial of Service):任何使得服务可用性降低或者失去可用性的干涉。如: 计算机系统崩溃;带宽耗尽;硬盘被填满。
- 攻击方式:消耗系统或网络资源; 阻断访问路径;更改系统配置。
分布式拒绝服务攻击
- DDoS(Distributed Denial of Service):处于不同位置的多个攻击者同时向一个或多个目标发起拒绝服务攻击。
- 攻击来源的分散性、协同性,攻击力度的汇聚性。
- DDoS成功的原因:
- TCP/IP协议存在漏洞,可以被攻击者利用
- 网络提供Best-Effort服务,不区分数据流量是否是攻击流量
- 网络带宽和系统资源是有限的
DDoS与DoS的关系
- 广义上讲: DDoS属于DoS攻击,且是DoS主流的攻击模式。
- 狭义上讲:DoS指的是单一攻击者针对单一受害者的攻击(传统的DoS), 而DDoS则是多个攻击者向同一受害者的攻击。
拒绝服务攻击分类
- 按照逻辑和物理分类:
- 按攻击的目标分类
- 按攻击方式分类
- 按受害者类型分类
- 按攻击地点分类
- 拒绝服务攻击的属性分类法
- DoS的舞厅分类法:舞伴类、风暴类、陷阱类、介入类
- 舞伴(Partner): 与受害者跳舞
- 风暴(Flood):用大量的噪音来干扰受害者,使之无法听到他人的跳舞邀请
- 陷阱(Trap):只要受害者跳舞的时候就通过设置陷阱阻止其跳舞
- 介入(Intervene):阻止邀请传到受害者,包括阻止舞会的进行
剧毒包型拒绝服务攻击
- 剧毒包或杀手包(Killer Packet) DoS攻击:利用协议本身或其软件实现中的漏洞,通过一些畸形的数据包使受害者系统崩溃,也称为“漏洞攻击”或“协议攻击”。例如:WinNuke攻击、泪滴(Teardrop)攻击、Land攻击、Ping of death 攻击、循环攻击。
WinNuke攻击
- 特征:以带外数据攻击目标端口,导致受害者处理带外数据时出现异常,从而使系统停止响应并在显示上出现蓝屏,又称为“带外攻击”、“蓝屏攻击”。
- 被攻击的端口通常包括:139(NetBIOS)、138、137、113、53
- 实例:Red hat Linux7, Kernel 2.4.7-10
- 较早出现的DoS攻击,以致后来的一段时间内,人们称拒绝服务攻击为“Nuke攻击”
泪滴(Teardrop) 攻击
- 原理:利用异常的数据分片导致接收方在处理分片数据时崩溃,也称为“碎片攻击”。
- Teardrop本是一段用于DoS攻击的程序名,该程序利用Windows95/NT/3.1和低版本的Linux中处理IP分片的漏洞,向受害者发送偏移地址重叠的UDP数据包分片,使得目标机器在将分片重组时出现异常错误,导致目标系统崩溃或重启
- 含有重叠偏移的畸形数据分片
- 利用数据报分片的其他攻击(变种一):小片段攻击,目的不是DoS,而是穿透防火墙
- 原理:通过很小的片段使得防火墙需要检测的信息进入到下一个片段中。
- 例子:对于TCP包,攻击者可以把TCP头分到两个片段中,使TCP的标志(Flag)进入到下一个片段中,从而使得一些通过检测标志位进行过滤的防火墙因找不到标志位而放行。
- 利用数据报分片的其他攻击(变种二):重叠分片攻击,目的不是DoS,而是穿透防火墙
- 原理:防火墙在处理重叠分片时与终端系统(受害者最终目标主机系统)之间可能存在差异性:当重叠时,有的系统是以先到的数据为主,有的系统则是用后到的数据覆盖先前的数据。攻击数据穿过防火墙的前提条件:防火墙重组数据时与受害者主机不同
- 例子:假设受害者主机以后到的数据优先原则处理TCP协议,第一个分片中的TCP服务类型设为端口80(HTTP),这是大多数防火墙允许的,而在第二个分片中以端口23(Telnet)改写第一个分片中的80端口,从而穿过了防火墙!
- 利用数据报分片的其他攻击(变种三):通过分片导致防火墙或IDS的拒绝服务
- 原理:有些防火墙或IDS为检测碎片攻击或其他类型的利用分片的攻击而设置碎片重组:当收到分片数据包时
并不单独检测,而是等待所有的分片都到达(必须缓存已到的分片),重组完成后再检测。 - 攻击:攻击者伪造并发送大量的分片,但却不让这些分片构成完整的数据报以此占用防火墙或IDS的CPU和存储单
元,构成DoS攻击。
Land 攻击
- Land 攻击:原是一段C程序,其功能是向受害者发送TCP SYN包,而这些包的源IP地址和目的IP地址被伪造成受害者的IP地址,源端口和目的端口也是相同的,目标系统在收到这样的包以后可能会挂起、崩溃或重启。
Ping of death攻击
- Ping of death攻击:称为“Ping O’ death”、“死亡之Ping”。
- 原理:利用协议实现时的漏洞[CVE-1999-0128],向受害者发送超长的Ping数据包,导致受害者系统异常。
- 许多操作系统在实现TCP/IP协议栈时规定ICMP包不能超过64 KB (65535),并且在读取包的首部后,要根据该首部里包含的信息来为有效载荷生成缓存
- 当产生畸形的、声称自己的尺寸超过ICMP上限的包也就是加载的数据大小超过64K上限时,就会出现内存分配错误,导致TCP/IP协议栈崩溃,致使接收方死机。
循环攻击
- 循环攻击也称振荡攻击(Oscillate Attack)或乒乓攻击
- 原理:当两个都会产生输出的端口之间建立连接以后,第一个端口的输出成为第二个端口的输入,导致第二个端口产生输出,同时第二个端口的输出又成为第一个端口的输入,如此,一两个端口间将会有大量的数据包产生,导致拒绝服务。
- 典型攻击:Echo Chargen攻击:当运行着Chargen服务的UDP端口(19)收到一个数据包后,会产生一个字符串作为回应。Echo服务的UDP端口(7)收到一个数据包原样返回,这两种服务可被攻击者用来进行循环攻击。
风暴型拒绝服务攻击
风暴型DoS攻击
- 风暴型DoS攻击(带宽攻击):通过大量的“无用”数据包占用过多的资源以达到拒绝服务的目的。分为:直接风暴型攻击、反射攻击(DRDoS)
- DDoS原理:DDoS攻击将造成骨干网络资源浪费、链路堵塞、业务中断
风暴型攻击用的分组
- TCP 洪流(floods):向目标主机发送大量设置不同标志的TCP分组。常被利用的标志包括:SYN, ACK, RST。其中,TCP SYN攻击导致目标主机不断地为TCP连接分配内存,从而使其它功能不能分配到足够的内存。
- ICMP Echo 请求/响应报文:例如,Ping floods向目标主机发送大量的ICMP分组。
- UDP洪流:向目标主机发送大量各种基于UDP协议的应用协议包(如NTP,SSDP,DNS等)。
- 用于风暴型DDoS的常见协议
直接风暴型DDoS
- 现在不是主流,但曾经很风光
- 直接风暴型DDoS攻击原理
PING风暴攻击(直接型)
- 原理:单纯地向受害者发送大量的ICMP回应请求(ICMP Echo Request,即Ping)消息,使受害者系统忙于处理这些消息而降低性能,严重者可能导致系统无法对其他的消息做出响应。
- 需要大规模僵尸网络的支持
- 大多防火墙会过滤ICMP包
SYN风暴攻击(直接型)
- 原理:发送大量SYN报文,但对服务器的SYN+ACK应答报文不作应答,即三次握手的第三次握手无法完成,造成服务器维护大量的半连接列表,消耗服务器半连接资源(一般系统的上限为1024,超过此数则不接受新的连接请求)的攻击方式。
- 需伪造地址,一方面逃避追踪,另一方面为了攻击能成功。
TCP连接耗尽攻击(直接型)
- 原理:通过大量的TCP连接耗尽受害者资源,也称为“空连接攻击”。
- 与SYN风暴的区别:不需要不停地向受害者发起连接
UDP风暴攻击(直接型)
- 原理:向目标主机连续发送大量较长的UDP数据包,占用网络带宽,达到阻塞网络的目的。
- Trinoo攻击:向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃。它并不假冒IP地址,采用的通信端口包括:
- 攻击者主机到主控端主机:TCP 27665
- 主控端主机到代理端主机:UDP 27444
- 通常需要密码:betaaalmostdone。
- 代理端主机到主服务器主机:UDP 31335
HTTP风暴攻击(直接型)
- 原理:用HTTP协议对网页进行的语义上合法的请求,不停地从受害者处获取数据,占用连接的同时占用带宽。进行连接耗尽攻击的一个有效手段是不停地获取受害者网站上的大的文件,从而使得一次请求占用系统更多的资源。
- 缺点:一般要使用真实的IP地址(傀儡主机)。
对邮件系统的DoS攻击(直接型)
- 邮件炸弹:往一个邮件地址或邮件服务器发送大量的相同或不同的邮件,耗尽其存储空间
- 垃圾邮件:不请自来的邮件,目的在于宣传,而不是攻击,但由于数量多,常常造成与DoS同样的效果
反射风暴型DDoS
- 反射攻击又称DRDoS,攻击者伪装成受害人,欺骗路由器或服务器产生大量响应,进而攻击受害者ACK应答、DNS响应数据、NTP及SNMP等协议的响应数据等都可以成为攻击方式。
反射型DDoS:常用协议
- 用作反射型DDoS的协议特点:
- 互联网上有很多可探测到的支持该协议的服务器
- 部分协议的请求报文大小远小于响应报文的大小
- 协议具有无连接特性
NTP
- NTP (Network Time Protocol,网络时间协议):用于计算机间的时间同步
- NTP存在的必要性:金融、电信、工业、铁路及航空运输业等行业的应用系统,如实时备份系统、计费系统、网络的安全
认证系统,由不同的服务器组成,系统要正常运行,必须确保不同服务器之间的时钟是一样的。
- NTP:monlist功能
- 利用monlist进行攻击
- 回复报文长度是申请报文长度的:482 * 100 /234 = 206 倍
- 使用UDP协议,很容易伪造源地址给NTP服务器发请求。
NTP DDoS(DRDoS)
- NTP:利用monlist功能进行DDoS攻击
SSDP DDoS
- 简单服务发现协议(Simple Service Discovery Protocol, SSDP)主要用于在局部网里发现通用即插即用(Universal Plug-and-Play,UPnP)网络设备。
- 攻击者利用SSDP协议用于DDoS攻击,不仅因为它类似于前面所提到的NTP协议的放大能力,而且该协议已经在1500多万台网络互连设备上启用。
- 攻击过程
UPnP
- UPnP是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和XML)为基础,使这样的设备彼此可自动连接和协同工作。
- 在设计上,它支持 0 设置、网络连接过程“不可见”和自动查找众多供应商提供的的设备的类型。
- 一个 UPnP 设备能够自动跟一个网络连接上、并自动获得一个 IP 地址、传送出自己的功能并获悉其它已经连接上的设备及其功能。最后,此设备能自动切断网络连接,并且不会引起问题。
- 在 UPnP 架构中没有设备驱动程序,取而代之的是普通协议。
- 关闭SSDP Discovery服务的后果:根据测试关闭SSDP Discovery服务之后,网络发现将无法开启,还有一个UPnP Device Host服务也是网络发现所必要的服务。所以用户要是不使用局域网或共享,那么关闭没影响,办公环境还是不要关闭的好。
- UPnP协议层次结构
四种主要反射源攻击的应对策略
- MEMCACHE服务
- 封禁UDP协议,只使用TCP进行数据传输
- UDP服务如果没有公网访问需求,设备不启用公网地址
- NTP服务
- NTP服务器版本升级到4.2.7,关闭monlist功能
- LDAP服务
- LDAP服务如果只服务于内网,设备不启用公网地址
- 对来源IP采取白名单的准入方式
- SSDP服务
- SSDP服务如果只服务于内网,设备不启用公网地址
- 对来源IP采取白名单的准入方式
其它风暴型DDoS
将CDN变成DDoS加农炮
- CDN(Content Delivery Network,内容分发网络)是一种广泛应用于互联网的分布式网络架构,旨在提供高效的内容交付和传输服务。
- CDN的主要目标是将内容(例如网页、图片、视频、音频等)尽快地传送给用户,以提高用户的访问速度和用户体验。为了实现这一目标,CDN采用了以下关键技术和策略:
- 内容分发网络(CDN)本来是当前防范拒绝服务攻击的最佳实践,然而攻击者可以利用当前CDN设计和实现中的漏洞把它变成威力巨大的分布式拒绝服务攻击(DDoS)武器,可以用它来攻击任意的网站,甚至攻击CDN平台自身。这是一
种流量放大类型的攻击,其放大倍数远远超过NTP、DNS等反射攻击。
HTTP Rang攻击
- 虽然CDN和HTTP范围请求机制都致力于提升网络性能,但CDN对HTTP范围请求机制的实现存在安全缺陷,使得CDN的前端连接和后端连接之间产生巨大流量差异,导致潜在的流量放大攻击,攻击者能够滥用CDN对网站服务器或CDN节点,实施DDoS攻击。这种应用层放大攻击技术称为Range-based Traffic Amplification Attacks,简称RangeAmp攻击。
SBR攻击原理
OBR攻击
重定向DoS攻击
- 通过修改网络中的一些参数或ARP表、DNS缓存,使得受害者发出的或者发向受害者的数据包被重定向到了其它地方。
- 常被用于窃听或中间人攻击。因此,通常在网络窃听中研究,很多人不把它当作DoS攻击。
僵尸网络
- 两种典型僵尸网络架构:基于IRC的僵尸网络、基于P2P的僵尸网络
- 风暴型拒绝服务攻击大多是通过僵尸网络来发起的
- BYOB(Build Your Own Botnet)是一个僵尸网络的开源项目,提供了构建和运行基本僵尸网络的框架,用于对僵尸网络的研究。
- 基于IRC的僵尸网络:僵尸(Bot)、僵尸网络(Botnet)
- 结构简单,但健壮性差,易被摧毁
- 结构简单,但健壮性差,易被摧毁
- 基于P2P的僵尸网络:当前主流的僵尸网络结构
拒绝服务攻击的作用
- 首要作用:瘫痪目标
- 其他作用:SYN Flood攻击可以用于IP劫持、IP欺骗等;使某些安全设备(如防火墙)失效;重启系统,使漏洞利用、更改的配置生效、提升权限;瘫痪目标后,假冒目标(如DNS)。
拒绝服务攻击检测及响应技术
检测技术
- 依据DDoS攻击工具的特征标志检测。
- 特定端口。例如,著名的DDoS工具trinoo使用的端口分别为:TCP端口27655, UDP端口27444和31335;NTP DRDoS检测123端口
- 标志位。例如,Shaft攻击所用的TCP分组的序列号都是0x28374839
- 特定数据内容
- 统计检测
- 主机网络连接特征检测
- 据异常流量来检测:
- 特大型的ICMP和UDP数据包
- 不属于正常连接通信的TCP和UDP数据包
- 明显超出该网络正常工作时的极限通信流量的现象
- 数据段内容只包含文字和数字字符
- 根据异常流量来检测:
- DoS工具产生的网络通信信息有两种:控制信息(在DoS管理者与攻击代理之间)和攻击时的网络通信(在DoS攻击代理与目标主机之间)。根据异常现象在入侵检测系统中建立相应规则,能够较准确地监测出DoS攻击。
响应技术
- 对付风暴型DDoS攻击的方案主要有四种:
- 通过丢弃恶意分组的方法保护网络;
- 在源端控制DDoS攻击;
- 追溯 (Traceback) 攻击的源端, 然后阻止它发起新的攻击;
- 路由器动态检测流量并进行控制。
- 最有效的对抗风暴型DDoS的方法是:流量清洗。
防范策略
-
限制带宽:限制特定协议占用的带宽,但并不是完善的方法
-
终端防御:及时安装厂商补丁,减少被攻击的机会;运行尽可能少的服务;增强容忍性
-
入口过滤:只允许必要的通信;设置严格的防火墙策略;封锁所有无用的数据
-
完全阻止是不可能的,防范可减少被攻击的机会
DDoS 防御:流量清洗
-
秒极黑洞:解决大规模DDoS攻击导致的“躺枪”
-
DDoS攻击防御:对DDoS攻击与正常业务数据混合在一起的流量进行净化,净化掉DDoS攻击流量,保留正常业务流量,保证客户业务7×24小时的不间断提供。
-
DDoS攻击阻断过程一般包括攻击监测和判断、流量牵引、清洗过滤、流量回送四个关键环节
-
流量清洗服务是提供给租用IDC服务的政企客户,针对对其发起的DOS/DDOS攻击的监控、告警和防护的一种网络安全服务
- 第一步:利用专用的检测设备对用户业务流量进行分析监控。
- 第二步:当用户遭受到DDoS攻击时,检测设备上报给专用的业务管理平台生成清洗任务,将用户流量牵引到流量清洗中心。
- 第三步:流量清洗中心对牵引过来的用户流量进行清洗,并将清洗后的用户合法流量回注到城域网。同时上报清洗日志
到业务管理平台生成报表。
CDN 防护
- 通过CDN进行DDoS防护也是一个不错的手段,CDN多节点彼此互备,以及对协议的限制,具有与生俱来的抗DDoS能力和高可用性。