dos攻击

生活百科 2023-01-25 16:55生活百科www.aizhengw.cn

dos攻击

DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网路无法提供正常的服务。最常见的DoS攻击有计算机网路频宽攻击和连通性攻击。

DoS攻击是指故意的攻击网路协定实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网路无法提供正常的服务或资源访问,使目标系统服务系统停止回响甚至崩溃,而在此攻击中并不包括侵入目标伺服器或目标网路设备。这些服务资源包括网路频宽,档案系统空间容量,开放的进程或者允许的连线。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、记忆体容量多大、网路频宽的速度多快都无法避免这种攻击带来的后果。

基本介绍

  • 中文名dos攻击
  • 外文名Denial of Service
  • 含义拒绝服务
  • 目的使计算机或网路无法提供正常服务
  • 例子计算机网路频宽攻击和连通性攻击

综述

概念理解

DoS到底是什幺?接触PC机较早的同志会直接想到微软磁碟作业系统的DOS--DiskOperationSystem?不,此DoS非彼DOS也,DoS即DenialOfService,拒绝服务的缩写。
作个形象的比喻来理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要DoS餐馆的话,手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣……相应的计算机和网路系统则是为Internet用户提供网际网路资源的,如果有黑客要进行DoS攻击的话,可以想像同样有好多手段!今天最常见的DoS攻击有对计算机网路的频宽攻击和连通性攻击。频宽攻击指以极大的通信量冲击网路,使得所有可用网路资源都被消耗殆尽,导致合法的用户请求无法通过。连通性攻击指用大量的连线请求冲击计算机,使得所有可用的作业系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
传统上,攻击者所面临的主要问题是网路频宽,由于较小的网路规模和较慢的网路速度的限制,攻击者无法发出过多的请求。虽然类似“the ping of death”的攻击类型只需要较少量的包就可以摧毁一个没有打过补丁的UNIX系统,但大多数的DoS攻击还是需要相当大的频宽的,而以个人为单位的黑客们很难使用高频宽的资源。为了克服这个缺点,DoS攻击者开发了分散式的攻击。攻击者简单利用工具集合许多的网路频宽来对同一个目标发动大量的攻击请求,这就是DDoS(Distributed Denial of Service)攻击。
无论是DoS攻击还是DDoS攻击,简单的看,都只是一种破坏网路服务的黑客方式,虽然具体的实现方式千变万化,但都有一个共同点,就是其根本目的是使受害主机或网路无法及时接收并处理外界请求,或无法及时回应外界请求。其具体表现方式有以下几种
1,製造大流量无用数据,造成通往被攻击主机的网路拥塞,使被攻击主机无法正常和外界通信。
2,利用被攻击主机提供服务或传输协定上处理重複连线的缺陷,反覆高频的发出攻击性的重複服务请求,使被攻击主机无法及时处理其它正常的请求。
3,利用被攻击主机所提供服务程式或传输协定的本身实现缺陷,反覆传送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至当机。
使用殭尸电脑进行DOS攻击
殭尸电脑(Zombie computer),简称“殭尸(zombie)”,有些人称之为“肉鸡”,接入网际网路的电脑被病毒感染后,受控于黑客,可以随时按照黑客的指令展开拒绝服务(DoS)攻击或传送垃圾信息。通常,一部被侵占的电脑只是殭尸网路里面众多中的一环,而且会被用来去运行一连串的或远端控制的恶意程式。很多“殭尸电脑的拥有者”都没有察觉到自己的系统已经被“殭尸化”,就仿佛是没有自主意识的殭尸一般。

攻击流程

要理解dos攻击,要理解TCP连线的三次握手过程(Three-wayhandshake)。在TCP/IP协定中,TCP协定提供可靠的连线服务,採用三次握手建立一个连线。
第一次握手:建立连线时,客户端传送SYN包((SYN=i)到伺服器,并进入SYN SEND状态,等待伺服器确认;
第二次握手:伺服器收到SYN包,必须确认客户的SYN (ACK=i+1 ),自己也传送一个SYN包((SYN=j)}即SYN+ACK包,此时伺服器进入SYN_RECV状态;
第三次握手:客户端收到伺服器的SYN+ACK包,向伺服器传送确认包ACK(ACK=j+1),此包传送完毕,客户端和伺服器进入ESTABLISHED状态,完成三次握手,客户端与伺服器开始传送数据。
在上述过程中,还有一些重要的概念:
半连线:收到SYN包而还未收到ACK包时的连线状态称为半连线,即尚未完全完成三次握手的TCP连线。
半连线伫列:在三次握手协定中,伺服器维护一个半连线伫列,该伫列为每个客户端的SYN包(SYN=i )开设一个条目,该条目表明伺服器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连线在伺服器处于SYN_ RECV状态,当伺服器收到客户的确认包时,删除该条目,伺服器进入ESTABLISHED状态。
Backlog参数:表示半连线伫列的最大容纳数目。
SYN-ACK重传次数:伺服器传送完SYN-ACK包,如果未收到客户确认包,伺服器进行重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连线信息、从半连线伫列中删除。注意,每次重传等待的时间不一定相同。
半连线存活时间:是指半连线伫列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时也称半连线存活时间为Timeout时间、SYN_RECV存活时间。
上面三个参数对系统的TCP连线状况有很大影响。
SYN洪水攻击属于DoS攻击的一种,它利用TCP协定缺陷,通过传送大量的半连线请求,耗费CPU和记忆体资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网路系统,事实上SYN攻击并不管目标是什幺系统,只要这些系统打开TCP服务就可以实施。从图4-3可看到,伺服器接收到连线请求(SYN=i )将此信息加入未连线伫列,并传送请求包给客户端( SYN=j,ACK=i+1 ),此时进入SYN_RECV状态。当伺服器未收到客户端的确认包时,重发请求包,一直到逾时,才将此条目从未连线伫列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP位址,向伺服器不断地传送SYN包,伺服器回复确认包,并等待客户的确认,由于源地址是不存在的,伺服器需要不断的重发直至逾时,这些伪造的SYN包将长时间占用未连线伫列,正常的SYN 请求
被丢弃,目标系统运行缓慢,严重者引起网路堵塞甚至系统瘫痪。过程如下:
攻击主机C(地址伪装后为C')-----大量SYN包---->被攻击主机
C&apos;<-------SYN/ACK包----被攻击主机
由于C’地址不可达,被攻击主机等待SYN包逾时。攻击主机通过发大量SYN包填满未连线伫列,导致正常SYN包被拒绝服务。,SYN洪水攻击还可以通过发大量ACK包进行DoS攻击。

攻击手段

拒绝服务攻击是一种对网路危害巨大的恶意攻击。今天,DoS具有代表性的攻击手段包括PingofDeath、TearDrop、UDPflood、SYNflood、LandAttack、IPSpoofingDoS等。看看它们又是怎幺实现的。
dos攻击快闪族
死亡之ping (pingofdeath)DengKelen
ICMP(InternetControlMessageProtocol,Internet控制信息协定)在Internet上用于错误处理和传递控制信息。最普通的ping程式就是这个功能。而在TCP/IP的RFC文档中对包的最大尺寸都有严格限制规定,许多作业系统的TCP/IP协定栈都规定ICMP包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。"PingofDeath"就是故意产生畸形的测试Ping(PacketInternetGroper)包,声称自己的尺寸超过ICMP上限,也就是载入的尺寸超过64KB上限,使未採取保护措施的网路系统出现记忆体分配错误,导致TCP/IP协定栈崩溃,最终接收方宕机。
泪滴
泪滴攻击利用在TCP/IP协定栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP协定栈(例如NT在servicepack4以前)在收到含有重叠偏移的伪造分段时将崩溃。
UDP泛洪
(UDPflood)
UDPflood攻击如今在Internet上UDP(用户数据包协定)的套用比较广泛,很多提供WWW和Mail等服务设备通常是使用Unix的伺服器,它们默认打开一些被黑客恶意利用的UDP服务。如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字元。UDPflood假冒攻击就是利用这两个简单的TCP/IP服务的漏洞进行恶意攻击,通过伪造与某一主机的Chargen服务之间的一次的UDP连线,回复地址指向开着Echo服务的一台主机,通过将Chargen和Echo服务互指,来回传送毫无用处且占满频宽的垃圾数据,在两台主机之间生成足够多的无用数据流,这一拒绝服务攻击飞快地导致网路可用频宽耗尽。
SYN泛洪
(SYNflood)
SYNflood攻击我们知道当用户进行一次标準的TCP(TransmissionControlProtocol)连线时,会有一个3次握手过程。是请求服务方传送一个SYN(SynchronizeSequenceNumber)讯息,服务方收到SYN后,会向请求方回送一个SYN-ACK表示确认,当请求方收到SYN-ACK后,向服务方传送一个ACK讯息,这样一次TCP连线建立成功。“SYNFlooding”则专门针对TCP协定栈在两台主机间初始化连线握手的过程进行DoS攻击,其在实现过程中只进行前2个步骤当服务方收到请求方的SYN-ACK确认讯息后,请求方由于採用源地址欺骗等手段使得服务方收不到ACK回应,于是服务方会在一定时间处于等待接收请求方ACK讯息的状态。而对于某台伺服器来说,可用的TCP连线是有限的,因为他们只有有限的记忆体缓冲区用于创建连线,如果这一缓冲区充满了虚假连线的初始信息,该伺服器就会对接下来的连线停止回响,直至缓冲区里的连线企图逾时。如果恶意攻击方快速连续地传送此类连线请求,该伺服器可用的TCP连线伫列将很快被阻塞,系统可用资源急剧减少,网路可用频宽迅速缩小,长此下去,除了少数幸运用户的请求可以插在大量虚假请求间得到应答外,伺服器将无法向用户提供正常的合法服务。
Land(LandAttack)攻击
在Land攻击中,黑客利用一个特别打造的SYN包--它的原地址和目标地址都被设定成某一个伺服器地址进行攻击。此举将导致接受伺服器向它自己的地址传送SYN-ACK讯息,结果这个地址又发回ACK讯息并创建一个空连线,每一个这样的连线都将保留直到逾时,在Land攻击下,许多UNIX将崩溃,NT变得极其缓慢(大约持续五分钟)。
dos攻击
IP欺骗
这种攻击利用TCP协定栈的RST位来实现,使用IP欺骗,迫使伺服器把合法用户的连线复位,影响合法用户的连线。假设有一个合法用户(100.100.100.100)已经同伺服器建了正常的连线,攻击者构造攻击的TCP数据,伪装自己的IP为100.100.100.100,并向伺服器传送一个带有RST位的TCP数据段。伺服器接收到这样的数据后,认为从100.100.100.100传送的连线有错误,就会清空缓冲区中已建立好的连线。这时,合法用户100.100.100.100再传送合法数据,伺服器就已经没有这样的连线了,该用户就被拒绝服务而只能重新开始建立新的连线。

攻击方法

具体DoS攻击方法很多,但大多都可以分为以下几类
利用软体实现的缺陷
OOB攻击(常用工具winnuke),teardrop攻击(常用工具teardrop.cboink.cbonk.c),land攻击,IGMP碎片包攻击,jolt攻击,Cisco2600路由器IOSversion12.0(10)远程拒绝服务攻击等等,这些攻击都是利用了被攻击软体的实现上的缺陷完成DoS攻击的。通常这些攻击工具向被攻击系统传送特定类型的一个或多个报文,这些攻击通常都是致命的,一般都是一击致死,而且很多攻击是可以伪造源地址的,所以即使通过IDS或者别的sniffer软体记录到攻击报文也不能找到谁发动的攻击,而且此类型的攻击多是特定类型的几个报文,非常短暂的少量的报文,如果伪造源IP位址的话,使追查工作几乎是不可能。
软体主流程图
那幺如何造成这些攻击的?通常是软体开发过程中对某种特定类型的报文、或请求没有处理,导致软体遇到这种类型的报文运行出现异常,导致软体崩溃甚至系统崩溃。下面结合几个具体实例解释一下这种攻击的成因。
1997年5月7号有人发布了一个winnuke.c。建立一条到Win95/NT主机的TCP连线,然后传送TCP紧急数据,导致对端系统崩溃。139/TCP是Win95/NT系统最常见的侦听连线埠,所以winnuke.c使用了该连线埠。之所以称呼这种攻击为OOB攻击,因为MSG_OOB标誌,实际应该是TCP紧急数据攻击。
原始teardrop.c只构造了两种碎片包,每次传送这两种UDP碎片包。如果指定传送次数,将完全重複先前所传送出去的两种碎片包。它可以伪造源ip并跨越路由器进行远程攻击,影响的系统包括Linux/WinNT/Win95。使用的方法是
teardrop源ip目的ip[-s源连线埠][-d目的连线埠][-n次数]
比较新的一个DoS攻击是Windows的SMB实现中的DoS攻击,2002年8月发布,只要允许匿名连线的windows系统就可以进行远程攻击,强烈建议Windows用户打相应的补丁。它的方法就是先和目标系统建立一个连线,然后传送一个特定的请求,目标系统就会兰屏。发布的测试工具SMBdie.exe是图形界面工具,输入目标地址NETBIOS名称即可。
从上面的讨论可以看出,这种攻击行为威力很大,而且难于侦察。但真实情况下它的危害仅现于漏洞发布后的不长的时间段内,相关厂商会很快发布补丁修补这种漏洞。所以上面提到的几种较老的攻击在现实的环境中,通常是无效的。不过最新的攻击方法还是让我们不寒而慄,我们可以做的就是关注安全漏洞的发布,及时打上新的补丁。如果你想偷懒的话,购买专业安全服务公司的相关服务应该是个更好的选择。
利用协定的漏洞
如果说上面那种漏洞危害的时间不是很长,那幺这种攻击的生存能力却非常强。为了能够在网路上进行互通、互联,所有的软体实现都必须遵循既有的协定,而如果这种协定存在漏洞的话,所有遵循此协定的软体都会受到影响。
最经典的攻击是synflood攻击,它利用TCP/IP协定的漏洞完成攻击。通常一次TCP连线的建立包括3个步骤,客户端传送SYN包给伺服器端,伺服器分配一定的资源给这里连线并返回SYN/ACK包,并等待连线建立的的ACK包,客户端传送ACK报文,这样两者之间的连线建立起来,并可以通过连线传送数据了。而攻击的过程就是疯狂传送SYN报文,而不返回ACK报文,伺服器占用过多资源,而导致系统资源占用过多,没有能力回响别的操作,或者不能回响正常的网路请求。
这个攻击是经典的以小搏大的攻击,自己使用少量资源占用对方大量资源。一台P4的Linux系统大约能发到30-40M的64位元组的synflood报文,而一台普通的伺服器20M的流量就基本没有任何回响了(包括滑鼠、键盘)。而且synflood不仅可以远程进行,而且可以伪造源IP位址,给追查造成很大困难,要查找必须所有骨干网路运营商,一级一级路由器的向上查找。
对于伪造源IP的synflood攻击,除非攻击者和被攻击的系统之间所有的路由器的管理者都配合查找,否则很难追查。当前一些防火墙产品声称有抗DoS的能力,但通常他们能力有限,包括国外的硬体防火墙大多100M防火墙的抗synflood的能力只有20-30Mbps(64位元组syn包),这里涉及到它们对小报文的转发能力,再大的流量甚至能把防火墙打当机。有些安全厂商认识到DoS攻击的危害,开始研发专用的抗拒绝服务产品。
TCP/IP协定结构图
由于TCP/IP协定相信报文的源地址,另一种攻击方式是反射拒绝服务攻击,可以利用还有广播地址,和组播协定辅助反射拒绝服务攻击效果更好。不过大多数路由器都禁止广播地址和组播协定的地址。
另一类攻击方式是使用大量符合协定的正常服务请求,由于每个请求耗费很大系统资源,导致正常服务请求不能成功。如HTTP协定是无状态协定,攻击者构造大量搜寻请求,这些请求耗费大量伺服器资源,导致DoS。这种方式攻击比较好处理,由于是正常请求,暴露了正常的源IP位址,禁止这些IP就可以了。
进行资源比拼
这种攻击方式属于无赖打法,我凭藉着手中的资源丰富,传送大量的垃圾数据侵占完你的资源,导致DoS。比如,ICMPflood,mstreamflood,Connectionflood。为了获得比目标系统更多资源,通常攻击者会发动DDoS(DistributedDos分散式拒绝服务)攻击者控制多个攻击傀儡发动攻击,这样才能产生预期的效果。前两类攻击是可以伪造IP位址的,追查也是非常困难,第3种攻击由于需要建立连线,可能会暴露攻击傀儡的IP位址,通过防火墙禁止这些IP就可以了。对于难于追查,禁止的攻击行为,我们只能期望专用的抗拒绝服务产品了。

攻击程式

smurf、trinoo、tfn、tfn2k以及stacheldraht是比较常见的DoS攻击程式,本文将对它们的原理以及抵御措施进行论述,以帮助管理员有效地抵御DoS风暴攻击,维护站点安全。
“smurf攻击”,如何抵御
Smurf是一种简单但有效的DDoS攻击技术,它利用了ICMP(Internet控制信息协定)。ICMP在Internet上用于错误处理和传递控制信息。它的功能之一是与主机联繫,通过传送一个“回音请求”(echorequest)信息包看看主机是否“活着”。最普通的ping程式就使用了这个功能。Smurf是用一个偷来的帐号安装到一个计算机上的,然后用一个伪造的源地址连续ping一个或多个计算机网路,这就导致所有计算机所回响的那个计算机并不是实际传送这个信息包的那个计算机。这个伪造的源地址,实际上就是攻击的目标,它将被极大数量的回响信息量所淹没。对这个伪造信息包做出回响的计算机网路就成为攻击的不知情的同谋。
黑客
下面是SmurfDDoS攻击的基本特性以及建议採用的抵御策略
1、Smurf的攻击平台smurf为了能工作,必须要找到攻击平台,这个平台就是其路由器上启动了IP广播功能。这个功能允许smurf传送一个伪造的ping信息包,然后将它传播到整个计算机网路中。
2、为防止系统成为smurf攻击的平台,要将所有路由器上IP的广播功能都禁止。一般来讲,IP广播功能并不需要。
3、攻击者也有可能从LAN内部发动一个smurf攻击,在这种情况下,禁止路由器上的IP广播功能就没有用了。为了避免这样一个攻击,许多作业系统都提供了相应设定,防止计算机对IP广播请求做出回响。
4、如果攻击者要成功地利用你成为攻击平台,你的路由器必须要允许信息包以不是从你的区域网路中产生的源地址离开网路。配置路由器,让它将不是由你的区域网路中生成的信息包过滤出去,这是有可能做到的。这就是所谓的网路出口过滤器功能。
5、ISP则应使用网路入口过滤器,以丢掉那些不是来自一个已知範围内IP位址的信息包。
6、挫败一个smurf攻击的最简单方法对边界路由器的回音应答(echoreply)信息包进行过滤,然后丢弃它们,这样就能阻止“命中”Web伺服器和区域网路。对于那些使用Cisco路由器的人,另一个选择是CAR(CommittedAccessRate,承诺访问速率)。
丢弃所有的回音应答信息包能使网路避免被淹没,它不能防止来自上游供应者通道的交通堵塞。如果你成为了攻击的目标,就要请求ISP对回音应答信息包进行过滤并丢弃。如果不想完全禁止回音应答,那幺可以有选择地丢弃那些指向你的公用Web伺服器的回音应答信息包。CAR技术由Cisco开发,它能够规定出各种信息包类型使用的频宽的最大值。例如,使用CAR,我们就可以精确地规定回音应答信息包所使用的频宽的最大值。
“trinoo”,如何抵御
trinoo是複杂的DDoS攻击程式,它使用“master”程式对实际实施攻击的任何数量的“代理”程式实现自动控制。攻击者连线到安装了master程式的计算机,启动master程式,然后根据一个IP位址的列表,由master程式负责启动所有的代理程式。接着,代理程式用UDP信息包冲击网路,从而攻击目标。在攻击之前,侵入者为了安装软体,已经控制了装有master程式的计算机和所有装有代理程式的计算机。
牵引流量技术在DOS攻击中套用
下面是trinooDDoS攻击的基本特性以及建议採用的抵御策略
1、在master程式与代理程式的所有通讯中,trinoo都使用了UDP协定。入侵检测软体能够寻找使用UDP协定的数据流(类型17)。
2、Trinoomaster程式的监听连线埠是27655,攻击者一般藉助telnet通过TCP连线到master程式所在计算机。入侵检测软体能够搜寻到使用TCP(类型6)并连线到连线埠27655的数据流。
3、所有从master程式到代理程式的通讯都包含字元串“l44”,并且被引导到代理的UDP连线埠27444。入侵检测软体检查到UDP连线埠27444的连线,如果有包含字元串l44的信息包被传送过去,那幺接受这个信息包的计算机可能就是DDoS代理。
4、Master和代理之间通讯受到口令的保护,口令不是以加密格式传送的,它可以被“嗅探”到并被检测出来。使用这个口令以及来自DaveDittrich的trinot脚本,要準确地验证出trinoo代理的存在是很可能的。
一旦一个代理被準确地识别出来,trinoo网路就可以安装如下步骤被拆除
·在代理daemon上使用"strings"命令,将master的IP位址暴露出来。
·与所有作为trinoomaster的机器管理者联繫,通知它们这一事件。
·在master计算机上,识别含有代理IP位址列表的档案(默认名“...”),得到这些计算机的IP位址列表。
·向代理髮送一个伪造“trinoo”命令来禁止代理。通过crontab档案(在UNIX系统中)的一个条目,代理可以有规律地重新启动,,代理计算机需要一遍一遍地被关闭,直到代理系统的管理者修复了crontab档案为止。
·检查master程式的活动TCP连线,这能显示攻击者与trinoomaster程式之间存在的实时连线。
·如果网路正在遭受trinoo攻击,那幺系统就会被UDP信息包所淹没。Trinoo从同一源地址向目标主机上的任意连线埠传送信息包。探测trinoo就是要找到多个UDP信息包,它们使用同一来源IP位址、同一目的IP位址、同一源连线埠,不同的目的连线埠。
·在美国FBI网站上有一个检测和根除trinoo的自动程式。
“TribalFloodNetwork”和“TFN2K”,如何抵御
TribeFloodNetwork与trinoo一样,使用一个master程式与位于多个网路上的攻击代理进行通讯。TFN可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP位址的信息包。可以由TFN发动的攻击包括UDP冲击、TCPSYN冲击、ICMP回音请求冲击以及ICMP广播。
以下是TFNDDoS攻击的基本特性以及建议的抵御策略
1、发动TFN时,攻击者要访问master程式并向它传送一个或多个目标IP位址,然后Master程式继续与所有代理程式通讯,指示它们发动攻击。
TFNMaster程式与代理程式之间的通讯使用ICMP回音应答信息包,实际要执行的指示以二进制形式包含在16位ID域中。ICMP(Internet控制信息协定)使信息包协定过滤成为可能。通过配置路由器或入侵检测系统,不允许所有的ICMP回音或回音应答信息包进入网路,就可以达到挫败TFN代理的目的。这样会影响所有使用这些功能的Internet程式,比如ping。
TFNMaster程式读取一个IP位址列表,其中包含代理程式的位置。这个列表可能使用如“Blowfish”的加密程式进行了加密。如果没有加密的话,就可以从这个列表方便地识别出代理信息。
2、用于发现系统上TFN代理程式的程式是td,发现系统上master程式的程式是tfn。TFN代理并不查看ICMP回音应答信息包来自哪里,使用伪装ICMP信息包沖刷掉这些过程是可能的。
TFN2K是TFN的一个更高级的版本,它“修复”了TFN的某些缺点
1、在TFN2K下,Master与代理之间的通讯可以使用许多协定,例如TCP、UDP或ICMP,这使得协定过滤不可能实现。
2、TFN2K能够传送破坏信息包,从而导致系统瘫痪或不稳定。
3、TFN2K伪造IP源地址,让信息包看起来好像是从LAN上的一个临近机器来的,这样就可以挫败出口过滤和入口过滤。
4、由于TFN2K是被识破的,还没有一项研究能够发现它的明显弱点。
在人们能够对TFN2K进行更完全的分析之前,最好的抵御方法是
·加固系统和网路,以防系统被当做DDoS主机。
·在边界路由器上设定出口过滤,这样做的原因是或许不是所有的TFN2K源地址都用内部网路地址进行伪装。
·请求上游供应商配置入口过滤。
“stacheldraht”,如何防範
Stacheldraht也是基于TFN和trinoo一样的客户机/伺服器模式,其中Master程式与潜在的成千个代理程式进行通讯。在发动攻击时,侵入者与master程式进行连线。Stacheldraht增加了以下新功能攻击者与master程式之间的通讯是加密的,以及使用rcp(remotecopy,远程複製)技术对代理程式进行更新。
Stacheldraht同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP位址的信息包。Stacheldraht所发动的攻击包括UDP冲击、TCPSYN冲击、ICMP回音应答冲击以及ICMP播放。
以下是StacheldrahtDDoS攻击的基本特徵以及建议採取的防御措施
1、在发动Stacheldraht攻击时,攻击者访问master程式,向它传送一个或多个攻击目标的IP位址。Master程式再继续与所有代理程式进行通讯,指示它们发动攻击。
Stacheldrahtmaster程式与代理程式之间的通讯主要是由ICMP回音和回音应答信息包来完成的。配置路由器或入侵检测系统,不允许一切ICMP回音和回音应答信息包进入网路,这样可以挫败Stacheldraht代理。这样会影响所有要使用这些功能的Internet程式,例如ping。
2、代理程式要读取一个包含有效master程式的IP位址列表。这个地址列表使用了Blowfish加密程式进行加密。代理会试图与列表上所有的master程式进行联繫。如果联繫成功,代理程式就会进行一个测试,以确定它被安装到的系统是否会允许它改变"伪造"信息包的源地址。通过配置入侵检测系统或使用嗅探器来搜寻它们的签名信息,可以探测出这两个行为。
代理会向每个master传送一个ICMP回音应答信息包,其中有一个ID域包含值666,一个数据域包含字元串“skillz”。如果master收到了这个信息包,它会以一个包含值667的ID域和一个包含字元串“ficken”的数据域来应答。代理和master通过交换这些信息包来实现周期性的基本接触。通过对这些信息包的监控,可以探测出Stacheldraht。
一旦代理找到了一个有效master程式,它会向master传送一个ICMP信息包,其中有一个伪造的源地址,这是在执行一个伪造测试。这个假地址是“3.3.3.3”。如果master收到了这个伪造地址,在它的应答中,用ICMP信息包数据域中的“spoofworks”字元串来确认伪造的源地址是奏效的。通过监控这些值,也可以将Stacheldraht检测出来。
3、Stacheldraht代理并不检查ICMP回音应答信息包来自哪里,就有可能伪造ICMP信息包将其排除。
4、Stacheldraht代理程式与TFN和trinoo一样,都可以用一个C程式来探测。

防範

DoS攻击几乎是从网际网路络的诞生以来,就伴随着网际网路的发展而一直存在也不断发展和升级。值得一提的是,要找DoS的工具一点不难,黑客群居的网路社区都有共享黑客软体的传统,并会在一起交流攻击的心得经验,你可以很轻鬆的从Internet上获得这些工具,像以上提到的这些DoS攻击软体都是可以从网上随意找到的公开软体。所以任何一个上网者都可能构成网路安全的潜在威胁。DoS攻击给飞速发展的网际网路安全带来重大的威胁。
dos攻击
要避免系统免受DoS攻击,从前两点来看,网路管理员要积极谨慎地维护系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DoS攻击,强烈建议网路管理员应当定期查看安全设备的日誌,及时发现对系统的安全威胁行为。
Internet支持工具就是其中的主要解决方案之一,包括SuperStack3Firewall、WebCache以及ServerLoadBalancer。不但作为安全网关设备的3ComSuperStack3防火墙在预设预配置下可探测和防止“拒绝服务”(DoS)以及“分散式拒绝服务”(DDoS)等黑客侵袭,强有力的保护您的网路,使您免遭未经授权访问和其他来自Internet的外部威胁和侵袭;而且3ComSuperStack3ServerLoadBalancer在为多伺服器提供硬体线速的4-7层负载均衡的,还能保护所有伺服器免受“拒绝服务”(DoS)攻击;同样3ComSuperStack3WebCache在为企业提供高效的本地快取的,也能保证自身免受“拒绝服务”(DoS)攻击。
常见攻击与防範

SYN Flood攻击

原理
问题就出在TCP连线的三次握手中,假设一个用户向伺服器传送了SYN报文后突然当机或掉线,那幺伺服器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这 种情况下伺服器端一般会重试(传送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连线,这段时间的长度我们称为SYN Timeout,这个时间是分钟的数量级(大约为30秒 -2分钟);一个用户出现异常导致伺服器的一个执行绪等待1分钟并不是什幺很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,伺服器端将为了维护一个非常大的半连线列表而消耗非常 多的资源----数以万计的半连线,即使是简单的保存并遍历也会消耗非常多的CPU时间和记忆体,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果伺服器的TCP/IP栈不够强大,最 后的结果往往是堆叠溢出崩溃---即使伺服器端的系统足够强大,伺服器端也将忙于处理攻击者伪造的TCP连线请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从 正常客户的角度看来,伺服器失去回响,这种情况我们称作伺服器端受到了SYN Flood攻击(SYN洪水攻击)。
防範
第一种是缩短SYN Timeout时间
第二种方法是设定SYN Cookie,就是给每一个请求连线的IP位址分配一个Cookie,如果短时间内连续受到某个IP的重複SYN报文,就认定是受到了攻击,以后从这个IP位址来的包会被一概丢弃。
>netstat -n -p tcp >result.txt

Smurf攻击

原理
传送伪装的ICMP数据包,目的地址设为某个网路的广播地址,源地址设为要攻击的目的主机,使所有收到此ICMP数据包的主机都将对目的主机发出一个回应,使被攻击主机在某一段时间内收到 成千上万的数据包
防範
在cisco路由器上配置如下可以防止将包传递到广播地址上:
Router(config-if)# no ip directed-broadcast

Ping of Death

原理
"ping of death"攻击就是我们常说的"死亡Ping"
这种攻击通过传送大于65536位元组的ICMP包使作业系统崩溃;通常不可能传送大于65536个位元组的ICMP包,但可以把报文分割成片段,然后在目标主机上重组;最终会导致被攻击目标缓冲区溢 出,引起拒绝服务攻击。有些时候导致telne和http服务停止,有些时候路由器重启。

泪滴攻击

原理
对于一些大的IP数据包,往往需要对其进行拆分传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个6 000位元组的IP包,在MTU为2 000的链路上传输的时候,就需要分成3个IP 包。在IP报头中有一个偏移栏位和一个拆分标誌(MF)。如果MF标誌设定为1,则表示这个IP包是一个大IP包的片段,其中偏移栏位指出了这个片段在整个IP包中的位置。例如,对一个6 000字 节的IP包进行拆分(MTU为2 000),则3个片段中偏移栏位的值依次为0,2 000,4 000。这样接收端在全部接收完IP数据包后,就可以根据这些信息重新组装这几个分次接收的拆分IP包。在这 里就有一个安全漏洞可以利用了,就是如果黑客们在截取IP数据包后,把偏移栏位设定成不正确的值,这样接收端在收到这些分拆的数据包后,就不能按数据包中的偏移栏位值正确组合这些拆 分的数据包,但接收端会不断尝试,这样就可能致使目标计算机作业系统因资源耗尽而崩溃。

DRDOS

原理
攻击时,攻击者巧妙的利用了反弹伺服器群来将洪水数据包反弹给目标主机 反弹服务是指某些伺服器在收到一个请求数据报后就会产生一个回应数据报。所有的 Web 伺服器、DNS 伺服器及路 由器都是反弹伺服器,他们会对 SYN 报文或其他 TCP 报文回应 SYNACKs 或 RST 报文, 以及对一些 IP 报文回应 ICMP 数据报逾时或目的地不可达讯息的数据 报。任何用于普通目的 TCP 连 接许可的网路伺服器都可以用做数据包反射伺服器
配置路由器、防火墙和入侵检测系统来抵御常见DDoS攻击
Smurf
·确定你是否成为了攻击平台对不是来自于你的内部网路的信息包进行监控;监控大容量的回音请求和回音应答信息包。
·避免被当做一个攻击平台在所有路由器上禁止IP广播功能;将不是来自于内部网路的信息包过滤掉。
·减轻攻击的危害在边界路由器对回音应答信息包进行过滤,并丢弃;对于Cisco路由器,使用CAR来规定回音应答信息包可以使用的频宽最大值。
trinoo
·确定你是否成为攻击平台在master程式和代理程式之间的通讯都是使用UDP协定,对使用UDP协定(类别17)进行过滤;攻击者用TCP连线埠27655与master程式连线,对使用TCP(类别6)连线埠27655连线的流进行过滤;master与代理之间的通讯必须要包含字元串“l44”,并被引导到代理的UDP连线埠27444,对与UDP连线埠27444连线且包含字元串l44的数据流进行过滤。
dos攻击
·避免被用作攻击平台将不是来自于你的内部网路的信息包过滤掉。
·减轻攻击的危害从理论上说,可以对有相同源IP位址的、相同目的IP位址的、相同源连线埠的、不通目的连线埠的UDP信息包序列进行过滤,并丢弃它们。
TFN
·确定你是否成为攻击平台对不是来自于内部网路的信息包进行监控。
·避免被用作攻击平台不允许一切到你的网路上的ICMP回音和回音应答信息包,这会影响所有要使用这些功能的Internet程式;将不是来源于内部网路的信息包过滤掉。
Stacheldraht
·确定你是否成为攻击平台对ID域中包含值666、数据域中包含字元串“skillz”或ID域中包含值667、数据域中包含字元串“ficken”的ICMP回音应答信息包进行过滤;对源地址为“3.3.3.3”的ICMP信息包和ICMP信息包数据域中包含字元串“spoofworks”的数据流进行过滤。
·手工防护
一般而言手工方式防护DDOS主要通过两种形式
系统最佳化――主要通过最佳化被攻击系统的核心参数,提高系统本身对DDoS攻击的回响能力。这种做法只能针对小规模的DDOS进行防护。
网路追查――遭受DDoS攻击的系统的管理人员一般第一反应是询问上一级网路运营商,这有可能是ISP、IDC等,目的就是为了弄清楚攻击源头。

退让策略

为了抵抗DDOS攻击,DengKelen客户可能会通过购买硬体的方式来提高系统抗DDOS的能力。这种退让策略的效果并不好,一方面由于这种方式的性价比过低,另一方面,黑客提高供给流量之后,这种方法往往失效,所以不能从根本意义上防护DDoS攻击。

防火墙

防火墙几乎是最常用的安全产品,防火墙设计原理中并没有考虑针对DDOS攻击的防护,在某些情况下,防火墙甚至成为DDOS攻击的目标而导致整个网路的拒绝服务。
是防火墙缺乏DDOS攻击检测的能力。通常,防火墙作为三层包转发设备部署在网路中,一方面在保护内部网路的,它也为内部需要提供外部Internet服务的设备提供了通路,如果DDOS攻击採用了这些伺服器允许的合法协定对内部系统进行攻击,防火墙对此就无能为力,无法精确的从背景流量中区分出攻击流量。虽然有些防火墙内置了某些模组能够对攻击进行检测,这些检测机制一般都是基于特徵规则,DDOS攻击者只要对攻击数据包稍加变化,防火墙就无法应对,对DDOS攻击的检测必须依赖于行为模式的算法。
第二个原因就是传统防火墙计算能力的限制,传统的防火墙是以高强度的检查为代价,检查的强度越高,计算的代价越大。而DDOS攻击中的海量流量会造成防火墙性能急剧下降,不能有效地完成包转发的任务。最好防火墙的部署位置也影响了其防护DDOS攻击的能力。传统防火墙一般都是部署在网路入口位置,虽然某种意义上保护了网路内部的所有资源,其往往也成为DDOS攻击的目标,攻击者一旦发起DDOS攻击,往往造成网路性能的整体下降,导致用户正常请求被拒绝。
上一篇:NAP技术 下一篇:FLOAT(数据类型)

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有