《第二章网络安全风险分析-2-欺骗攻击培训讲学》由会员分享,可在线阅读,更多相关《第二章网络安全风险分析-2-欺骗攻击培训讲学(55页珍藏版)》请在金锄头文库上搜索。
1、第二章 网络安全风险分析 -DoS和欺骗攻击,拒绝服务攻击DoS,指任何导致你的服务器不能正常提供服务的攻击。 最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过;连通性攻击指用大量的连接请求冲击计算机,使得计算机所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。,基于本地的拒绝服务攻击,按攻击地点可以分为本地攻击和远程(网络)攻击. 本地攻击是指不通过网络,直接对本地主机的攻击,远程攻击则必须通过网络连接。由于本地攻击要求攻击者与受害者处于同一地,这对攻击者的要求太高,通
2、常只有内部人员能够做到。同时,由于本地攻击通常可以通过物理安全措施以及对内部人员的严格控制予以解决,消耗本地资源 填充进程表:一个攻击者可能会写一个程序,使用这种程序,攻击者就能像系统为用户启动进程那样迅速的建立新进程。最后,计算机的进程表被填满了,从而阻止了正常用户开启进程并拒绝任何的访问。 填充文件系统:通过不断的给文件系统发送大量的数据,攻击者能将文件分区表填满,阻止其他用户建立文件,还有可能使系统崩溃。 发送网络数据,阻塞通信链路:攻击者写一个程序,给被攻击的系统发送伪造的网络信息,消耗处理器和连接线路带宽。如果攻击者的程序能生成足够多的数据包,合法用户就不能与系统交换数据。,基于远程
3、的拒绝服务攻击,利用网络发送各种缺陷数据包或其他类型数据包以及系统的漏洞来实施攻击的。,基于远程的拒绝服务攻击(1),远程终止服务 Land 型数据包: 发送一个假的数据包,它的源 IP 地址和端口号均与目标主机相同。目标主机就会收到这样的数据包,来自本主机同一端口且同时到达。旧的 TCP/IP 栈在这种未知的情况下就会造成混乱,甚至崩溃。 Latierra 型数据包 :与 Land 型数据包类似,但会同时给多个端口发送多种类型的 Land 数据包。 Ping of Death 型数据包: 发送一个超长的数据包,当主机收到时,由于旧的 TCP/IP 栈不能有效处理一个大于 64K 的 Ping
4、 包而崩溃。,Jolt2 型数据包 :发送一些数据包碎片,长度为零。因此这些空的数据包碎片看起来像一串数据包的第一个。只要这种数据包碎片发送出去,目标主机会耗尽处理器全部能力来重新组装这些数据包碎片。 Teardrop 、 Newtear 、 Bonk 、 Syndrop 等类型的数据包 :发送重叠的数据包碎片,在数据包头内碎片的长度被设置为不正确的值,所以主机对这些数据包碎片组装时不能对其正确排队。一些 TCP/IP 栈就会崩溃。 Winnuke 型数据包: 向一个 Windows 主机的开放文件共享系统端口(如 TCP 端口 139 )发送垃圾数据,当端口收到这种数据时,由于不能用合法的服
5、务器信息块( SMB )协议对其进行格式化,导致系统瘫痪。,消耗远程资源 远程占用目标主机的资源,特别是通信链路的带宽。在这种方式的攻击中,攻击者会利用数据包洪来消耗你所有的网络处理能力。 SYN FLOOD 攻击 利用服务器的连接缓冲区( Backlog Queue ),利用特殊的程序,设置 TCP 的 Header ,向服务器端不断地成倍发送只有 SYN 标志的 TCP 连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。 SYN 请求超过了服务器能容纳的限度,缓冲区队列满,服务器就不再接收新的请求了。,基于远程的拒绝服务攻击(2),正常
6、的三段握手图例,SYN FLOOD 攻击的三段握手攻击图例,Smurf 攻击,Smurf 是一种简单但有效的 拒绝服务攻击技术,它利用了 ICMP (Internet 控制信息协议 ) 。 Smurf 是用一个偷来的帐号安装到一个计算机上的,然后用一个伪造的源地址连续 ping 一个或多个计算机网络,这个伪造的源地址,实际上就是攻击的目标,它将被极大数量的响应信息量所淹没。,attacker,target,分布式拒绝服务攻击( DDoS ),DDoS攻击分为3层: 攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端
7、发送攻击命令。 主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。 代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。,发起DDoS攻击的步骤,寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。 在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分
8、主机各司其职,在攻击者的调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。,被 DDoS 攻击时的现象,1 被攻击主机上有大量等待的 TCP 连接。 2 网络中充斥着大量的无用的数据包,源地址为假 。 3 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯 。 4 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求 。 5 严重时会造成系统死机。,常用 DDoS 攻击工具 Trin00,Trin00 是复杂的 DDoS 攻击程序,它使用 “master” 程序对实际实施攻击的
9、任何数量的 “ 代理 ” 程序实现自动控制。 攻击者连接到安装了 master 程序的计算机,启动 master 程序,然后根据一个 IP 地址的列表,由 master 程序负责启动所有的代理程序。接着,代理程序用 UDP 信息包冲击网络,从而攻击目标。在攻击之前,侵入者为了安装软件,已经控制了装有 master 程序的计算机和所有装有代理程序的计算机。,Trin00 DDoS 攻击的基本特性,在 master 程序与代理程序的所有通讯中, Trin00 都使用了 UDP 协议。 Trin00 master 程序的监听端口是 27655 ,攻击者一般借助 telnet 通过 TCP 连接到 m
10、aster 程序所在计算机。 从 master 程序到代理程序的通讯都包含字符串 “l44” ,并且被引导到代理的 UDP 端口 27444 。入侵检测软件检查到 UDP 端口 27444 的连接,如果有包含字符串 l44 的信息包被发送过去,那么接受这个信息包的计算机可能就是 DDoS 代理。 Master 和代理之间通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被 “ 嗅探 ” 到并被检测出来。,TFN2K(Tribe Flood Network 2000),可以指挥zombie(肉鸡)发起多种类型的攻击 恶意数据包式DoS攻击 UDP泛洪 SYN泛洪 ICMP泛洪 Smur
11、f攻击 混合式攻击,防御常见拒绝服务攻击,确保系统内没有zombie 在外部路由器或防火墙上加过滤器,滤除伪造数据包,防止由你的系统内zombie 发出的数据洪泛,保护外部计算机。 使用“Find DDoS” 发现是否被安装zombie。 使用“zombie zapper” 停止zombie运行。 防御DDoS泛洪 尽快察觉,利用ISP(Internet Service Provider )的突发事件反应,与ISP的突发事件反应组联系。快速阻截泛洪。,防御常见拒绝服务攻击,抵御 Smurf 确定你是否成为了攻击平台:对不是来自于你的内部网络的信息包进行监控;监控大容量的回音请求和回音应答信息包
12、。 避免被当做一个攻击平台:在所有路由器上禁止 IP 广播功能;将不是来自于内部网络的信息包过滤掉。 减轻攻击的危害:在边界路由器对回音应答信息包进行过滤,并丢弃;对于 Cisco 路由器,使用 CAR (速率限制 )来规定回音应答信息包可以使用的带宽最大值,抵御 TFN 和 TFN2K 确定你是否成为攻击平台:对不是来自于内部网络的信息包进行监控。 避免被用作攻击平台:不允许一切到你的网络上的 ICMP 回音和回音应答信息包,当然这会影响所有要使用这些功能的 Internet 程序;将不是来源于内部网络的信息包过滤掉。,抵御 Trin00确定你是否成为攻击平台:在 master 程序和代理程
13、序之间的通讯都是使用 UDP 协议,因此对使用 UDP 协议 ( 类别 17) 进行过滤;攻击者用 TCP 端口 27655 与 master 程序连接,因此对使用 TCP ( 类别 6) 端口 27655 连接的流进行过滤; master 与代理之间的通讯必须要包含字符串 “l44” ,并被引导到代理的 UDP 端口 27444, 因此对与 UDP 端口 27444 连接且包含字符串 l44 的数据流进行过滤。 避免被用作攻击平台:将不是来自于你的内部网络的信息包过滤掉。 减轻攻击的危害: 从理论上说,可以对有相同源 IP 地址的、相同目的 IP 地址的、相同源端口的、不同目的端口的 UDP
14、 信息包序列进行过滤,并丢弃它们。,IP地址欺骗攻击 DNS欺骗攻击 Web欺骗攻击 邮件欺骗攻击,IP地址欺骗(1),IP地址欺骗就是通过改变或伪装系统的IP地址进行攻击。它可帮助攻击者对那些使用IP地址来当作验证方式和过滤方法的应用程序进行破坏。 简单欺骗型 攻击者很容易改变其IP地址,或者不改变机器的IP地址,而使用一种工具来产生具有所需IP地址的数据包。典型工具Nmap和dsniff都是利用后一种方法来产生欺骗性数据包的。如果攻击者想不让人知道数据包洪泛或DOS攻击的数据包来向,简单欺骗是个不错的选择。但有很大的限制。,例:EVE是攻击者,ALICE是被假装者,BOB是目标受害者。首先
15、,EVE与BOB打开一个连接,并发送3次握手的第一个数据包:TCP SYN(A,ISNa),表示一个SYN位被设置,源地址位ALICE的(A)地址、初始序列号位ISNa的数据包,也就是说,EVE假装了ALICE的IP地址。然后是3端握手第二步,BOB发送ACK(A,ISNa)SYN(B,ISNb)给ALICE。最后,当ALICE收到此数据包时,因为它本身并没进行3段握手第一步,所以它将发送RESET信息,断开连接,从而使EVE不能假装成ALICE和BOB交互,EVE也就无从截获数据流量。,如果EVE和BOB是在同一个LAN上,简单攻击能够以交互方式进行,因为EVE可以从LAN上面截获BOB发出
16、给ALICE的回应信息,并利用ARP欺骗来防止ALICE的RESET信息将连接终止。,破坏UNIX的r命令型 所谓“UNIX信任”是指当一个UNIX系统信任另一个时,用户可以登录到被信任主机,使用r-命令(如rlogin、rsh、rcp)对信任主机进行访问时无需提供密码。,IP地址欺骗(2),3个终端都使用UNIX系统,而ALICE被BOB系统信任。这样,攻击者只要在欺骗攻击中成功使用了ALICE的地址,他就能在BOB系统上执行命令而无需提供密码。,具体步骤:,1)EVE打开到BOB的TCP连接,不断的发送TCP SYN数据包给BOB,这些连接请求可以使得EVE能够大概猜测出BOB的SYN-ACK中的初始序列号随时间变化的规律,从而猜测出在第五步中将会使用的初始序列号,当然如果猜错,将前功尽弃。 2)EVE对ALICE发动拒绝服务攻击,从而使ALICE在一段时间内变哑,不能发送RESET数据包,于是欺骗性的TCP连接不会断掉了。 3)EVE使用ALICE的地址同BOB建立连接(极可能使用rsh这类命令),完成3次握手第一步。 4)BOB回应