$1 拒绝服务攻击DOS概念
是指利用网络协议漏洞或其他系统以及应用软件的漏洞耗尽被攻击目标资源,使得被攻击的计算机或网络无法正常提供服务,直至系统停止响应甚至崩溃的攻击方式。即攻击者通过某种手段,导致目标机器或网络停止向合法用户提供正常的服务或资源访问。
$2 DOS原理及分类
2.1 DOS原理
- 攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息。
- 由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。
- 当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。
2.2 DOS基本模式
一、资源耗尽型
1. 消耗网络带宽
攻击者有意制造大量的数据报或传输大量文件以占用有限的网络带宽,致使合法用户无法正常使用网络资源。
2. 消耗磁盘空间
攻击者利用磁盘空间的有限性或存储空间大小控制的缺陷,短时间内制造大量的垃圾信息,使系统或用户因没有磁盘空间而停止工作
3. 消耗CPU和内存资源
操作系统需要提供CPU和内存资源给许多进程共用,攻击者利用系统中存在的缺陷,有意使用大量的CPU和内存资源,导致系统服务性能下降甚至造成系统崩溃
二、配置修改型
三、基于系统缺陷型
- 攻击者利用目标系统和通信协议的漏洞实现拒绝服务攻击
- 例如:
- 一些系统出于安全考虑,限制用户试探口令次数和注册等待时间。当用户口令输入次数超过若干次,或注册等待时间超过某个时间值,系统就会停止该用户的使用权。
- 攻击者利用系统这个安全特点,有意输错口令导致系统锁定该用户帐号,致使该用户得不到应有的服务。
四、物理实体破坏型
- 这种拒绝服务攻击针对物理设备。
- 攻击者通过破坏或改变网络部件实现拒绝服务攻击,其攻击的目标包括: 计算机、路由器、网络配线室、网络主干段、电源、冷却设备。
2.3 DOS攻击的基本形式
一、服务过载
- 当大量的服务请求发向一台计算机中的服务守护进程时,就会发生服务过载。
- 计算机忙碌地处理不断到来的服务请求,以至于无法处理常规的任务。同时,许多新到来的请求被丢弃。
- 如果攻击的是一个基于TCP协议的服务,那么这些请求的包还会被重发,结果更加重了网络的负担
二、消息流
- 消息流发生于用户向一台网络上的目标主机发送大量的数据报,来延缓目标主机的处理速度,阻止它处理正常任务的这种情况。
- 这些请求可能是请求文件服务,要求登录或者仅仅是简单的要求响应数据报。
- “广播风暴”
三、信号接地
- 物理方法也可以关闭一个网络。将网络的电缆接地,引入一些其他信号或者将以太网上的端接器拿走,都可以有效地阻止客户发送或者接收消息。
四、“粘住”攻击
- 可以使用TCP的半连接耗尽资源。
- 如果攻击者发出多个连接请求。初步建立了连接,但又没有完成其后的连接步骤,接收者便会保留许多这种半连接,占据有限的资源。
- 通常这些连接请求使用的是伪造的源地址表明连接来自于一台不存在的主机或者一台无法访问的主机
2.4 DOS攻击分类
一、SYN Flood攻击
1. 介绍
- 使用IP欺骗技术
- 对Windows NT攻击很有效
- 因为:例如,Windows NT3.5和4.0中缺省设置为可重复发送SYN-ACK答复5次。
2. 特点
- 针对TCP/IP协议的薄弱环节进行攻击;
- 发动攻击时,只要很少的数据流量就可以产生显著的效果;
- 攻击来源无法定位;
- 在服务端无法区分TCP连接请求是否合法
3. 防御措施
配置防火墙:在防火墙上过滤(也就是限制)来自同一主机的后续连接请求
这意味着如果一个IP地址发送了大量的SYN请求但没有完成连接,防火墙可以阻止进一步的连接请求
二、死ping(ping of death)
1. 介绍
- 在早期版本中许多操作系统对网络数据包的最大尺寸有限制,对TCP/IP栈的实现在ICMP包上规定为64KB。
- 在读取包的报头后,要根据该报头里包含的信息来为有效载荷生成缓冲区。
- 当攻击者发送ping请求的数据包声称自己的尺寸超过ICMP上限,也就是加载的尺寸超过64K上限时,就会导致目标主机尝试为这个巨大的数据包分配内存,从而导致TCP/IP堆栈崩溃或系统崩溃
2. 防御
- 现在所有的标准TCP/IP实现都已实现对付超大尺寸的包,并且大多数防火墙能够自动过滤这些攻击,包括从windows98之后的windows,NT(service pack 3之后) linux, Solaris 和Mac OS都具有抵抗一般ping of death攻击的能力。
- 此外对防火墙进行配置,阻断ICMP以及任何未知协议,都将防止此类攻击
三、泪滴(teardrop)
1. 介绍
(1)IP分段和重叠偏移
-
当大的数据包在网络上传输时,它们可能需要分成多个较小的IP数据包,以便传输。
-
每个IP数据包包含有关数据分段的信息,其中包括偏移量(offset)字段,它指示该分段包含原始数据报的哪一部分。
(2)操作系统会信任IP碎片中的包头信息
- 在早期的TCP/IP堆栈实现中,操作系统通常信任IP分段的包头信息,包括偏移量字段。
- 些TCP/IP 包括service pack 4以前的NT 在收到含有重叠偏移的伪造分段时将崩溃。
(3)泪滴攻击利用那些在TCP/IP堆栈实现中,信任IP碎片中的包的标题头所包含的信息来实现攻击。
- 例如一个40个字节的数据报被分为两片,第一片数据发送036个字节,而第二片发送2427字节,在某些情况下会破坏整个IP协议栈,必须重新启动计算机才能恢复。
补充:IP数据包格式
2. 防御
服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们
四、Land攻击
将恶意的TCP或UDP数据包发送到目标服务器,使得服务器尝试与自己通信,形成一个"Land"连接。这种攻击的名称源于它将服务器与自己建立的连接视为"Land",因为源和目标地址相同
- 特别打造一个SYN包,其源地址和目标地址都被设置成某一个服务器地址;
- 导致接收服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接;
- 每一个这样的连接都将保留直到超时;
- 许多UNIX将崩溃,NT变的极其缓慢(大约持续五分钟)。
五、Smurf攻击
通过采用ICMP技术进行攻击。
(a)攻击者找出网络上有哪些路由器会回应ICMP请求。
(b)用一个虚假的IP源地址(受害者的IP)向路由器的广播地址发出讯息,路由器会把这些讯息广播到网络上所连接的每一台设备。
(c)这些设备马上回应,同时产生大量讯息流量,从而占用所有设备的资源及网络带宽,而回应的地址就是受攻击的目标。
六、Fraggle攻击
- Fraggle攻击与Smurf攻击类似,但它使用的不是ICMP,而是 UDP Echo。
- 防范 :在防火墙上过滤UDP应答消息
七、炸弹攻击
- 基本原理是利用工具软件,集中在一段时间内,向目标机发送大量垃圾信息,或是发送超出系统接收范围的信息,使对方出现负载过重、网络堵塞等状况,从而造成目标的系统崩溃及拒绝服务。
- 常见的炸弹攻击有邮件炸弹、聊天室炸弹等。
- 防御:对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息
$3 分布式拒绝服务攻击(DDOS)
3.1 概述
一、DOS攻击发展趋势—DDOS
DDoS(分布式拒绝服务),它的英文全称为Distributed Denial of Service,它是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,如商业公司,搜索引擎和政府部门的站点。
看出DoS攻击只要一台单机和一个modem就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。
二、DDOS攻击分层
1. 攻击者
攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令
2. 主控端
主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上
3. 代理端
代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击
3.2 DDoS攻击体系结构
- 最重要的第2和第3部分:它们分别用做控制和实际发起攻击
- 第4部分的受害者:DDoS的实际攻击包是从第3部分攻击傀儡机上发出的,第2部分的控制机只发布命令而不参与实际的攻击
3.3 用工具软件实现DDoS攻击
-
攻击的流向是这样的:'攻击者–master—分布端—目标主机
刚好应对着上图中第1至第4部分
-
攻击:
-
从分布端向受害者目标主机发送的DDoS都是UDP报文,每一个包含4个空字符
1. UDP数据包相对较小,因此发送空字符的UDP数据包成本较低 2. 并且生成空字符的UDP数据包是一种快速且简单的方式 3. 即使这些数据包的内容为空,目标主机在回复UDP数据包时会消耗计算资源和网络资源
-
这些报文都从一个端口发出,但随机袭击目标主机上的不同端口
-
目标主机对每一个报文回复一个ICMP Port Unreachable的信息
-
大量不同主机发来的这些洪水般的报文源源不断目标主机将很快慢下来,直至剩余带宽变为0
-
3.4 应付DDoS攻击的策略
入侵检测系统(IDS)用于检测UDP报文和ICMP Port Unreachable消息
- UDP报文分析:IDS分析一系列的UDP报文,寻找那些针对不同目标端口,但来自于相同源端口的UDP报文。或者取10个左右的UDP报文分析那些来自于相同的源IP、相同的目标IP、相同的源端口,但不同的目标端口的报文。这样可以逐一识别攻击的来源
- ICMP Port Unreachable消息:IDS找那些相同的源地址和相同的目标地址的ICMP Port Unreachable的信息
- DDoS攻击难以抵挡:由于DDoS攻击的主要目的是消耗主机的带宽,所以很难抵挡。
$4 僵尸网络
4.1 基本概念
一、Bot
机器人(Robot)的缩写,是一段可以自动执行预先设定功能,可以被控制,具有一定人工智能的程序。通常带有恶意代码的Bot被秘密植入受控计算机,主动连接服务器接受控制指令,并依照指令完成相应功能
Bot通常被黑客用来在受感染的计算机上执行各种操作,例如分发恶意软件、发起分布式拒绝服务攻击(DDoS)等
二、Zombie
被包含恶意代码的Bot感染或能被远程控制的计算机,又名僵尸计算机
三、IRC Bot
利用IRC (Internet Relay Chat)协议进行通信和控制的Bot
四、Command & Control Server
IRC Bot连接的IRC服务器称为命令和控制服务器,控制者通过该服务器发送命令,进行控制
"Command & Control Server"(命令和控制服务器,通常缩写为C&C服务器)是指用于远程控制和管理恶意Bot、僵尸网络(botnet)或其他恶意软件的服务器。这些服务器通常用于与受感染的计算机或设备建立通信连接,并向它们发送命令,以便进行控制和协调各种活动
五、Botnet
僵尸网络,由大量能够实现恶意功能的Bot、Command & Control Server和控制者组成,能够受攻击者控制的网络
4.2 基于IRC僵尸网络模型
一、IRC协议
-
IRC是一种专门的网络聊天室协议
-
它允许用户通过互联网进行实时文本聊天和交流。IRC最初设计用于在线聊天和协作,但后来也被用于其他用途,包括文件传输和信息共享
-
-
采用客户端/服务器模式
-
多服务器之间可建立信息共享
-
这意味着不同的IRC服务器可以相互连接,以便用户在不同服务器上的频道之间进行聊天和信息传递
-
-
用户可以建立、选择和感兴趣的频道
-
频道可以隐藏。
-
支持文件传递
二、IRC Bot的功能
Bot可以根据接收到的控制命令执行预定义的功能,这些功能包括:
1)发动DoS攻击
2)浏览系统信息
3)终止信息
4)攻击IRC频道或邮箱
5)上传和下载程序
6)代理或SMTP服务器
7)升级Bot
8)卸载Bot
三、IRC Bot的实现
其特点是模拟IRC客户端,使用IRC协议与IRC服务器通信。
四、Bot的传播方式
恶意Bot(机器人)可以利用各种传播方式来感染和传播到受害计算机或设备上
4.3 如何发现僵尸网络
一、IDS方法
必须充分了解僵尸程序,提取指纹信息作为IDS检测的特征
二、行为监测法
僵尸程序行为模式:快速连接控制信道、长时间在线发呆
三、蜜罐捕获法
- 通过部署蜜罐对僵尸程序进行捕获-样本
- 通过对网络行为进行监视和分析-僵尸网络控制信道信息
$5 DOS发展趋势
- 重放追踪技术升级
- 攻击过程日趋智能化
- 攻击手段日趋多样化