内容导读:导航目录:1、常见的***攻击***和防御技术2、拒绝服务攻击TeardropAttack的解决办法3、什么是泪滴攻击?4、泪滴(teardrop)攻击是什么一回事5、常见的DOS攻击手段有哪些6、...……
导航目录:
- 1、常见的 *** 攻击 *** 和防御技术
- 2、拒绝服务攻击Teardrop Attack的解决办法
- 3、什么是泪滴攻击?
- 4、泪滴(teardrop)攻击是什么一回事
- 5、常见的DOS攻击手段有哪些
- 6、什么是Dos攻击?
常见的 *** 攻击 *** 和防御技术
*** 攻击类型
侦查攻击:
搜集 *** 存在的弱点,以进一步攻击 *** 。分为扫描攻击和 *** 监听。
扫描攻击:端口扫描,主机扫描,漏洞扫描。
*** 监听:主要指只通过软件将使用者计算机网卡的模式置为混杂模式,从而查看通过此 *** 的重要明文信息。
端口扫描:
根据 TCP 协议规范,当一台计算机收到一个TCP 连接建立请求报文(TCP SYN) 的时候,做这样的处理:
1、如果请求的TCP端口是开放的,则回应一个TCP ACK 报文, 并建立TCP连接控制结构(TCB);
2、如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。
相应地,如果IP协议栈收到一个UDP报文,做如下处理:
1、如果该报文的目标端口开放,则把该UDP 报文送上层协议(UDP ) 处理, 不回应任何报文(上层协议根据处理结果而回应的报文例外);
2、如果该报文的目标端口没有开放,则向发起者回应一个ICMP 不可达报文,告诉发起者计算机该UDP报文的端口不可达。
利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TC 或UDP端口是开放的。
过程如下:
1、发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样更大为65535,数量很有限);
2、如果收到了针对这个TCP 报文的RST 报文,或针对这个UDP 报文 的 ICMP 不可达报文,则说明这个端口没有开放;
3、相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP 端口没有开放) 。
这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。
主机扫描即利用ICMP原理搜索 *** 上存活的主机。
*** 踩点(Footprinting)
攻击者事先汇集目标的信息,通常采用whois、Finger等工具和DNS、LDAP等协议获取目标的一些信息,如域名、IP地址、 *** 拓扑结构、相关的用户信息等,这往往是黑客入侵之前所做的之一步工作。
扫描攻击
扫描攻击包括地址扫描和端口扫描等,通常采用ping命令和各种端口扫描工具,可以获得目标计算机的一些有用信息,例如机器上打开了哪些端口,这样就知道开设了哪些服务,从而为进一步的入侵打下基础。
协议指纹
黑客对目标主机发出探测包,由于不同操作系统厂商的IP协议栈实现之间存在许多细微的差别(也就是说各个厂家在编写自己的TCP/IP 协议栈时,通常对特定的RFC指南做出不同的解释),因此各个操作系统都有其独特的响应 *** ,黑客经常能确定出目标主机所运行的操作系统。
常常被利用的一些协议栈指纹包括:TTL值、TCP窗口大小、DF 标志、TOS、IP碎片处理、 ICMP处理、TCP选项处理等。
信息流监视
这是一个在共享型局域网环境中最常采用的 *** 。
由于在共享介质的 *** 上数据包会经过每个 *** 节点, 网卡在一般情况下只会接受发往本机地址或本机所在广播(或多播)地址的数据包,但如果将网卡设置为混杂模式(Promiscuous),网卡就会接受所有经过的数据包。
基于这样的原理,黑客使用一个叫sniffer的嗅探器装置,可以是软件,也可以是硬件)就可以对 *** 的信息流进行监视,从而获得他们感兴趣的内容,例如口令以及其他秘密的信息。
访问攻击
密码攻击:密码暴力猜测,特洛伊木马程序,数据包嗅探等方式。中间人攻击:截获数据,窃听数据内容,引入新的信息到会话,会话劫持(session hijacking)利用TCP协议本身的不足,在合法的通信连接建立后攻击者可以通过阻塞或摧毁通信的一方来接管已经过认证建立起来的连接,从而假冒被接管方与对方通信。
拒绝服务攻击
伪装大量合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务响应。
要避免系统遭受DoS 攻击,从前两点来看, *** 管理员要积极谨慎地维护整个系统,确保无安全隐患和漏洞;
而针对第四点第五点的恶意攻击方式则需要安装防火墙等安 全设备过滤DoS攻击,同时强烈建议 *** 管理员定期查看安全设备的日志,及时发现对系统存在安全威胁的行为。
常见拒绝服务攻击行为特征与防御 ***
拒绝服务攻击是最常见的一类 *** 攻击类型。
在这一攻击原理下,它又派生了许多种不同的攻击方式。
正确了解这些不同的拒绝攻击方式,就可以为正确、系统地为自己所在企业部署完善的安全防护系统。
入侵检测的最基本手段是采用模式匹配的 *** 来发现入侵攻击行为。
要有效的进行反攻击,首先必须了解入侵的原理和工作机理,只有这样才能做到知己知彼,从而有效的防止入侵攻击行为的发生。

下面我们针对几种典型的拒绝服务攻击原理进行简要分析,并提出相应的对策。
死亡之Ping( Ping of death)攻击
由于在早期的阶段,路由器对包的更大大小是有限制的,许多操作系统TCP/IP栈规定ICMP包的大小限制在64KB 以内。
在对ICMP数据包的标题头进行读取之后,是根据该标题头里包含的信息来为有效载荷生成缓冲区。
当大小超过64KB的ICMP包,就会出现内存分配错误,导致TCP/IP堆栈崩溃,从而使接受方计算机宕机。
这就是这种“死亡之Ping”攻击的原理所在。
根据这一攻击原理,黑客们只需不断地通过Ping命令向攻击目标发送超过64KB的数据包,就可使目标计算机的TCP/IP堆栈崩溃,致使接受方宕机。
防御 *** :
现在所有的标准TCP/IP协议都已具有对付超过64KB大小数据包的处理能力,并且大多数防火墙能够通过对数据包中的信息和时间间隔分析,自动过滤这些攻击。
Windows 98 、Windows NT 4.0(SP3之后)、Windows 2000/XP/Server 2003 、Linux 、Solaris和Mac OS等系统都已具有抵抗一般“Ping of death ”拒绝服务攻击的能力。
此外,对防火墙进行配置,阻断ICMP 以及任何未知协议数据包,都可以防止此类攻击发生。
泪滴( teardrop)攻击
对于一些大的IP数据包,往往需要对其进行拆分传送,这是为了迎合链路层的MTU(更大传输单元)的要求。
比如,一个6000 字节的IP包,在MTU为2000的链路上传输的时候,就需要分成三个IP包。
在IP 报头中有一个偏移字段和一个拆分标志(MF)。
如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个 IP包中的位置。
例如,对一个6000字节的IP包进行拆分(MTU为2000),则三个片断中偏移字段的值依次为:0,2000,4000。
这样接收端在全部接收完IP数据包后,就可以根据这些信息重新组装没正确的值,这样接收端在收后这些分拆的数据包后就不能按数据包中的偏移字段值正确重合这些拆分的数据包,但接收端会不断偿试,这样就可能致使目标计算朵操作系统因资源耗尽而崩溃。
泪滴攻击利用修改在TCP/IP 堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。
IP分段含有指示该分段所包含的是原包的哪一段的信息,某些操作系统(如SP4 以前的 Windows NT 4.0 )的TCP/IP 在收到含有重叠偏移的伪造分段时将崩溃,不过新的操作系统已基本上能自己抵御这种攻击了。
防御 *** :
尽可能采用最新的操作系统,或者在防火墙上设置分段重组功能,由防火墙先接收到同一原包中的所有拆分数据包,然后完成重组工作,而不是直接转发。
因为防火墙上可以设置当出现重叠字段时所采取的规则。
TCP SYN 洪水(TCP SYN Flood)攻击
TCP/IP栈只能等待有限数量ACK(应答)消息,因为每台计算机用于创建TCP/IP连接的内存缓冲区都是非常有限的。
如果这一缓冲区充满了等待响应的初始信息,则该计算机就会对接下来的连接停止响应,直到缓冲区里的连接超时。
TCP SYN 洪水攻击正是利用了这一系统漏洞来实施攻击的。
攻击者利用伪造的IP地址向目标发出多个连接(SYN)请求。
目标系统在接收到请求后发送确认信息,并等待回答。
由于黑客们发送请示的IP地址是伪造的,所以确认信息也不会到达任何计算机,当然也就不会有任何计算机为此确认信息作出应答了。
而在没有接收到应答之前,目标计算机系统是不会主动放弃的,继续会在缓冲区中保持相应连接信息,一直等待。
当达到一定数量的等待连接后,缓区部内存资源耗尽,从而开始拒绝接收任何其他连接请求,当然也包括本来属于正常应用的请求,这就是黑客们的最终目的。
防御 *** :
在防火墙上过滤来自同一主机的后续连接。
不过“SYN洪水攻击”还是非常令人担忧的,由于此类攻击并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。
防火墙的具体抵御TCP SYN 洪水攻击的 *** 在防火墙的使用手册中有详细介绍。
Land 攻击
这类攻击中的数据包源地址和目标地址是相同的,当操作系统接收到这类数据包时,不知道该如何处理,或者循环发送和接收该数据包,以此来消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。
防御 *** :
这类攻击的检测 *** 相对来说比较容易,因为它可以直接从判断 *** 数据包的源地址和目标地址是否相同得出是否属于攻击行为。
反攻击的 *** 当然是适当地配置防火墙设备或包过滤路由器的包过滤规则。
并对这种攻击进行审计,记录事件发生的时间,源主机和目标主机的MAC地址和IP地址,从而可以有效地分析并跟踪攻击者的来源。
Smurf 攻击
这是一种由有趣的卡通人物而得名的拒绝服务攻击。
Smurf攻击利用多数路由器中具有同时向许多计算机广播请求的功能。
攻击者伪造一个合法的IP地址,然后由 *** 上所有的路由器广播要求向受攻击计算机地址做出回答的请求。
由于这些数据包表面上看是来自已知地址的合法请求,因此 *** 中的所有系统向这个地址做出回答,最终结果可导致该 *** 的所有主机都对此ICMP应答请求作出答复,导致 *** 阻塞,这也就达到了黑客们追求的目的了。
这种Smurf攻击比起前面介绍的“Ping of Death ”洪水的流量高出一至两个数量级,更容易攻击成功。
还有些新型的Smurf攻击,将源地址改为第三方的受害者(不再采用伪装的IP地址),最终导致第三方雪崩。
防御 *** :
关闭外部路由器或防火墙的广播地址特性,并在防火墙上设置规则,丢弃掉ICMP协议类型数据包。
Fraggle 攻击
Fraggle 攻击只是对Smurf 攻击作了简单的修改,使用的是UDP协议应答消息,而不再是ICMP协议了(因为黑客们清楚 UDP 协议更加不易被用户全部禁止)。
同时Fraggle攻击使用了特定的端口(通常为7号端口,但也有许多使用其他端口实施 Fraggle 攻击的),攻击与Smurf 攻击基本类似,不再赘述。
防御 *** :
关闭外部路由器或防火墙的广播地址特性。在防火墙上过滤掉UDP报文,或者屏蔽掉一些常被黑客们用来进Fraggle攻击的端口。
电子邮件炸弹
电子邮件炸弹是最古老的匿名攻击之一,通过设置一台计算机不断地向同一地址发送大量电子邮件来达到攻击目的,此类攻击能够耗尽邮件接受者 *** 的带宽资源。
防御 *** :
对邮件地址进行过滤规则配置,自动删除来自同一主机的过量或重复的消息。
虚拟终端(VTY)耗尽攻击
这是一种针对 *** 设备的攻击,比如路由器,交换机等。
这些 *** 设备为了便于远程管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些设备进行管理。
一般情况下,这些设备的TELNET用户界面个数是有限制的。比如,5个或10个等。
这样,如果一个攻击者同时同一台 *** 设备建立了5个或10个TELNET连接。
这些设备的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为TELNET连接资源被占用而失败。
ICMP洪水
正常情况下,为了对 *** 进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO 后,会回应一个ICMP ECHO Reply 报文。
而这个过程是需要CPU 处理的,有的情况下还可能消耗掉大量的资源。
比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO 报文,而无法继续处理其它的 *** 数据报文,这也是一种拒绝服务攻击(DOS)。
WinNuke 攻击
NetBIOS 作为一种基本的 *** 资源访问接口,广泛的应用于文件共享,打印共享, 进程间通信( IPC),以及不同操作系统之间的数据交换。
一般情况下,NetBIOS 是运行在 LLC2 链路协议之上的,是一种基于组播的 *** 访问接口。
为了在TCP/IP协议栈上实现NetBIOS ,RFC规定了一系列交互标准,以及几个常用的 TCP/UDP 端口:
139:NetBIOS 会话服务的TCP 端口;
137:NetBIOS 名字服务的UDP 端口;
136:NetBIOS 数据报服务的UDP 端口。
WINDOWS操作系统的早期版本(WIN95/98/NT )的 *** 服务(文件共享等)都是建立在NetBIOS之上的。
因此,这些操作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003 等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。
WinNuke 攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文。
但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。
分片 IP 报文攻击
为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP 分片报文组装起来。
目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文。
这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。
如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时)。
如果攻击者发送了大量的分片报文,就会消耗掉目标计 算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。
T
分段攻击。利用了重装配错误,通过将各个分段重叠来使目标系统崩溃或挂起。
欢迎关注的我的头条号,私信交流,学习更多的 *** 技术!
拒绝服务攻击Teardrop Attack的解决办法
Fragment Overlap 攻击。比起Tiny fragment攻击,fragment Overlap是更为精巧的攻击。攻击者为了发动攻击将攻击IP包分为两个分片。之一个分片中包含包过滤设备允许的 http(TCP 80) 等端口。在第二个分片中通过极小的偏移量造成第二个分片覆盖之一个分片的一部分内容。通常攻击者覆盖包含端口内容的部分。
由于在之一个分片中包含防火墙中允许的端口,因此之一个分片将会被通过。而第二个分片中具有允许通过的之一个分片ID,因此也被允许通过。但是当这两个分片到达目标主机进行重组之后,由于之一个分片的端口号被第二个分片的端口号覆盖,因此将会访问第二个分片中指定的端口。也就是绕过防火墙访问了未被授权的端口。
基于IP分片的拒绝服务攻击
IP分片不仅用于绕过防火墙或者IDS,而且也用于发动拒绝服务攻击。常见的Ping of Death 或者Teardrop属于这种攻击。
Ping of Death、Jolt 的攻击。这些攻击是通过发送超过RFC规范所规定IP报文而使操作系统无法正常工作的拒绝服务攻击。根据RFC-791 “Internet Protocol”规定,包含报头的IP 报文的更大长度为65,535, 在很多系统在处理IP报文时将其更大值假定为该值。通常可通过ping程序发起简单的攻击。一般情况下IP报头为20字节,而ICMP报头为 8字节,因此实际数据的更大长度为65535-20-8=65507字节。因此不限制ping报文更大长度的系统中,可通过如下命令发起攻击。
ping -l 65510 victim.host.ip.address
Windows NT系统中曾经允许类似命令,但是最近的系统不允许发送这种异常的数据报文。但是可通过jolt工具发送异常大的报文发起攻击。
[root@insecure DoS]# ./jolt2
Usage: ./jolt2 [-s src_addr] [-p port] dest_addr
Note: UDP used if a port is specified, otherwise ICMP
[root@insecure DoS]# ./jolt2 -p 139 192.168.0.30
可通过tcpdump监控到如下内容。
20:04:51.188599 test.com.cn 192.168.0.30: (frag 1109:9@65520)
20:04:51.188850 test.com.cn 192.168.0.30: (frag 1109:9@65520)
20:04:51.189103 test.com.cn 192.168.0.30: (frag 1109:9@65520)
20:04:51.189358 test.com.cn 192.168.0.30: (frag 1109:9@65520)
20:04:51.189608 test.com.cn 192.168.0.30: (frag 1109:9@65520)
20:04:51.189864 test.com.cn 192.168.0.30: (frag 1109:9@65520)
目标系统(Windows NT)192.168.0.30遭受攻击将会瘫痪。
Teardrop, bonk, New Teardrop 攻击。Teardrop 也是利用分片重组漏洞的拒绝服务攻击。通过操作第二个分片的偏移量,使分片在重组的过程中缓存溢出,从而使目标系统宕掉或者重新启动。下面通过实例说明Teardrop攻击。
[root@unsecure DoS]# ./teardrop.linux --help
./teardrop.linux src_ip dst_ip [ -s src_prt ] [ -t dst_prt ] [ -n how_many ]
[root@unsecure DoS]# ./teardrop.linux 1.1.1.1 192.168.0.30 -t 139
[ Binary courtesy: ]
teardrop route|daemon9
Death on flaxen wings:
From: 1.1.1.1.46838
To: 192.168.0.30. 139
Amt: 1
[ b00m ]
通过tcpdump可监听到如下内容。
23:29:18.503558 1.1.1.1.51331 192.168.0.30.139: udp 28 (frag 242:36@0+)
23:29:18.504693 1.1.1.1 192.168.0.30: (frag 242:4@24)
可以看出之一个分片大小为36,而第二个分片的偏移量为24。因此之一个分片与第二个分片重叠。从而可导致系统宕机或者重新启动。 与Teardrop类似的攻击有Bonk、New Teardrop等攻击。
看你问哪个层面上的原理了,如果只是站在抓包这一层来看表象,就是下面这种。
但要再具体到IP碎片重组过程中因重叠而如何如何,就不是那么容易说了,各个OS的
协议栈在碎片重组问题上有很多细微但又关键的差别,对某些变量的处理不尽一致,
有些是缓冲区溢出,有些是指针越界导致读取无效内存区域,那只能具体情况具体分
解了。
从前在Win9x下分析这个攻击时看的对象是vip.386,不用看vtcp.386。
☆ teardrop攻击
前面介绍的bonk.c、boink.c都是基于teardrop.c的。
用如下命令观察teardrop.c所发送出来的攻击报文
tcpdump -ntx -s 70 'src host 192.168.5.100 and udp'
--------------------------------------------------------------------------
192.168.5.100.1958 192.168.5.111.33978: udp 28 (frag 242:36@0+)
4500 0038 00f2 2000 4011 cd9f c0a8 0564
c0a8 056f 07a6 84ba 0024 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000
192.168.5.100 192.168.5.111: (frag 242:4@24)
4500 0018 00f2 0003 4011 edbc c0a8 0564
c0a8 056f 07a6 84ba 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000
--------------------------------------------------------------------------
原始teardrop.c只构造了两种碎片包,每次同时发送这两种UDP碎片包。如果指定发
送次数,将完全重复先前所发送出去的两种碎片包。泪滴攻击与oshare攻击不同,可
以跨越路由器远程攻击,ip_ttl会递减。
根据之一个碎片包,第二个碎片包的偏移应该是36,而不是现在的24,这里发生了重
叠。
NIDS可以考虑如下规则
tcpdump -ntx -s 70 '( ( ip[2:2] = 56 and ip[6:2] = 0x2000 ) or ( ip[2:2] = 24 and ip[6:2] = 0x0003 ) ) and udp'
什么是泪滴攻击?
泪滴攻击是拒绝服务攻击的一种。 泪滴是一个特殊构造的应用程序,通过发送伪造的相互重叠的IP分组数据包,使其难以被接收主机重新组合。他们通常会导致目标主机内核失措 。 泪滴攻击利用IP分组数据包重叠造成TCP/ IP分片重组代码不能恰当处理IP包。 泪滴攻击不被认为是一个严重的DOS攻击,不会对主机系统造成重大损失。 在大多数情况下,一次简单的重新启动是更好的解决办法,但重新启动操作系统可能导致正在运行的应用程序中未保存的数据丢失。
泪滴(teardrop)攻击是什么一回事
是DOS的一种,就是拒绝服务。
通过发送大量有问题的数据包给服务器,使其不能正确处理接收到的数据包,造成占用大量机时,而不能回应正常的要求。
常见的DOS攻击手段有哪些
DoS是Denial of
Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或 *** 无法提供正常的服务。最常见的DoS攻击有计算机 *** 宽带攻击和连通性攻击。
DoS攻击是指故意的攻击 *** 协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或 *** 无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标 *** 设备。这些服务资源包括 *** 带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、 *** 带宽的速度多快都无法避免这种攻击带来的后果。
常见类型如下:
之一种:SYN flood(SYN泛洪)
SYN泛洪是一种DOS攻击,攻击者向目标系统发送一系列SYN请求,企图使用大量服务器资源使系统对合法流量无响应。
第二种:Teardrop Attacks(泪滴攻击)
泪滴攻击涉及黑客向受害者的机器发送重叠的,超大的有效载荷的破碎和混乱的IP片段。由于TCP/IP碎片重新组装的方式存在错误,因此显然会导致操作系统和服务器崩溃。所有操作系统的许多类型的服务器都容易受到这种类型的DOS攻击,包括Linux。
第三种:Low-rate Denial-of-Service attacks(低速拒绝服务攻击)
这是非常致命的DoS攻击!低速率DoS攻击旨在利用TCP的慢速时间动态,能够执行重传超时机制以降低TCP吞吐量。简而言之,黑客可以通过发送高速率和密集突发来反复进入RTO状态来创建TCP溢出-同时在慢速RTO时间尺度上。受害节点处的TCP吞吐量将大幅降低,而黑客的平均速率较低,因此难以被检测到。
第四种:Internet Control Message Protocol flood(Internet控制消息协议(ICMP)泛洪)
Internet控制消息协议是一种用于IP操作,诊断和错误的无连接协议。ICMP
Flood-发送异常大量的任何类型的ICMP数据包,可能会淹没尝试处理每个传入ICMP请求的目标服务器,这可能导致拒绝-目标服务器的服务条件。
第五种:Peer-to-peer attacks(点对点攻击)
点对点 *** 是一种分布式 *** ,其中 *** 中的各个节点充当资源的供应者和消费者,与集中式客户端-服务器模型相反,客户端-服务器或操作系统节点请求访问中央服务器提供的资源。
什么是Dos攻击?
什么是DoS攻击
那么,DoS到底是什么?接触PC机较早的同志会直接想到微软磁盘操作系统 的DOS--Disk Operation System?哦,不不不,我看盖茨可不像是黑客的老大哟!此DoS非彼DOS也,DoS即Denial Of Service,拒绝服务的缩写。DoS是指故意的攻击 *** 协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或 *** 无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标 *** 设备。这些服务资源包括 *** 带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、 *** 带宽的速度多快都无法避免这种攻击带来的后果。要知道任何事物都有一个极限,所以总能找到一个 *** 使请求的值大于该极限值,因此就会故意导致所提供的服务资源匮乏,表面上好象是服务资源无法满足需求。所以千万不要自认为拥有了足够宽的带宽和足够快的服务器就有了一个不怕DoS攻击的高性能网站,拒绝服务攻击会使所有的资源变得非常渺小。
其实,我们作个形象的比喻来理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要DoS餐馆的话,手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣……相应的计算机和 *** 系统则是为Internet 用户提供互联网资源的,如果有黑客要进行DoS攻击的话,可以想象同样有好多手段!今天最常见的DoS攻击有对计算机 *** 的带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击 *** ,使得所有可用 *** 资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。 什么是DDoS
传统上,攻击者所面临的主要问题是 *** 带宽,由于较小的 *** 规模和较慢的 *** 速度的限制,攻击者无法发出过多的请求。虽然类似"the ping of death"的攻击类型只需要较少量的包就可以摧毁一个没有打过补丁的UNIX系统,但大多数的DoS攻击还是需要相当大的带宽的,而以个人为单位的黑客们很难使用高带宽的资源。为了克服这个缺点,DoS攻击者开发了分布式的攻击。攻击者简单利用工具 *** 许多的 *** 带宽来同时对同一个目标发动大量的攻击请求,这就是DDoS攻击。
DDoS(Distributed Denial Of Service)又把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经侵入并已控制的不同的高带宽主机(可能是数百,甚至成千上万台)上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令,中央攻击控制中心在适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送尽可能多的 *** 访问请求,形成一股DoS洪流冲击目标系统,猛烈的DoS攻击同一个网站。在寡不敌众的力量抗衡下,被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系统瘫痪崩溃。可见DDoS与DoS的更大区别是人多力量大。DoS是一台机器攻击目标,DDoS是被中央攻击中心控制的很多台机器利用他们的高带宽攻击目标,可更容易地将目标网站攻下。另外,DDoS攻击方式较为自动化,攻击者可以把他的程序安装到 *** 中的多台机器上,所采用的这种攻击方式很难被攻击对象察觉,直到攻击者发下统一的攻击命令,这些机器才同时发起进攻。可以说DDoS攻击是由黑客集中控制发动的一组DoS攻击的 *** ,现在这种方式被认为是最有效的攻击形式,并且非常难以抵挡。
无论是DoS攻击还是DDoS攻击,简单的看,都只是一种破坏 *** 服务的黑客方式,虽然具体的实现方式千变万化,但都有一个共同点,就是其根本目的是使受害主机或 *** 无法及时接收并处理外界请求,或无法及时回应外界请求。其具体表现方式有以下几种:
1.制造大流量无用数据,造成通往被攻击主机的 *** 拥塞,使被攻击主机无法正常和外界通信。
2.利用被攻击主机提供服务或传输协议上处理重复连接的缺陷,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求。
3.利用被攻击主机所提供服务程序或传输协议的本身实现缺陷,反复发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至死机。
常见的DoS攻击
拒绝服务攻击是一种对 *** 危害巨大的恶意攻击。今天,DoS具有代表性的攻击手段包括Ping of Death、TearDrop、UDP flood 、SYN flood、Land Attack、IP Spoofing DoS等。我们看看它们又是怎么实现的。
死亡之 ping ( ping of death ) :ICMP (Internet Control Message Protocol,Internet控制信息协议)在Internet上用于错误处理和传递控制信息。它的功能之一是与主机联系,通过发送一个"回音请求"(echo request)信息包看看主机是否"活着"。最普通的ping程序就是这个功能。而在TCP/IP的RFC文档中对包的更大尺寸都有严格限制规定,许多操作系统的TCP/IP协议栈都规定ICMP 包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。"Ping of Death" 就是故意产生畸形的测试Ping(Packet Internet Groper)包,声称自己的尺寸超过 ICMP 上限,也就是加载的尺寸超过 64KB上限,使未采取保护措施的 *** 系统出现内存分配错误,导致 TCP/IP 协议栈崩溃,最终接收方荡机。
泪滴( teardrop ) :泪滴攻击利用在 TCP/IP 协议栈实现中信任IP 碎片中的包的标题头所包含的信息来实现自己的攻击。IP 分段含有指示该分段所包含的是原包的哪一段的信息,某些 TCP/IP协议栈(例如NT 在service pack 4 以前)在收到含有重叠偏移的伪造分段时将崩溃。 UDP 洪水 (UDP flood) :如今在Internet上UDP(用户数据包协议)的应用比较广泛,很多提供WWW和Mail等服务设备通常是使用Unix的服务器,它们默认打开一些被黑客恶意利用的UDP服务。如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字符。UDP flood假冒攻击就是利用这两个简单的 TCP/IP 服务的漏洞进行恶意攻击,通过伪造与某一主机的 Chargen 服务之间的一次的 UDP 连接,回复地址指向开着Echo 服务的一台主机,通过将Chargen 和 Echo服务互指,来回传送毫无用处且占满带宽的垃圾数据,在两台主机之间生成足够多的无用数据流,这一拒绝服务攻击飞快地导致 *** 可用带宽耗尽。 SYN 洪水 ( SYN flood ) :我们知道当用户进行一次标准的TCP(Tran *** ission Control Protocol)连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN(Synchronize Sequence Number)消息,服务方收到SYN后,会向请求方回送一个SYN-ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样一次TCP连接建立成功。"SYN Flooding"则专门针对TCP协议栈在两台主机间初始化连接握手的过程进行DoS攻击,其在实现过程中只进行前2个步骤:当服务方收到请求方的SYN-ACK确认消息后,请求方由于采用源地址欺骗等手段使得服务方收不到ACK回应,于是服务方会在一定时间处于等待接收请求方ACK消息的状态。而对于某台服务器来说,可用的TCP连接是有限的,因为他们只有有限的内存缓冲区用于创建连接,如果这一缓冲区充满了虚假连接的初始信息,该服务器就会对接下来的连接停止响应,直至缓冲区里的连接企图超时。如果恶意攻击方快速连续地发送此类连接请求,该服务器可用的TCP连接队列将很快被阻塞,系统可用资源急剧减少, *** 可用带宽迅速缩小,长此下去,除了少数幸运用户的请求可以插在大量虚假请求间得到应答外,服务器将无法向用户提供正常的合法服务。
Land (Land Attack)攻击:在 Land 攻击中,黑客利用一个特别打造的SYN 包--它的原地址和目标地址都被设置成某一个服务器地址进行攻击。此举将导致接受服务器向它自己的地址发送 SYN-ACK 消息,结果这个地址又发回 ACK 消息并创建一个空连接,每一个这样的连接都将保留直到超时,在 Land 攻击下,许多 UNIX将崩溃,NT 变得极其缓慢(大约持续五分钟)。
IP欺骗DOS攻击:这种攻击利用TCP协议栈的RST位来实现,使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。假设现在有一个合法用户(100.100.100.100)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为100.100.100.100,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从100.100.100.100发送的连接有错误,就会清空缓冲区中已建立好的连接。这时,合法用户100.100.100.100再发送合法数据,服务器就已经没有这样的连接了,该用户就被拒绝服务而只能重新开始建立新的连接。
常见的DDoS攻击
*** urf、Fraggle 攻击、Trinoo、Tribe Flood Network(TFN)、TFN2k以及Stacheldraht是比较常见的DDoS攻击程序,我们再看看它们的原理,其攻击思路基本相近。 Smurf 攻击:Smurf是一种简单但有效的 DDoS 攻击技术,Smurf还是利用ping程序进行源IP假冒的直接广播进行攻击。在Internet上广播信息可以通过一定的手段(通过广播地址或其他机制)发送到整个 *** 中的机器。当某台机器使用广播地址发送一个ICMP echo请求包时(例如Ping),一些系统会回应一个ICMP echo回应包,这样发送一个包会收到许多的响应包。Smurf攻击就是使用这个原理来进行的,同时它还需要一个假冒的源地址。也就是说Smurf在 *** 中发送的源地址为要攻击的主机地址,目的地址为广播地址的ICMP echo请求包,使许多的系统同时响应并发送大量的信息给被攻击主机(因为他的地址被攻击者假冒了)。Smurf是用一个伪造的源地址连续ping一个或多个计算机 *** ,这就导致所有计算机响应的那个主机地址并不是实际发送这个信息包的攻击计算机。这个伪造的源地址,实际上就是攻击的目标,它将被极大数量的响应信息量所淹没。对这个伪造信息包做出响应的计算机 *** 就成为攻击的不知情的同谋。一个简单的 *** urf 攻击最终导致 *** 阻塞和第三方崩溃,这种攻击方式要比 ping of death 洪水的流量高出一两个数量级。这种使用 *** 发送一个包而引出大量回应的方式也被叫做Smurf"放大"。
Fraggle 攻击:Fraggle 攻击对 Smurf 攻击作了简单的修改,使用的是 UDP 应答消息而非 ICMP。
"trinoo"攻击:trinoo 是复杂的 DDoS 攻击程序,是基于UDP flood的攻击软件。它使用"master"程序对实际实施攻击的任何数量的" *** "程序实现自动控制。当然在攻击之前,侵入者为了安装软件,已经控制了装有master程序的计算机和所有装有 *** 程序的计算机。攻击者连接到安装了master程序的计算机,启动master程序,然后根据一个IP地址的列表,由master程序负责启动所有的 *** 程序。接着, *** 程序用UDP 信息包冲击 *** ,向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力垃圾数据包的过程中,被攻击主机的 *** 性能不断下降,直到不能提供正常服务,乃至崩溃。它对IP地址不做假,因此此攻击 *** 用得不多。
"Tribal Flood Network"和 "TFN2K" 攻击:Tribe Flood Network与trinoo一样,使用一个master程序与位于多个 *** 上的攻击 *** 进行通讯,利用ICMP给 *** 服务器下命令,其来源可以做假。TFN可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。 可以由TFN发动的攻击包括:SYN flood、UDP flood、ICMP回音请求flood及Smurf(利用多台服务器发出海量数据包,实施DoS攻击)等攻击。TFN的升级版TFN2k进一步对命令数据包加密,更难查询命令内容,命令来源可以做假,还有一个后门控制 *** 服务器。
"stacheldraht"攻击:Stacheldraht也是基于TFN和trinoo一样的客户机/服务器模式,其中Master程序与潜在的成千个 *** 程序进行通讯。在发动攻击时,侵入者与master程序进行连接。Stacheldraht增加了新的功能:攻击者与master程序之间的通讯是加密的,对命令来源做假,而且可以防范一些路由器用RFC2267过滤,若检查出有过滤现象,它将只做假IP地址最后8位,从而让用户无法了解到底是哪几个网段的哪台机器被攻击;同时使用rcp (remote copy,远程复制)技术对 *** 程序进行自动更新。Stacheldraht 同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。Stacheldraht所发动的攻击包括UDP 冲击、TCP SYN 冲击、ICMP 回音应答冲击。
如何防止DoS/DdoS攻击
DoS攻击几乎是从互联 *** 的诞生以来,就伴随着互联 *** 的发展而一直存在也不断发展和升级。值得一提的是,要找DoS的工具一点不难,黑客群居的 *** 社区都有共享黑客软件的传统,并会在一起交流攻击的心得经验,你可以很轻松的从Internet上获得这些工具,像以上提到的这些DoS攻击软件都是可以从网上随意找到的公开软件。所以任何一个上网者都可能构成 *** 安全的潜在威胁。DoS攻击给飞速发展的互联 *** 安全带来重大的威胁。然而从某种程度上可以说,DoS攻击永远不会消失而且从技术上目前没有根本的解决办法。
面对凶多吉少的DoS险滩,我们该如何对付随时出现的黑客攻击呢?让我们首先对造成DoS攻击威胁的技术问题做一下总结。DoS攻击可以说是如下原因造成的:
1.软件弱点是包含在操作系统或应用程序中与安全相关的系统缺陷,这些缺陷大多是由于错误的程序编制,粗心的源代码审核,无心的副效应或一些不适当的绑定所造成的。由于使用的软件几乎完全依赖于开发商,所以对于由软件引起的漏洞只能依*打补丁,安装hot fixes和Service packs来弥补。当某个应用程序被发现有漏洞存在,开发商会立即发布一个更新的版本来修正这个漏洞。由于开发协议固有的缺陷导致的DoS攻击,可以通过简单的补丁来弥补系统缺陷。
2.错误配置也会成为系统的安全隐患。这些错误配置通常发生在硬件装置,系统或者应用程序中,大多是由于一些没经验的,无责任员工或者错误的理论所导致的。如果对 *** 中的路由器,防火墙,交换机以及其他 *** 连接设备都进行正确的配置会减小这些错误发生的可能性。如果发现了这种漏洞应当请教专业的技术人员来修理这些问题。
3.重复请求导致过载的拒绝服务攻击。当对资源的重复请求大大超过资源的支付能力时就会造成拒绝服务攻击(例如,对已经满载的Web服务器进行过多的请求使其过载)。
要避免系统免受DoS攻击,从前两点来看, *** 管理员要积极谨慎地维护系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DoS攻击,同时强烈建议 *** 管理员应当定期查看安全设备的日志,及时发现对系统的安全威胁行为。
3Com公司是一个全面的企业 *** 解决方案提供商,旨在为企业用户提供"丰富、简单、灵活、可*而高性能价格比"的 *** 解决方案。Internet支持工具就是其中的主要解决方案之一,包括SuperStack 3 Firewall、Web Cache以及Server Load Balancer。不但作为安全网关设备的3Com SuperStack 3 防火墙在缺省预配置下可探测和防止"拒绝服务"(DoS)以及"分布式拒绝服务"(DDoS)等黑客侵袭,强有力的保护您的 *** ,使您免遭未经授权访问和其他来自Internet的外部威胁和侵袭;而且3Com SuperStack 3 Server Load Balancer在为多服务器提供硬件线速的4-7层负载均衡的同时,还能保护所有服务器免受"拒绝服务"(DoS)攻击;同样3Com SuperStack 3 Web Cache在为企业提供高效的本地缓存的同时,也能保证自身免受"拒绝服务"(DoS)攻击
;id=15952