资源预览内容
第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
第9页 / 共67页
第10页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
局域网安全之ARP问题,2,课程内容,ARP流程回顾,常见问题,解决方案,实验与练习,小结,3,ARP流程回顾,ARP流程,4,ARP流程回顾,ARP流程(续) 关于ARP的处理流程,请参阅初级教材的以太网基础内容 ARP协议在设计的时候欠缺安全因素,体现在: 1、ARP的请求报文使用广播形式,导致无关的主机也能获取到ARP信息;同时也给局域网通信造成了不必要的压力 2、在收到ARP报文后,进行“无条件”更新;没有必要的认证、或其他身份合法性确认机制 3、真正合法的ARP信息缺乏必要的更新维持机制,5,ARP流程回顾,常见ARP问题 我们经常会听到用户或者网管人员反应: 网速好慢啊 怎么又断线啦? 我的机器没有中毒,但是QQ号码被盗了,怎么一回事? 很多这种看似无关的问题,根源都与ARP有联系,6,课程内容,ARP流程回顾,常见问题,解决方案,实验与练习,小结,7,常见问题,正常的ARP请求 要解释清楚原因,还是要先理解ARP的工作原理。这里我们结合实际案例来解释:,8,常见问题,正常的ARP请求(续) 假设PC1要通过GW访问internet,首先要请求/学习GW的MAC地址 PC1通过以太网广播发送ARP req,其中Sender IP/MAC就是PC1的的真实信息,而Target IP就是GW的地址即192.168.1.254,Target MAC为全0 GW收到之后会单播返回一个ARP response,其中的Sender MAC就是00-e0-0f-09-09-09,也就是PC要学习的内容 在这个过程中,PC1和GW会相互缓冲对方的ARP信息,以备后用; ARP的更新只是通过被动接收ARP信息,而不是主动请求,除非相应的缓冲条目超时失效,9,常见问题,ARP欺骗 在这个例子中,假如PC4想冒充GW,怎么做呢? 由于PC1的ARP req是广播,所以PC4也能收到 PC4单播一个ARP response报文给PC1,但Sender IP=192.168.1.254,Sender MAC=00-e0-0f-04-04-04 PC1 先后收到两个ARP response,但无法/不会判断孰真孰假;同时,PC1会把最后收到的response报文看作是前者的更新 如果PC4故意设置一个时间延迟返回ARP response,那么PC1学习到的关于GW的MAC地址,将必然是错误的,10,常见问题,ARP欺骗(续) 这样,PC1访问internet的数据全部会被局域网交换机转发到PC4上(想想看为什么?) 如果PC4没有任何后续操作那么PC1就无法上网了 如果PC4通过“代理”功能,把接收到的数据再转发到真正的网关GW,那么PC1等被欺骗者还是能够上网,但不同的是,所有的数据都被PC4“监控”和“过滤”了,11,常见问题,ARP欺骗的影响 由于ARP机制的不安全,导致PC主机的ARP缓冲信息很容易被其他设备串改。因而,用户访问公网internet的数据流会经过第三方,会被监控/窥视 ARP欺骗时,通常会影响局域网中所有的主机,导致整个局域网的数据流全部都经过PC4,如果PC4的处理能力不是很强的话,它就成为了网络的性能瓶颈,用户上网的速度必然很慢,“很卡”了 通常ARP欺骗者所关注的是用户的账号、密码之类的有价值信息,而这些信息通常只在网络刚刚连通之后;为了可以制造这个环境,它通常会故意瞬间中断网络,这是完全可以做到的,因为ARP欺骗者是“串接”在网络中的。,12,常见问题,ARP欺骗的影响(续) 发生网络瞬间中断时,一般用户通常只会怀疑路由器、交换机是否有问题,而不会怀疑PC的。所以很多宽带路由器为此没少背黑锅 瞬断后,用户除了骂娘之外,通常是重新登录相关的服务,其中的账号等敏感信息正式ARP欺骗者所关心的 我们关心的并不是欺骗者如何获取各种敏感信息,而是如何让ARP欺骗不成功;为了实现这一点,我们首先要了解有哪些ARP欺骗方式,13,常见问题,ARP欺骗的种类 根据前文的流程图,ARP Req和Response报文都可以轻易更新对方的ARP表项;而且欺骗者不必等待Req请求报文,可以直接发送req/response报文去更新对方这样的ARP报文成为免费ARP 由于通讯是双向的,所以欺骗者只要改变任何一方的ARP信息,就可以改变以太网数据的流向,从而达到其欺骗和敏感信息盗取的目的 在标准ARP学习过程中,Req是广播发送的,而Reponse报文是单播的,免费ARP是不是也必须遵循这样的规律呢?我们来详细介绍一下:,14,常见问题,ARP欺骗可能性分析 一、针对多个PC的欺骗,用ARP req报文 使用ARP Req报文来更新对方的ARP表项缓冲信息,必要条件是Dst.IP地址与被欺骗者的IP相同,如果存在多个用户主机(IP地址显然不同),首先必须要得到这些主机的IP地址集合,有两种方法: 1、穷举本网IP地址,对每个IP进行ARP req扫描(广播)。但这种情况下,每个主机都是前后收到大量的ARP广播,而且都是从同一个源发出的,这比较容易暴露欺骗者自己,15,常见问题,ARP欺骗可能性分析(续) 2、先通过ping等程序探知存在的IP地址结合,然后有针对性的发送ARP req扫描(单播)。虽然开始探测的ping之前,也会有大量ARP req正常广播,但之后的ARP欺骗报文就全是单播了,有助于在后期实时更新,维持欺骗状态 比较而言,后者在欺骗过程中发送的报文数量较少,而且是单播报文,所以隐蔽性更强,实际环境中也更多的被采用。,16,常见问题,ARP欺骗可能性分析(续) 二、针对多个PC的欺骗,用ARP response报文 使用ARP response报文可以直接更新对方的ARP表项缓冲,不必满足Dst.IP地址与被欺骗者的IP相同,也就是说,欺骗所有PC的时候,只要用一种ARP response报文即可,理论上有两种方法: 1、直接使用广播将ARP信息主动response给本网,虽然是广播报文,但一次即可搞定。 2、使用单播报文逐个发送。一般很少有人这么实现,先要穷举/探测所有主机的地址不说,ARP response报文的数量也会成倍增加,而且结果是完全一样的,17,常见问题,ARP欺骗可能性分析(续) 使用ARP Req和Response报文的比较 使用ARP req报文来欺骗,好处是在实现欺骗目的的同时,还可以清楚的知道本网中实时存在的主机的集合;但缺点是需要给每个主机单独发送ARP报文,数据量大,对系统处理能力要求高,还相对容易被发现 如果使用ARP response报文来欺骗,好处是只要通过一个广播即可实现目的,非常高效;但对于本网中实时的主机信息则无法了解,18,常见问题,ARP欺骗可能性分析(续) 三、针对GW的欺骗 通常一个局域网的网关设备只有一个,这里也只讨论这种情况。 对于单个目标设备,使用单播和广播就基本等效了,而且使用单播报文会更好;同时,使用ARP req还是response报文也差不多了(想想看,为什么?),19,常见问题,ARP欺骗可能性分析(续) 不同的地方在于,欺骗者需要分别冒充每一个局域网PC去给GW设备发送ARP干扰报文。同样有两种方法: 1、穷举本网段所有的IP地址,分别以它们的身份向GW发送ARP欺骗信息 2、先通过ping等手段得知所有的有效主机列表,然后分别以它们的身份向GW发送ARP欺骗报文 这两种方法都可以,实现起来两者的难度相当,但前者会在网关设备的ARP表中留下很多不存在主机的ARP 多数情况下,欺骗者会采用第二种方式,20,常见问题,ARP欺骗可能性分析(续) ARP欺骗的“可靠性” ARP欺骗者通过种种途径,实现了目的之后,如何防止使用者把ARP信息恢复呢? 方法很简单,它们通过频繁的周期的发送ARP欺骗报文,使得用户PC或者网关的ARP信息维持在一个非正常的状态,21,常见问题,ARP攻击 ARP Flood 与ARP欺骗不同,ARP Flood通过大量有规律或者无规律的ARP报文冲击一个主机/网络,造成网络资源(CPU、带宽)的极大消耗,严重时会导致网络完全瘫痪 早期的时候,这种Flood通常是由一个主机来发起攻击;但后来攻击者也改进了方法,他们通常会利用计算机系统的漏洞,同时控制一群主机同时发送ARP报文,影响更加严重。这通常被成为DDoS DDoS除了使用ARP报文攻击以外,也会使用IP、ICMP等报文来攻击,22,课程内容,ARP流程回顾,常见问题,解决方案,实验与练习,小结,23,解决方案,ARP欺骗的现象 要解决ARP欺骗的发生,首先应该先判断ARP欺骗的存在,它们发生时,通常会有哪些症状呢? 对于网络工程师,我们看到的不应该只是“断线”“卡”“盗号”之类的表面现象,应该更深入一些 无论通过何种方式实现的欺骗,我们只要知道,ARP表的正常情况是怎样的,那么通过比较,很容易就发现问题,24,解决方案,ARP欺骗的现象(续) 对于PC,上网必须通过GW,如果PC中关于GW的ARP信息不正确,就必然出现问题 分别收集PC的ARP信息和GW设备的网口MAC,25,解决方案,ARP欺骗的现象(续) GW设备网口MAC地址,各个厂家都不太相同。BDCOM设备可以使用show interface Fn/m 如果两者不同,则PC的ARP信息必然被篡改了,且arp /a中看到的MAC地址就是欺骗者的真实MAC地址 有些时候只看PC的状态就可以初步判别ARP问题了,因为MAC地址的OUI段是标示厂家的,26,解决方案,ARP欺骗的现象(续) 如果GW发生ARP欺骗,由于欺骗来源通常是少数几个,所以GW的ARP表项中会有多个IP地址对应的MAC地址相同,甚至所有的MAC全都一致。这种状况说明GW的ARP表项被篡改了 而且,那个特殊的MAC地址就是欺骗者 (下图是正常情况),27,解决方案,ARP欺骗的现象(续) 思考: 如果使用Wireshark/sniffer等软件在局域网中进行抓包分析,当看到哪些状况时,就可能产生ARP欺骗了? (针对PC用户) (针对GW网关),28,解决方案,处理ARP欺骗 处理 当ARP欺骗发生后,只要比对PC和GW的ARP表项,很容易就能根据MAC地址确定欺骗者的来源。 对于被欺骗者,只要清空ARP表项重新学习或者简单重启设备即可;而对于欺骗者,则需要立刻断网隔离,然后进行杀毒或者重装系统处理(ARP欺骗通常跟木马程序有关) 预防 处理比较简单,但预防就非常麻烦了。原因在欺骗发生之前,我们无从预知谁会以何种方式进行欺骗,而且欺骗的对象也不知道,29,解决方案,ARP欺骗的预防措施 针对ARP欺骗的若干问题,BDCOM推出了若干技术,用以缓解/预防ARP欺骗的发生 静态ARP绑定 Port-security DHCP-Snooping,30,解决方案,静态ARP绑定 静态ARP绑定 静态ARP绑定的原理非常简单:ARP不安全的的根本原因是采用了没有校验机制的动态学习,那么干脆抛弃它,使用静态设置的方式即可。 路由器(通常需要绑定所有的PC): arp ,31,解决方案,静态ARP绑定(续) PC设置静态ARP的方法 ARP s 注:普通的Windows PC设置静态ARP之后,一旦主机重启,绑定就会失效,为此应该将上述的cmd指令加入到autoexec.bat文件中。 PC通常需要绑定一个网关的ARP即可,想想为什么?,32,解决方案,静态ARP绑定(续) 使用静态ARP绑定可以从根本上预防ARP的问题,实现的原理简单,且可以避免局域网中大量因为ARP动态学习引起的广播报文 这种方式的缺点也很明显: 需要了解每个主机的IP、MAC对应关系 每台设备都要配置N-1个ARP表项,共N(N-1),信息量大 任何主机/网卡更换时,剩余主机的ARP都需要同步更新、更改 需要PC主机、GW网关之间双向绑定,缺一不可,33,解决方案,Port-Security Port-Security Port-Security是交换机在端口上查询所有接收报文,根据
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号