ARP攻击原理简析及防御措施
0x1 简介
网络欺骗攻击作为一种非常专业化的攻击手段,给网络安全管理者,带来严峻的考验。网络安全的战场已经从互联网蔓延到用户内部的网络,特别是局域网。目前利用ARP欺骗的木马病毒在局域网中广泛传播,导致网络随机掉线甚至整体瘫痪,通讯被窃听,信息被篡改等严重后果。
0x2 ARP协议概述
ARP协议(address resolution protocol)地址解析协议
一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址。
在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系。ARP缓存表的生命周期是有时限的(一般不超过20分钟)。
举个例子:假设局域网中有四台主机
主机 | IP地址 | MAC地址 | 网关 |
A | 192.168.0.2 | Mac-a |
192.168.0.1 |
B | 192.168.0.3 | Mac-b | 192.168.0.1 |
C | 192.168.0.4 | Mac-c | 192.168.0.1 |
D | 192.168.0.5 | Mac-d | 192.168.0.1 |
主机A想和主机B通信
主机A会先查询自己的ARP缓存表里有没有B的联系方式,有的话,就将mac-b地址封装到数据包外面,发送出去。没有的话,A会向全网络发送一个ARP广播包,大声询问:我的IP地址是192.168.0.2,硬件地址是mac-a,我想知道IP地址是192.168.0.3的硬件地址是多少? 此时,局域网内所有主机都收到了,B收到后会单独私密回应:我是192.168.0.3,我的硬件地址是mac-b,其他主机不会理A的此时A知道了B的信息,同时也会动态的更新自身的缓存表
0x3 ARP协议的缺陷
ARP协议是建立在信任局域网内所有节点的基础上的,他的效率很高。但是不安全。它是无状态的协议。他不会检查自己是否发过请求包,也不知道自己是否发过请求包。他也不管是否合法的应答,只要收到目标mac地址是自己的ARP reply或者ARP广播包(包括ARP reply和ARP request),都会接受并缓存。
0x4 ARP攻击原理
ARP欺骗攻击建立在局域网主机间相互信任的基础上的当A发广播询问:我想知道IP是192.168.0.3的硬件地址是多少?
此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,可是此时IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。
所以A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程。
假如C直接冒充网关,此时主机C会不停的发送ARP欺骗广播,大声说:我的IP是192.168.0.1,我的硬件地址是mac-c,此时局域网内所有主机都被欺骗,更改自己的缓存表,此时C将会监听到整个局域网发送给互联网的数据报。
0x5 ARP病毒攻击症状
通常表现:-打开网页速度非常慢,甚至打不开
-提示IP地址冲突
-甚至导致校园网瘫痪断网
-一般会绑定木马病毒,窃取用户账号密码
0x6 ARP病毒攻击形式
- 从协议内部分析
-假冒ARP reply包(单波或广播),向单台主机或多台主机发送虚假的IP/MAC地址
-假冒ARP request包(单播或广播),实际上是单播或广播虚假的IP、MAC映射。
-假冒中间人,启用包转发向两端主机发送假冒的ARP reply,由于ARP缓存的老化机制,有时还需要做周期性连续性欺骗。
2. 从影响网络连接通畅的角度看
-对路由ARP表的欺骗
ARP病毒截获网关数据,让路由器获得错误的内网MAC地址,导致路由器把数据发送给错误的mac,是内网内的主机断网
-伪造内网网关
ARP病毒通过冒充网关,是内网计算机发送的数据无法到达真正的路由器网关,导致内网计算机断网
0x7 ARP欺骗攻击监测技术
1.手动监测
网络管理员可以通过命令查看主机的ARP表或路由器的ARP表
也可以用Sniffer工具进行抓包,查看可疑的<IP,MAC>地址映射
2.动态监测
– 被动监测 (ARP watch,ARP Guard)
仅监测网路中是否存在ARP欺骗,不主动向外发送ARP报文
-主动监测(ARP防火墙)
能够动态的监测局域网内针对本主机和针对网关的ARP欺骗,但如果配置错误,ARP防火墙会向局域网内发送大量的ARP报文,造成ARP报文的广播风暴,影响网络通信。
在这里推荐一款查看局域网Mac地址和主机IP匹配显示的软件:Nbtscan 很好用网上也有使用说明,对于查找攻击主机很犀利、
0x8 ARP欺骗攻击的防御
-ARP双向绑定
在pc端上 IP+mac 绑定
在网络设备(交换路由)上 采用ip+mac+端口绑定
网关也进行IP和mac的静态绑定
-采用支持ARP过滤的防火墙
-建立DHCP服务器
ARP攻击一般先攻击网关,将DHCP服务器建立在网关上
-划分安全区域
ARP广播包是不能跨子网或网段传播的,网段可以隔离广播包。VLAN就是一个逻辑广播域,通过VLAN技术可以在局域网中创建多个子网,就在局域网中隔离了广播。。缩小感染范围。 但是,安全域划分太细会使局域网的管理和资源共享不方便。
前几天体育课认识的一基友,遭ARP攻击了,问我怎么防,直接给我问懵了,就看了看,对于个人来说,在局域网内遭ARP攻击,还能咋办,除了装ARP防火墙,用代理,我也没辙。
不过最好的办法就是用arp –a命令查看一下arp缓存表,看谁在攻击你,打电话给网管,让网管灭了它。