您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第5章:欺骗攻击及防御技术
第5章欺骗攻击及防御技术张玉清国家计算机网络入侵防范中心2019/11/10网络入侵与防范讲义2本章内容安排5.1概述5.2IP欺骗及防御技术5.3ARP欺骗及防御技术5.4电子邮件欺骗及防御技术5.5DNS欺骗及防御技术5.6Web欺骗及防御技术5.7小结2019/11/10网络入侵与防范讲义35.1概述在Internet上计算机之间相互进行的交流建立在两个前提之下:认证(Authentication)信任(Trust)2019/11/10网络入侵与防范讲义45.1概述认证:认证是网络上的计算机用于相互间进行识别的一种鉴别过程,经过认证的过程,获准相互交流的计算机之间就会建立起相互信任的关系。2019/11/10网络入侵与防范讲义55.1概述信任:信任和认证具有逆反关系,即如果计算机之间存在高度的信任关系,则交流时就不会要求严格的认证。而反之,如果计算机之间没有很好的信任关系,则会进行严格的认证。2019/11/10网络入侵与防范讲义65.1概述欺骗实质上就是一种冒充身份通过认证骗取信任的攻击方式。攻击者针对认证机制的缺陷,将自己伪装成可信任方,从而与受害者进行交流,最终攫取信息或是展开进一步攻击。2019/11/10网络入侵与防范讲义75.1概述目前比较流行的欺骗攻击主要有5种:IP欺骗:使用其他计算机的IP来骗取连接,获得信息或者得到特权;ARP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”,效果明显,威力惊人;电子邮件欺骗:电子邮件发送方地址的欺骗;DNS欺骗:域名与IP地址转换过程中实现的欺骗;Web欺骗:创造某个万维网网站的复制影像,从而达到欺骗网站用户目的的攻击。2019/11/10网络入侵与防范讲义85.2IP欺骗及防御技术5.2.1基本的IP欺骗5.2.2IP欺骗的高级应用——TCP会话劫持5.2.3IP欺骗攻击的防御2019/11/10网络入侵与防范讲义95.2.1基本的IP欺骗最基本的IP欺骗技术有三种:简单的IP地址变化源路由攻击利用Unix系统的信任关系这三种IP欺骗技术都是早期使用的,原理比较简单,因此效果也十分有限。2019/11/10网络入侵与防范讲义10简单的IP地址变化攻击者将一台计算机的IP地址修改为其它主机的地址,以伪装冒充其它机器。首先了解一个网络的具体配置及IP分布,然后改变自己的地址,以假冒身份发起与被攻击方的连接。这样做就可以使所有发送的数据包都带有假冒的源地址。2019/11/10网络入侵与防范讲义11简单的IP地址变化(2)攻击者使用假冒的IP地址向一台机器发送数据包,但没有收到任何返回的数据包,这被称之为盲目飞行攻击(flyingblindattack),或者叫做单向攻击(one-wayattack)。因为只能向受害者发送数据包,而不会收到任何应答包。攻击者10.50.50.50受害者10.10.5.5被冒充地址10.10.20.30返回到10.10.20.30的应答IP欺骗源地址:10.10.20.30目标地址:10.10.5.52019/11/10网络入侵与防范讲义12简单的IP地址变化(3)利用这种方法进行欺骗攻击有一些限制,比如说无法建立完整的TCP连接;但是,对于UDP这种面向无连接的传输协议就不会存在建立连接的问题,因此所有单独的UDP数据包都会被发送到受害者的系统中。2019/11/10网络入侵与防范讲义13源路由攻击简单的IP地址变化很致命的缺陷是攻击者无法接收到返回的信息流。为了得到从目的主机返回源地址主机的数据流,有两个方法:一个方法是攻击者插入到正常情况下数据流经过的通路上;另一种方法就是保证数据包会经过一条给定的路径,而且作为一次欺骗,保证它经过攻击者的机器。2019/11/10网络入侵与防范讲义14源路由机制(2)第一种方法其过程如图所示:但实际中实现起来非常困难,互联网采用的是动态路由,即数据包从起点到终点走过的路径是由位于此两点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去。攻击者10.50.50.50受害者10.10.5.5被冒充地址10.10.20.30②返回应答发送至10.10.20.30①IP欺骗源地址:10.10.20.30目标地址:10.10.5.5③攻击者看到应答回到被冒充的地址10.10.20.302019/11/10网络入侵与防范讲义15源路由机制(3)第二种方法是使用源路由机制,保证数据包始终会经过一条经定的途径,而攻击者机器在该途径中。源路由机制包含在TCP/IP协议组中。它允许用户在IP数据包包头的源路由选项字段设定接收方返回的数据包要经过的路径。某些路由器对源路由包的反应是使用其指定的路由,并使用其反向路由来传送应答数据。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。2019/11/10网络入侵与防范讲义16源路由机制(4)它包括两种类型的源路由:宽松的源站选择(LSR):发送端指明数据流必须经过的IP地址清单,但是也可以经过除这些地址以外的一些地址。严格的源路由选择(SRS):发送端指明IP数据包必须经过的确切地址。如果没有经过这一确切路径,数据包会被丢弃,并返回一个ICMP报文。2019/11/10网络入侵与防范讲义17源路由机制的应用源站选路给攻击者带来了很大的便利。攻击者可以使用假冒地址A向受害者B发送数据包,并指定了宽松的源站选路或者严格路由选择(如果确定能经过所填入的每个路由的话),并把自己的IP地址X填入地址清单中。当B在应答的时候,也应用同样的源路由,因此,数据包返回被假冒主机A的过程中必然会经过攻击者X。这样攻击者不再是盲目飞行了,因为它能获得完整的会话信息。2019/11/10网络入侵与防范讲义18利用信任关系在Unix世界中,不同主机的账户间可以建立一种特殊的信任关系,以方便机器之间的访问。这常常用于对大量机器的系统管理。单位里经常指定一个管理员管理几十个区域或者甚至上百台机器。管理员一般都会使用信任关系和UNIX的r*命令从一个系统方便的切换到另一个系统。r*命令允许一个人登录远程机器而不必提供口令。这里的信任关系是基于IP地址进行认证的,而不是询问用户名和口令。也就是说将会认可来自可信IP地址的任何人。2019/11/10网络入侵与防范讲义19利用信任关系(2)从便利的角度看,信任的关系是非常有效的,但是从安全的角度来看,是不可取的。如果攻击者获得了可信任网络里的任何一台的机器,他就能登录信任该IP的任何机器上。下面是经常使用的一些r*命令:(1)rlogin:remotelogin,远程登录;(2)rsh:remoteshell,远程shell;(3)rcp:remotecopy,远程拷贝。2019/11/10网络入侵与防范讲义20利用信任关系(3)例子:主机A、B上各有一个账户,在使用当中,在A上使用时需要输入A上的相应账户,在B上使用时必须输入在B上的账户,主机A和B把用户当作两个互不相关的用户。为了减少切换时的反复确认,可以在主机A和主机B中建立起两个账户的全双工信任关系。这可通过在A、B的登陆目录上各建立一个hosts文件达到。在主机A的登陆目录下建立一个.rhosts文件:‘echo“BusernameB”~/.rhosts’这就建立起了A对B的信任关系。从主机B中就可以直接使用任何r*命令直接登陆到主机A中,而不用向远程主机提供密码认证。B对A的信任关系与之类似。这些r*命令允许基于地址的认证方式,它们会根据服务请求者的IP地址决定同意还是拒绝访问。2019/11/10网络入侵与防范讲义21利用信任关系(4)这种方法一度被认为是IP欺骗最主要的方法。但是,这种欺骗方法只能在Unix环境下使用,而且也比较陈旧了。2019/11/10网络入侵与防范讲义225.2.2IP欺骗高级应用—TCP会话劫持基本原理相关基础TCP会话劫持过程TCP会话劫持的危害实现TCP会话劫持的两个小工具2019/11/10网络入侵与防范讲义23基本原理会话劫持就是接管一个现存动态会话的过程,换句话说,攻击者通过会话劫持可以替代原来的合法用户,同时能够监视并掌握会话内容。此时,攻击者可以对受害者的回复进行记录,并在接下来的时间里对其进行响应,展开进一步的欺骗和攻击。会话劫持结合了嗅探及欺骗技术。2019/11/10网络入侵与防范讲义24基本原理(2)在一般的欺骗攻击中攻击者并不是积极主动地使一个用户下线来实现他针对受害目标的攻击,而是仅仅装作是合法用户。此时,被冒充的用户可能并不在线上,而且它在整个攻击中不扮演任何角色,因此攻击者不会对它发动进攻。但是在会话劫持中,为了接管整个会话过程,攻击者需要积极攻击使被冒充用户下线。2019/11/10网络入侵与防范讲义25基本原理(3)被冒充者A服务器受害者攻击者你好,我是AA被冒充者服务器受害者攻击者你好,我是A下线!正常会话一般的欺骗会话劫持2019/11/10网络入侵与防范讲义26相关基础TCP三步握手连接建立序列号机制2019/11/10网络入侵与防范讲义27TCP三步握手连接建立2019/11/10网络入侵与防范讲义28序列号机制序列号是一个32位计数器,这就意味着可以有大于4亿种的可能性组合。简单地说,序列号用来说明接收方下一步将要接收的数据包的顺序。也就是说,序列号设置了数据包放入数据流的顺序,接收方就可以利用序列号告诉发送方哪些数据包已经收到,哪些数据包还未收到,于是发送方就能够依此重发丢失的数据包。2019/11/10网络入侵与防范讲义29序列号机制(2)例如,如果发送方发送了4个数据包,它们的序列号分别是1258、1256、1257和1255,接收方不但可以根据发送方发包的序列号将数据包进行归序,同时接收方还可以用发送方的序列号确认接收的数据包。在这种情况下,接收方送回的确认信息是1259,这就等于是说,“下一个我期望从发送方收到的是序列号为1259的数据包”。2019/11/10网络入侵与防范讲义30序列号机制(3)实际上为了完成上述目的,这里存在:一个属于发送方的序列号和另一个是属于接收方的应答号。发送方发送数据包使用发送方的序列号,同时当接收方确认从发送方接收数据包时,它也用发送方的序列号来进行确认。在另一方面,接收方用属于自己的序列号送回数据。2019/11/10网络入侵与防范讲义31序列号机制(4)数据传输过程中序列号和应答号之间的关系:第二个数据包(B-A)的SEQ=第一个数据包(A-B)的ACK;第二个数据包(B-A)的ACK=第一个数据包(A-B)的SEQ+第一个数据包(A-B)的传输数据长度。2019/11/10网络入侵与防范讲义32序列号机制(5)再进一步推广,对于整个序列号计数体制,我们可以得到下面这个结论:序列号是随着传输数据字节数递增的。如果传输数据字节数为10,序列号就增加10;若传输的数据为20字节,序列号就应该相应增加20。2019/11/10网络入侵与防范讲义33序列号机制(6)从上面的讲解中,我们可以清楚地认识到:序列号和应答号之间存在着明确的对应关系。因此序列号和应答号是完全有可能预测的,只需要获取最近的会话数据包,就可以猜测下一次通话中的SEQ和ACK。这一局面是TCP协议固有缺陷造成的,由此带来的安全威胁也是无法回避的。2019/11/10网络入侵与防范讲义34TCP会话劫持过程step1:发现攻击目标step2:确认动态会话step3:猜测序列号step4:使客户主机下线step5:接管会话2019/11/10网络入侵与防范讲义35step1:发现攻击目标对于寻找合适的目标有两个关键的问题。首先,通常攻击者希望这个目标是一个准予TCP会话连接(例如Telnet和FTP等)的服务器。其次,能否检测数据流也是一个比较重要的问题,因为在攻击的时候需
本文标题:第5章:欺骗攻击及防御技术
链接地址:https://www.777doc.com/doc-1794349 .html