logo资料库

DDOS攻击演示与攻防详解.pdf

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
1. DDoS 攻击及防护技术 1.1 DDoS 攻击的起源 1988 年 11 月 2 日,一个叫RobertMorrisJr.的大学生写了一个逻辑炸弹—蠕虫程序入侵 internet。 这个蠕虫程序在 Internet 上快速传播,当时造成全网络中有 15 %(大约 6000 个系统)都受到 感染并停止运行。这就是第一次的DoS 攻击,这次事件很有名的另外一个原因是此人的父亲 – 老 Morris 是个电脑专家,unix 系统的创始人之一,在政府专门负责对抗电脑犯罪的,所以后来 很多分析文章认为此程序是老 Morris 写的。 从上世纪 90 年代到现在,DoS 技术主要经历大约阶段: 1) 技术发展时期。 90 年代, Internet 开始普及,很多新的 DoS 技术涌现。90 年代末发明和 研究过许多新的技术,其中大多数技术至今仍然有效,且应用频度相当高。绝大部分著名 的 DoS 攻击方式,如 Ping of death, smurf, SYN flooding, 等等。 2) 从实验室向“产业化”转换。2000 年前后,DDoS 出现,Yahoo, Amazon 等多个著名网站受 到攻击并瘫痪,还有 Codered, SQL slammer 等蠕虫造成的事件。 3) “商业时代”。最近一两年,宽带的发展使得接入带宽增加,个人电脑性能大幅提高,使 DDoS 攻击越来越频繁,可以说随处可见,而且也出现了出现了更专业的出租’botnet’网络的 ‘DDoS 攻击经济’。可以说 DDoS 攻击的威胁已经无处不在。 1.2 DDoS 攻击的危害 DDoS(分布式拒绝服务攻击)是产生大规模破坏的武器。不象访问攻击穿透安全周边来窃 取信息,DDoS攻击通过伪造的流量淹没服务器、网络链路和网络设备(路由器,防火墙等)瘫 痪来使得网络系统瘫痪。 DDoS是作为黑客、政治黑客行为和国际计算机恐怖分子可选择的一种武器而出现。由于很 容易对有限的防御发起进攻,DDoS攻击目标并不仅仅是个人网站或其他网络边缘的服务器,他 们征服的是网络本身。攻击明确地指向网络的基础设施,例如提供商网络中的集中或核心路由 器、DNS服务器。2002年10月,一次拙劣的DDoS攻击影响了13个根DNS(Domain Name Sevice) 服务器中的8个以及作为整个Internet通信路标的关键系统,这一事件预示了大规模攻击的到来。 PDF created with pdfFactory Pro trial version www.pdffactory.com
服务提供商、企业和政府机关对因特网依赖的加剧,使得成功的DDoS攻击(经济和其它方 面)能造成更加严重的破坏。新近以来,出现了更多功能更为强大的DDoS工具,使得将来的攻 击破坏性更大。 因为DDoS攻击是最难防御的攻击之一,用合适的、有效的方法来响应它们,给依靠因特网 的组织提出了一个巨大的挑战。网络设备和传统周边安全技术,例如防火墙和IDSs(Intrusion Detection Systems)无法提供足够的针对DDoS保护。面对当前DDoS的冲击,要保护因特网有效 性,需要一个能检测和阻止日益狡猾、复杂、欺骗性攻击的下一代体系结构。 成功的DDos攻击影响是很广泛的。网络站点的表现尤其受影响,可以造成客户和其它使用 者访问失败。SLAs(服务水平承诺)被违反,促使服务信用损失惨重。公司名誉受损,有时甚 至是永久的。收益下滑、生产率降低、IT开销增加、诉讼花销——这些损失在不断的增加。 损失的数目令人难以置信。来自Forrester、IDC和Yankee Group的评测估计一个象Cisco这样 的公司网络中断24小时的代价大约是三千万美元。据Yankee Group估计,2000年2月,DDoS洪 流攻击了Amazon、Yahoo、eBay和其它门户网站,造成的损失累计达到12亿美元。2001年1月, 对Microsoft网站几天的DDoS攻击,损失大约为五千万。显然,商业公司必须采取措施来保护自 己免遭恶意攻击。 由于DDoS攻击往往采取合法的数据请求技术,再加上傀儡机器,造成DDoS攻击成为目前 最难防御的网络攻击之一。据美国最新的安全损失调查报告,DDoS攻击所造成的经济损失已经 跃居第一。 DDoS攻击的一个致命趋势是使用复杂的欺骗技术和基本协议,如HTTP,Email等协议,而 不是采用可被阻断的非基本协议或高端口协议,非常难识别和防御,通常采用的包过滤或限制 速率的措施只是通过停止服务来简单停止攻击任务,但同时合法用户的请求也被拒绝,造成业 务的中断或服务质量的下降;DDoS事件的突发性,往往在很短的时间内,大量的DDoS攻击数 据就可是网络资源和服务资源消耗殆尽。 DDoS攻击主要是利用了internet协议和internet基本优点——无偏差地从任何的源头传送数 据包到任意目的地。DDoS攻击分为两种:要么大数据,大流量来压垮网络设备和服务器,要么 有意制造大量无法完成的不完全请求来快速耗尽服务器资源。有效防止DDoS攻击的关键困难是 无法将攻击包从合法包中区分出来:IDS进行的典型“签名”模式匹配起不到有效的作用;许多 攻击使用源IP地址欺骗来逃脱源识别,很难搜寻特定的攻击源头。 1.3 DoS 和 DDoS 攻击概述 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资 源,从而使合法用户无法得到服务的响应。单一的DoS攻击一般是采用一对一方式的,当攻击 目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。随着计算 机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的 网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"加强了不少,例如 你的攻击软件每秒钟可以发送2,500个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个 攻击包,这样一来攻击就不会产生什么效果。 PDF created with pdfFactory Pro trial version www.pdffactory.com
这样分布式的拒绝服务攻击手段(DDoS)就应运而生了,DDoS攻击手段是在传统的DoS 攻击基础之上产生的一类攻击方式。如果说计算机与网络的处理能力增加了10倍,用一台攻击 机来攻击不再能产生影响的话,攻击者使用10台或100台甚至上千上万台同时攻击的话,其效果 自然大步一样了。DDoS攻击就是利用更多的傀儡机来发起进攻,以比从前更很多的规模来进攻 受害者。高速广泛连接的网络给大家带来方便的同时,也为DDoS攻击创造了极为有利的条件。 在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器, 因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以千兆为级别的,这 使得攻击可以从更远的地方或者不同的自治域发起,攻击者的傀儡机位置可以在分布在更大的 范围或全球,选择起来更灵活了。 从技术角度讲,DDoS攻击包括威胁互联网计算机的安全和放置特洛伊木马程序。这是一种 恶意的、不会自动复制的程序,它会伪装成良性程序,有意地执行一些用户并不希望的操作。 众多的特洛伊木马程序会遵照一台由攻击者控制的主服务器的指示,在指定的时间以特定的方 式共同发动攻击。DDoS攻击的一个致命趋势是使用复杂的欺骗技术和基本协议,如HTTP,Email 等协议,而不是采用可被阻断的非基本协议或高端口协议,非常难识别和防御,通常采用的包 过滤或限制速率的措施只是通过停止服务来简单停止攻击任务,但同时合法用户的请求也被拒 绝,造成业务的中断或服务质量的下降;DDoS事件的突发性,往往在很短的时间内,大量的 DDoS攻击数据就可是网络资源和服务资源消耗殆尽,使服务停止。 被 DDoS 攻击时的现象 • 被攻击主机上有大量等待的 TCP 连接 • 网络中充斥着大量的无用的数据包,源地址为假 • 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯 • 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受 害主机无法及时处理所有正常请求 • 严重时会造成系统死机 1.3.1 DDoS攻击基本原理 PDF created with pdfFactory Pro trial version www.pdffactory.com
如上图所示,一个完善的 DDoS 攻击体系分成几大部分,控制和实际发起攻击者,对被攻 击者(服务器,路由器,防火墙)来说,DDoS 的攻击包是从攻击傀儡机(僵尸电脑)上发出 的,控制者只发布命令而不参与实际的攻击。有控制权或者是部分的控制权,并把相应的 DDoS 程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自控制者的指令,通常它还 会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦黑 客连接到它们进行控制,并发出指令的时候,攻击傀儡机就成为害人者去发起攻击了。 DDoS 发生的过程可以描述如下: 1. 搜集了解目标的情况 • 被攻击目标主机数目、地址情况 • 目标主机的配置、性能 • 目标的带宽 从目标情况中找到可能成为傀儡机的机器 2. 占领傀儡机 • 链路状态好的主机 PDF created with pdfFactory Pro trial version www.pdffactory.com
• 性能好的主机 • 安全管理水平差的主机 首先,一般采用扫描手段,随机地或者是有针对性地利用扫描器去发现互联网上那些有漏洞的 机器,象程序的溢出漏洞、cgi、Unicode、ftp、数据库漏洞…等等,随后就是尝试入侵了,一 旦入侵后,把 DDoS 攻击用的程序上载过去,一般是利用 ftp。在攻击机上,会有一个 DDoS 的 发包程序,攻击者就是利用它来向受害目标发送恶意攻击包。 3. 实际攻击 经过前 2 个阶段的精心准备之后,就开始瞄准目标准备发射了。就象图示里的那样,攻击 者登录到做为控制台的傀儡机,向所有的攻击机发出 DDoS 攻击命令,这时候埋伏在攻击机中 的 DDoS 攻击程序就会响应控制台的命令,一起向受害主机或设备以高速度发送大量的数据包, 导致服务停止,死机或连接线路拥塞中断。 1.3.2 DDoS主要攻击类型 DDoS 攻击分为两种:要么大数据,大流量来压垮网络设备和服务器,要么有意制造大量 无法完成的不完全请求来快速耗尽服务器资源。有效防止 DDoS 攻击的关键困难是无法将攻击 包从合法包中区分出来:IDS 进行的典型“签名”模式匹配起不到有效的作用;许多攻击使用 源 IP 地址欺骗来逃脱源识别,很难搜寻特定的攻击源头。 有两类最常见的 DDoS 攻击: ● 带宽攻击:这种攻击消耗网络带宽或使用大量数据包淹没一个或多个路由器、服务器 和防火墙;带宽攻击的普遍形式是大量表面看合法的 TCP、UDP 或 ICMP 数据包被传 PDF created with pdfFactory Pro trial version www.pdffactory.com
送到特定目的地;为了使检测更加困难,这种攻击也常常使用源地址欺骗,并不停地 变化。这种攻击相对而言更加难以防御,因为合法数据包和无效数据包看起来非常类 似 ● 应用攻击:利用 TCP 和 HTTP 等协议定义的行为来不断占用计算资源以阻止它们处理 正常事务和请求。HTTP 半开和 HTTP 错误就是应用攻击的两个典型例子。 1.3.3 DDoS攻击的常用技术和分类 o TCP IP 协议层攻击 o 缓存溢出攻击-试图在一个缓存中存储超出其设计容量的数据。这种多出的数 据可能会溢出到其他的缓存之中,破坏或者覆盖其中的有效数据。 o TCP SYN 泛洪攻击-一个正常的 TCP 连接需要进行三方握手操作。首先,客户 端向服务器发送一个 TCP SYN 数据包。而后,服务器分配一个控制块,并响应 一个 SYN ACK 数据包。服务器随后将等待从客户端收到一个 ACK 数据包。如 果服务器没有收到 ACK 数据包, TCP 连接将处于半开状态,直到服务器从客 户端收到 ACK 数据包或者连接因为 time-to-live (TTL)计时器设置而超时为止。 在连接超时的情况下,事先分配的控制块将被释放。当一个攻击者有意地、重 复地向服务器发送 SYN 数据包,但不对服务器发回的 SYN ACK 数据包答复 ACK 数据包时,就会发生 TCP SYN 泛洪攻击。这时,服务器将会失去对资源 的控制,无法建立任何新的合法 TCP 连接。 o o UDP flooding UDP 是没有连接状态的协议,因此可以发送大量的 UDP 包到某个 端口,如果是个正常的 UDP 应用端口,则可能干扰正常应用,如果是没有正常 应用,服务器要回送 ICMP,这样则消耗了服务器的处理资源,而且很容易阻塞 上行链路的带宽。 ICMP 泛洪攻击-当 ICMP ping 通过多个响应请求而造成系统过载时,就会发生 ICMP 泛洪攻击。这将导致系统不断地保留它的资源,直到无法再处理有效的网 络流量。 o Smurf 攻击-在进行这种攻击时,攻击者会向接收站点中的一个广播地址发送 一个 IP ICMP ping(即“请回复我的消息”)。Ping 数据包随后将被广播到接收 站点的本地网络中的所有主机。该数据包包含一个“伪装的”源地址,即该 DoS 攻击的对象的地址。每个收到此 ping 数据包的主机都会向伪装的源地址发送响 应,从而导致这个无辜的、被伪装的主机收到大量的 ping 回复。如果收到的数 据量过大,这个被伪装的主机就将无法接收或者区分真实流量。 o 蠕虫-蠕虫是一些独立的程序,可以自行攻击系统和试图利用目标的漏洞。在 成功地利用漏洞之后,蠕虫会自动地将其程序从攻击主机复制到新发现的系统, 从而再次启动循环。蠕虫会将自身的多个复本发送到其他的计算机,例如通过 电子邮件或者互联网多线交谈(IRC)。有些蠕虫(例如众所周知的红色代码和 NIMDA 蠕虫)具有 DDoS 攻击的特征,可能导致终端和网络基础设施的中断。 o Land:采用目标和源地址相同的 UDP 包攻击目标。这种攻击到现在还是有效的。 PDF created with pdfFactory Pro trial version www.pdffactory.com
o Tear drop:也叫碎片攻击,发出的包是经过 fragement 的,而这些碎片的位移是 相互重叠的,这种畸形数据包会造成目标主机不知道如何处理。 o 应用程序级攻击 o 基于会话的攻击。例如简单的 HTTP 等 TCP 服务,服务器会话的数量是影响给 定应用程序性能的重要因素,会话的数量是有限制的,这个限制就是一个 DDoS 的攻击点。一次简单的攻击便可打开 TCP 会话并让这些会话保持打开状态, 从而可以迅速填满所有可用的会话槽,阻止建立任何新的会话。 o DNS 攻击。DNS 请求大多是基于 UDP 协议的,而且不需要由客户机进行认证, 因此很轻易就可以将数千个请求从伪造的来源发送到服务器。另外对请求解析 的地址做改动也能加大 DNS 服务器的负担。 o 应用程序或数据库。SQL 也是易受攻击的目标,在大型而复杂的表格上,SQL 查询可能在应用程序级生成不同的错误行为。例如如果没有正确的索引,涉及 对同一个表的多个列进行筛选和排序操作的 SQL 请求便会产生指数级数量的 操作,这会消耗大量 CPU 资源并显著增加应用程序响应时间。 当然 DDoS 攻击的手段不止这些。但 DDoS 攻击和病毒攻击的方式完全不同:病毒是要求 用最新的代码,以绕过防病毒软件,一旦被反病毒软件识破,病毒就失去了生命力, 而 DDoS 可以说是不需要‘新’技术,一个 10 年前发明的 TCP SYN 照样造成今天的网站瘫痪。这也是 DDoS 非常难于防范的原因:DDoS 的请求表面上和正常的请求没有什么不同,大量的请求因为 无法区分而无法拒绝。 1.3.4 新型 DDoS 攻击目标-基础网络 并不是所有的DDoS攻击的目的都是导致特定终端(例如Web服务器)停止运行,最新的攻 击者可能会将网络基础设施本身作为攻击目标,会造成更大的威胁,网络大面积瘫痪。这种攻 击包括导致连接带宽达到饱和,耗尽路由器和交换机的资源,中断路由器上的某项服务等。连 接饱和与CPU耗尽型DDoS攻击可能会拒绝为动态路由协议提供保持相邻关系所必需的带宽。当 路由器失去与相邻设备的连接时,它会清空从这个中断的相邻设备获得的所有路由。随后它必 须将所有发往这些被清空的路由的流量转向一个替代路由,或者丢弃所有这些流量。因为它必 须连续地重新计算新的路由(清除中断的路由和更新路由),CPU资源最终将被大量占用。无论 如何,结果都是会发生DoS。伪装控制流量的DDoS攻击会劫持动态路由协议流量,恶意地重置 所有相邻关系,或者用错误的信息更新相邻关系,从而导致DoS。 用 DoS(拒绝服务)来攻击路由器将对整个因特网造成严重影响。因为路由协议遭到直接攻 击,从而在大范围内带来严重的服务器的可用性问题。路由器攻击会对网络造成毁灭性的后果。 因为路由器常常集成了 VPN 服务或者防火墙,因而使其成为更吸引黑客的目标。一旦路由器岌 岌可危,整个网络便立刻变得十分危险了。防火墙和入侵检测系统(IDS)的目的在于检测针对 个别网络服务器或主机的攻击,而不是对网络基础设施进行保护的。 PDF created with pdfFactory Pro trial version www.pdffactory.com
1.3.5 DDoS 常见攻击工具 DDoS 攻击实施起来有一定的难度,要求攻击者必须具备入侵他人计算机的能力。但是一 些傻瓜式的黑客程序的出现,这些程序可以在几秒钟内完成入侵和攻击程序的安装,使发动 DDoS 攻击变成一件轻而易举的事情。主要的攻击工具有 JOLT, WINNUKE, TRINOO, TFN, Targa3, Naphta, Trash, fawx,.. 下面我们介绍一下这些常用的黑客程序和工具,其中重点介绍 TFN2K。 o Trinoo Trinoo 的攻击方法是向被攻击目标主机的随机端口发出全零的 4 字节 UDP 包,在处理这些超出 其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务, 乃至崩溃。它对 IP 地址不做假,采用的通讯端口是: 攻击者主机到主控端主机:27665/TCP 主控端主机到代理端主机:27444/UDP 代理端主机到主服务器主机:31335/UDP o TFN TFN 由主控端程序和代理端程序两部分组成,它主要采取的攻击方法为:SYN 风暴、Ping 风暴、 UDP 炸弹和 SMURF,具有伪造数据包的能力。 o Stacheldraht Stacheldraht 是从 TFN 派生出来的,因此它具有 TFN 的特性。此外它增加了主控端与代理端的 加密通讯能力,它对命令源作假,可以防范一些路由器的 RFC2267 过滤。Stacheldrah 中有一个 内嵌的代理升级模块,可以自动下载并安装最新的代理程序。 o TFN2K TFN2K 是由德国著名黑客 Mixter 编写的同类攻击工具 TFN 的后续版本,在 TFN 所具有的 特性上,TFN2K 又新增一些特性,TFN2K 通过主控端利用大量代理端主机的资源进行对一个 或多个目标进行协同攻击。当前互联网中的 UNIX、Solaris 和 Windows NT 等平台的主机能被 用于此类攻击,而且这个工具非常容易被移植到其它系统平台上。 TFN2K 由两部分组成:在主控端主机上的客户端和在代理端主机上的守护进程。主控端向 其代理端发送攻击指定的目标主机列表。代理端据此对目标进行拒绝服务攻击。由一个主控端 PDF created with pdfFactory Pro trial version www.pdffactory.com
分享到:
收藏