ARP(Address Resolution Protocol,
地址解析协议)是一个位于
TCP/IP协议栈中的协议,负责将某个
IP地址解析成对应的
MAC地址。
名词解释
ARP(Address Resolution Protocol),即
地址解析协议,是根据IP地址解析物理地址的一个
TCP/IP协议。主机将包含目标IP地址信息的ARP请求广播到网络中的所有主机,并接收返回消息,以此
确定目标IP地址的物理地址;收到返回消息后将该
IP地址和物理地址存入本机ARP缓存中并保留一定时间,以便下次请求时直接查询ARP缓存以节约资源。
在局域网中,主机和主机之间的通讯是通过MAC地址来实现的,而主机的MAC地址是通过ARP协议获取的。ARP负责将网络中的IP地址转换为
MAC地址,来保证局域网中的正常通讯。在局域网中实际传输的是“帧”,里面包含目标主机的MAC地址。每个安装
以太网和TCP/IP的计算机都有一个ARP缓存表,缓存表里保存的IP地址和MAC地址是相互对应的。ARP协议的
基本功能就是执行
地址解析,以保证通信的顺利进行。
工作原理
ARP病毒并不是某一种真正的病毒,而是对利用ARP协议的漏洞进行传播的一类病毒的总称。ARP协议是TCP/IP协议组的一个协议,这个协议是建立在局域网上主机相互信任的基础上的,局域网中的主机可以自主发送ARP
应答消息,其他主机收到应答报文时不会检测该报文的真实性并直接将其记入本机ARP缓存。ARP缓存表采用的是机械制原理,如果表中的某一列长时间不使用,就会被删除。也就是说ARP的缓存表是可以被更改的。表中的IP地址和MAC地址也是随时可以修改,这样在局域网中很容易被
ARP欺骗。通常此类攻击的手段有两种:路由欺骗和
网关欺骗。
定义
ARP攻击是利用ARP协议设计时缺乏
安全验证漏洞来实现的,通过伪造ARP数据包来窃取
合法用户的通信数据,造成影响
网络传输速率和盗取用户隐私信息等严重危害。
ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
局域网中比较常见的ARP攻击包括:上网时断时续,拷贝文件无法完成,局域网内的ARP包激增。出现不正常的
MAC地址,MAC地址对应多个
IP地址,
网络数据发不出去了,网上发送信息被窃取,个人
PC中毒局域网内MAC地址
泛洪使MAC地址缓存表溢出等问题。数据包的
协议地址不匹配,从而在网络中产生大量的ARP。
在局域网环境中,ARP攻击是主要的安全威胁,在传统网络中主要是通过
静态绑定的方式来解决,但是这种方式限制了网络扩展的易用性。
攻击原理
ARP攻击主要是通过伪造IP地址和MAC地址进行欺骗。使
以太网数据包的源地址、目标地址和ARP通信数量剧增导致网络中断或
中间人攻击。ARP攻击主要存在于局域网中。若其中一台计算机感染
ARP病毒。就会试图通过ARP欺骗截获局域网内其他计算机的信息,造成局域网内的
计算机通信故障。
假设有台主机A,B,C位于同一个
交换式局域网中,监听者主机为A,而主机B、C正在进行通信,A希望能嗅探到B与C之间的通信数据,于是A就可以伪装成C对B做ARP欺骗,向B发送伪造的ARP应答包,在这个伪造的应答包中,IP地址为C的IP地址,而MAC地址为A的MAC地址:B在接收到这个应答包后,会刷新它的ARP缓存,这样在B的ARP缓存表中就出现了C的IP地址对应的是A的MAC地址,说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址,这样,B想要发送给C的数据实际上却发送给了A,这样就达到了嗅探的目的。黑客就可以利用这种手段盗取网络上的重要信息。
2、IP地址冲突
当网络内部有计算机中了ARP病毒,网络内其他计算机就会经常弹出IP地址冲突的警告:这是怎么产生的呢?比如某主机B规定IP地址为192.168.1.18,如果它处于开机状态,那么其他主机D也把它的IP地址改为192.168.1.18就会造成IP地址冲突。其原理就是:主机D在连接网络(或更改IP地址)的时候它就会向网络内部发送ARP广播包,告诉其他计算机自己的IP地址。如果网络内部存在相同IP地址的主机B,那么B就会通过ARP来作出应答,当D接收到这个应答数据包后,D就会跳出IP地址冲突的警告,B也会弹出IP地址冲突警告:因此用ARP欺骗可以来伪造这个ARPReply,使目标主机一直受到IP地址冲突警告的困扰。
3、阻止目标的数据包通过网关
比如在一个局域网内通过网关上网,那么局域网内部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。如果该记录被ARP病毒更改,那么该计算机向外发送的数据包就会发送到了错误的网关硬件地址上。这样,该计算机就无法上网了。
攻击分类
1、ARP泛洪攻击
通过向网关发送大量ARP报文,导致网关无法正常响应。首先发送大量的ARP请求报文,然后又发送大量虚假的ARP响应报文,从而造成网关部分的
CPU利用率上升难以响应正常服务请求,而且网关还会被错误的ARP表充满导致无法更新维护正常ARP表,消耗
网络带宽资源。
2、ARP欺骗主机的攻击
ARP欺骗主机的攻击也是ARP众多攻击类型中很常见的一种。攻击者通过ARP欺骗使得局域网内被攻击主机发送给网关的流量信息实际上都发送给攻击者。主机刷新自己的ARP使得在自己的ARP缓存表中对应的MAC为攻击者的MAC,这样一来其他用户要通过网关发送出去的
数据流就会发往主机这里,这样就会造成用户的
数据外泄。
3、欺骗网关的攻击
欺骗网关就是把别的主机发送给网关的数据通过欺骗网关的形式使得这些数据通过网关发送给攻击者。这种攻击目标选择的不是个人主机而是局域网的网关,这样就会攻击者源源不断的获取局域网内其他用户的数据.造成数据的泄露,同时用户电脑中
病毒的概率也会提升。
中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。
5、IP地址冲突攻击
通过对局域网中的物理主机进行扫描,扫描出局域网中的物理主机的MAC地址,然后根据物理主机的MAC进行攻击,导致局域网内的主机产生IP地址冲突,影响用户的网络正常使用。
攻击演化
初期:ARP欺骗
这种有目的的发布错误ARP
广播包的行为,被称为ARP欺骗。ARP欺骗,最初为黑客所用,成为黑客窃取
网络数据的主要手段。黑客通过发布错误的ARP广播包,阻断正常通信,并将自己所用的电脑伪装成别人的电脑,这样原本发往其他电脑的数据,就发到了黑客的电脑上,达到窃取数据的目的。
中期:ARP恶意攻击
后来,有人利用这一原理,制作了一些所谓的“管理软件”,例如
网络剪刀手、执法官、终结者等,这样就导致了ARP恶意攻击的泛滥。往往使用这种软件的人,以
恶意破坏为目的,多是为了让别人断线,逞一时之快。
特别是在网吧中,或者因为
商业竞争的目的、或者因为个人无聊泄愤,造成恶意ARP攻击泛滥。
随着网吧经营者摸索出禁用这些特定软件的方法,这股风潮也就渐渐平息下去了。
末期:综合的ARP攻击
最近这一波ARP攻击潮,其目的、方式多样化,冲击力度、影响力也比前
两个阶段大很多。
首先是病毒加入了ARP攻击的行列。以前的病毒攻击网络以
广域网为主,最有效的攻击方式是
DDOS攻击。但是随着防范能力的提高,病毒制造者将目光投向局域网,开始尝试ARP攻击,例如最近流行的
威金病毒,ARP攻击是其使用的攻击手段之一。
相对病毒而言,盗号程序对网吧运营的困惑更大。盗号程序是为了窃取用户账号
密码数据而进行ARP欺骗,同时又会影响到其他
电脑上网。
欺骗攻击
ARP欺骗原理
ARP欺骗是通过冒充网关或其他主机使得到达网关或主机的流量通过攻击手段进行转发。从而控制流量或得到机密信息。ARP欺骗不是真正使网络无法正常通信,而是ARP欺骗发送
虚假信息给局域网中其他的主机,这些信息中包含网关的IP地址和主机的MAC地址;并且也发送了ARP应答给网关,当局域网中主机和网关收到ARP应答更新ARP表后,主机和网关之间的流量就需要通过攻击主机进行转发。
基本形式
中间人攻击
中间人攻击是最典型的攻击之一,受到黑客的中间人攻击,可能会严重危害服务器和用户。中间人攻击就是攻击者扮演中间人并且实施攻击。它有时被称为monkey-in-the-middle攻击或man-in-the-mobile攻击,是
网络监听的一种方式。攻击者进入两台通信的计算机之间,这样他就可以完成网络数据包(以太网数据包)嗅探和分析,中间人计算机将在两台互相通信的目的主机之间转发数据包,而两台目的主机对此毫无察觉。中间人攻击方式不仅对计算机有效,还可以扩展到路由器和网关设备,从而在路由器与主机之间使用中间人攻击。
克隆攻击
克隆攻击是另外一种ARP欺骗的方式。我们已经可以通过硬件或
软件工具来修改
网络接口的MAC地址,
Linux用户甚至只需要用
ifconfig命令修改一个参数就能修改网络接口的MAC地址。攻击者通过
拒绝服务攻击使目标主机与外界失去联系,然后攻击者将自己的IP和MAC地址改成
目标机的IP和MAC地址,这样攻击者的主机就成为和目标机一样的副本。
攻击防护
1)不要把网络
信任关系单纯地建立在IP基础上或MAC基础上(
RARP同样存在欺骗的问题),应在网络中架设
DHCP服务器,绑定网关与客户端IP+MAC,该做法需要注意的是要保证网络中的dhcp服务器相互之间不冲突。
2)添加静态的ARP映射表,不让主机刷新设定好的映射表,该做法适用于网络中主机位置稳定,不适用在主机更换频繁的局域网中。
3)停止使用ARP,将ARP作为永久条目保存在映射表中。
4)架设ARP服务器。通过该服务器查找自己的ARP映射表来响应其他机器的ARP广播。
5)IP的传输使用“proxy”代理。
6)使用防火墙等连续监控网络。注意有使用
SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。