据调查,目前我国境内日均有365起总流量超过1G的较大规模DDOS攻击事件。受攻击方恶意将流量转嫁给无辜者的情况屡见不鲜,我国已有多家省级政府网站遭受过流量转嫁攻击。维基解密网站也曾因为遭受DDOS攻击而瘫痪,被迫关闭了10余天。
DDOS是目前企事业单位遭遇较多的一种网络攻击,DDOS目的很简单,就是使计算机或网络无法提供正常的服务。DDOS攻击最早可追溯到1996年最初,在中国2002年开始频繁出现,2003年已经初具规模。目前的DDOS攻击主要有7种方式。
DDOS攻击的七种武器
长生剑——SYN Flood攻击 SYN Flood攻击是当前网络上最为常见的DDos攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的半连接请求,造成目标服务器中的半连接队列被占满,耗费CPU和内存资源,使服务器超负荷,从而阻止其他合法用户进行访问。
这种攻击早在1996年就被发现,但至今仍然显示出强大的生命力,可谓“长生不老”。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。
多情环—— TCP全连接攻击 这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备syn cookies或者syn proxy能力,能够有效应对伪造的IP攻击,但对于正常的TCP连接是放过的。但殊不知很多网络服务程序能接受的TCP连接数是有限的,一旦有大量的 TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,正所谓“多情总被无情伤”。TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的。
孔雀翎——TCP混乱数据包攻击 TCP混乱数据包攻击与Syn Flood攻击类似,发送伪造源IP的TCP数据包,只不过TCP头的TCP Flags 部分是混乱的,可能是syn,ack,syn+ack,syn+rst等等,会造成一些防护设备处理错误锁死,消耗服务器CPU内存的同时还会堵塞带宽。就好像七种武器中的孔雀翎,总是在迷惑对手的时候施展最后的致命一击。
碧玉刀—— UDP Flood攻击 UDP Flood是日渐猖獗的流量型DOS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。 100k PPS的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。就好像看似轻盈小巧的碧玉刀,实则威力不容小觑。由于UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
拳头—— DNS Flood攻击 UDP DNS Query Flood攻击实质上是UDP Flood的一种,但是由于DNS服务器的不可替代的关键作用,一旦服务器瘫痪,影响一般都很大。UDP DNS Query Flood攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名,被攻击的DNS 服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS 服务器会向其上层DNS服务器递归查询域名信息。根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求。而我们知道,在一台PC机上可以轻易地构造出每秒钟几万个域名解析请求,足以使一台硬件配置极高的DNS服务器瘫痪,由此可见DNS 服务器的脆弱性。DNS解析作为DDOS攻击之根本,就好像拳头一样,随时随地可以出手。
离别钩—— CC攻击 CC攻击(Challenge Collapsar)是DDOS攻击的一种,是利用不断对网站发送连接请求致使形成拒绝服务的攻击。相比其它的DDOS攻击,CC攻击是应用层的,主要针对网站。CC主要是用来攻击页面的,CC就是模拟多个用户(少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQL Server、MySQL Server、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。就好像离别钩名为离别,实为相聚一样,CC攻击的真实意图又有谁能理解呢。
霸王枪——针对游戏服务器的攻击 因为游戏服务器非常多,这里介绍最早也是影响最大的传奇游戏,传奇游戏分为登陆注册端口7000,人物选择端口7100,以及游戏运行端口7200,7300,7400等,因为游戏自己的协议设计的非常复杂,所以攻击的种类也花样百出,大概有几十种之多,而且还在不断的发现新的攻击种类,最普遍是假人攻击,假人攻击是通过肉鸡模拟游戏客户端进行自动注册、登陆、建立人物、进入游戏活动从数据协议层面模拟正常的游戏玩家,很难从游戏数据包来分析出哪些是攻击?哪些是正常玩家。针对游戏服务器的攻击十分霸气,就像霸王枪蛟龙出水,难以抵挡。
抵御DDOS攻击之六脉神剑
以上DDOS攻击的七种武器都有各自的特点和杀伤力,但也并非无法防范。说起抵御DDOS攻击的招数,就不得不提起六脉神剑绝技,以无形化有形,瓦解着DDOS的一次次攻击。
少商剑—— Syn Flood防御技术 syn cookie/syn proxy类防护技术:这种技术对所有的syn包均主动回应,探测发起syn包的源IP地址是否真实存在,如果该IP地址真实存在,则该IP会回应防护设备的探测包,从而建立TCP连接。大多数的国内外抗DDOS产品均采用此类技术。
Safereset技术:此技术对所有的syn包均主动回应,探测包特意构造错误的字段,真实存在的IP地址会发送rst包给防护设备,然后发起第2次连接,从而建立TCP连接。部分国外产品采用了这样的防护算法。
syn重传技术:该技术利用了TCP/IP协议的重传特性,来自某个源IP的第一个syn包到达时被直接丢弃并记录状态,在该源IP的第2个syn包到达时进行验证,然后放行。
Syn Flood防御技术就好像少商剑一样,异常刚猛,颇有石破天惊,风雨大至之势,是御敌最常用到的招式。
商阳剑—— UDP Flood防御技术 UDP协议与TCP 协议不同,是无连接状态的协议,并且UDP应用协议五花八门,差异极大,因此针对UDP Flood的防护非常困难。一般最简单的方法就是不对外开放UDP服务。
如果必须开放UDP服务,则可以根据该服务业务UDP最大包长设置UDP最大包大小以过滤异常流量。还有一种办法就是建立UDP连接规则,要求所有去往该端口的UDP包,必须首先与TCP端口建立TCP连接,然后才能使用UDP通讯。
难以驾驭是UDP Flood防御技术的特点,同样也是商阳剑的特点,虽难以捉摸,不过一旦纯熟,效果极佳。
少泽剑—— DNS Flood防御技术 在UDP Flood的基础上对 UDP DNS Query Flood 攻击进行防护,根据域名 IP 自学习结果主动回应,减轻服务器负载(使用 DNS Cache)。
对突然发起大量频度较低的域名解析请求的源 IP 地址进行带宽限制,在攻击发生时降低很少发起域名解析请求的源IP地址的优先级,限制每个源 IP 地址每秒的域名解析请求次数。好似少泽剑忽来忽去,变化精微一般,DNS Flood防御技术也在变化中不断调整,以求防御的最佳效果。
少冲剑—— CC防御技术 对是否HTTP Get的判断,要统计到达每个服务器的每秒钟的GET请求数,如果远远超过正常值,就要对HTTP协议解码,找出HTTP Get及其参数(例如URL等)。然后判断某个GET 请求是来自代理服务器还是恶意请求,并回应一个带Key的响应要求,请求发起端作出相应的回馈。如果发起端不响应则说明是利用工具发起的请求,这样HTTP Get请求就无法到达服务器,达到防护的效果。颇有少冲剑轻灵迅速,以巧取胜之意。
关冲剑——限制连接数 目前市场上的安全产品,包括防火墙、入侵防御、DDOS防御等产品主要采用限制服务器主机连接数手段防御DDOS攻击,如关冲剑一般,看似拙滞古朴,实则为招数之基本。使用安全产品限制受保护主机的连接数,即每秒访问数量,可以确保受保护主机在网络层处理上不超过负荷(不含CC攻击),虽然用户访问时断时续,但可以保证受保护主机始终有能力处理数据报文。而使用安全产品限制客户端发起的连接数,可以有效降低傀儡机的攻击效果,即发起同样规模的攻击则需要更多的傀儡机。
中冲剑——攻击防御溯本追源技术 针对CC攻击防御的溯本追源技术是通过对服务器访问流量的实时监测,可以发现其在一定范围内波动,此时设置服务器低压阀值,当服务器访问流量高于低压阀值时开始记录并跟踪访问源。此外还要设置一个服务器高压阀值,此高压阀值代表服务器能够承受的最大负荷,当监测到服务器访问流量达到或超过高压阀值时,说明有DOS或者DDOS攻击事件发生,需要实时阻断攻击流量,此时系统将逐一查找受攻击服务器的攻击源列表,检查每个攻击源的访问流量,将突发大流量的源IP地址判断为正在进行DOS攻击的攻击源,将这些攻击源流量及其连接进行实时阻断。中冲剑大开大阖,气势雄迈, 溯本追源技术也是在承受攻击之中,寻找着破绽,一招御敌,气势十足。
七种武器各自为战,六脉神剑集于一身,当七种武器遇到六脉神剑,孰胜孰败已见分晓。