1、第5章 欺骗攻击及防御技术张光华张光华信息科学与工程学院信息科学与工程学院2022-12-142本章内容安排本章内容安排o 5.1 概述概述 o 5.2 IP欺骗及防御技术欺骗及防御技术o 5.3 ARP欺骗及防御技术欺骗及防御技术 o 5.4 电子邮件欺骗及防御技术电子邮件欺骗及防御技术o 5.5 DNS欺骗及防御技术欺骗及防御技术o 5.6 Web欺骗及防御技术欺骗及防御技术o 5.7 小结小结2022-12-1435.1 概述概述o在在Internet上计算机之间相互进行的上计算机之间相互进行的交流建立在两个前提之下:交流建立在两个前提之下:n 认证(Authentication)n 信
2、任(Trust)2022-12-1445.1 概述概述o 认证认证:认证是网络上的计算机用于相互间进行识认证是网络上的计算机用于相互间进行识别的一种鉴别过程,经过认证的过程,获准别的一种鉴别过程,经过认证的过程,获准相互交流的计算机之间就会建立起相互信任相互交流的计算机之间就会建立起相互信任的关系。的关系。2022-12-1455.1 概述概述o 信任信任:信任和认证具有逆反关系,即如果计算机信任和认证具有逆反关系,即如果计算机之间存在高度的信任关系,则交流时就不会之间存在高度的信任关系,则交流时就不会要求严格的认证。而反之,如果计算机之间要求严格的认证。而反之,如果计算机之间没有很好的信任关
3、系,则会进行严格的认证。没有很好的信任关系,则会进行严格的认证。2022-12-1465.1 概述概述o 欺骗实质上就是一种冒充身份通过认证骗取欺骗实质上就是一种冒充身份通过认证骗取信任的攻击方式。攻击者针对认证机制的缺信任的攻击方式。攻击者针对认证机制的缺陷,将自己伪装成可信任方,从而与受害者陷,将自己伪装成可信任方,从而与受害者进行交流,最终攫取信息或是展开进一步攻进行交流,最终攫取信息或是展开进一步攻击。击。2022-12-1475.1 概述概述o 目前比较流行的欺骗攻击主要有目前比较流行的欺骗攻击主要有5种:种:n IP欺骗:使用其他计算机的IP来骗取连接,获得信息或者得到特权;n A
4、RP欺骗:利用ARP协议的缺陷,把自己伪装成“中间人”,效果明显,威力惊人;n 电子邮件欺骗:电子邮件发送方地址的欺骗;n DNS欺骗:域名与IP地址转换过程中实现的欺骗;n Web欺骗:创造某个万维网网站的复制影像,从而达到欺骗网站用户目的的攻击。2022-12-1485.2 IP欺骗及防御技术欺骗及防御技术o 5.2.1 基本的基本的IP欺骗欺骗 o 5.2.2 IP欺骗的高级应用欺骗的高级应用TCP会话劫持会话劫持o 5.2.3 IP欺骗攻击的防御欺骗攻击的防御2022-12-1495.2.1 基本的基本的IP欺骗欺骗o 最基本的最基本的IP欺骗技术有三种:欺骗技术有三种:n 简单的IP
5、地址变化n 源路由攻击n 利用Unix系统的信任关系o 这三种这三种IP欺骗技术都是早期使用的,原理欺骗技术都是早期使用的,原理比较简单,因此效果也十分有限。比较简单,因此效果也十分有限。2022-12-1410简单的简单的IP地址变化地址变化o 攻击者将一台计算机的攻击者将一台计算机的IP地址修改为其它地址修改为其它主机的地址,以伪装冒充其它机器。主机的地址,以伪装冒充其它机器。o 首先了解一个网络的具体配置及首先了解一个网络的具体配置及IP分布,分布,然后改变自己的地址,以假冒身份发起与被然后改变自己的地址,以假冒身份发起与被攻击方的连接。这样做就可以使所有发送的攻击方的连接。这样做就可以
6、使所有发送的数据包都带有假冒的源地址。数据包都带有假冒的源地址。2022-12-1411简单的简单的IP地址变化地址变化(2)攻击者使用假冒的攻击者使用假冒的IP地址向一台机器发送数据地址向一台机器发送数据包,但没有收到任何返回包,但没有收到任何返回的数据包,这被称之为盲的数据包,这被称之为盲目飞行攻击(目飞行攻击(flying blind attack),或者),或者叫做单向攻击(叫做单向攻击(one-way attack)。因为只)。因为只能向受害者发送数据包,能向受害者发送数据包,而不会收到任何应答包。而不会收到任何应答包。2022-12-1412简单的简单的IP地址变化地址变化(3)o
7、 利用这种方法进行欺骗攻击有一些限制,比利用这种方法进行欺骗攻击有一些限制,比如说无法建立完整的如说无法建立完整的TCP连接;但是,对于连接;但是,对于UDP这种面向无连接的传输协议就不会存这种面向无连接的传输协议就不会存在建立连接的问题,因此所有单独的在建立连接的问题,因此所有单独的UDP数据包都会被发送到受害者的系统中。数据包都会被发送到受害者的系统中。2022-12-1413源路由攻击源路由攻击o 简单的简单的IP地址变化很致命的缺陷是攻击者地址变化很致命的缺陷是攻击者无法接收到返回的信息流。为了得到从目的无法接收到返回的信息流。为了得到从目的主机返回源地址主机的数据流,有两个方法:主机
8、返回源地址主机的数据流,有两个方法:n 一个方法是攻击者插入到正常情况下数据流经过的通路上;n 另一种方法就是保证数据包会经过一条给定的路径,而且作为一次欺骗,保证它经过攻击者的机器。2022-12-1414源路由机制源路由机制(2)o 第一种方法其过程如图所示第一种方法其过程如图所示:但实际中实现起来非常困难,互联网采用的是动态路但实际中实现起来非常困难,互联网采用的是动态路由,即数据包从起点到终点走过的路径是由位于此两由,即数据包从起点到终点走过的路径是由位于此两点间的路由器决定的,数据包本身只知道去往何处,点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去。但不知道该如何去。
9、2022-12-1415源路由机制源路由机制(3)o 第二种方法是使用源路由机制,保证数据包始终会第二种方法是使用源路由机制,保证数据包始终会经过一条经定的途径,而攻击者机器在该途径中。经过一条经定的途径,而攻击者机器在该途径中。o 源路由机制包含在源路由机制包含在TCP/IP协议组中。它允许用户协议组中。它允许用户在在IP数据包包头的源路由选项字段设定接收方返数据包包头的源路由选项字段设定接收方返回的数据包要经过的路径。回的数据包要经过的路径。o 某些路由器对源路由包的反应是使用其指定的路由,某些路由器对源路由包的反应是使用其指定的路由,并使用其反向路由来传送应答数据。这就使一个入并使用其反
10、向路由来传送应答数据。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。来获得某些被保护数据。2022-12-1416源路由机制源路由机制(4)o 它包括两种类型的源路由:它包括两种类型的源路由:n 宽松的源站选择(LSR):发送端指明数据流必须经过的IP地址清单,但是也可以经过除这些地址以外的一些地址。n 严格的源路由选择(SRS):发送端指明IP数据包必须经过的确切地址。如果没有经过这一确切路径,数据包会被丢弃,并返回一个ICMP报文。2022-12-1417源路由源路由机制的应用机制的应用o 源站选路给攻击者带来了很
11、大的便利。源站选路给攻击者带来了很大的便利。o 攻击者可以使用假冒地址攻击者可以使用假冒地址A向受害者向受害者B发送数据包,发送数据包,并指定了宽松的源站选路或者严格路由选择并指定了宽松的源站选路或者严格路由选择(如果确如果确定能经过所填入的每个路由的话定能经过所填入的每个路由的话),并把自己的,并把自己的IP地址地址X填入地址清单中。填入地址清单中。o 当当B在应答的时候,也应用同样的源路由,因此,数在应答的时候,也应用同样的源路由,因此,数据包返回被假冒主机据包返回被假冒主机A的过程中必然会经过攻击者的过程中必然会经过攻击者X。o 这样攻击者不再是盲目飞行了,因为它能获得完整这样攻击者不再
12、是盲目飞行了,因为它能获得完整的会话信息。的会话信息。2022-12-1418利用利用信任关系信任关系o 在在 Unix世界中,不同主机的账户间可以建立一种世界中,不同主机的账户间可以建立一种特殊的信任关系,以方便机器之间的访问。这常常特殊的信任关系,以方便机器之间的访问。这常常用于对大量机器的系统管理。用于对大量机器的系统管理。o 单位里经常指定一个管理员管理几十个区域或者甚单位里经常指定一个管理员管理几十个区域或者甚至上百台机器。管理员一般都会使用信任关系和至上百台机器。管理员一般都会使用信任关系和UNIX的的r*命令从一个系统方便的切换到另一个命令从一个系统方便的切换到另一个系统。系统。
13、r*命令允许一个人登录远程机器而不必提命令允许一个人登录远程机器而不必提供口令。供口令。o 这里的信任关系是基于这里的信任关系是基于IP地址进行认证的,而不地址进行认证的,而不是询问用户名和口令。也就是说将会认可来自可信是询问用户名和口令。也就是说将会认可来自可信IP地址的任何人。地址的任何人。2022-12-1419利用利用信任关系信任关系(2)o 从便利的角度看,信任的关系是非常有效的,从便利的角度看,信任的关系是非常有效的,但是从安全的角度来看,是不可取的。但是从安全的角度来看,是不可取的。o 如果攻击者获得了可信任网络里的任何一台如果攻击者获得了可信任网络里的任何一台的机器,他就能登录
14、信任该的机器,他就能登录信任该IP的任何机器上。的任何机器上。o 下面是经常使用的一些下面是经常使用的一些r*命令:命令:n(1)rlogin:remote login,远程登录;n(2)rsh:remote shell,远程shell;n(3)rcp:remote copy,远程拷贝。2022-12-1420利用利用信任关系信任关系(3)o例子:例子:o主机主机A、B上各有一个账户,在使用当中,在上各有一个账户,在使用当中,在A上使用时需要输入上使用时需要输入A上的相应账户,在上的相应账户,在B上使用时必须输入在上使用时必须输入在B上的账户,主机上的账户,主机A和和B把用户当作两个互不相关的
15、用户。把用户当作两个互不相关的用户。o为了减少切换时的反复确认,可以在主机为了减少切换时的反复确认,可以在主机A和主机和主机B中建立起两个中建立起两个账户的全双工信任关系。这可通过在账户的全双工信任关系。这可通过在A、B的登陆目录上各建立一的登陆目录上各建立一个个hosts文件达到。文件达到。o在主机在主机A的登陆目录下建立一个的登陆目录下建立一个.rhosts文件:文件:echo“B usernameB”/.rhosts 这就建立起了这就建立起了A对对B的信任关系。从主机的信任关系。从主机B中就可以直接使用任何中就可以直接使用任何r*命令直接登陆到主机命令直接登陆到主机A中,而不用向远程主机
16、提供密码认证。中,而不用向远程主机提供密码认证。B对对A的信任关系与之类似。的信任关系与之类似。o这些这些r*命令允许基于地址的认证方式,它们会根据服务请求者的命令允许基于地址的认证方式,它们会根据服务请求者的IP地址决定同意还是拒绝访问。地址决定同意还是拒绝访问。2022-12-1421利用利用信任关系信任关系(4)o 这种方法一度被认为是这种方法一度被认为是IP欺骗最主要的方欺骗最主要的方法。法。o 但是,这种欺骗方法只能在但是,这种欺骗方法只能在Unix环境下使环境下使用,而且也比较陈旧了。用,而且也比较陈旧了。2022-12-14225.2.2 IP欺骗高级应用欺骗高级应用TCP会话劫
17、持会话劫持o 基本原理基本原理o 相关基础相关基础o TCP会话劫持过程会话劫持过程 o TCP会话劫持的危害会话劫持的危害 o 实现实现TCP会话劫持的两个小工具会话劫持的两个小工具 2022-12-1423基本原理基本原理o 会话劫持就是接管一个现存动态会话的过程,会话劫持就是接管一个现存动态会话的过程,换句话说,攻击者通过会话劫持可以替代原换句话说,攻击者通过会话劫持可以替代原来的合法用户,同时能够监视并掌握会话内来的合法用户,同时能够监视并掌握会话内容。容。o 此时,攻击者可以对受害者的回复进行记录,此时,攻击者可以对受害者的回复进行记录,并在接下来的时间里对其进行响应,展开进并在接下
18、来的时间里对其进行响应,展开进一步的欺骗和攻击。一步的欺骗和攻击。o 会话劫持结合了嗅探及欺骗技术。会话劫持结合了嗅探及欺骗技术。2022-12-1424基本原理基本原理(2)o 在一般的欺骗攻击中攻击者并不是积极主动地使一在一般的欺骗攻击中攻击者并不是积极主动地使一个用户下线来实现他针对受害目标的攻击,而是仅个用户下线来实现他针对受害目标的攻击,而是仅仅装作是合法用户。此时,被冒充的用户可能并不仅装作是合法用户。此时,被冒充的用户可能并不在线上,而且它在整个攻击中不扮演任何角色,因在线上,而且它在整个攻击中不扮演任何角色,因此攻击者不会对它发动进攻。此攻击者不会对它发动进攻。o 但是在会话劫
19、持中,为了接管整个会话过程,攻击但是在会话劫持中,为了接管整个会话过程,攻击者需要积极攻击使被冒充用户下线。者需要积极攻击使被冒充用户下线。2022-12-1425基本原理基本原理(3)一般的欺骗一般的欺骗会话劫持会话劫持2022-12-1426相关基础相关基础o TCP三步握手连接建立三步握手连接建立 o 序列号机制序列号机制2022-12-1427TCP三步握手连接建立三步握手连接建立 2022-12-1428序列号机制序列号机制o 序列号是一个序列号是一个32位计数器,这就意味着位计数器,这就意味着可以有大于可以有大于4亿种的可能性组合。亿种的可能性组合。o 简单地说,序列号用来说明简单
20、地说,序列号用来说明接收方下一接收方下一步将要接收的数据包的顺序步将要接收的数据包的顺序。也就是说,。也就是说,序列号设置了数据包放入数据流的顺序,序列号设置了数据包放入数据流的顺序,接收方就可以利用序列号告诉发送方哪接收方就可以利用序列号告诉发送方哪些数据包已经收到,哪些数据包还未收些数据包已经收到,哪些数据包还未收到,于是发送方就能够依此重发丢失的到,于是发送方就能够依此重发丢失的数据包。数据包。2022-12-1429序列号机制序列号机制(2)o 例如,如果发送方发送了例如,如果发送方发送了4个数据包,它们个数据包,它们的序列号分别是的序列号分别是1258、1256、1257和和1255
21、,接收方不但可以根据发送方发包,接收方不但可以根据发送方发包的序列号将数据包进行归序,同时接收方的序列号将数据包进行归序,同时接收方还可以用发送方的序列号确认接收的数据还可以用发送方的序列号确认接收的数据包。包。o 在这种情况下,接收方送回的确认信息是在这种情况下,接收方送回的确认信息是1259,这就等于是说,这就等于是说,“下一个我期望下一个我期望从发送方收到的是序列号为从发送方收到的是序列号为1259的数据的数据包包”。2022-12-1430序列号机制序列号机制(3)o 实际上为了完成上述目的,这里存在:一实际上为了完成上述目的,这里存在:一个属于发送方的序列号和另一个是属于接个属于发送
22、方的序列号和另一个是属于接收方的应答号。收方的应答号。o 发送方发送数据包使用发送方的序列号,发送方发送数据包使用发送方的序列号,同时当接收方确认从发送方接收数据包时,同时当接收方确认从发送方接收数据包时,它也用发送方的序列号来进行确认。在另它也用发送方的序列号来进行确认。在另一方面,接收方用属于自己的序列号送回一方面,接收方用属于自己的序列号送回数据。数据。2022-12-1431序列号机制序列号机制(4)o 数据传输过程中序列号和应答号之间的关系:数据传输过程中序列号和应答号之间的关系:n 第二个数据包(BA)的SEQ=第一个数据包(A B)的ACK;n 第二个数据包(BA)的ACK=第一
23、个数据包(A B)的SEQ+第一个数据包(A B)的传输数据长度。2022-12-1432序列号机制序列号机制(5)o 再进一步推广,对于整个序列号计数体制,再进一步推广,对于整个序列号计数体制,我们可以得到下面这个结论:序列号是随着我们可以得到下面这个结论:序列号是随着传输数据字节数递增的。传输数据字节数递增的。o 如果传输数据字节数为如果传输数据字节数为10,序列号就增加,序列号就增加10;若传输的数据为;若传输的数据为20字节,序列号就应字节,序列号就应该相应增加该相应增加20。2022-12-1433序列号机制序列号机制(6)o 从上面的讲解中,我们可以清楚地认识到:从上面的讲解中,我
24、们可以清楚地认识到:序列号和应答号之间存在着明确的对应关系。序列号和应答号之间存在着明确的对应关系。o 因此序列号和应答号是完全有可能预测的,因此序列号和应答号是完全有可能预测的,只需要获取最近的会话数据包,就可以猜测只需要获取最近的会话数据包,就可以猜测下一次通话中的下一次通话中的SEQ和和ACK。o 这一局面是这一局面是TCP协议固有缺陷造成的,由此协议固有缺陷造成的,由此带来的安全威胁也是无法回避的。带来的安全威胁也是无法回避的。2022-12-1434TCP会话劫持过程会话劫持过程ostep1:发现攻击目标:发现攻击目标ostep2:确认动态会话:确认动态会话ostep3:猜测序列号:
25、猜测序列号ostep4:使客户主机下线:使客户主机下线ostep5:接管会话:接管会话2022-12-1435step1:发现攻击目标:发现攻击目标o 对于寻找合适的目标有两个关键的问题。对于寻找合适的目标有两个关键的问题。o 首先,通常攻击者希望这个目标是一个准予首先,通常攻击者希望这个目标是一个准予TCP会话连接(例如会话连接(例如Telnet和和FTP等)的服等)的服务器。务器。o 其次,能否检测数据流也是一个比较重要的问其次,能否检测数据流也是一个比较重要的问题,因为在攻击的时候需要猜测序列号。这就题,因为在攻击的时候需要猜测序列号。这就需要嗅探之前通信的数据包,对于交换网络环需要嗅探
26、之前通信的数据包,对于交换网络环境,可能还需要使用境,可能还需要使用ARP欺骗。欺骗。2022-12-1436step2:确认动态会话:确认动态会话o 攻击者如何寻找动态会话?攻击者如何寻找动态会话?o 与大多数攻击不同,会话劫持攻击适合在网络流通与大多数攻击不同,会话劫持攻击适合在网络流通量达到高峰时才会发生的。量达到高峰时才会发生的。o 首先,他有很多供选择的会话;其次,网络流通量首先,他有很多供选择的会话;其次,网络流通量越大则被发现的可能就越小。越大则被发现的可能就越小。o 如果只有一个用户进行连接并数次掉线,那么就很如果只有一个用户进行连接并数次掉线,那么就很有可能引起那个用户的怀疑
27、。但是,如果网络流通有可能引起那个用户的怀疑。但是,如果网络流通量很大并且有很多的用户进行连接,那么用户们很量很大并且有很多的用户进行连接,那么用户们很有可能忽略掉线后面隐藏的问题,也许只是认为这有可能忽略掉线后面隐藏的问题,也许只是认为这是由于网络流通过大而引起的。是由于网络流通过大而引起的。2022-12-1437step3:猜测序列号:猜测序列号o TCP区分正确数据包和错误数据包仅通过它们的区分正确数据包和错误数据包仅通过它们的SEQ/ACK序列号。序列号。序列号却是随着时间的变化序列号却是随着时间的变化而改变的。因此,攻击者必须成功猜测出序列而改变的。因此,攻击者必须成功猜测出序列号
28、。号。o 通过嗅探或者通过嗅探或者ARP欺骗,先发现目标机正在使欺骗,先发现目标机正在使用的序列号,再根据序列号机制,可以猜测出用的序列号,再根据序列号机制,可以猜测出下一对下一对SEQ/ACK序列号。序列号。o 同时,攻击者若以某种方法扰乱客户主机的同时,攻击者若以某种方法扰乱客户主机的SEQ/ACK,服务器将不再相信客户主机正确的,服务器将不再相信客户主机正确的数据包,从而可以伪装为客户主机,使用正确的数据包,从而可以伪装为客户主机,使用正确的SEQ/ACK序列号,现在攻击主机就可以与服务序列号,现在攻击主机就可以与服务器进行连接,这样就抢劫一个会话连接。器进行连接,这样就抢劫一个会话连接
29、。2022-12-1438step4:使客户主机下线:使客户主机下线o 当攻击者获得了序列号后,为了彻底接管这当攻击者获得了序列号后,为了彻底接管这个会话,他就必须使客户主机下线。个会话,他就必须使客户主机下线。o 使客户主机下线最简单的方式就是对其进行使客户主机下线最简单的方式就是对其进行拒绝服务攻击,从而使其不再继续响应。拒绝服务攻击,从而使其不再继续响应。o 服务器会继续发送响应给客户主机,但是因服务器会继续发送响应给客户主机,但是因为攻击者已经掌握了客户主机,所以该机器为攻击者已经掌握了客户主机,所以该机器就不再继续响应。就不再继续响应。2022-12-1439step5:接管会话:接
30、管会话o 既然攻击者已经获得了他所需要的一切信息,既然攻击者已经获得了他所需要的一切信息,那么他就可以持续向服务器发送数据包并且那么他就可以持续向服务器发送数据包并且接管整个会话了。接管整个会话了。o 在会话劫持攻击中,攻击者通常会发送数据在会话劫持攻击中,攻击者通常会发送数据包在受害服务器上建立一个账户,甚至留下包在受害服务器上建立一个账户,甚至留下某些后门。通过这种方式,攻击者就可以在某些后门。通过这种方式,攻击者就可以在任何时候轻松进入系统了。任何时候轻松进入系统了。2022-12-1440TCP会话劫持的危害会话劫持的危害o 就其实现原理而言,任何使用就其实现原理而言,任何使用Inte
31、rnet进行通信的主机都有可能受到这种攻击。进行通信的主机都有可能受到这种攻击。o 会话劫持在理论上是非常复杂的,会话劫持在理论上是非常复杂的,但是但是现在产生了简单适用的会话劫持攻击软现在产生了简单适用的会话劫持攻击软件,件,技术门槛的降低导致了很多技术门槛的降低导致了很多“少年少年攻击者攻击者”的诞生。的诞生。2022-12-1441TCP会话劫持的危害会话劫持的危害(2)o会话劫持攻击的危害性很大是有原因会话劫持攻击的危害性很大是有原因的。的。n 一个最主要的原因就是它并不依赖于操作系统。n 另一个原因就是它可以被用来进行积极的攻击,通过攻击行为可以获得进入系统的可能。2022-12-1
32、442实现实现TCP会话劫持的两个小工具会话劫持的两个小工具oJuggernautn Juggernaut是由Mike Schiffman开发的自由软件,这个软件是开创性的,是最先出现的会话攻击程序之一。它运行在Linux操作系统的终端机上,攻击者能够窥探网络中所有的会话,并且劫持其中任何一个,攻击者可以像真正用户那样向服务器提交命令。2022-12-1443实现实现TCP会话劫持的两个小工具会话劫持的两个小工具(2)oHuntn 由Pavel Krauz制作的Hunt,是一个集嗅探、截取和会话劫持功能于一身的强大工具。它可以在无论共享式网络还是交换式网络中工作,不仅能够在混杂模式和ARP欺骗
33、模式下进行嗅探,还具有中断和劫持动态会话的能力。2022-12-14445.2.3 IP欺骗攻击的防御欺骗攻击的防御p 防范地址变化欺骗防范地址变化欺骗p 防范源路由欺骗防范源路由欺骗p 防范信任关系欺骗防范信任关系欺骗 p 防范会话劫持攻击防范会话劫持攻击2022-12-1445防范地址变化欺骗防范地址变化欺骗有办法防止攻击者使用你的地址发送有办法防止攻击者使用你的地址发送消息吗?可以说,你没有办法阻止有人消息吗?可以说,你没有办法阻止有人向另一方发送消息时不用自己的而使用向另一方发送消息时不用自己的而使用你的地址。你的地址。但是,采取一些措施可以有效保护自但是,采取一些措施可以有效保护自己
34、免受这种攻击的欺骗。己免受这种攻击的欺骗。2022-12-1446防范地址变化欺骗防范地址变化欺骗(2)o 方法方法1:限制用户修改网络配置:限制用户修改网络配置o 方法方法2:入口过滤:入口过滤o 方法方法3:出口过滤:出口过滤2022-12-1447方法方法1:限制用户修改网络配置:限制用户修改网络配置为了阻止攻击者使用一台机器发为了阻止攻击者使用一台机器发起欺骗攻击,首先需限制那些有权起欺骗攻击,首先需限制那些有权访问机器配置信息的人员。这么做访问机器配置信息的人员。这么做就能防止员工执行欺骗。就能防止员工执行欺骗。2022-12-1448方法方法2:入口过滤:入口过滤 大多数路由器有内
35、置的欺骗过滤器。过大多数路由器有内置的欺骗过滤器。过滤器的最基本形式是,不允许任何从外面进滤器的最基本形式是,不允许任何从外面进入网络的数据包使用单位的内部网络地址作入网络的数据包使用单位的内部网络地址作为源地址。为源地址。因此,如果一个来自外网的数据包,声因此,如果一个来自外网的数据包,声称来源于本单位的网络内部,就可以非常肯称来源于本单位的网络内部,就可以非常肯定它是假冒的数据包,应该丢弃它。定它是假冒的数据包,应该丢弃它。这种类型的过滤可以保护单位的网络不成这种类型的过滤可以保护单位的网络不成为欺骗攻击的受害者。为欺骗攻击的受害者。2022-12-1449方法方法3:出口过滤:出口过滤为
36、了执行出口过滤,路由器必须检查数据为了执行出口过滤,路由器必须检查数据包,确信源地址是来自本单位局域网的一个包,确信源地址是来自本单位局域网的一个地址。地址。如果不是那样,这个数据包应该被丢弃,如果不是那样,这个数据包应该被丢弃,因为这说明有人正使用假冒地址向另一个网因为这说明有人正使用假冒地址向另一个网络发起攻击。离开本单位的任何合法数据包络发起攻击。离开本单位的任何合法数据包须有一个源地址,并且它的网络部分与本单须有一个源地址,并且它的网络部分与本单位的内部网络相匹配。位的内部网络相匹配。2022-12-1450防范源路由欺骗防范源路由欺骗o 保护自己或者单位免受源路由欺骗攻击的最保护自己
37、或者单位免受源路由欺骗攻击的最好方法是设置路由器禁止使用源路由。好方法是设置路由器禁止使用源路由。o 事实上人们很少使用源路由做合法的事情。事实上人们很少使用源路由做合法的事情。因为这个原因,所以阻塞这种类型的流量进因为这个原因,所以阻塞这种类型的流量进入或者离开网络通常不会影响正常的业务。入或者离开网络通常不会影响正常的业务。2022-12-1451防范信任关系欺骗防范信任关系欺骗o 保护自己免受信任关系欺骗攻击最容易的方保护自己免受信任关系欺骗攻击最容易的方法就是不使用信任关系。但是这并不是最佳法就是不使用信任关系。但是这并不是最佳的解决方案,因为便利的应用依赖于信任关的解决方案,因为便利
38、的应用依赖于信任关系。系。o 但是能通过做一些事情使暴露达到最小:但是能通过做一些事情使暴露达到最小:n 限制拥有信任关系的人员。n 不允许通过外部网络使用信任关系。2022-12-1452防范会话劫持攻击防范会话劫持攻击 o 会话劫持攻击是非常危险的,因为攻击者能会话劫持攻击是非常危险的,因为攻击者能够直接接管合法用户的会话。够直接接管合法用户的会话。o 在其他的攻击中可以处理那些危险并且将它在其他的攻击中可以处理那些危险并且将它消除。但是在会话劫持中,消除这个会话也消除。但是在会话劫持中,消除这个会话也就意味着禁止了一个合法的连接,从本质上就意味着禁止了一个合法的连接,从本质上来说这么做就
39、背离了使用来说这么做就背离了使用Internet进行连进行连接的目的。接的目的。2022-12-1453防范会话劫持攻击防范会话劫持攻击(2)o没有有效的办法可以从根本上防范会没有有效的办法可以从根本上防范会话劫持攻击,以下列举了一些方法可话劫持攻击,以下列举了一些方法可以尽量缩小会话攻击所带来危害:以尽量缩小会话攻击所带来危害:n 进行加密n 使用安全协议n 限制保护措施2022-12-1454进行加密进行加密o 如果攻击者不能读取传输数据,那么进行会如果攻击者不能读取传输数据,那么进行会话劫持攻击也是十分困难的。因此,任何用话劫持攻击也是十分困难的。因此,任何用来传输敏感数据的关键连接都必
40、须进行加密。来传输敏感数据的关键连接都必须进行加密。2022-12-1455使用安全协议使用安全协议o 无论何时当用户连入到一个远端的机器上,无论何时当用户连入到一个远端的机器上,特别是当从事敏感工作或是管理员操作时,特别是当从事敏感工作或是管理员操作时,都应当使用安全协议。都应当使用安全协议。o 一般来说,有像一般来说,有像SSH(Secure Shell)这)这样的协议或是安全的样的协议或是安全的Telnet都可以使系统都可以使系统免受会话劫持攻击。此外,从客户端到服务免受会话劫持攻击。此外,从客户端到服务器的器的VPN(Virtual Private Network)也是很好的选择。也是
41、很好的选择。2022-12-1456限制保护措施限制保护措施o 允许从网络上传输到用户单位内部网络的信允许从网络上传输到用户单位内部网络的信息越少,那么用户将会越安全,这是个最小息越少,那么用户将会越安全,这是个最小化会话劫持攻击的方法。化会话劫持攻击的方法。o 攻击者越难进入系统,那么系统就越不容易攻击者越难进入系统,那么系统就越不容易受到会话劫持攻击。在理想情况下,应该阻受到会话劫持攻击。在理想情况下,应该阻止尽可能多的外部连接和连向防火墙的连接。止尽可能多的外部连接和连向防火墙的连接。2022-12-14575.3 ARP欺骗攻击与防御技术欺骗攻击与防御技术o 5.3.1 ARP背景知识
42、介绍背景知识介绍o 5.3.2 ARP欺骗攻击原理欺骗攻击原理o 5.3.3 ARP欺骗攻击实例欺骗攻击实例o 5.3.4 ARP欺骗攻击的检测与防御欺骗攻击的检测与防御5.3.1 ARP背景知识介绍背景知识介绍o ARP基础知识基础知识o ARP工作原理工作原理n 局域网内通信n 局域网间通信2022-12-14582022-12-1459ARP基础知识基础知识o ARP(Address Resolution Protocol):地址:地址解析协议,用于将计算机的网络地址(解析协议,用于将计算机的网络地址(IP地址地址32位)转化为物理地址(位)转化为物理地址(MAC地址地址48位)位)RF
43、C826。属于链路层的协议。属于链路层的协议。o 在以太网中,数据帧从一个主机到达局域网内的另在以太网中,数据帧从一个主机到达局域网内的另一台主机是根据一台主机是根据48位的以太网地址(硬件地址)位的以太网地址(硬件地址)来确定接口的,而不是根据来确定接口的,而不是根据32位的位的IP地址。地址。o 内核(如驱动)必须知道目的端的硬件地址才能发内核(如驱动)必须知道目的端的硬件地址才能发送数据。送数据。2022-12-1460ARP基础知识基础知识o ARP协议有两种数据包协议有两种数据包n ARP请求包:ARP工作时,送出一个含有目的IP地址的以太网广播数据包,这也就是ARP请求包。它表示:
44、我想与目的IP通信,请告诉我此IP的MAC地址。ARP请求包格式如下:arp who-has 192.168.1.1 tell 192.168.1.2n ARP应答包:当目标主机收到ARP请求包,发现请求解析的IP地址与本机IP地址相同,就会返回一个ARP应答包。它表示:我的主机就是此IP,我的MAC地址是某某某。ARP应答包的格式如下:arp reply 192.168.1.1 is-at 00:00:0c:07:ac:002022-12-1461ARP基础知识基础知识o ARP缓存表缓存表nARP缓存表用于存储其它主机或网关的IP地址与MAC地址的对应关系。n每台主机、网关都有一个ARP缓
45、存表。nARP缓存表里存储的每条记录实际上就是一个IP地址与MAC地址对,它可以是静态的,也可以是动态的。如果是静态的,那么该条记录不能被ARP应答包修改;如果是动态的,那么该条记录可以被ARP应答包修改。ARP基础知识基础知识o 在在Windows下查看下查看ARP缓存表的方法缓存表的方法n 使用命令:arp-a2022-12-1462ARP工作原理工作原理o 局域网内通信局域网内通信o 局域网间通信局域网间通信2022-12-14632022-12-1464局域网内通信局域网内通信o 假设一个局域网内主机假设一个局域网内主机A、主机、主机B和网关和网关C,它们的它们的IP地址、地址、MAC
46、地址如下。地址如下。主机名主机名 IP地址地址 MAC地址地址 主机主机A 192.168.1.2 02-02-02-02-02-02 主机主机B 192.168.1.3 03-03-03-03-03-03 网关网关C 192.168.1.1 01-01-01-01-01-012022-12-1465局域网内通信局域网内通信网络结构图网络结构图2022-12-1466局域网内通信局域网内通信通信过程通信过程o假如主机主机假如主机主机A(192.168.1.2)要与主机主机要与主机主机B(192.168.1.3)通讯,它首先会检查自己的通讯,它首先会检查自己的ARP缓存中是否有缓存中是否有192
47、.168.1.3这这个地址对应的个地址对应的MAC地址。地址。o如果没有它就会向局域网的广播地址发送如果没有它就会向局域网的广播地址发送ARP请求包,大致的意请求包,大致的意思是思是192.168.1.3的的MAC地址是什么请告诉地址是什么请告诉192.168.1.2。o而广播地址会把这个请求包广播给局域网内的所有主机,但是只而广播地址会把这个请求包广播给局域网内的所有主机,但是只有有192.168.1.3这台主机才会响应这个请求包,它会回应这台主机才会响应这个请求包,它会回应192.168.1.2一个一个arp包,告知包,告知192.168.1.3的的MAC地址是地址是03-03-03-03
48、-03-03。o这样主机这样主机A就得到了主机就得到了主机B的的MAC地址,并且它会把这个对应的地址,并且它会把这个对应的关系存在自己的关系存在自己的ARP缓存表中。缓存表中。o之后主机之后主机A与主机与主机B之间的通讯就依靠两者缓存表里的记录来通讯,之间的通讯就依靠两者缓存表里的记录来通讯,直到通讯停止后两分钟,这个对应关系才会被从表中删除。直到通讯停止后两分钟,这个对应关系才会被从表中删除。2022-12-1467局域网间通信局域网间通信o 假设两个局域网,其中一个局域网内有主机假设两个局域网,其中一个局域网内有主机A、主机、主机B和网关和网关C,另一个局域网内有主机,另一个局域网内有主机
49、D和网关和网关C。它们的。它们的IP地址、地址、MAC地址如下。地址如下。主机名主机名 IP地址地址 MAC地址地址 主机主机A 192.168.1.2 02-02-02-02-02-02 主机主机B 192.168.1.3 03-03-03-03-03-03 网关网关C 192.168.1.1 01-01-01-01-01-01 主机主机D 10.1.1.2 04-04-04-04-04-04 网关网关E 10.1.1.1 05-05-05-05-05-05局域网间通信局域网间通信网络结构图网络结构图2022-12-14682022-12-1469局域网间通信局域网间通信通信过程通信过程o
50、假如主机假如主机A(192.168.1.2)需要和主机需要和主机D(10.1.1.2)进行通讯,它首先会发现这个主机进行通讯,它首先会发现这个主机D的的IP地址并不是自地址并不是自己同一个网段内的,因此需要通过网关来转发。己同一个网段内的,因此需要通过网关来转发。o 这样的话它会检查自己的这样的话它会检查自己的ARP缓存表里是否有网关缓存表里是否有网关192.168.1.1对应的对应的MAC地址,如果没有就通过地址,如果没有就通过ARP请求获得,如果有就直接与网关通讯,然后再由网关请求获得,如果有就直接与网关通讯,然后再由网关C通通过路由将数据包送到网关过路由将数据包送到网关E。o 网关网关E