一、ARP原理
1. ARP的作用:
作为IP协议栈中的一个协议,它是实现mac地址与ip地址的映射关系的一种协议
2. ARP的内容:
主机或网关通过主动询问局域网中的某个IP的MAC是多少,由目标IP应答回应自己的MAC地址,来更新自己的APR缓存表(mac地址与ip地址的映射关系表)
3. ARP协议漏洞:
没有权限控制,即:所有的主机都可以发送任意的报文声称为某个IP地址的 MAC是多少,而接收APR报文的主机,以接收到的最新的APR报文来更新映射表
二、ARP代理———扩展
1. ARP代理的作用
1.实现同网段,但不同广播域的主机之间的通信。
2.同网段的主机,由于连接问题可能被网关(路由器)分隔为,不同的广播域。广播是不能跨越不同的广播域,这个时候,就需要路由器的ARP代理功能来实现,他们之间的通信。
2. ARP代理的内容/原理
原理:路由器代理:请求/应答主机间的报文
过程:路由器会更改,询问ARP报文的AMC的源地址、应答ARP报文的MAC目标地址
3. 注:
1. 其实这个过程就是ARP中间人攻击的过程
2. 思科路由器是默认开启ARP代理功能,国产新华三、华为路由器是默认关闭此功能的
三、ARP攻击——扫描行为
1. 原理/过程:
通过轮流广播询问ARP报文,局域网内所有的IP地址,以成功单播收到应答的主机,来确定目前存活在线的主机。
2. 影响:
1. 暴漏存活主机,为攻击者提供信息
2. 浪费网络带宽
3. 影响是有限的,因为广播是不能跨网段的,也就是说,只能影响同网段的主机
3. 流量分析发现:
主机向局域网中,发送大量询问广播ARP报文;即发生请求风暴的MAC的主机极可能是在进行ARP扫描
四、ARP攻击——断网攻击
1. 原理/过程
通过广播,假冒/随意捏造网关IP的MAC,被攻击的主机/收到广播的主机,更新了攻击包中的错误的网关IP的MAC。此时被攻击的主机,需要上网请求使用更新后的错误的MAC地址网关,将得不到正确回应,即实现断网的效果。
注:一般情况,网关IP为最后以为为1或者254。类如:10.0.0.1或者10.0.0.254
2. 影响
被攻击机,不能正常上网,或信息泄露
3. 流量分析发现
存在网关IP,在事先没有询问报文的前提下,发生大量应答ARP报文。
1. 通过,对比确定真实的网关IP的MAC地址是否一致,便可得知,此报文是否为攻击。
2. 如果无法确认真实的网关IP的MAC地址的信息,如何确定是否为攻击。
真实网卡由于各种原因,也可能发送这样的大量应答报文,如何确定这些这些应答报文为攻击报文?
1. 通过过滤此应答的MAC地址,的其他协议的报文,是否所有的IP地址都为网关IP,如果不是则可以确定 为此MAC不是网卡,此主机为ARP攻击主机。
2. 但是更为复杂的情况,在通过已有的流量报文中,未发现此MAC地址使用过其他IP, 此时可能确实是 网关,但是 也可能是已有的流量包不全,导致未发现其他IP地址。此时需要,按网关IP去过滤报文,找 到所有的MAC地址,因为真实的网关也会正常进行通信。此时通过对比此 “网关IP” 的两个MAC或 多个MAC(有的是假的,只有一 个是真实的)的所有有关行为,找到正常通信的MAC主机,确定真实 网关MAC 址。比如通过广播的频率,更高频率为攻击报文。当然还有其他很多维度分析,涉及到网关 通信过程,比较复杂,有空重新开文描述,此文不做详述。
3. 如果流量包中的报文中,有数据链路层,数据格式不一致的报文,则可以确定此以太网数 据 报中的MAC所在的主机为攻击主机。
所谓:数据链路层,数据格式不一致。指的是以太网报文与APR报文的MAC地址不一致。 这 种报文通常是,攻击者取消攻击,更新正确网关MAC地址时产生的。
五、ARP攻击——中间人攻击
1. 原理/过程
原理和ARP代理是一样的,就是代理主机与路由/主机间的通信,实现的前期和断网的方法一样,都是通过广播欺骗其他主机更新错误的ARP缓存表。不一样的是,中间人攻击,不仅需要欺骗主机更新的网关MAC成自己的MAC,还需要去欺骗更新网关的受害机的IP为自己的MAC。
2. 影响
1. 信息泄露
2. 信息被篡改
3. 流量分析发现
分析的逻辑和断网攻击是一样的,都是从大量的应答报文入手,如果已有的流量包中没有应答的报文,这从真实网关IP的MAC地址入手。差异在于,中间人攻击需要两次欺骗。分别代理受害主机和网关。
中间人攻击的具体表现为:
1. 受害主机发送给网关的报文中,使用错误的目的MAC(实际为攻击MAC);
2. 攻击机代理受害机,发送给网关的报文中使用错误的源IP(受害主机的IP);
3. 网关发送给代理攻击机,使用错误的目标MAC(实际为攻击MAC);
六、断网攻击与中间人攻击比较
1. 只存在对主机的一次欺骗。断网攻击通常是对受害主机捏造一个不存在的网关MAC导致不能正常通信,但是也可能使用自己的MAC冒充网关的MAC,而不响应。
2. 存在对主机的欺骗,和对网关的欺骗。中间人不存在捏造不存在的MAC,只会冒充自己的MAC为网关的MAC。而且需要对网关冒充受害主机的MAC为自己的AMC。
由于需要对网关欺骗,所以实现起来会更难。因为网关通常作为路由器,会有响应的防御机制。
七、ARP的防范
1. IP-MAC静态绑定
静态绑定,是使所有的网卡的IP不变化,将IP地址固定绑定到MAC上,实质是将IP地址当作MAC使用,这无异于,消灭了IP地址的存在的价值。
缺陷:网络管理工作变得复杂。
优点:实现简单,实现的效果好。
适合:小型网络只有十几台机器或几台机器的情况。
2. ARP防火墙
ARP防火墙一般是在主机上实现,原理是绑定网关的MAC;或更高频率的询问报文确定网关的MAC。
缺陷:没有对网关上和其他主机上的的缓存表做防护,只能防御断网攻击,不能防御中间人攻击
优点、适合情况和绑定方案基本一致。
3. 使用具有ARP防火墙的路由器
实现的逻辑是在路由器上预定义,预存储,路由中的所有主机的IP和MAC关系表。
缺陷:主机上的ARP防火墙方案,一致都不能防御中间人攻击。
适合:于ARP防火墙结合使用,是一个高效且实惠的方案。因为ARP防火墙已经是杀毒软件的标配了,而路由器一般也包含这个功能。
4. 使用动态ARP检测方案(DAI)
它会监听,网卡上的DHCP报文,检测DHCP中分配给按MAC网卡设备的IP地址,与ARP报文是否一致,不一致则丢弃。
缺陷:实现起来相对技术成本会更高一点;还需要需要消耗一定程度的设备性能。但不多,现在硬件已经够便宜了。
5. 端口隔离
利用ARP不能影响,其他网段的主机,将网络中的主机发分为多个网段。使其影响较小,或直接隔离所有主机间的通信。
缺陷:适合局域网络中没有需要通信需求的场景。
6.ARP服务器
在arp服务器中保存局域网服务器中各主机的ip地址和mac地址的映射信息,同时禁用各主机的arp应答,保留服务器对arp请求的应答。
缺点:成本高,适合大型复杂网络。
7.应用层加密
在一定程度上缓解,中间人攻击带来的威胁,攻击者无法修改信息,和泄露信息。但是还是可以篡改成不可用的内容,导致服务不可用。
八、综合理解APR攻击
1. 如何通过大量的主动应答,判断是中间人攻击,还是断网攻击?
一般来说:断网攻击,应答内容的源MAC地址为伪造的不存在的MAC,此时这些主动应答报文为错误的数据链路 层格式(以太网与APR报文中的MAC地址不一致)
中间人攻击,应答内容的源MAC地址为伪造为攻击者的MAC地址
2. ARP攻击可以使用杀毒软件防范吗?
1. ARP攻击为协议漏洞,杀毒软件是无法检测的。但是杀毒软件可能包含ARP防火墙功能,可一定程度上防御A RP攻击。
2. ARP攻击通常是由中毒的主机发起的,而杀毒软件可以检测到发起ARP攻击行为的主机。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)