ARP( Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的底层协议,对应于数据链路层,基本功能就是将网络层( IP层,也就是相当于OSI的第三层)地址解析为数据连接层( MAC层,也就是相当于OSI的第二层)的MAC地址,以保证通信的进行 。工作过程如下:(1) 当网络节点需要解析一个IP 地址对应的MAC 地址时,会广播发送ARP 请求报文。(2) 其他网络节点接收到ARP请求后,会进行ARP应答。同时,根据请求发送者的IP地址和 MAC地址的对应关系建立 ARP表项,以便后续查ARP表进行报文转发。(3) 发起请求的网络节点接收到ARP应答后,同样会将ARP应答报文中发送者的IP 地址和MAC 地址的映射关系记录下来,生成ARP表项,以便后续查ARP表进行报文转发。 ARP 攻击原理ARP工作机制可以看出, ARP协议简单易用,没有任何安全机制,攻击者可以发送伪造ARP报文对网络进行攻击。ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP表中的条目,造成网络中断或中间人攻击。 同时, 能够通过在网络中产生大量的ARP通信量, 使网络阻塞。ARP 攻击类型常见的ARP攻击包括ARP欺骗、 洪泛攻击。ARP欺骗指攻击者通过发送伪造的ARP报文,恶意修改设备或网络内其他主机的ARP表项,造成用户或网络的报文转发异常。ARP洪泛攻击也叫拒绝服务攻击,攻击者向设备发送大量虚假的ARP请求报文或免费ARP报文,造成设备上的ARP表项超过规格,表项溢出,无法缓存正常用户的ARP表项, 或者ARP处理协议通道阻塞等, 从而阻碍正常的报文转发。综上所述, ARP攻击方式有如下 2大类 5小类:ARP欺骗根据仿冒的网络节点的不同,又可以细分为仿冒用户主机仿冒网关ARP泛洪攻击根据攻击目标的不同,又可以细分为拒绝服务攻击缓存溢出攻击扫描攻击ARP 欺骗 – 仿冒用户主机原理一个典型的用户主机仿冒流程如下:
1.信息节点比如网关广播ARP请求,询问用户A的地址2.用户A回应自己的地址3.建立合法用户A的ARP表项4.用户B发出仿冒的ARP回应,可以是自己的MAC地址,也可以是网络中其他用户地址甚至是不存在的地址5. 合法的ARP表项被修改为仿冒的ARP表项6. 给用户A的流量被转发到用户B,如果仿冒的是其他用户的地址,则流量被转发到其他用户,如果仿冒的是不存在的地址,则流量在网络中被阻断。
危害如果用户B仿冒时用的是自己的地址,当流量返回时,就可以从流量中获取信息,从而形成中间人攻击如果用户B仿冒时用的是其他用户地址,当流量返回时,就可以对其他用户进行流量攻击如果用户B仿冒是用的是网络中不存在的地址,则流量被阻断用户A的流量转发异常, 要么被窃听而泄密,要么被阻断而业务中断。
ARP 欺骗 – 仿冒网关攻击原理一个典型的网关仿冒流程如下:
1.用户A广播ARP请求,询问网关的MAC地址2.网关回应自己的MAC地址3.用户A主机建立合法网关的ARP表项4.用户B发出仿冒的网关ARP表项,可以是自己的MAC地址,也可以是网络中其他用户地址甚至是不存在的地址5. 用户A主机合法网关的ARP表项被修改为仿冒的ARP表项6. 用户A的流量转发到用户B,如果仿冒的是其他用户的地址,则流量被转发到其他用户,如果仿冒的是不存在的地址,则流量在网络中被阻断危害如果用户B仿冒时用的是自己的地址, 则用户A所有信息都会转发给用户B, 从而形成中间人攻击如果用户B仿冒时用的是其他用户地址,就可以对其他用户进行流量攻击如果用户B仿冒是用的是网络中不存在的地址,则流量被阻断用户A的流量转发异常,要么被窃听而泄密,要么被阻断而业务中断。 ARP 泛洪攻击 – 拒绝服务攻击原理一个典型的拒绝服务流程如下:
1.用户B主动(黑客)或被动(中病毒、木马、恶意软件等) 发送大量伪造的ARP 请求、应答报文或其他能够触发网络设备ARP 处理的报文,造成网络设备的计算资源长期忙于ARP处理,影响其他业务的处理,从而阻碍正常的报文转发。2.正常用户请求ARP或者其他业务报文被阻塞,从而导致业务中断。危害网络设备业务处理能力下降甚至拒绝服务,导致网络中流量中断 。
ARP 泛洪攻击 – 缓存溢出攻击 原理
一个典型的缓存溢出流程如下:
1.用户B主动(黑客)或被动(中病毒、木马、恶意软件等) 发送向网络设备发送大量虚假的ARP 请求报文和免费ARP报文, 超出网络设备ARP表项存储规格, 造成网络设备上ARP缓存表溢出,无法缓存正常的ARP 表项,从而阻碍正常的报文转发。2.正常用户ARP表项被伪造ARP表项覆盖,从而导致业务流量中断危害网络设备业务处理能力下降甚至拒绝服务,导致网络中流量中断 ARP 泛洪攻击 – 扫描攻击原理
一个典型的扫描攻击流程如下:
1.用户B主动(黑客)或被动(中病毒、木马、恶意软件等) 扫描本网段或者跨网段主机时, 网络设备在发送回应报文前,会查找ARP表项,如果目的IP 地址的MAC 地址不存在,那么必然会导致网络设备向上层软件发送消息,要求上层软件发送ARP 请求报文到其他网段以获得目的端的MAC 地址。大量的扫描报文会导致大量的消息,导致网络设备的资源浪费,影响对其他业务的处理, 从而阻碍正常的报文转发。2.正常用户请求ARP或者其他业务报文被阻塞,从而导致业务中断危害网络设备业务处理能力下降甚至拒绝服务,导致网络中流量中断