黑客?网络安全之拒绝服务攻击及防御

内容:

1. 概述

2. 典型拒绝服务攻击技术

3. 分布式拒绝服务攻击

4. 拒绝服务攻击防御

5. 分布式拒绝服务攻击的防御

1. 概述

什么是拒绝服务攻击?

拒绝服务(Denial of Service,简称DoS)网络攻击一般有哪几个步骤,是一种简单的破坏性攻击。通常是利用传输协议下哦嗯的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源、宽带资源等。或造成程序缓冲区溢出错误,使其他合法用户无法正常请求。最终致使网络服务瘫痪,甚至系统死机。

简单的说,决绝服务攻击就是让攻击目标瘫痪,“损人不利己”的攻击方式。

原因

由于网络协议本身的安全缺陷造成。

类型

最常见的是利用合法的服务请求来占用过多的服务资源,从而使服务器超载,不能正常相应其他请求。

按思路分:

1. 滥用合理的服务请求

2. 制造高流量的无用数据

3. 利用传输协议缺陷

4. 利用服务程序漏洞

按漏洞利用分:

1. 特定资源消耗类(主要利用TCP/IP协议栈、操作系统或应用程序缺陷)

2. 暴力攻击类

按速率:

1. 固定

2. 可变

按影响:

1. 系统或程序崩溃

2. 服务器降级

2.典型拒绝服务攻击

死亡之Ping

Ping之所以会造成伤害是源于早期操作系统在处理ICMP协议数据包存在漏洞。

ICMP协议的报文长度是固定的,大小为64KB,早期很多操作系统在接收ICMP数据报文的时候,只开辟64KB的缓存区用于存放接收到的数据包。

一旦发送过来的ICMP数据包的实际尺寸超过64KB(65536B),操作系统将收到的数据报文向缓存区填写时,报文长度大于64KB,就会产生一个缓存溢出,结果将导致TCP/IP协议堆栈的崩溃,造成主机的重启动或是死机。

ping -l 65540 192.168.1.110 — 漏洞已修复

评价:过去可以,现在几乎不可能

泪滴(Teardrop)

也叫分片攻击,是第一个实现利用TCP/IP协议问题进行攻击,程序名叫Teardrop,所以叫“泪滴”。

两台计算机在进行通信时,如果传输的数据量较大,无法在一个数据报文中传输完成,就会将数据拆分成多个分片,传送到目的计算机后再到堆栈中进行重组,这一过程称为“分片”。

为了能在到达目标主机后进行数据重组,IP包的TCP首部中包含有信息(分片识别号、偏移量、数据长度、标志位)说明该分段是原数据的哪一段,这样,目标主机在收到数据后,就能根据首部中的信息将各分片重新组合还原为数据。

如果入侵者伪造数据报文,向服务器发送含有重叠偏移信息的分段包到目标主机,例如如下所列的分片信息:

PSH 1:1025(1024) ack1, win4096

PSH 1000:2049(1024) ack1, win4096

PSH 2049:3073(1024) ack1, win4096

这样的信息被目的主机收到后,在堆栈中重组时,由于畸形分片的存在,会导致重组出错,这个错误并不仅仅是影响到重组的数据,由于协议重组算法,会导致内存错误,引起协议栈的崩溃。

攻击特征:

Teardrop工作原理是向被攻击者发送多个分片的IP包,某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。

检测方法:

对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误。

反攻击方法:

添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。

IP欺骗DoS攻击

攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击。

UDP洪水

UDP洪水(UDP flood)主要是利用主机能自动进行回复的服务(例如使用UDP协议的chargen服务和echo服务)来进行攻击。

SYN洪水

SYN Flood是以前较流行的拒绝服务攻击方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。

SYN Flood是利用TCP连接的三次握手过程的特性实现的。

Land攻击

Land是因特网上最常见的拒绝服务攻击类型,它是由著名黑客组织rootshell发现的。

原理很简单,向目标机发送大量的源地址和目标地址相同的包,造成目标机解析Land包时占用大量的系统资源,从而使网络功能完全瘫痪。

攻击特征:

用于Land攻击的数据包中的源地址和目标地址是相同的。操作系统接收到这类数据包时网络攻击一般有哪几个步骤,不知道该如何处理堆栈中的这种情况,或者循环发送和接收该数据包,消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。

检测方法:

判断网络数据包的源/目标地址是否相同。

反攻击方法:

适当配置防火墙设备或过滤路由器的过滤规则可以防止这种攻击行为,并对这种攻击进行审计

Smurf攻击

Smurf攻击是利用IP欺骗和ICMP回应包引起目标主机网络阻塞,实现DoS攻击。

Smurf攻击原理:在构造数据包时将源地址设置为被攻击主机的地址,而将目的地址设置为广播地址,于是,大量的ICMP echo回应包被发送给被攻击主机,使其因网络阻塞而无法提供服务。

比Ping of Death洪水的流量高出1或2个数量级。

3. 分布式拒绝服务攻击

简介:

分布式拒绝服务DDoS (Distributed Denial of Service)攻击指借助于客户/服务器(C/S)技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。

可以使得分散在互联网各处的机器共同完成对一台主机攻击的操作,从而使主机看起来好象是遭到了不同位置的许多主机的攻击。

这些分散的机器可以分别进行不同类型的攻击。

在进行分布式拒绝服务攻击前,入侵者必须先控制大量的无关主机,并在这些机器上安装进行拒绝服务攻击的软件。

由于攻击者来自于范围广泛的IP地址,而且来自每台主机的少量的数据包有可能从入侵检测系统的眼皮下溜掉,这就使得防御变得困难。

组成:

分布式拒绝服务攻击的软件一般分为客户端、服务端与守护程序,这些程序可以使协调分散在互联网各处的机器共同完成对一台主机攻击的操作,从而使主机遭到来自不同地方的许多主机的攻击。

客户端:也称攻击控制台,它是发起攻击的主机

服务端:也称攻击服务器,它接受客户端发来的控制命令

守护程序:也称攻击器、攻击代理,它直接(如SYN Flooding)或者间接(如反射式DDoS)与攻击目标进行通信

攻击过程

主要有两个步骤:攻占代理主机和向目标发起攻击。具体说来可分为以下几个步骤:

1、探测扫描大量主机以寻找可入侵主机;

2、入侵有安全漏洞的主机并获取控制权;

3、在每台被入侵主机中安装攻击所用的客户进程或守护进程;

4、向安装有客户进程的主控端主机发出命令,由它们来控制代理主机上的守护进程进行协同入侵。

被攻击现象

被攻击主机上有大量等待的TCP连接;

网络中充斥着大量的无用的数据包,源地址为假;

制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;

利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;

严重时会造成系统死机。

4.DDoS工具

1.TFN2K

2.Trinoo

TFN由服务端程序和守护程序组成,能实施ICMP flood、SYN flood、UDP flood和Smurf等多种拒绝服务攻击。

TFN2K采用的单向通信、随机使用通信协议、通信数据加密等多种技术以保护自身,使得实时检测TFN2K更加困难。

5.防御

不容易定位攻击者的位置

1. Internet上绝大多数网络都不限制源地址,也就是伪造源地址非常容易

2. 很难溯源找到攻击控制端的位置

3. 各种反射式攻击,无法定位源攻击者

完全阻止是不可能的,但是适当的防范工作可以减少被攻击的机会

方法

1.有效完善的设计

2.带宽限制

3.及时给系统安装补丁

4.运行尽可能少的服务

5.只允许必要的通信

6.封锁敌意IP地址

7.安装入侵检测系统

本文到此结束,希望对大家有所帮助!

关于作者:

生活百科常识网