第6章拒绝服务攻击与防御技术沈超刘烃系统工程研究所自动化科学与技术系西安交通大学电子与信息工程院chaoshen@mail.
xjtu.
edu.
cntingliu@mail.
xjtu.
edu.
cn网络与信息安全*网络入侵与防范讲义*本章内容安排6.
1拒绝服务攻击概述6.
2典型拒绝服务攻击技术6.
3分布式拒绝服务攻击6.
4拒绝服务攻击的防御6.
5分布式拒绝服务攻击的防御6.
6小结*网络入侵与防范讲义*6.
1拒绝服务攻击概述6.
1.
1拒绝服务攻击的概念6.
1.
2拒绝服务攻击的类型*网络入侵与防范讲义*6.
1.
1拒绝服务攻击的概念拒绝服务(DenialofService,简称DoS),是一种简单的破坏性攻击,通常是利用传输协议中的某个弱点、系统存在的漏洞、或服务的漏洞,对目标系统发起大规模的进攻,用超出目标处理能力的海量数据包消耗可用系统资源、带宽资源等,或造成程序缓冲区溢出错误,致使其无法处理合法用户的正常请求,无法提供正常服务,最终致使网络服务瘫痪,甚至系统死机.
简单的说,拒绝服务攻击就是让攻击目标瘫痪的一种"损人不利己"的攻击手段.
*网络入侵与防范讲义*6.
1.
1拒绝服务攻击的概念历史上最著名的拒绝服务攻击服务恐怕要数Morris蠕虫事件,1988年11月,全球众多连在因特网上的计算机在数小时内无法正常工作,这次事件中遭受攻击的包括5个计算机中心和12个地区结点,连接着政府、大学、研究所和拥有政府合同的25万台计算机.
这次病毒事件,使计算机系统直接经济损失达9600万美元.
许多知名网站如Yahoo、eBay、CNN、百度、新浪等都曾遭受过DoS攻击.
*网络入侵与防范讲义*6.
1.
1拒绝服务攻击的概念拒绝服务攻击可能是蓄意的,也可能是偶然的.
当未被授权的用户过量使用资源时,攻击是蓄意的;当合法用户无意地操作而使得资源不可用时,则是偶然的.
应该对两种拒绝服务攻击都采取预防措施.
但是拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为这是由于网络协议本身的安全缺陷造成的.
*网络入侵与防范讲义*6.
1.
2拒绝服务攻击的类型最常见的DoS攻击是利用合理的服务请求来占用过多的服务资源,致使服务超载,无法响应其他的请求.
这些服务资源包括网络带宽、文件系统空间容量、开放的进程、向内的连接等.
这种攻击会导致资源的匮乏,无论计算机的处理速度多么快,内存容量多么大,互联网带宽多么大都无法避免这种攻击带来的后果.
*网络入侵与防范讲义*6.
1.
2拒绝服务攻击的类型从实施DoS攻击所用的思路来看,DoS攻击可以分为:滥用合理的服务请求过度地请求系统的正常服务,占用过多服务资源,致使系统超载.
这些服务资源通常包括网络带宽、文件系统空间容量、开放的进程或者连接数等制造高流量无用数据恶意地制造和发送大量各种随机无用的数据包,用这种高流量的无用数据占据网络带宽,造成网络拥塞利用传输协议缺陷构造畸形的数据包并发送,导致目标主机无法处理,出现错误或崩溃,而拒绝服务利用服务程序的漏洞针对主机上的服务程序的特定漏洞,发送一些有针对性的特殊格式的数据,导致服务处理错误而拒绝服务*网络入侵与防范讲义*6.
1.
2拒绝服务攻击的类型按漏洞利用方式分类,DoS攻击可以分为:特定资源消耗类主要利用TCP/IP协议栈、操作系统或应用程序设计上的缺陷,通过构造并发送特定类型的数据包,使目标系统的协议栈空间饱和、操作系统或应用程序资源耗尽或崩溃,从而达到DoS的目的.
暴力攻击类依靠发送大量的数据包占据目标系统有限的网络带宽或应用程序处理能力来达到攻击的目的.
通常暴力攻击需要比特定资源消耗攻击使用更大的数据流量才能达到目的.
*网络入侵与防范讲义*6.
1.
2拒绝服务攻击的类型按攻击数据包发送速率变化方式,DoS攻击可分为:固定速率可变速率根据数据包发送速率变化模式,又可以分为震荡变化型和持续增加型.
震荡变化型变速率发送方式间歇性地发送数据包,使入侵检测系统难以发现持续的异常.
持续增加型变速率发送方式可以使攻击目标的性能缓慢下降,并可以误导基于学习的检测系统产生错误的检测规则.
*网络入侵与防范讲义*6.
1.
2拒绝服务攻击的类型按攻击可能产生的影响,DoS攻击可以分为:系统或程序崩溃类根据可恢复的程度,系统或程序崩溃类又可以分为:自我恢复类、人工恢复类、不可恢复类等.
自我恢复类是指当攻击停止后系统功能可自动恢复正常.
人工恢复类是指系统或服务程序需要人工重新启动才能恢复.
不可恢复类是指攻击给目标系统的硬件设备、文件系统等造成了不可修复性的损坏.
服务降级类系统对外提供服务的服务下降*网络入侵与防范讲义*典型案例:百度遭受大规模SYNFlooding攻击2006年9月12日下午,百度遭受有史以来最大规模的不明身份黑客攻击,导致百度搜索服务在全国各地出现了近30分钟的故障,黑客所使用的手段是SynFlooding分布式拒绝服务攻击.
新华网报道:http://news.
xinhuanet.
com/newmedia/2006-09/14/content_5089683.
htm下页是新闻的部分截图.
*网络入侵与防范讲义**网络入侵与防范讲义*6.
2典型拒绝服务攻击技术6.
2.
1PingofDeath6.
2.
2泪滴(Teardrop)6.
2.
3IP欺骗DoS攻击6.
2.
4UDP洪水6.
2.
5SYN洪水6.
2.
6Land攻击6.
2.
7Smurf攻击6.
2.
8Fraggle攻击6.
2.
9电子邮件炸弹6.
2.
10畸形消息攻击6.
2.
11Slashdoteffect6.
2.
12WinNuke攻击*网络入侵与防范讲义*6.
2.
1PingofDeathPing是一个非常著名的程序,这个程序的目的是为了测试另一台主机是否可达.
现在所有的操作系统上几乎都有这个程序,它已经成为系统的一部分.
Ping程序的目的是为了查看网络上的主机是否处于活动状态.
通过发送一份ICMP回显请求报文给目的主机,并等待返回ICMP回显应答,根据回显应答的内容判断目的主机的状况.
*网络入侵与防范讲义*6.
2.
1PingofDeathPing之所以会造成伤害是源于早期操作系统在处理ICMP协议数据包存在漏洞.
ICMP协议的报文长度是固定的,大小为64KB,早期很多操作系统在接收ICMP数据报文的时候,只开辟64KB的缓存区用于存放接收到的数据包.
一旦发送过来的ICMP数据包的实际尺寸超过64KB(65536B),操作系统将收到的数据报文向缓存区填写时,报文长度大于64KB,就会产生一个缓存溢出,结果将导致TCP/IP协议堆栈的崩溃,造成主机的重启动或是死机.
*网络入侵与防范讲义*6.
2.
1PingofDeathPing程序有一个"-l"参数可指定发送数据包的尺寸,因此,使用Ping这个常用小程序就可以简单地实现这种攻击.
例如通过这样一个命令:Ping-l65540192.
168.
1.
140如果对方主机存在这样一个漏洞,就会形成一次拒绝服务攻击.
这种攻击被称为"死亡之Ping".
*网络入侵与防范讲义*6.
2.
1PingofDeath现在的操作系统都已对这一漏洞进行了修补.
对可发送的数据包大小进行了限制.
在Windowsxpsp2操作系统中输入这样的命令:Ping-l65535192.
168.
1.
140系统返回这样的信息:Badvalueforoption-l,validrangeisfrom0to65500.
*网络入侵与防范讲义*6.
2.
1PingofDeathPingOfDeath攻击的攻击特征、检测方法和反攻击方法总结如下:攻击特征:该攻击数据包大于65535个字节.
由于部分操作系统接收到长度大于65535字节的数据包时,就会造成内存溢出、系统崩溃、重启、内核失败等后果,从而达到攻击的目的.
检测方法:判断数据包的大小是否大于65535个字节.
反攻击方法:使用新的补丁程序,当收到大于65535个字节的数据包时,丢弃该数据包,并进行系统审计.
*网络入侵与防范讲义*6.
2.
2泪滴(Teardrop)"泪滴"也被称为分片攻击,它是一种典型的利用TCP/IP协议的问题进行拒绝服务攻击的方式,由于第一个实现这种攻击的程序名称为Teardrop,所以这种攻击也被称为"泪滴".
*网络入侵与防范讲义*6.
2.
2泪滴(Teardrop)两台计算机在进行通信时,如果传输的数据量较大,无法在一个数据报文中传输完成,就会将数据拆分成多个分片,传送到目的计算机后再到堆栈中进行重组,这一过程称为"分片".
为了能在到达目标主机后进行数据重组,IP包的TCP首部中包含有信息(分片识别号、偏移量、数据长度、标志位)说明该分段是原数据的哪一段,这样,目标主机在收到数据后,就能根据首部中的信息将各分片重新组合还原为数据.
*网络入侵与防范讲义*例子*网络入侵与防范讲义*例子(2)如上图所示,从客户机向服务器发送一个数据报文无法发送完成的数据,这些数据会被分片发送.
报文1、2、3是TCP连接的三次握手过程,接着4、5、6客户机向服务器发送三个报文,在这三个数据报文首部信息中,有每个报文的分片信息.
*网络入侵与防范讲义*例子(3)这就是报文重组的信息:PSH1:1025(1024)ack1,win4096PSH1025:2049(1024)ack1,win4096PSH2049:3073(1024)ack1,win4096在这个报文中,可以看到在第4、5、6这三个报文中,第4个发送的数据报文中是原数据的第1~1025字节内容,第5个发送的报文包含的是第1025~2048字节,第6个数据报文是第2049~3073个字节,接着后面是继续发送的分片和服务器的确认.
当这些分片数据被发送到目标主机后,目标主机就能够根据报文中的信息将分片重组,还原出数据.
*网络入侵与防范讲义*例子(4)如果入侵者伪造数据报文,向服务器发送含有重叠偏移信息的分段包到目标主机,例如如下所列的分片信息:PSH1:1025(1024)ack1,win4096PSH1000:2049(1024)ack1,win4096PSH2049:3073(1024)ack1,win4096这样的信息被目的主机收到后,在堆栈中重组时,由于畸形分片的存在,会导致重组出错,这个错误并不仅仅是影响到重组的数据,由于协议重组算法,会导致内存错误,引起协议栈的崩溃.
*网络入侵与防范讲义*6.
2.
2泪滴(teardrop)泪滴攻击的攻击特征、检测方法和反攻击方法总结如下:攻击特征:Teardrop工作原理是向被攻击者发送多个分片的IP包,某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象.
检测方法:对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误.
反攻击方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计.
*网络入侵与防范讲义*6.
2.
3IP欺骗DoS攻击这种攻击利用RST位来实现.
假设现在有一个合法用户(61.
61.
61.
61)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为61.
61.
61.
61,并向服务器发送一个带有RST位的TCP数据段.
服务器接收到这样的数据后,认为61.
61.
61.
61发送的连接有错误,就会清空缓冲区中建立好的连接.
这时,如果合法用户61.
61.
61.
61再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接.
*网络入侵与防范讲义*6.
2.
3IP欺骗DoS攻击攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击.
*网络入侵与防范讲义*6.
2.
4UDP洪水UDP洪水(UDPflood)主要是利用主机能自动进行回复的服务(例如使用UDP协议的chargen服务和echo服务)来进行攻击.
很多提供WWW和Mail等服务设备通常是使用Unix的服务器,它们默认打开一些被黑客恶意利用的UDP服务.
如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字符.
*网络入侵与防范讲义*6.
2.
4UDP洪水当我们向echo服务的端口发送一个数据时,echo服务会将同样的数据返回给发送方,而chargen服务则会随机返回字符.
当两个或两个以上系统存在这样的服务时,攻击者利用其中一台主机向另一台主机的echo或者chargen服务端口发送数据,echo和chargen服务会自动进行回复,这样开启echo和chargen服务的主机就会相互回复数据.
由于这种做法使一方的输出成为另一方的输入,两台主机间会形成大量的UDP数据包.
当多个系统之间互相产生UDP数据包时,最终将导致整个网络瘫痪.
*网络入侵与防范讲义*UDP洪水实例(UDP-Flood)IP/hostname和port:输入目标主机的IP地址和端口号;Maxduration:设定最长的攻击时间;Speed:设置UDP包发送速度;Data:指定发送的UDP数据包中包含的内容.
*网络入侵与防范讲义*UDP洪水实例(2)对局域网网内的一台计算机192.
168.
1.
34发起UDPFlood攻击,发包速率为250PPS.
*网络入侵与防范讲义*UDP洪水实例(3)在被攻击的计算机192.
168.
1.
34上打开Sniffer工具,可以捕捉由攻击者计算机发到本机的UDP数据包,可以看到内容为"*****UDPFlood.
Serverstresstest*****"的大量UDP数据包,如下页图所示.
如果加大发包速率和增加攻击机的数量,则目标主机的处理能力将会明显下降.
*网络入侵与防范讲义*UDP"洪水"实例*网络入侵与防范讲义*6.
2.
5SYN洪水SYNFlood是当前最流行的拒绝服务攻击方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式.
SYNFlood是利用TCP连接的三次握手过程的特性实现的.
*网络入侵与防范讲义*6.
2.
5SYN洪水在TCP连接的三次握手过程中,假设一个客户端向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN/ACK应答报文后是无法收到客户端的ACK报文的,这种情况下服务器端一般会重试,并等待一段时间后丢弃这个未完成的连接.
这段时间的长度我们称为SYNTimeout.
一般来说这个时间是分钟的数量级.
一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源.
*网络入侵与防范讲义*6.
2.
5SYN洪水即使是简单的保存并遍历半连接列表也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试.
实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃——既使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应,这种情况就称作:服务器端受到了SYNFlood攻击(SYN洪水攻击).
*网络入侵与防范讲义*SYN"洪水"攻击示意图*网络入侵与防范讲义*SYN"洪水"攻击实例局域网环境,有一台攻击机(PIII667/128/mandrake),被攻击的是一台Solaris8.
0的主机,网络设备是Cisco的百兆交换机.
后面将显示在Solaris上进行snoop抓包的记录.
注:snoop与tcpdump等网络监听工具一样,是一个网络抓包与分析工具.
*网络入侵与防范讲义*SYN"洪水"攻击实例(2)攻击示意图:*网络入侵与防范讲义*SYN"洪水"攻击实例(3)攻击机开始发包,DoS开始了…,突然间Solaris主机上的snoop窗口开始飞速地翻屏,显示出接到数量巨大的Syn请求.
这时的屏幕就好象是时速300公里的列车上的一扇车窗.
SynFlood攻击时的snoop输出结果如下页图所示.
*网络入侵与防范讲义*SYN"洪水"攻击实例(4)*网络入侵与防范讲义*SYN"洪水"攻击实例(4)此时,目标主机再也收不到刚才那些正常的网络包,只有DoS包.
大家注意一下,这里所有的SynFlood攻击包的源地址都是伪造的,给追查工作带来很大困难.
这时在被攻击主机上积累了多少Syn的半连接呢用netstat来看一下:#netstat-an|grepSYN.
结果如下页图所示.
*网络入侵与防范讲义**网络入侵与防范讲义*SYN"洪水"攻击实例(5)其中SYN_RCVD表示当前未完成的TCPSYN队列,统计一下(wc是文件内容统计命令,-l选项表示统计行数):#netstat-an|grepSYN|wc-l5273#netstat-an|grepSYN|wc-l5154#netstat-an|grepSYN|wc-l5267….
.
共有五千多个Syn的半连接存储在内存中.
这时候被攻击机已经不能响应新的服务请求了,系统运行非常慢,也无法ping通.
而这只是在攻击发起后仅仅70秒钟左右时的情况.
*网络入侵与防范讲义*SYN"洪水"的防御SYN洪水攻击比较难以防御,以下是几种解决方法:缩短SYNTimeout时间设置SYNCookie负反馈策略退让策略分布式DNS负载均衡防火墙*网络入侵与防范讲义*缩短SYNTimeout时间由于SYNFlood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度xSYNTimeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃该连接的时间,可以成倍的降低服务器的负荷.
*网络入侵与防范讲义*设置SYNCookie就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃.
*网络入侵与防范讲义*负反馈策略正常情况下,OS对TCP连接的一些重要参数有一个常规的设置:SYNTimeout时间、SYN-ACK的重试次数、SYN报文从路由器到系统再到Winsock的延时等等.
这个常规设置针对系统优化,可以给用户提供方便快捷的服务;一旦服务器受到攻击,SYNHalflink的数量超过系统中TCP活动Halflink最大连接数的设置,系统将会认为自己受到了SYNFlood攻击,并将根据攻击的判断情况作出反应:减短SYNTimeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等等措施,力图将攻击危害减到最低.
*网络入侵与防范讲义*退让策略退让策略是基于SYNFlood攻击代码的一个缺陷:SYNFlood一旦攻击开始,将不会再进行域名解析.
切入点:假设一台服务器在受到SYNFlood攻击后迅速更换自己的IP地址,那么攻击者仍在不断攻击的只是一个空的IP地址,并没有任何主机,而防御方只要将DNS解析更改到新的IP地址就能在很短的时间内恢复用户通过域名进行的正常访问.
为了迷惑攻击者,我们甚至可以放置一台"牺牲"服务器让攻击者满足于攻击的"效果".
*网络入侵与防范讲义*分布式DNS负载均衡在众多的负载均衡架构中,基于DNS解析的负载均衡本身就拥有对SYNFlood的免疫力.
基于DNS解析的负载均衡能将用户的请求分配到不同IP的服务器主机上,攻击者攻击的永远只是其中一台服务器,一来这样增加了攻击者的成本,二来过多的DNS请求可以帮助我们追查攻击者的真正踪迹.
*网络入侵与防范讲义*防火墙在防火墙设置了正确的规则后,可以识别SYNFlood攻击所采用的攻击方法,并将攻击包阻挡在外.
*网络入侵与防范讲义*6.
2.
6Land攻击Land是因特网上最常见的拒绝服务攻击类型,它是由著名黑客组织rootshell发现的.
原理很简单,向目标机发送大量的源地址和目标地址相同的包,造成目标机解析Land包时占用大量的系统资源,从而使网络功能完全瘫痪.
*网络入侵与防范讲义*6.
2.
6Land攻击Land攻击也是利用TCP的三次握手过程的缺陷进行攻击.
Land攻击是向目标主机发送一个特殊的SYN包,包中的源地址和目标地址都是目标主机的地址.
目标主机收到这样的连接请求时会向自己发送SYN/ACK数据包,结果导致目标主机向自己发回ACK数据包并创建一个连接.
大量的这样的数据包将使目标主机建立很多无效的连接,系统资源被大量的占用.
*网络入侵与防范讲义*6.
2.
6Land攻击Land攻击示意图:*网络入侵与防范讲义*6.
2.
6Land攻击Land攻击可简要概括如下:攻击特征:用于Land攻击的数据包中的源地址和目标地址是相同的.
操作系统接收到这类数据包时,不知道该如何处理堆栈中的这种情况,或者循环发送和接收该数据包,消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象.
检测方法:判断网络数据包的源/目标地址是否相同.
反攻击方法:适当配置防火墙设备或过滤路由器的过滤规则可以防止这种攻击行为,并对这种攻击进行审计.
*网络入侵与防范讲义*6.
2.
7Smurf攻击Smurf攻击是利用IP欺骗和ICMP回应包引起目标主机网络阻塞,实现DoS攻击.
Smurf攻击原理:在构造数据包时将源地址设置为被攻击主机的地址,而将目的地址设置为广播地址,于是,大量的ICMPecho回应包被发送给被攻击主机,使其因网络阻塞而无法提供服务.
比PingofDeath洪水的流量高出1或2个数量级.
*网络入侵与防范讲义*6.
2.
7Smurf攻击Smurf攻击示意图:*网络入侵与防范讲义*6.
2.
7Smurf攻击如上例所示,入侵者的主机发送了一个数据包,而目标主机就收到了三个回复数据包.
如果目标网络是一个很大的以太网,有200台主机,那么在这种情况下,入侵者每发送一个ICMP数据包,目标主机就会收到200个数据包,因此目标主机很快就会被大量的回复信息吞没,无法处理其他的任何网络传输.
这种攻击不仅影响目标主机,还能影响目标主机的整个网络系统.
*网络入侵与防范讲义*Smurf攻击例子B类网络攻击者冒充服务器向一个B类网络的广播地址发送ICMPecho包整个B类网络的所有系统都向此服务器回应一个icmpreply包*网络入侵与防范讲义*6.
2.
8Fraggle攻击Fraggle攻击原理与Smurf一样,也是采用向广播地址发送数据包,利用广播地址的特性将攻击放大以使目标主机拒绝服务.
不同的是,Fraggle使用的是UDP应答消息而非ICMP.
*网络入侵与防范讲义*6.
2.
9电子邮件炸弹电子邮件炸弹是最古老的匿名攻击之一,由于这种攻击方式简单易用,互联网上也很容易找到这些发送匿名邮件的工具,并且入侵者只需要知道对方的电子邮件地址就可以进行攻击了.
传统的电子邮件炸弹只是简单的往你的邮箱里发送大量的邮件,入侵者的目的是要用垃圾邮件填满你的邮箱后,正常的邮件就会因空间不够而被服务器拒收.
*网络入侵与防范讲义*6.
2.
9电子邮件炸弹如果用户的邮箱使用空间不受限制,那么电子邮件炸弹攻击就有可能影响到服务器的正常工作了.
最有可能的情况是入侵者不断发送大量的电子邮件,由于用户的邮箱空间不受限制,服务器会接收全部的邮件并保存在硬盘上.
大量到来的邮件将不断吞噬服务器上的硬盘空间,最终将耗尽服务器上的所有硬盘空间,使得服务器无法再对外服务.
还有一种可能是通过设置一台机器不断地大量向同一地址发送电子邮件,入侵者能够耗尽接收者网络的带宽.
*网络入侵与防范讲义*6.
2.
9电子邮件炸弹电子邮件是通过SMTP协议进行发送的,最初的SMTP协议服务是不需要进行身份认证的,在发送电子邮件的过程中不对用户进行身份认证.
SMTP不会进行认证,邮件的发送人可以伪造任何邮件地址,甚至可以不写发件人的信息.
这就是能发送匿名邮件的原因.
针对SMTP的问题,新的SMTP协议规范新增了2个命令,对发送邮件的发件人进行身份认证,在一定程度上降低了匿名电子邮件的风险.
*网络入侵与防范讲义*6.
2.
10畸形消息攻击畸形消息攻击是一种有针对性的攻击方式,它利用目标主机或者特定服务存在的安全漏洞进行攻击.
目前无论是Windows、Unix、Linux等各类操作系统上的许多服务都存在安全漏洞,由于这些服务在处理信息之前没有进行适当正确的错误校验,所以一旦收到畸形的信息就有可能会崩溃.
*网络入侵与防范讲义*6.
2.
10畸形消息攻击例如,在IIS5没有安装相应的修补包以及没有相应的安全措施时,向IIS5服务器递交如下的URL会导致IIS5停止服务:http://testIP/.
.
.
[25kbof'.
'].
.
.
ida而向IIS5递交如下的HTTP请求会导致IIS系统的崩溃,需要重启动才能恢复:"GET/.
.
.
.
.
.
[3k]htrHTTP/1.
0"这两者都是向服务器提交正常情况下不会出现的请求,导致服务器处理错误而崩溃,是典型的畸形消息攻击.
*网络入侵与防范讲义*6.
2.
11SlashdoteffectSlashdoteffect来自Slashdot.
org这个网站,这曾是十分知名而且浏览人数十分庞大的IT、电子、娱乐网站,也是blog网站的开宗始祖之一.
由于Slashdot.
org的知名度和浏览人数的影响,在Slashdot.
org上的文章中放入的网站链接,有可能一瞬间被点入上千次,甚至上万次,造成这个被链接的网站承受不住突然增加的连接请求,出现响应变慢、崩溃、拒绝服务.
这种现象就称为Slashdoteffect,这种瞬间产生的大量进入某网站的动作,也称作Slashdotting.
*网络入侵与防范讲义*6.
2.
11Slashdoteffect这种攻击手法使web服务器或其他类型的服务器由于大量的网络传输而过载,一般这些网络流量是针对某一个页面或一个链接而产生的.
当然这种现象也会在访问量较大的网站上正常的发生,但一定要把这些正常现象和攻击区分开来.
如果您的服务器突然变得拥挤不堪,甚至无法响应再多的请求时,您应当仔细检查一下这个资源匮乏的现象,确认在10000次点击里全都是合法用户进行的,还是由5000个合法用户和一个点击了5000次的攻击者进行的.
*网络入侵与防范讲义*6.
2.
12WinNuke攻击WinNuke攻击又称"带外传输攻击",它的特征是攻击目标端口,被攻击的目标端口通常是139、138、137、113、53.
TCP传输协议中使用带外数据(OutofBand,OOB数据)通道来传送一些比较特殊(如比较紧急)的数据.
在紧急模式下,发送的每个TCP数据包都包含URG标志和16位URG指针,直至将要发送的带外数据发送完为止.
16位URG指针指向包内数据段的某个字节数据,表示从第一字节到指针所指字节的数据就是紧急数据,不进入接收缓冲就直接交给上层进程.
*网络入侵与防范讲义*6.
2.
12WinNuke攻击WinNuke攻击就是制造特殊的这种报文,但这些攻击报文与正常携带OOB数据报文不同的是:其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃.
*网络入侵与防范讲义*6.
2.
12WinNuke攻击攻击者将这样的特殊TCP带外数据报文发送给已建立连接的主机的NetBIOS端口139,导致主机崩溃后,会显示下面的信息:AnexceptionOEhasoccurredat0028:[address]inVxDMSTCP(01)+000041AE.
Thiswascalledfrom0028:[address]inVxDNDIS(01)+00008660.
Itmaybepossibletocontinuenormally.
Pressanykeytoattempttocontinue.
PressCTRL+ALT+DELtorestartyourcomputer.
Youwillloseanyunsavedinformationinallapplications.
Pressanykeytocontinue*网络入侵与防范讲义*6.
2.
12WinNuke攻击WinNuke攻击的特征、检测方法和反攻击方法概括如下:攻击特征:WinNuke攻击又称带外传输攻击,它的特征是被攻击的目标端口通常是139、138、137、113、53,而且URG位设为"1",即紧急模式.
检测方法:判断数据包目标端口是否为139、138、137等,并判断URG位是否为"1".
反攻击方法:适当配置防火墙设备或过滤路由器就可以防止这种攻击手段(丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址)*网络入侵与防范讲义*6.
3分布式拒绝服务攻击6.
3.
1分布式拒绝服务攻击简介6.
3.
2分布式拒绝服务攻击造成的影响6.
3.
3分布式拒绝服务攻击工具*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介分布式拒绝服务DDoS(DistributedDenialofService)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力.
可以使得分散在互联网各处的机器共同完成对一台主机攻击的操作,从而使主机看起来好象是遭到了不同位置的许多主机的攻击.
这些分散的机器可以分别进行不同类型的攻击.
*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介在进行分布式拒绝服务攻击前,入侵者必须先控制大量的无关主机,并在这些机器上安装进行拒绝服务攻击的软件.
互联网上充斥着安全措施较差的主机,这些主机存在系统漏洞或配置上的错误,可能是一些没有足够安全技术力量的小站点或者一些企业的服务器,入侵者轻易就能进入这些系统.
由于攻击者来自于范围广泛的IP地址,而且来自每台主机的少量的数据包有可能从入侵检测系统的眼皮下溜掉,这就使得防御变得困难.
*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介分布式拒绝服务攻击的软件一般分为客户端、服务端与守护程序,这些程序可以使协调分散在互联网各处的机器共同完成对一台主机攻击的操作,从而使主机遭到来自不同地方的许多主机的攻击.
客户端:也称攻击控制台,它是发起攻击的主机服务端:也称攻击服务器,它接受客户端发来的控制命令守护程序:也称攻击器、攻击代理,它直接(如SYNFlooding)或者间接(如反射式DDoS)与攻击目标进行通信*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介DDoS攻击示例:*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介入侵者通过客户端软件向服务端软件发出攻击指令,服务端在接收到攻击指令后,控制守护进程向目标主机发动攻击.
采用三层结构的做法是确保入侵者的安全,一旦客户端发出指令后,客户端就能断开连接,由服务端指挥守护进程攻击.
客户端连接和发送指令的时间很短,隐蔽性极强.
*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介入侵者先控制多台无关主机,在上面安装守护进程与服务端程序.
当需要攻击时,入侵者从客户端连接到安装了服务端软件的主机上,发出攻击指令,服务端软件指挥守护进程同时向目标主机发动拒绝服务攻击.
目前流行的分布式拒绝服务攻击软件一般没有专用的客户端软件,使用telnet进行连接和传送控制命令.
*网络入侵与防范讲义*6.
3.
1分布式拒绝服务攻击简介通常情况下,服务端与守护进程间并不是一一对应的关系,而是多对多的关系.
也就是说,一个安装了守护进程的主机可以被多个服务端所控制,一个服务端软件也同时控制多个守护进程.
*网络入侵与防范讲义*DDoS攻击过程攻击过程主要有两个步骤:攻占代理主机和向目标发起攻击.
具体说来可分为以下几个步骤:1探测扫描大量主机以寻找可入侵主机;2入侵有安全漏洞的主机并获取控制权;3在每台被入侵主机中安装攻击所用的客户进程或守护进程;4向安装有客户进程的主控端主机发出命令,由它们来控制代理主机上的守护进程进行协同入侵.
*网络入侵与防范讲义*6.
3.
2DDoS造成的影响被DDoS攻击时的现象DDoS攻击对Web站点的影响*网络入侵与防范讲义*被DDoS攻击时的现象被攻击主机上有大量等待的TCP连接;网络中充斥着大量的无用的数据包,源地址为假;制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;严重时会造成系统死机.
*网络入侵与防范讲义*DDoS攻击对Web站点的影响当对一个Web站点执行DDoS攻击时,这个站点的一个或多个Web服务会接到非常多的请求,最终使它无法再正常使用.
在一个DDoS攻击期间,如果有一个不知情的用户发出了正常的页面请求,这个请求会完全失败,或者是页面下载速度变得极其缓慢,看起来就是站点无法使用.
*网络入侵与防范讲义*6.
3.
3DDoS的工具TFN2KTrinooStacheldraht其他拒绝服务攻击工具*网络入侵与防范讲义*TFN2K—介绍TFN(TribeFloodNetwork)是德国著名黑客Mixter编写的分布式拒绝服务攻击的攻击工具,它是一个典型的分布式拒绝服务攻击的工具.
TFN由服务端程序和守护程序组成,能实施ICMPflood、SYNflood、UDPflood和Smurf等多种拒绝服务攻击.
*网络入侵与防范讲义*TFN2K--特点TFN2K的选择面宽,Solaris、Linux、WindowsNT/2000上都能运行.
TFN2K的另一个特点是服务端控制守护进程发动攻击时,可以定制通信使用的协议,TFN2K目前可以使用的TCP、UDP、ICMP三种协议中的任何一种.
服务端向守护进程发送的控制指令,守护进程是不会进行回复.
由于这一特点,网络中的TFN2K的隐蔽性更强,检测更加困难,因为服务端可以将命令的数据报文的源地址信息进行伪造.
*网络入侵与防范讲义*TFN2K--特点(2)TFN2K所有命令都经过了CAST-256算法(RFC2612)加密.
加密关键字在程序编译时定义,并作为TFN2K客户端程序的口令.
并且所有加密数据在发送前都被编码(Base64)成可打印的ASCII字符.
TFN2K守护程序接收数据包并解密数据.
为保护自身,守护进程还能通过修改进程名方式来欺骗管理员,掩饰自己的真正身份.
总之,TFN2K采用的单向通信、随机使用通信协议、通信数据加密等多种技术以保护自身,使得实时检测TFN2K更加困难.
*网络入侵与防范讲义*TFN2K—检测TFN2K有一个独特的设计,在每一个数据包后面填充了16个零(0x00),这样做的目的是为了使数据包的长度不固定,欺骗某些防火墙或者入侵检测系统.
然而,这项独特的设计也成为了TFN2K的弱点.
TFN2K的数据包后面填充的零(0x00)在经过Base64编码后就变成了A(0x41).
这样,尾部的数据包就成为了TFN2K的特征.
当然这并不是说检测到尾部有0x41的数据包就认为网络存在TFN2K,不过,如果在网络中大量捕获到这种类型的数据包的时候,管理员就该好好检查网络中的主机了.
*网络入侵与防范讲义*TFN2K—检测(2)另一种对TFN2K的检测的方法是采用病毒检测的通用做法,采用特征码.
虽然TFN2K服务端和守护进程的文件名可以随意修改,但是程序中必然存在不会改变的特征字符串,这个不会改变的字符串就是程序的特征码,检查系统中是否存在有这样特征码的程序就能发现系统中存在的TFN2K.
*网络入侵与防范讲义*TFN2K—防御TFN2K的抵御方法有:加固系统和网络,以防系统被当做DDoS主机.
在边界路由器上设置出口过滤,这样做的原因是或许不是所有的TFN2K源地址都用内部网络地址进行伪装.
请求上游供应商配置入口过滤.
*网络入侵与防范讲义*Trinoo—介绍Trinoo也是一种比较常见的分布式拒绝服务攻击,Trinoo与TFN2K相比,虽然在很多方面都略逊一筹,但从总体上来说,Trinoo还是一个非常不错的分布式拒绝服务攻击工具.
*网络入侵与防范讲义*Trinoo—组成Trinoo是一个典型的分布式拒绝服务攻击软件,由两部分组成,服务端和守护进程,而没有专门的客户端软件,客户端软件可以使用通用的如Telnet来代替.
如图:*网络入侵与防范讲义*Trinoo—工作原理Trinoo的守护进程NC在编译时就将安装有服务程序的主机IP地址包含在内,这样,守护进程NC一旦运行起来,就会自动检测本机的IP地址,并将本机的IP地址发送到预先知道的服务器的31335端口(服务器开启31335UDP端口接收守护进程).
同时,守护进程也在本机打开一个27444的UDP端口等待服务器端过来的命令.
Trinoo的服务器端在收到守护进程发回来的IP地址后,就明白已有一个守护进程准备完毕,可以发送指控命令了.
主服务器会一直记录并维护一个已激活守护程序的主机清单.
*网络入侵与防范讲义*Trinoo—设计特色Trinooo的所有连接都需要口令,连接的口令是编译时就指定的,缺省情况下,服务端连接守护进程的口令是"144adsl",而客户端连接到服务端的口令是"betaalmostdone".
不过口令在进行验证时是明文进行传送的.
Trinoo另一个比较有特色的设计是,当客户端连接到服务端时,如果还有其他的连接建立,Trinoo会将一个包含连接IP地址的报警信息发送到已连接的主机.
这样,入侵者在控制服务端发动攻击时,还能掌握系统上的用户动向,确保Trinoo客户端的安全.
*网络入侵与防范讲义*Trinoo--基本特性及建议的抵御策略在master程序(服务端)与代理程序(守护程序)的所有通讯中,Trinoo都使用了UDP协议.
入侵检测软件能够寻找使用UDP协议的数据流(类型17).
Trinoomaster程序的监听端口是27655,攻击者一般借助telnet通过TCP连接到master程序所在计算机.
入侵检测软件能够搜索到使用TCP(类型6)并连接到端口27655上的数据流.
*网络入侵与防范讲义*Trinoo--基本特性及建议的抵御策略(2)所有从master程序到代理程序的通讯都包含字符串"l44",并且被引导到代理的UDP端口27444.
入侵检测软件检查到UDP端口27444的连接,如果有包含字符串l44的信息包被发送过去,那么接受这个信息包的计算机可能就是DDoS代理.
Master和代理之间的通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被"嗅探"到并被检测出来.
使用这个口令以及DaveDittrich编写的Trinot脚本,要准确地验证出Trinoo代理的存在是很可能的.
*网络入侵与防范讲义*StacheldrahtStacheldraht也是一个分布式拒绝服务攻击,它很多方面类似于Trinoo和TFN,能发动ICMPFlood、SYNFlood、UDPFlood和Smurf等多种攻击.
它的主要特色是能进行自动更新.
*网络入侵与防范讲义*Stacheldraht(2)Stacheldraht跟TFN和trinoo一样也是基于客户机/服务器模式,其中Master程序与潜在的成千个代理程序进行通讯.
在发动攻击时,入侵者与master程序进行连接.
Stacheldraht增加了以下新功能:攻击者与master程序之间的通讯是加密的,以及使用rcp(remotecopy,远程复制)技术对代理程序进行更新.
*网络入侵与防范讲义*Stacheldraht(3)Stacheldraht同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包.
Stacheldraht所发动的攻击包括UDP洪水、TCPSYN洪水、ICMP回应洪水攻击.
*网络入侵与防范讲义*StacheldrahtDDoS攻击的特征及防御1)在发动Stacheldraht攻击时,攻击者访问master程序,向它发送一个或多个攻击目标的IP地址.
Master程序再继续与所有代理程序进行通讯,指示它们发动攻击.
Stacheldrahtmaster程序与代理程序之间的通讯主要是由ICMP回音和回音应答信息包来完成的.
配置路由器或入侵检测系统,不允许一切ICMP回音和回音应答信息包进入网络,这样可以挫败Stacheldraht代理.
但是这样会影响所有要使用这些功能的Internet程序,例如ping.
*网络入侵与防范讲义*StacheldrahtDDoS攻击的特征及防御(2)2)代理程序要读取一个包含有效master程序的IP地址列表.
代理会试图与列表上所有的master程序进行联系.
如果联系成功,代理程序就会进行一个测试,以确定它被安装到的系统是否会允许它改变"伪造"信息包的源地址.
通过配置入侵检测系统或使用嗅探器来搜寻它们的签名信息,可以探测出这两个行为.
*网络入侵与防范讲义*StacheldrahtDDoS攻击的特征及防御(3)2.
1)代理会向每个master发送一个ICMP回音应答信息包,其中有一个ID域包含值666,一个数据域包含字符串"skillz".
如果master收到了这个信息包,它会以一个包含值667的ID域和一个包含字符串"ficken"的数据域来应答.
代理和master通过交换这些信息包来实现周期性的基本接触.
通过对这些信息包的监控,可以探测出Stacheldraht.
*网络入侵与防范讲义*StacheldrahtDDoS攻击的特征及防御(4)2.
2)一旦代理找到了一个有效master程序,它会向master发送一个ICMP信息包,其中有一个伪造的源地址,这是在执行一个伪造测试.
这个假地址是"3.
3.
3.
3".
如果master收到了这个伪造地址,在它的应答中,用ICMP信息包数据域中的"spoofworks"字符串来确认伪造的源地址是奏效的.
通过监控这些值,也可以将Stacheldraht检测出来.
*网络入侵与防范讲义*StacheldrahtDDoS攻击的特征及防御(5)3)Stacheldraht代理并不检查ICMP回音应答信息包来自哪里,因此就有可能伪造ICMP信息包将其排除.
4)Stacheldraht代理程序与TFN和trinoo一样,都可以用一个C程序DDoS_scan来探测.
*网络入侵与防范讲义*其他拒绝服务攻击工具TrinityShaftMStream*网络入侵与防范讲义*TrinityTrinity也是一个能对受害人的站点进行多种类型的"洪水"攻击的工具,能发动UDP、Fragment、SYN、RST、ACK以及其他的一些"洪水"攻击.
它的特点是可以通过IRC(InternetRelayChat,网上实时聊天)或者AOL(AmericanOnLine)的ICQ来传递信息.
Trinity使用的主通信端口是6667,并且它还运行一个后台程序监听TCP33270端口.
*网络入侵与防范讲义*ShaftShaft分布式拒绝服务攻击的网络结构非常类似Trinoo,这个攻击工具没有什么特殊的功能,唯一与其他工具不同的是它所有的TCP数据包序列号都是0x28374839.
*网络入侵与防范讲义*MStreamMStream使用虚假的ACK标志TCP数据包进行攻击.
传输没有经过加密.
主控端有口令保护.
它有一个与其他工具不同的特点就是这个程序提供所有连接的用户成功或失败的信息.
*网络入侵与防范讲义*6.
4拒绝服务攻击的防御防御的困难之处防御方法*网络入侵与防范讲义*防御的困难之处不容易定位攻击者的位置Internet上绝大多数网络都不限制源地址,也就是伪造源地址非常容易很难溯源找到攻击控制端的位置各种反射式攻击,无法定位源攻击者完全阻止是不可能的,但是适当的防范工作可以减少被攻击的机会*网络入侵与防范讲义*防御方法有效完善的设计带宽限制及时给系统安装补丁运行尽可能少的服务只允许必要的通信封锁敌意IP地址*网络入侵与防范讲义*有效完善的设计一个站点越完善,它的状况会越好.
如果公司有一个运行关键任务的Web站点,用户必须连接到Internet,但是与路由器之间只有一条单一的连接,服务器运行在一台单一的计算机上,这样的设计就不是完善的.
这种情况下,攻击者对路由器或服务器进行DoS攻击,使运行关键任务的应用程序被迫离线.
理想情况下,公司不仅要有多条与Internet的连接,最好有不同地理区域的连接.
公司的服务位置越分散,IP地址越分散,攻击同时寻找与定位所有计算机的难度就越大.
*网络入侵与防范讲义*带宽限制当DoS攻击发生时,针对单个协议的攻击会损耗公司的带宽,以致拒绝合法用户的服务.
例如,如果攻击者向端口25发送洪水般的数据,攻击者会消耗掉所有带宽,所以试图连接端口80的用户被拒绝服务.
一种防范方法是限制基于协议的带宽.
例如,端口25只能使用25%的带宽,端口80只能使用50%的带宽.
*网络入侵与防范讲义*及时给系统安装补丁当新的DoS攻击出现并攻击计算机时,厂商一般会很快确定问题并发布补丁.
如果一个公司关注最新的补丁,同时及时安装,这样被DoS攻击的机会就会减少.
记住:这些措施并不能阻止DoS攻击耗尽公司的资源.
还有在安装补丁之前,先要对其进行测试.
即使厂商声明它可以弥补DoS漏洞,这并不意味着不会产生新的问题.
*网络入侵与防范讲义*运行尽可能少的服务运行尽可能少的服务可以减少被攻击成功的机会.
如果一台计算机开了20个端口,这就使得攻击者可以在大的范围内尝试对每个端口进行不同的攻击.
相反,如果系统只开了两个端口,这就限制了攻击者攻击站点的攻击类型.
另外,当运行的服务和开放的端口都很少时,管理员可以容易的设置安全,因为要监听和担心的事情都很少了.
*网络入侵与防范讲义*只允许必要的通信这一防御机制与上一个标准"运行尽可能少的服务"很相似,不过它侧重于周边环境,主要是防火墙和路由器.
关键是不仅要对系统实施最少权限原则,对网络也要实施最少权限原则.
确保防火墙只允许必要的通信出入网络.
许多公司只过滤进入通信,而对向外的通信不采取任何措施.
这两种通信都应该过滤.
*网络入侵与防范讲义*封锁敌意IP地址当一个公司知道自己受到攻击时,应该马上确定发起攻击的IP地址,并在其外部路由器上封锁此IP地址.
这样做的问题是,即使在外部路由器上封锁了这些IP地址,路由器仍然会因为数据量太多而拥塞,导致合法用户被拒绝对其他系统或网络的访问.
因此,一旦公司受到攻击应立刻通知其ISP和上游提供商封锁敌意数据包.
因为ISP拥有较大的带宽和多点的访问,如果他们封锁了敌意通信,仍然可以保持合法用户的通信,也可以恢复遭受攻击公司的连接.
*网络入侵与防范讲义*6.
5分布式拒绝服务攻击的防御6.
5.
1分布式拒绝服务攻击的监测6.
5.
2分布式拒绝服务攻击的防御6.
5.
3拒绝服务监控系统的设计*网络入侵与防范讲义*6.
5.
1分布式拒绝服务攻击的监测许多人或工具在监测分布式拒绝服务攻击时常犯的错误是只搜索那些DDoS工具的缺省特征字符串、缺省端口、缺省口令等.
人们必须着重观察分析DDoS网络通讯的普遍特征,不管是明显的,还是模糊的.
使用网络入侵监测系统(NIDS),根据异常现象在网络入侵监测系统上建立相应规则,能够较准确地监测出DDoS攻击.
*网络入侵与防范讲义*6.
5.
1分布式拒绝服务攻击的监测实际上,DDoS的唯一检测方式是:异常的网络交通流量.
下面将分别介绍5种异常模式及相应的解决办法.
*网络入侵与防范讲义*异常现象1大量的DNSPTR查询请求根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名.
BIND域名服务器能够记录这些请求.
由于每台攻击服务器在进行一个攻击前会发出PTR反向查询请求,也就是说在DDoS攻击前域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求.
*网络入侵与防范讲义*异常现象2超出网络正常工作时的极限通讯流量当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通讯流量的现象.
现在的技术能够分别对不同的源地址计算出对应的极限值.
当明显超出此极限值时就表明存在DDoS攻击的通讯.
因此可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通讯.
*网络入侵与防范讲义*异常现象3特大型的ICMP和UDP数据包.
正常的UDP会话一般都使用小的UDP包,通常有效数据内容不超过10字节.
正常的ICMP消息也不会超过64到128字节.
那些明显大得多的数据包很有可能就是控制信息通讯用的,主要含有加密后的目标地址和一些命令选项.
一旦捕获到(没有经过伪造的)控制信息通讯,DDoS服务器的位置就无所遁形了,因为控制信息通讯数据包的目标地址是没有伪造的.
*网络入侵与防范讲义*异常现象4不属于正常连接通讯的TCP和UDP数据包.
隐蔽的DDoS工具随机使用多种通讯协议通过基于无连接通道发送数据.
优秀的防火墙和路由规则能够发现这些数据包.
另外,那些连接到高于1024而且不属于常用网络服务的目标端口的数据包也是非常值得怀疑的.
*网络入侵与防范讲义*异常现象5数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)的数据包.
这往往是数据经过BASE64编码后而只会含有base64字符集字符的特征.
TFN2K发送的控制信息数据包就是这种类型的数据包.
TFN2K(及其变种)的特征模式是在数据段中有一串A字符(AAA……),这是经过调整数据段大小和加密算法后的结果.
如果没有使用BASE64编码,对于使用了加密算法数据包,这个连续的字符就是"\0"*网络入侵与防范讲义*6.
5.
2分布式拒绝服务攻击的防御虽然还没有很好的措施来彻底解决分布式拒绝服务攻击问题,但下面有一些措施能降低系统受到拒绝服务攻击的危害:优化网络和路由结构保护网络及主机系统安全安装入侵检测系统与ISP服务商合作使用扫描工具*网络入侵与防范讲义*优化网络和路由结构理想情况下,提供的服务不仅要有多条与Internet的连接,而且最好有不同地理区域的连接.
这样服务器IP地址越分散,攻击者定位目标的难度就越大,当问题发生时,所有的通信都可以被重新路由,可以大大降低其影响.
*网络入侵与防范讲义*保护网络及主机系统安全本质上,如果攻击者无法获得网络的访问权,无法攻克一台主机,他就无法在系统上安装DDoS服务器.
要使一个系统成为服务器,首先要以某种手段攻克它.
如果周边环境不会被突破,系统能够保持安全,就不会被用于攻击其他系统.
对所有可能成为目标的主机都进行优化,禁止不必要的服务,可以减少被攻击的机会.
要注意保护主机系统的安全,避免其被攻击者用作傀儡主机,充当DDoS的间接受害者.
*网络入侵与防范讲义*安装入侵检测系统能否尽可能快地探测到攻击是非常关键的.
以DDoS的角度来看,单位越快探测到系统被入侵或服务器被用来进行攻击,该单位的网络状况越好.
借助于入侵检测系统(IDS)可以完成这一工作.
*网络入侵与防范讲义*安装入侵检测系统有两种常用的IDS:基于网络的和基于主机的.
基于网络的IDS是网络上被动的设备,负责嗅探通过给定网段的所有数据包.
通过查看数据包,查找显示可能的攻击的签名并对可疑行为发出警报.
基于主机的IDS运行在一台独立的服务器上,并经常查看审计日志以查找可能的攻击信息.
*网络入侵与防范讲义*安装入侵检测系统正如有两种类型IDS一样,也有两种构建IDS的技术:样式匹配和不规则探测.
样式匹配技术有一个关于已知攻击特征的数据库.
当它找到与给定样式相同的数据包时就发出警报.
不规则探测系统决定什么是网络的正常通信,任何不符合这一规则的通信都被标为可疑的.
可以想象,基于不规则探测的系统实现起来十分困难,因为对于一个公司正常的通信对于另一个公司则是不正常的.
因此大多数入侵检测系统都是基于样式匹配技术的.
*网络入侵与防范讲义*与ISP合作这一点非常重要.
DDoS攻击非常重要的一个特点是洪水般的网络流量,耗用了大量带宽,单凭自己管理网络,是无法对付这些攻击的.
当受到攻击时,与ISP协商,确定发起攻击的IP地址,请求ISP实施正确的路由访问控制策略,封锁来自敌意IP地址的数据包,减轻网络负担,防止网络拥塞,保护带宽和内部网络.
*网络入侵与防范讲义*使用扫描工具由于许多公司网络安全措施都进行得很慢,它们的网络可能已经被攻克并用作了DDoS服务器,因此要扫描这些网络查找DDoS服务器并尽可能的把它们从系统中关闭删除.
一些工具可以做到这些,而且大多数商业的漏洞扫描程序都能检测到系统是否被用作DDoS服务器.
*网络入侵与防范讲义*6.
5.
3拒绝服务监控系统的设计利用总结出的若干拒绝服务攻击数据包的特征,可以进行拒绝服务监控系统的设计,建立网络通信中异常现象的模式库,把实时采集网络数据包与模式库进行模式匹配,得到监控结果.
下页为监控系统的结构图.
*网络入侵与防范讲义*6.
5.
3拒绝服务监控系统的设计模式库分析单元分析报告采集库*网络入侵与防范讲义*6.
5.
3拒绝服务监控系统的设计上图中,采集器用来收集网络通信信息,并向分析单元提供分析所需的数据,同时还能接收分析单元的指令,进一步采集分析单元所需的特定信息.
分析单元可以采用人工神经元网络对网络采集信息和模式库进行模式匹配得出分析报告,同时定期进行自学习,更新模式库,及时跟踪并反映拒绝服务攻击模式的最新动态.
*网络入侵与防范讲义*6.
6小结无论是DoS还是DDoS攻击,其目的是使受害主机或网络无法及时接收并处理外界请求,表现为:制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信.
利用被攻击主机提供服务或传输协议上处理重复连接的缺陷,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求.
利用被攻击主机所提供服务程序或传输协议的本身的实现缺陷,反复发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态.
DoS/DDoS攻击是很有效的攻击方式,必须注意防范这种攻击.
ZJI是成立于2011年原Wordpress圈知名主机商—维翔主机,2018年9月更名为ZJI,主要提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。本月商家针对香港阿里云线路独立服务器提供月付立减270-400元优惠码,优惠后香港独立服务器(阿里云专线)E3或者E5 CPU,SSD硬盘,最低每月仅480元起。阿里一型CPU:Intel E5-2630L...
Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...
如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...