当前位置:文档之家› 常见网络攻击方式介绍

常见网络攻击方式介绍

DDoS攻击纵观网络安全攻击的各种方式方法,其中DDoS类的攻击会给你的网络系统造成更大的危害。

因此,了解DDoS,了解它的工作原理及防范措施,是一个计算机网络安全技术人员应必修的内容之一。

一、DDoS的概念要想理解DDoS的概念,我们就必须先介绍一下DoS(拒绝服务),DoS的英文全称是Denial of Service,也就是“拒绝服务”的意思。

从网络攻击的各种方法和所产生的破坏情况来看,DoS算是一种很简单但又很有效的进攻方式。

它的目的就是拒绝你的服务访问,破坏组织的正常运行,最终它会使你的部分Internet连接和网络系统失效。

DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。

从图1我们可以看出DoS攻击的基本过程:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。

当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。

DDoS(分布式拒绝服务),它的英文全称为Distributed Denial of Service,它是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,象商业公司,搜索引擎和政府部门的站点。

从图1我们可以看出DoS攻击只要一台单机和一个modem就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。

DDoS攻击分为3层:攻击者、主控端、代理端,三者在攻击中扮演着不同的角色。

1、攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。

攻击者操纵整个攻击过程,它向主控端发送攻击命令。

2、主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。

主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。

3、代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。

代理端主机是攻击的执行者,真正向受害者主机发送攻击。

攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。

第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。

最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。

由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。

二、DDoS攻击使用的常用工具DDoS攻击实施起来有一定的难度,它要求攻击者必须具备入侵他人计算机的能力。

但是很不幸的是一些傻瓜式的黑客程序的出现,这些程序可以在几秒钟内完成入侵和攻击程序的安装,使发动DDoS攻击变成一件轻而易举的事情。

下面我们来分析一下这些常用的黑客程序。

1、TrinooTrinoo的攻击方法是向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃。

它对IP地址不做假,采用的通讯端口是:攻击者主机到主控端主机:27665/TCP主控端主机到代理端主机:27444/UDP代理端主机到主服务器主机:31335/UDP2、TFNTFN由主控端程序和代理端程序两部分组成,它主要采取的攻击方法为:SYN风暴、Ping 风暴、UDP炸弹和SMURF,具有伪造数据包的能力。

3、TFN2KTFN2K是由TFN发展而来的,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的网络通讯是经过加密的,中间还可能混杂了许多虚假数据包,而TFN对ICMP 的通讯没有加密。

攻击方法增加了Mix和Targa3。

并且TFN2K可配置的代理端进程端口。

4、StacheldrahtStacheldraht也是从TFN派生出来的,因此它具有TFN的特性。

此外它增加了主控端与代理端的加密通讯能力,它对命令源作假,可以防范一些路由器的RFC2267过滤。

Stacheldrah 中有一个内嵌的代理升级模块,可以自动下载并安装最新的代理程序。

三、DDoS的监测现在网上采用DDoS方式进行攻击的攻击者日益增多,我们只有及早发现自己受到攻击才能避免遭受惨重的损失。

检测DDoS攻击的主要方法有以下几种:1、根据异常情况分析当网络的通讯量突然急剧增长,超过平常的极限值时,你可一定要提高警惕,检测此时的通讯;当网站的某一特定服务总是失败时,你也要多加注意;当发现有特大型的ICP和UDP数据包通过或数据包内容可疑时都要留神。

总之,当你的机器出现异常情况时,你最好分析这些情况,防患于未然。

2、使用DDoS检测工具当攻击者想使其攻击阴谋得逞时,他首先要扫描系统漏洞,目前市面上的一些网络入侵检测系统,可以杜绝攻击者的扫描行为。

另外,一些扫描器工具可以发现攻击者植入系统的代理程序,并可以把它从系统中删除。

四、DDoS攻击的防御策略由于DDoS攻击具有隐蔽性,因此到目前为止我们还没有发现对DDoS攻击行之有效的解决方法。

所以我们要加强安全防范意识,提高网络系统的安全性。

可采取的安全防御措施有以下几种:1、及早发现系统存在的攻击漏洞,及时安装系统补丁程序。

对一些重要的信息(例如系统配置信息)建立和完善备份机制。

对一些特权帐号(例如管理员帐号)的密码设置要谨慎。

通过这样一系列的举措可以把攻击者的可乘之机降低到最小。

2、在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。

建立边界安全界限,确保输出的包受到正确限制。

经常检测系统配置信息,并注意查看每天的安全日志。

3、利用网络安全设备(例如:防火墙)来加固网络的安全性,配置好它们的安全规则,过滤掉所有的可能的伪造数据包。

4、比较好的防御措施就是和你的网络服务提供商协调工作,让他们帮助你实现路由的访问控制和对带宽总量的限制。

5、当你发现自己正在遭受DDoS攻击时,你应当启动您的应付策略,尽可能快的追踪攻击包,并且要及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡从已知攻击节点的流量。

6、当你是潜在的DDoS攻击受害者,你发现你的计算机被攻击者用做主控端和代理端时,你不能因为你的系统暂时没有受到损害而掉以轻心,攻击者已发现你系统的漏洞,这对你的系统是一个很大的威胁。

所以一旦发现系统中存在DDoS攻击的工具软件要及时把它清除,以免留下后患。

常见网络攻击方式一、TCP SYN拒绝服务攻击一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:1、建立发起者向目标计算机发送一个TCP SYN报文;2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;3、发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。

利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击:1、攻击者向目标计算机发送一个TCP SYN报文;2、目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应;3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。

可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK 回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB 控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。

二、ICMP洪水正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。

而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。

这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。

三、UDP洪水原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。

四、端口扫描根据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报文的端口不可达。

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或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端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

五、分片IP报文攻击为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。

相关主题