深入解析DDoS攻击防护的本质体现在哪?
什么是DDoS ?
DDoS全称Distributed Denial of Service,中文意思为“分布式拒绝服务”,俗称洪水攻击,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。
服务:系统提供的,用户在对其使用中会受益的功能
拒绝服务:任何对服务的干涉如果使其可用性降低或者失去可用性均称为拒绝服务
拒绝服务攻击:是指攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需要的服务或者使得服务质量降低
分布式拒绝服务攻击:处于不同位置的多个攻击者同时向一个或者数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击,由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击
通俗点讲就是利用网络节点资源如:IDC服务器、个人PC、手机、智能设备、打印机、摄像头等对目标发起大量攻击请求,从而导致网络资源浪费、链路带宽堵塞、服务器资源耗尽而业务中断,使得无法对外提供正常服务,只能宣布game over
DDoS攻击分为3层:攻击者、主控端、代理端,三者在攻击中扮演着不同的角色:
攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。
主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。
代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。
攻击者发起DDoS攻击:
第一步:寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。
第二步:在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。
第三步:各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。
DDoS攻击现象?
被DDoS攻击时的现象为:
网络中充斥着大量的无用的数据包
制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯
利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求
严重时会造成系统死机
由于拒绝服务攻击有的利用了网络协议的漏洞,有的则抢占网络或者设备有限的处理能力,使得对拒绝服务攻击的防治成为了一个令管理员非常头痛的问题。尤其是目前在大多数的网络环境骨干线路上普遍使用的防火墙、负载均衡等设备,在发生DDoS攻击的时候往往成为整个网络的瓶颈,造成全网的瘫痪。
DDoS的攻击方式
一种服务需要面向大众就需要提供用户访问接口,这些接口恰恰就给了黑客有可乘之机,如:可以利用TCP/IP协议握手缺陷消耗服务端的链接资源,可以利用UDP协议无状态的机制伪造大量的UDP数据包阻塞通信信道……可以说,互联网的世界自诞生之日起就不缺乏被DDoS利用的攻击点,从TCP/IP协议机制到CC、DNS、NTP反射类攻击,更有甚者利用各种应用漏洞发起更高级更精确的攻击。
从DDoS的危害性和攻击行为来看,我们可以将DDoS攻击方式分为以下几类:
a)资源消耗类攻击
资源消耗类是比较典型的DDoS攻击,最具代表性的包括:Syn Flood、Ack Flood、UDP Flood。这类攻击的目标很简单,就是通过大量请求消耗正常的带宽和协议栈处理资源的能力,从而达到服务端无法正常工作的目的。
防御方法:针对消耗性Flood攻击,如SYN Flood、ACK Flood、UDP Flood,最有效并可靠的防御方法是:
源认证和资源隔离,即:在客户端和服务端建立回话时对请求的源进行必要的认证,并将认证结果形成可靠的白名单或黑名单,进而保证服务端处理业务的有效性。若黑客肉鸡足够多并伪造数据包的真实性较高时,只能通过提升服务端的处理速度和流量吞吐量来达到较好的对抗效果。
b)服务消耗性攻击
相比资源消耗类攻击,服务消耗类攻击不需要太大的流量,它主要是针对服务的特点进行精确定点打击,如web的CC,数据服务的检索,文件服务的下载等。这类攻击往往不是为了拥塞流量通道或协议处理通道,它们是让服务端始终处理高消耗型的业务的忙碌状态,进而无法对正常业务进行响应,详细示意图如下:
攻击目标包括:大量数据运算、数据库访问、大内存文件等。
攻击特征包括:
只构造请求,不关心请求结果,即发送完请求后立即关闭会话;
持续请求同一操作;
qps高;
防御方法:针对CC的攻击的防御需要结合具体业务的特征,针对具体的业务建立一系列防御模型,如:连接特征模型,客户端行为模型,业务访问特征模型等,接收请求端统计客户信息并根据模型特征进行一系列处理,包括:列入黑名单,限制访问速率,随机丢弃请求等。
c)反射类攻击
反射攻击也叫放大攻击,该类攻击以UDP协议为主,常见的攻击类型包括:NTP,DNS等。一般请求回应的流量远远大于请求本身流量的大小。攻击者通过流量被放大的特点以较小的流量带宽就可以制造出大规模的流量源,从而对目标发起攻击。反射类攻击严格意义上来说不算是攻击的一种,它只是利用某些服务的业务特征来实现用更小的代价发动Flood攻击,详细示意图如下:
防御方法:针对反射攻击比较有效的防御手段有:访问请求限速、反射流限速、请求行为分析等,这些防御手段没法完全过滤攻击流,只能达到抑制攻击的效果。
d)混合型攻击
混合型攻击是结合上述几种攻击类型,并在攻击过程中进行探测选择最佳的攻击方式。混合型攻击往往伴随这资源消耗和服务消耗两种攻击类型特征。
DDoS攻击危害
按照攻击对象的不同,将对攻击原理和攻击危害的分析分成 3 类,分别是攻击网络带宽资源、系统以及应用。
DDoS防护手段
DDoS的防护系统本质上是一个基于资源较量和规则过滤的智能化系统,主要的防御手段和策略包括:
a)资源隔离
资源隔离可以看作是用户服务的一堵防护盾,这套防护系统拥有无比强大的数据和流量处理能力,为用户过滤异常的流量和请求。如:针对Syn Flood,防护盾会响应Syn Cookie或Syn Reset认证,通过对数据源的认证,过滤伪造源数据包或发功攻击的攻击,保护服务端不受恶意连接的侵蚀。资源隔离系统主要针对ISO模型的第三层和第四层进行防护。资源隔离示意图如下:
b)用户规则
从服务的角度来说DDoS防护本质上是一场以用户为主体依赖抗D防护系统与黑客进行较量的战争,在整个数据对抗的过程中服务提供者往往具有绝对的主动权,用户可以基于抗D系统特定的规则,如:流量类型、请求频率、数据包特征、正常业务之间的延时间隔等。基于这些规则用户可以在满足正常服务本身的前提下更好地对抗七层类的DDoS,并减少服务端的资源开销。详细示意图如下:
c)大数据智能分析
黑客为了构造大量的数据流,往往需要通过特定的工具来构造请求数据,这些数据包不具有正常用户的一些行为和特征。为了对抗这种攻击,可以基于对海量数据进行分析,进而对合法用户进行模型化,并利用这些指纹特征,如:Http模型特征、数据来源、请求源等,有效地对请求源进行白名单过滤,从而实现对DDoS流量的精确清洗。
d)资源对抗
资源对抗也叫“死扛”,即通过大量服务器和带宽资源的堆砌达到从容应对DDoS流量的效果
从 tcp/udp 协议栈原理介绍 DDoS 防护原理:
DDoS防护困难
一方面,在过去十几年中,网络基础设施核心部件从未改变,这使得一些已经发现和被利用的漏洞以及一些成成熟的攻击工具生命周期很长,即使放到今天也依然有效。另一方面,互联网七层模型应用的迅猛发展,使得DDoS的攻击目标多元化,从web到DNS,从三层网络到七层应用,从协议栈到应用App,层出不穷的新产品也给了黑客更多的机会和突破点。再者DDoS的防护是一个技术和成本不对等的工程,往往一个业务的DDoS防御系统建设成本要比业务本身的成本或收益更加庞大,这使得很多创业公司或小型互联网公司不愿意做更多的投入。
黑客为什么选择DDoS?
不同于其他恶意篡改数据或劫持类攻击,DDoS简单粗暴,可以达到直接摧毁目标的目的。另外,相对其他攻击手段DDoS的技术要求和发动攻击的成本很低,只需要购买部分服务器权限或控制一批肉鸡即可,而且攻击相应速度很快,攻击效果可视。另一方面,DDoS具有攻击易防守难的特征,服务提供商为了保证正常客户的需求需要耗费大量的资源才能和攻击发起方进行对抗。这些特点使得DDoS成为黑客们手中的一把很好使的利剑,而且所向霹雳。
从另一个方面看,DDoS虽然可以侵蚀带宽或资源,迫使服务中断,但这远远不是黑客的正真目的。所谓没有买卖就没有杀害,DDoS只是黑客手中的一枚核武器,他们的目的要么是敲诈勒索、要么是商业竞争、要么是要表达政治立场。在这种黑色利益的驱使下,越来越多的人参与到这个行业并对攻击手段进行改进升级,致使DDoS在互联网行业愈演愈烈,并成为全球范围内无法攻克的一个顽疾。