网络安全威胁_第1页
网络安全威胁_第2页
网络安全威胁_第3页
网络安全威胁_第4页
网络安全威胁_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3讲网络安全威胁1TCP/IP经典威胁以太网安全集线器——杂错节点交换机——失败保护模式/a/Agyyjttycp/IP欺骗假冒他人IP地址ARP欺骗IP源路由欺骗IP报文首部的可选项中有“源站选路”,可以指定到达目的站点的路由。正常情况下,目的主机如果有应答或其他信息返回源站,就可以直接将该路由反向运用作为应答的回复路径。条件主机A(假设IP地址是)是主机B的被信任主机主机X想冒充主机A从主机B(假设IP为)获得某些服务攻击过程攻击者修改距离X最近的路由器G2,使得到达此路由器且包含目的地址的数据包以主机X所在的网络为目的地攻击者X利用IP欺骗(把数据包的源地址改为)向主机B发送带有源路由选项(指定最近的路由器G2)的数据包。当B回送数据包时,按收到数据包的源路由选项反转使用源路由,就传送到被更改过的路由器G2。由于G2路由表已被修改,收到B的数据包时,G2根据路由表把数据包发送到X所在网络,X可在其局域网内较方便的进行侦听,收取此数据包。TCP欺骗基本流程:步骤一,攻击者X要确定目标主机A的被信任主机B不在工作状态,若其在工作状态,也可使用SYNflooding等攻击手段使其处于拒绝服务状态。步骤二,攻击者X伪造数据包:B->A:SYN(ISNC),源IP地址使用B,初始序列号ISN为C,给目标主机发送TCP的SYN包请求建立连接。步骤三,目标主机回应数据包:A->B:SYN(ISNS),ACK(ISNC),初始序列号为S,确认序号为C。由于B处于拒绝服务状态,不会发出响应包。攻击者X使用嗅探器捕获TCP报文段,得到初始序列号S。步骤四,攻击者X伪造数据包:B->A:ACK(ISNS),完成三次握手建立TCP连接。步骤五,攻击者X一直使用B的IP地址与A进行通信。盲攻击与非盲攻击:非盲攻击:攻击者和被欺骗的目的主机在同一个网络上,攻击者可以简单地使用协议分析器(嗅探器)捕获TCP报文段,从而获得需要的序列号。见上述流程。

盲攻击:由于攻击者和被欺骗的目标主机不在同一个网络上,攻击者无法使用嗅探器捕获TCP报文段。其攻击步骤与非盲攻击几乎相同,只不过在步骤三无法使用嗅探器,可以使用TCP初始序列号预测技术得到初始序列号。在步骤五,攻击者X可以发送第一个数据包,但收不到A的响应包,较难实现交互。2典型系统安全威胁泪滴(teardrop)IP数据包在网络传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击:第一个包的偏移量为0,长度为N;第二个包的偏移量小于N,而且算上第二片IP包的数据部分,也未超过第一片的尾部。这样就出现了重叠现象(overlap)。为了合并这些数据段,有的系统(如linux2.0内核)的TCP/IP堆栈会计算出负数值(对应取值很大的无符号数),将分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。WinNT/95在接收到10至50个teardrop分片时也会崩溃。

缓冲区溢出非常普遍、非常危险后果:程序运行失败系统当机、重新启动执行非授权指令,取得系统特权概括:对可用性、完整性和机密性的攻击渊源:MorrisWorm1988针对fingerdCERT/CC(计算机紧急事件响应组/协调中心)ComputerEmergencyResponseTeam/CoordinationCenter缓冲区溢出的根本原因来自C语言(以及其后代C++)本质的不安全性:·

没有边界来检查数组和指针的引用;·

标准C库中还存在许多非安全字符串操作,如strcpy()、sprintf()、gets()等。为了说明这个问题还必须看一看程序的内存映像。任何一个源程序通常都包括代码段和数据段,这些代码和数据本身都是静态的。为了运行程序,首先要由操作系统负责为其创建进程,并在进程的虚拟地址空间中为其代码段和数据段建立映射。但是,光有静态的代码段和数据段是不够的,进程在运行过程中还要有其动态环境。一般说来,默认的动态存储环境通过堆栈(简称栈)机制建立。所有局部变量以及所有按值传递的函数参数都通过堆栈机制自动地进行内存空间的分配。分配同一数据类型相邻块的内存区域称为缓冲区。图2.6为Linux下进程的地址空间布局。当然,C语言还允许程序员使用堆机制创建存储器,存储使用malloc()获得的数据。不过,这与本节讨论的问题无关。

缓冲区溢出原理从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中。当程序写入超过缓冲区的边界时,这就是所谓的“缓冲区溢出”。发生缓冲区溢出时,就会覆盖下一个相邻的内存块,导致一些不可预料的结果:也许程序可以继续,也许程序的执行出现奇怪现象,也许程序完全失败。下面的程序是一个缓冲溢出的实例。例2.3.1#include<stdio.h>intmain(){ charname[5]; printf(“Pleaseinputyourname:”); gets(name); printf(“youare%s”,name);}

运行这个程序可以发现,当输入的字符数少时,程序运行正常;当输入的字符数太多时(超过8),程序就不能正常结束。这就是缓冲区逸出所造成。

典型的堆栈帧结构如图2.7所示。堆栈中存放的是与每个函数对应的堆栈帧。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。

图2.7典型的堆栈帧结构

堆栈帧的顶部为函数的实参,下面是函数的返回地址以及前一个堆栈帧的指针,最下面是分配给函数的局部变量使用的空间。一个堆栈帧通常都有两个指针,其中一个称为堆栈帧指针,另一个称为栈顶指针。前者所指向的位置是固定的,而后者所指向的位置在函数的运行过程中可变。因此,在函数中访问实参和局部变量时都是以堆栈帧指针为基址,再加上一个偏移。由图2.7可知,实参的偏移为正,局部变量的偏移为负。当发生数据栈溢出时,多余的内容就会越过栈底,覆盖栈底后面的内容。通常,与栈底相邻的内存空间中存放着程序返回地址。因此,数据栈的溢出,会覆盖程序的返回地址,从而造成如下局面:要么程序会取到一个错误地址,要么将因程序无权访问该地址而产生一个错误。鉴此,C语言把这一艰巨任务交给了开发人员,要求他们进行边界检查,编写安全的程序。然而这一要求往往被人们忽视,从而给黑客有机可乘。

4拒绝服务攻击4.1拒绝服务攻击实例PingofDeathJolt2LandPingofDeath原理:攻击者:发送长度超过65535的ICMPEchoRequest的碎片分组,目标机:重组分片时会造成事先分配的65535字节缓冲区溢出,导致TCP/IP堆栈崩溃防御:Win98之后的系统都能够应对超大尺寸的包配置防火墙阻断ICMP以及任何未知协议分组/a/Agyytytz/Jolt2

原理:发送大量相同的碎片化IP分组分片标志位MF被置为0偏移量为65520IP分组大小为29字节IPID为1109(IDS检测特征)防御:Windows系统必须安装最新的补丁在网络边界上禁止碎片包通过,或者限制其包速率必须确保防火墙重组碎片的算法没有问题计算总长度:20+65520+9=65549>65535Land

原理:发送一个特别定制的SYN分组源地址和目的地址都设为目标机地址源端口号和目的端口号相同防御:为操作系统安装最新的补丁配置防火墙,过滤从外部接口进入的、含有内部源地址的分组SYNFlood原理:TCP连接的三次握手和半开连接攻击者:发送大量伪造的TCP连接请求方法1:伪装成当时不在线的IP地址发动攻击方法2:在主机或路由器上阻截目标机的SYN/ACK分组目标机:堆栈溢出崩溃或无法处理正常请求防御:缩短SYNTimeout时间(设置为20秒以下)设置SYNCookie缺陷:依赖于对方使用真实的IP地址设置路由器和防火墙,在给定的时间内只允许数量有限的半开TCP连接发往主机给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续收到某IP的重复SYN报文,就认定受到了攻击,从此IP地址来的后继包被丢弃。客户端服务器端客户端服务器端正常过程半开连接SYNSYN/ACKACKSYNSYN/ACKSYN/ACKSYNTimeoutSYNFlood之TCP三次握手....SYN/ACKSYN/ACKSYN/ACKSYNSYNSYN攻击者目标主机SYNSYN/ACK1nSYN/ACKSYN/ACKSYN/ACKSYN/ACK....等待应答SYN/ACK.........分布式拒绝服务(DistributedDenialofService,DDoS)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

4.2分布式拒绝服务攻击将目的地址设置成广播地址(以太网地址为FF:FF:FF:FF:FF:FF:FF)后,将会被网络中所有主机接收并处理。显然,如果攻击者假冒目标主机的地址发出广播信息,则所有主机都会向目标主机回复一个应答使目标主机淹没在大量信息中,无法提供新的服务。这两个攻击就是利用广播地址的这一特点将攻击放大而实施的拒绝服务攻击。其中,Smurf是用广播地址发送ICMPECHO包,而Fraggle是用广播地址发送UDP包。

Smurf显然,smurf为了能工作,必须要找到攻击平台,这个平台就是:其路由器上启动了IP广播功能——允许smurf发送一个伪造的ping信息包,然后将它传播到整个计算机网络中。另一方面,为防止系统成为smurf攻击的平台,要将所有路由器上IP的广播功能都禁止(一般来讲,IP广播功能并不需要)。但是,攻击者若从LAN内部发动一个smurf攻击,在这种情况下,禁止路由器上的IP广播功能就没有用了。为了避免这样一个攻击,许多操作系统都提供了相应设置,防止计算机对IP广播请求做出响应。挫败一个smurf攻击的最简单方法对边界路由器的回音应答(echoreply)信息包进行过滤,然后丢弃它们,使网络避免被淹没。目标机攻击者放大器放大器源地址:目标机目的地址:广播地址(放大器网络)Smurf

之放大器

一个比较完善的DDoS攻击体系分成4部分:·

攻击者所在机·

控制机(用来控制傀儡机)·

傀儡机·

受害者。对受害者的攻击是从击傀儡机上发出的,控制机只发布命令而不参与实际的攻击。

DDoS就是利用更多的傀儡机来发起进攻,以更大的规模来进攻受害者。

2.DDoS系统的一般结构在更一般的情况下,DDoS可能使用多台控制机,形成图2.16所示的结构。

图2.16DDoS攻击原理

1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。攻击者各种客户主机目标系统2)攻击者进入其已经发现的最弱的客户主机之内(“肉机”),并且秘密地安置一个其可远程控制的代理程序。攻击准备:安置代理代理程序DDoS攻击时序

3)攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请求送至目标系统。攻击者目标系统发起攻击:指令攻击的代理程序4)包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将导致它因通信淤塞而崩溃。虚假的连接请求DDoS攻击的防御策略DDoS攻击的隐蔽性极强,迄今为止人们还没有找到对DDoS攻击行之有效的解决方法。所以加强安全防范意识、提高网络系统的安全性,还是当前最为有效的办法。可采取的安全防御措施有以下几种:(1)及早发现系统存在的攻击漏洞,及时安装系统补丁程序。对一些重要的信息(例如系统配置信息)建立和完善备份机制。对一些特权帐号(例如管理员帐号)的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最小。(2)在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。建立边界安全界限,确保输出的包受到正确限制。经常检测系统配置信息,并注意查看每天的安全日志。/a/Agyyhjtjbfs/这里用“组织”这个词,是因为DDoS并不象入侵一台主机那样简单。一般来说,黑客进行DDoS攻击时会经过如下几个步骤。(1)搜集了解目标的情况下列情况是黑客非常关心的情报:

·

被攻击目标主机数目、地址情况

·

目标主机的配置、性能

·目标的带宽

4.3一次DDoS攻击过程对于DDoS攻击者来说,攻击互联网上的某个站点,如http://www.WWWW.com,有一个重点就是确定到底有多少台主机在支持这个站点,一个大的网站可能有很多台主机利用负载均衡技术提供同一个网站的www服务。以yahoo为例,一般会有下列地址都是提供http://www.WWW.com服务的:

78901346对一个网站实施DDoS攻击,就要让这个网站中所有IP地址的机器都瘫掉。所以事先搜集情报对DDoS攻击者来说是非常重要的,这关系到使用多少台傀儡机才能达到效果的问题。

(2)占领傀儡机黑客最感兴趣的是有下列情况的主机:

·

链路状态好的主机

·

性能好的主机

·

安全管理水平差的主机首先,黑客做的工作一般是扫描,随机地或者是有针对性地利用扫描器去发现网络上那些有漏洞的机器,象程序的溢出漏洞、cgi、Unicode、ftp、数据库漏洞…(简直举不胜举啊),都是黑客希望看到的扫描结果。随后就是尝试入侵了。黑客在占领了一台傀儡机后,除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论