DDOS的攻击原理和如何防护网站和游戏恶意攻击

               

   1-DDOS全名是Distribution Denial of Service (分布式拒绝服务攻击),很多DOS攻击源一起

攻击某台服务器就组成了DDOS攻击.在中国,DDOS 最早可追溯到1996年,2002年开发频繁出现,2003

年已经初具规模.当时网络带宽普遍比较小,攻击量一般都不会超过100M,国内几乎没有防护的方法

和产品. 而且攻击源IP都是伪造的,无法找到攻击源.一个硬件配置很好的网站,每秒几兆的攻击量

就可以完全瘫痪,破坏力相当惊人.由于开发防护产品需要接管网络底层控制,和分析处理TCP/IP

协议要求较高的技术门槛,当时在国内的众多安全根本没有专业的专门防护DDOS攻击的产品。
DDOS攻击经过黑客多年的不断的技术积累到今天已经变化多种多样攻击形势,攻击内容和以前有了

很大的改变,新的变种攻击也几乎每月都会有,安全通经过多年防护经验已经彻底分析攻击原理

,通过攻击案例具体分析实际攻击,力图让读者从中找到解决针对自己网络的有效解决办法

二、DDoS攻击原理
   我们先来研究最常见的SYN攻击, SYN攻击属于DOS Denial of Servic攻击的一种,它利用

TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。TCP协议建立连接的时候需要双

方相互确认信息,来防止连接被伪造和精确控制整个数据传输过程数据完整有效。所以TCP协议采

用三次握手建立一个连接。
   第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器

确认; 
   第二次握手:服务器收到syn包,确认客户的SYN 同时自己也发送一个SYN包 即SYN+ACK包,

此时服务器进入SYN_RECV状态;
   第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK此包发送完毕,客

户端和服务器进入ESTABLISHED状态,完成三次握手。
   SYN攻击利用TCP协议三次握手的原理,大量发送伪造源IP的SYN包,也就是伪造第一次握手数

据包,服务器每接收到一个SYN包就会为这个连接信息分配核心内存并放入半连接队列,如果短时

间内接收到的SYN太多,半连接队列就会溢出,操作系统会把这个连接信息丢弃造成不能连接,当

攻击的SYN包超过半连接队列的最大值时,正常的客户发送SYN数据包请求连接就会被服务器丢弃.

每种操作系统半连接队列大小不一样,所以抵御SYN攻击的能力也不一样。那么能不能把半连接队

列增加到足够大来保证不会溢出呢,答案是不能,每种操作系统都有方法来调整TCP模块的半连接

队列最大数,例如Win2000操作系统在注册表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip

\Parameters里 TcpMaxHalfOpen,TcpMaxHalfOpenRetried ,Linux操作系统用变量

tcp_max_syn_backlog来定义半连接队列的最大数。但是每建立一个半连接资源就会耗费系统的核

心内存,操作系统的核心内存是专门提供给系统内核使用的,核心内存不能进行虚拟内存转换,因

此是非常紧缺的资源.以windows2000系统为例,当物理内存是4g的时候 核心内存只有不到300M,

系统所有核心模块都要使用核心内存,所以能给半连接队列用的核心内存非常少。
   根据安全通实验室测试:
测试环境:Windows 2003操作系统默认安装
硬件配置:P4 3.0 (925),1GDDR2 内存, 160GBSATA硬盘
攻击强度:WEB SERVER的80端口每秒钟接收5000个SYN数据包
测试结果:一分钟后网站陷于瘫痪.web页面无法打开
标准SYN数据包64字节, 5000个攻击包等于 5000*64 *8(换算成bit)/1024=2500K,即 2.5M带宽,

从上面的实验情况我们看样看到,非常小的带宽攻击可以造成的巨大危害,这种危害足可以瘫痪一

个配置良好带宽充足的web服务器,并且由于攻击包的源IP是伪造的,很难追查到攻击源,导致攻击

者肆无忌惮.最终结果是这种SYN攻击在互联网泛滥,给正常的网络运营造成极大的威胁.

三、DDoS攻击发展以及其趋势
   近几年由于宽带的普及,很多网站开始盈利,其中很多非法网站利润巨大,造成同行之间互

相攻击.同时windows 平台的大量漏洞被公布, 流氓软件,病毒,木马大量充斥着网络,有些网络

知识的人可以很容易的非法入侵并控制大量的个人计算机来发起DDoS攻击从中谋利.更可怕的情况

是高利益的驱使已经是DDoS攻击演变成非常完善的产业链, 出售DDoS攻击已经成为互联网上的一

种半公开商业行为. 攻击者首先在大流量网站的网页里注入病毒木马,此木马可以通过windows平

台的漏洞感染浏览网站的人,浏览者一旦中了木马,这台计算机就会被后台操作的人控制,这台

计算机也就成了所谓的”肉鸡”,每天都有人专门收集”肉鸡”然后以几毛到几块的一只的价格

出售,购买者遥控这些肉鸡攻击服务器。根据有关部门的不完全推测,这种地下链条所带来的非法

收入高达几十亿人民币.还有一部分人利用DDoS网络攻击来敲诈钱财,早起根据北京海淀警方就破

坏一切利用DDoS攻击进行敲诈的恶性案件,攻击者竟然是上海一家经营防火墙的正规公司.

四、DDos攻击种类
   DDoS攻击原理大致分为以下三种:
   1.通过发送大的数据包堵塞服务器带宽造成服务器线路瘫痪;
   2.通过发送特殊的数据包造成服务器TCP/IP协议模块耗费CPU内存资源最终瘫痪;
   3.通过标准的连接建立起连接后发送特殊的数据包造成服务器运行的网络服务软件耗费CPU

内存最终瘫痪(比如WEB SERVER、FTP SERVER、 游戏服务器等)。
DDoS攻击种类可以分为以下几种:
   由于肉鸡的木马可以随时更新攻击的数据包和攻击方式,所以新的攻击更新非常快这里我们

介绍几种常见的攻击的原理和方法
   1.SYN变种攻击
发送伪造源IP的SYN数据包但是数据包不是64字节而是上千字节,这种攻击会造成一些防火墙处理

错误导致锁死,消耗服务器CPU内存的同时还会堵塞带宽。
   2.TCP混乱数据包攻击
发送伪造源IP的 TCP数据包,TCP头的TCP Flags 部分是混乱的可能是syn ,ack ,syn+ack ,syn

+rst等等,会造成一些防火墙处理错误导致锁死,消耗服务器CPU内存的同时还会堵塞带宽。
   3.针对UDP协议攻击
很多聊天室,视频音频软件,都是通过UDP数据包传输的,攻击者针对分析要攻击的网络软件协议

,发送和正常数据一样的数据包,这种攻击非常难防护,一般防护墙通过拦截攻击数据包的特征

码防护,但是这样会造成正常的数据包也会被拦截,
   4.针对WEB Server的多连接攻击
通过控制大量肉鸡同时连接访问网站,造成网站无法处理瘫痪,这种攻击和正常访问网站是一样

的,只是瞬间访问量增加几十倍甚至上百倍,有些防火墙可以通过限制每个连接过来的IP连接数

来防护,但是这样会造成正常用户稍微多打开几次网站也会被封
   5.针对WEB Server的变种攻击
通过控制大量肉鸡同时连接访问网站,一点连接建立就不断开,一直发送发送一些特殊的GET访问

请求造成网站数据库或者某些页面耗费大量的CPU,这样通过限制每个连接过来的IP连接数进行防

护的方法就失效了,因为每个肉鸡可能只建立一个或者只建立少量的连接。这种攻击非常难防护

,后面给大家介绍防火墙的解决方案
   6. 针对WEB Server的变种攻击
通过控制大量肉鸡同时连接网站端口,但是不发送GET请求而是乱七八糟的字符,大部分防火墙分

析攻击数据包前三个字节是GET字符然后来进行http协议的分析,这种攻击,不发送GET请求就可

以绕过防火墙到达服务器,一般服务器都是共享带宽的,带宽不会超过10M ,所以大量的肉鸡攻击

数据包就会把这台服务器的共享带宽堵塞造成服务器瘫痪,这种攻击也非常难防护,因为如果只

简单的拦截客户端发送过来没有GET字符的数据包,会错误的封锁很多正常的数据包造成正常用户

无法访问,后面给大家介绍防火墙的解决方案
   7.针对游戏服务器的攻击
因为游戏服务器非常多,这里介绍最早也是影响最大的传奇游戏,传奇游戏分为登陆注册端口

7000,人物选择端口7100,以及游戏运行端口7200,7300,7400等,因为游戏自己的协议设计的非常

复杂,所以攻击的种类也花样倍出,大概有几十种之多,而且还在不断的发现新的攻击种类,这

里介绍目前最普遍的假人攻击,假人攻击是通过肉鸡模拟游戏客户端进行自动注册、登陆、建立

人物、进入游戏活动从数据协议层面模拟正常的游戏玩家,很难从游戏数据包来分析出哪些是攻

击哪些是正常玩家。

DDOS的攻击原理和如何防护网站和游戏恶意攻击的更多相关文章

  1. CC攻击原理及防范方法和如何防范CC攻击

    一. CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数 ...

  2. DDOS的攻击原理和防护指南(转)

    DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07   我们现在来分析DDOS的攻击原理.     首先,DDOS是英文Distribut ...

  3. DDOS攻击原理及防护方法论

      从 07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟. DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形 ...

  4. DDOS的攻击原理和防护指南

    我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务.拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站 ...

  5. 浅谈JavaScript DDOS 攻击原理与防御

    前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正 ...

  6. 常见DDOS攻击原理和防御

    常见的DDOS攻击主要分为流量型攻击和cc攻击: 流量型攻击主要通过发送大量的非法报文侵占正常业务带宽 包括SYN Flood/ SYN-ACK Flood /ACK Flood/ FIN/RST F ...

  7. JavaScript实现DDoS攻击原理,以及保护措施。

    DDos介绍 最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击.在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源.从而达到阻止其他用户的访问. 如果黑客使用JavaSc ...

  8. 敌情篇 ——DDoS攻击原理

    敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...

  9. ddos攻击和cc攻击的区别和防护!!

    什么是DDoS攻击? DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻 ...

随机推荐

  1. jquery点击非div区域隐藏div

    点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框

  2. 奇妙的 CSS shapes(CSS图形)

    CSS 发展到今天已经越来越强大了.其语法的日新月异,让很多以前完成不了的事情,现在可以非常轻松的做到.今天就向大家介绍几个比较新的强大的 CSS 功能: clip-path shape-outsid ...

  3. 模拟jquery底层链式编程

    //特点1:快级作用域,程序启动自动执行 //内部的成员变量,外部无法访问(除了var) //简单的函数链式调用 function Dog(){ this.run=function(){ alert( ...

  4. php的数据访问和封装运用

    php数据访问: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  5. 使用 bufferedreader 的好处

    简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多.而一次IO的来回操作却要耗费大量时间.好比是一辆大型汽车(设装100人),要去车站接人到公司,接一个人也是接 ...

  6. Java字符串进阶

    Java字符串进阶 前言 最常用的对字符串操作的类有三个,分别是String,StringBuilder,StringBuffer,下面将会详细的说说这三个类...... String String类 ...

  7. 给js动态创建的对象绑定事件

    1.使用原生JS动态为动态创建的对象绑定事件 1-1.创建一个function,用来兼容IE8以下浏览器添加事件 function addEvent(el, type, fn) {  if(el.ad ...

  8. 精通JavaScipt第二版笔记——特性、函数和对象

    前言:感觉这本书只有第二章 第三章有点看头 基本类型和引用类型 基本类型:字符串 数字 布尔值 null(待确定) undifined 引用类型:对象 数组 引用传递 保存的只是对象的地址 var o ...

  9. forfiles命令批处理删除过期文件

    命令格式: forfiles.exe /p "D:\备份" /s /m *.zip /d -7 /c "cmd /c del @path" /p:指定目录 /s ...

  10. 【Android Developers Training】 3. 构建一个简单UI

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...