版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常见网络攻击手段原理分析1.1TCP 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,等待发起者
2、的回应;3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的耗尽,而不能响应正常的TCP连接请求。1.2ICMP洪水正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO,接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Rep1y报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的
3、资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP 洪水,则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS。1.3UDP洪水原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。 1.4端口扫描根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN的时候,做这样的处理:1、如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB;2、如果请求的TCP端口没有
4、开放,则回应一个TCP RST(TCP头部中的RST标志设为1报文,告诉发起计算机,该端口没有开放。相应地,如果IP协议栈收到一个UDP报文丵,做如下处理:1、如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP处理,不回应任何报文(上层协议根据处理结果而回应的报文例外;2、如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP 或UDP端口是开放的,过程如下:1、发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大
5、为65535,数量很有限;2、如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放;3、相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放。这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。1.5分片IP报文攻击为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文
6、进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时,如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。 1.6SYN比特和FIN比特同时设置在TCP报文的报头中,有几个标志字段:1、SYN:连接建立标志,TCP SYN报文
7、就是把这个标志设置为1,来请求建立连接2、ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN外,所有报文都设置该字段,作为对上一个报文的相应;3、FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接;4、RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文;5、PSH:通知协议栈尽快把TCP数据提交给上层程序处理。正常情况下,SYN标志(连接请求标志和FIN标志(连接拆除标志是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协
8、议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。1.7没有设置任何标志的TCP报文攻击正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文设置SYN标志,后续报文都设置AC K标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标计算机进行攻击。1.8设置了FIN标志却没有设置ACK标志的TCP报
9、文攻击正常情况下,ACK标志在除了第一个报文(SYN报文外,所有的报文都设置,包括TCP连接拆除报文(FIN标志设置的报文。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃。1.9死亡之INGTCP/IP规范要求IP报文的长度在一定范围内(比如,0-64K,但有的攻击计算机可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。1.10地址猜测攻击跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMP ECHO报文,来判断目标计算机是否存在。如果收到了对应的ECMP ECHO REP1Y报文,则说明目
10、标计算机是存在的,便可以针对该计算机进行下一步的攻击。 1.11泪滴攻击对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传输单元的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,就需要分成三个IP包。在IP报头中有一个偏移字段和一个分片标志(MF,如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个4500字节的IP包进行分片(MTU为1500,则三个片断中偏移字段的值依次为:0,1500,3000。这样接收端就可以根据这些信息成功的组装该IP包。如果一个攻击者打破这种正常
11、情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况,就可能导致目标操作系统崩溃。比如,把上述偏移设置为0,1300,3000。这就是所谓的泪滴攻击。1.12带源路由选项的IP报文为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器或最终目标计算机对这些IP报文进行额外的处理。源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设备(路由器如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报文明确的经过三台路由器R1,R2,R3,则可以在源路由选项中明确指明这三个路由器的接口地址,这样
12、不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进入网络。1.13带记录路由选项的IP报文记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路由器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数据里面便记录了该报文经过的整个路径。通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻找其中的攻击弱点。1.14未知协议字段的IP报文在IP报文头中,
13、有一个协议字段,这个字段指明了该IP报文承载了何种协议,比如,如果该字段值为1,则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的IP 报文,可能就是不合法的,这样的报文可能对一些计算机操作系统的协议栈进行破坏。1.15IP地址欺骗一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就可能面临一种危险:如果一个攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标计算机后,目标计算机便可能向毫无知觉的
14、第三方计算机回应。这便是所谓的IP地址欺骗攻击。比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址填写为另外一台运行SQL Server解析程序(SQL Server2000以后版本的服务器,这样由于SQL Server解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。1.16WinNuke攻击NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC,以及不同操作系统之间的数据交换。一般
15、情况下,NetBIOS是运行在LLC 2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIO S,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:139:NetBIOS会话服务的TCP端口;137:NetBIOS名字服务的UDP端口;136:NetBIOS数据报服务的UDP端口。WINDOWS操作系统的早期版本(WIN95/98/NT的网络服务(文件共享等都是建立在NetBIOS之上的,因此,这些操作系统都开放了139端口(最新版本的WINDOWS2 000/XP/2003等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了
16、139端口。WinNuke攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。1.17Land攻击LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个T CP SYN报文(连接建立请求报文而完成对目标计算机的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP地址。这样目标计算机接收到这个SYN报文后,就会向该
17、报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构(TCB,而该报文的源地址就是自己,因此,这个ACK报文就发给了自己。这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可能会耗尽,最终不能正常服务。这也是一种DOS攻击。1.18Script/ActiveX攻击Script是一种可执行的脚本,它一般由一些脚本语言写成,比如常见的JAVA SCRIPT,VB SCRIPT等。这些脚本在执行的时候,需要一个专门的解释器来翻译,翻译成计算机指令后,在本地计算机上运行。这种脚本的好处是,可以通过少量的程序写作,而完成大量的功能。这种SCRIPT的一个重要应用就是嵌入在WEB页面里面
18、,执行一些静态WEB页面标记语言(HTML无法完成的功能,比如本地计算,数据库查询和修改,以及系统信息的提取等。这些脚本在带来方便和强大功能的同时,也为攻击者提供了方便的攻击途径。如果攻击者写一些对系统有破坏的SCRIPT,然后嵌入在WEB页面中,一旦这些页面被下载到本地,计算机便以当前用户的权限执行这些脚本,这样,当前用户所具有的任何权限,SCRIPT都可以使用,可以想象这些恶意的SCRIPT的破坏程度有多强。这就是所谓的SCRIPT攻击。ActiveX是一种控件对象,它是建立在MICROSOFT的组件对象模型(COM之上的,而C OM则几乎是Windows操作系统的基础结构。可以简单的理解
19、,这些控件对象是由方法和属性构成的,方法即一些操作,而属性则是一些特定的数据。这种控件对象可以被应用程序加载,然后访问其中的方法或属性,以完成一些特定的功能。可以说,COM提供了一种二进制的兼容模型(所谓二进制兼容,指的是程序模块与调用的编译环境,甚至操作系统没有关系。但需要注意的是,这种对象控件不能自己执行,因为它没有自己的进程空间,而只能由其它进程加载,并调用其中的方法和属性,这时候,这些控件便在加载进程的进程空间运行,类似与操作系统的可加载模块,比如DLL库。ActiveX控件可以嵌入在WEB页面里面,当浏览器下载这些页面到本地后,相应地也下载了嵌入在其中的ActiveX控件,这样这些控
20、件便可以在本地浏览器进程空间中运行(Active X空间没有自己的进程空间,只能由其它进程加载并调用,因此,当前用户的权限有多大, ActiveX的破坏性便有多大。如果一个恶意的攻击者编写一个含有恶意代码的ActiveX控件,然后嵌入在WEB页面中,被一个浏览用户下载后执行,其破坏作用是非常大的。这便是所谓的ActiveX攻击。1.19Smurf攻击ICMP ECHO请求包用来对网络进行诊断,当一台计算机接收到这样一个报文后,会向报文的源地址回应一个ICMP ECHO REP1Y。一般情况下,计算机是不检查该ECHO请求的源地址的,因此,如果一个恶意的攻击者把ECHO的源地址设置为一个广播地址
21、,这样计算机在恢复REP1Y的时候,就会以广播地址为目的地址,这样本地网络上所有的计算机都必须处理这些广播报文。如果攻击者发送的ECHO请求报文足够多,产生的REP1Y广播报文就可能把整个网络淹没。这就是所谓的smurf攻击。除了把ECHO报文的源地址设置为广播地址外,攻击者还可能把源地址设置为一个子网广播地址,这样,该子网所在的计算机就可能受影响。1.20虚拟终端(VTY耗尽攻击这是一种针对网络设备的攻击,比如路由器,交换机等。这些网络设备为了便于远程管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些设备进行管理。一般情况下,这些设备的TELNET用户界面
22、个数是有限制的,比如,5个或10个等。这样,如果一个攻击者同时同一台网络设备建立了5个或10个TELNET连接,这些设备的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为TELNET连接资源被占用而失败。 1.21路由协议攻击网络设备之间为了交换路由信息,常常运行一些动态的路由协议,这些路由协议可以完成诸如路由表的建立,路由信息的分发等功能。常见的路由协议有RIP,OSPF,IS-IS,BGP等。这些路由协议在方便路由信息管理和传递的同时,也存在一些缺陷,如果攻击者利用了路由协议的这些权限,对网络进行攻击,可能造成网络设备路由表紊乱(这足可以导致网络中断,网络设备资源大
23、量消耗,甚至导致网络设备瘫痪。下面列举一些常见路由协议的攻击方式及原理:RIP,即路由信息协议,是通过周期性(一般情况下为30S的路由更新报文来维护路由表的,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,它就会分析其中包含的路由信息,并与自己的路由表作出比较,如果该路由器认为这些路由信息比自己所掌握的要有效,它便把这些路由信息引入自己的路由表中。这样如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由更新报文,就很容易的把路由器的路由表搞紊乱,从而导致网络中断。如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证,则可从很大程度上避免这
24、种攻击。OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于链路状态算法,具有收敛速度快,平稳,杜绝环路等优点,十分适合大型的计算机网络使用。O SPF路由协议通过建立邻接关系,来交换路由器的本地链路信息,然后形成一个整网的链路状态数据库,针对该数据库,路由器就可以很容易的计算出路由表。可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元,就会引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,导致整个网络瘫痪。当前版本的WINDOWS操作系统(WIN2K/X
25、P等都实现了OSPF路由协议功能,因此一个攻击者可以很容易的利用这些操作系统自带的路由功能模块进行攻击。跟RIP类似,如果OSPF启用了报文验证功能(HMAC验证,则可以从很大程度上避免这种攻击。IS-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经过扩展,可以运行在IP网络中,对IP报文进行选路。这种路由协议也是通过建立邻居关系,收集路由器本地链路状态的手段来完成链路状态数据库同步的。该协议的邻居关系建立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩
26、性更强。对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关系,然后传颂给攻击路由器大量的链路状态数据单元(LSP,可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态,从而导致路由表与实际情况不符,致使网络中断。与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDUHMAC验证功能,则可以从很大程度上避免这种攻击。1.22针对设备转发表的攻击为了合理有限的转发数据,网络设备上一般都建立一些寄存器表项,比如MAC地址表,A RP表,路由表,快速转发表,以及一些基于更多报文头字段的表格,比如多层交
27、换表,流项目表等。这些表结构都存储在设备本地的内存中,或者芯片的片上内存中,数量有限。如果一个攻击者通过发送合适的数据报,促使设备建立大量的此类表格,就会使设备的存储结构消耗尽,从而不能正常的转发数据或崩溃。下面针对几种常见的表项,介绍其攻击原理:1.22.1针对MAC地址表的攻击MAC地址表一般存在于以太网交换机上,以太网通过分析接收到的数据帧的目的MAC地址,来查本地的MAC地址表,然后作出合适的转发决定。这些MAC地址表一般是通过学习获取的,交换机在接收到一个数据帧后,有一个学习的过程,该过程是这样的:a提取数据帧的源MAC地址和接收到该数据帧的端口号;b查MAC地址表,看该MAC地址是否存在,以及对应的端口是否符合;c如果该MAC地址在本地MAC地址表中不存在,则创建一个MAC地址表项;d如果存在,但对应的出端口跟接收到该数据帧的端口不符,则更新该表;e如果存在,且端口符合,则进行下一步处理。分析这个过程可以看出,如果一个攻击者向一台交换机发送大量源MAC地址不同的数据帧,则该交换机就可能把自己本地的MAC地址表学满。一旦MAC地址表溢出,则交换机就不能继续学习正确的MAC表项,结果是可能产生大量的网络冗余数据,甚至可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年贺州市钟山县钟山中学招聘备考题库及完整答案详解一套
- 2026年盐城经济技术开发区投资促进有限公司公开招聘专职招商人员的备考题库及答案详解(考点梳理)
- 《城市噪声污染治理工程经济效益分析及优化》教学研究课题报告
- 2026年西北工业大学国际合作处非事业编制自聘人员招聘备考题库及完整答案详解
- 2026年南宁市青秀区茅桥社区卫生服务中心招聘备考题库及一套参考答案详解
- 中国热带农业科学院湛江实验站2026年第一批公开招聘工作人员备考题库完整答案详解
- 2026年安徽水利水电职业技术学院单招职业技能笔试备考试题及答案解析
- 2026年黄淮学院招聘高层次人才备考题库完整参考答案详解
- 初中数学解题策略数字教育资源开发与教学创新教学研究课题报告
- 2026年鄂尔多斯市万里路桥集团招聘备考题库完整答案详解
- 2025广东广州琶洲街道招聘雇员(协管员)5人笔试考试参考试题及答案解析
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 2025年特种作业人员危险化学品安全作业(化工自动化控制仪表)考试题库及答案
- 2026四川成都高新投资集团有限公司第一批校园招聘35人笔试考试备考试题及答案解析
- 人社局公益性岗位笔试题目及答案
- 2025年华住集团酒店考试题库
- 《建设工程施工合同示范文本》(GF-2022-0201) 核心条款与使用指南
- 媒人介绍相亲协议书
- 2025年超星尔雅学习通《数据分析与统计》考试备考题库及答案解析
- 2025纪检监察应知应会试题库与参考答案
- 2025中国企业软件出海报告
评论
0/150
提交评论