2024年3月12日发(作者:)
地址解析协议病毒攻击与防御分析
李芳;夏宇
【摘 要】ARP欺骗是通过伪造IP地址和MAC地址来实现的.能够在网络中产生
大量的ARP通信量使网络阻塞,在一个局域网(LAN)中感染了ARP欺骗的计算机病
毒感染会导致整个局域网(LAN)通信中断.分析并找到合适的防御方法可以大大减少
的问题的发生.
【期刊名称】《软件》
【年(卷),期】2013(034)002
【总页数】3页(P121-123)
【关键词】ARP;攻击;分析;防御;技术
【作 者】李芳;夏宇
【作者单位】湖北理工学院计算机学院 435003
【正文语种】中 文
【中图分类】TN915
0 引言
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。是一种
将IP地址转化成物理地址的协议。ARP协议的基本功能为了确保通信,通过目标
机器的IP地址,查询目标机器的MAC地址。每台主机在自己的ARP缓冲区构建
一个ARP列表,显示IP地址和MAC地址的对应关系。当源主机需要一个数据包发
送到目的主机,将先检查自己的ARP列表是否有相应的IP地址对应的MAC地址,
如果有就直接发送数据包到MAC地址;如果查不到,就向本地网段广播起一个
ARP请求包,通过此目的主机查询它的MAC地址。ARP请求包括源主机的IP地
址和硬件地址、目的主机的IP地址。网络的所有主机接收这个ARP请求,将检查
如果目的IP和它自己的IP地址是否相同。如果不同就忽略这个数据包;如果相同,
该主机就会将发送端的IP地址和MAC地址添加到自己的ARP映射列表中,如果
地址解析协议表中已经有这个IP的信息,就会将其覆盖,然后发送一个ARP响应
数据包给源主机,告诉对方自己是它需要查找的MAC地址;源主机在收到ARP
响应包后,将得到的目的主机的IP地址和MAC地址的ARP映射添加到列表中,
并使用这些信息来开始传输数据 。如图1:
图1
要发送网络包给192.168.2.1,在局域网发出广播包“192.168.2.1的MAC地址。
其他机器不回应,只有192.168.2.1回应“192.168.2.1的MAC地址是00-aa-
00-62-c6-09”。从上面可以看出,ARP协议的基础就是信任局域网内所有的人,
那么就很容易实现在以太网上的ARP欺骗。
1 ARP Spoofing攻击原理分析
ARP攻击是通过伪造IP地址和MAC地址的ARP欺骗,能够在网络中产生很多的
ARP通信量使网络阻塞,攻击者只要不断发送假的ARP应答数据包可以改变目标
主机的IP - MAC条目,ARP攻击只要开始将导致局域网内计算机无法其他计算机
和通信,而且网络对此种病毒没有任何耐受度,只要在局域网中存在一台电脑感染
ARP欺骗的,会导致整个局域网(LAN)通信中断。
假设在一个局域网中,一个交换机连接了3台机器,依次是计算机X,Y,Z
X的地址为:IP:192.168.2.1 MAC: XX-XX-XX-XXXX-XX
Y的 地 址 为:IP:192.168.2.2 MAC: YY-YY-YYYY-YY-YY
Z的 地 址 为:IP:192.168.2.3 MAC: ZZ-ZZ-ZZ-ZZZZ-ZZ
我们在X机器上运行ARP-A,可以看到ARP缓存表出现如下内容。
ARP欺骗程序在计算机Y上运行,来发送ARP欺骗包。Y向X发送一个自己假的
ARP应答,而这个回答中的信息为发送方IP地址192.168.10.3(Z的IP地址),
MAC地址是TTTT-TT-TT-TT-TT(Z的MAC地址本来应该是ZZ-ZZZZ-ZZ-ZZ-
ZZ,这里被造假了)当X得到Y伪造ARP响应,将更新本地ARP缓存。而且X不
知道这个数据是从Y发送过来的。欺骗后再次在X计算机上运行ARP-A来查询
ARP缓存信息。会找到正确的信息现在已经呈现出了错误。
当一个局域网(LAN),一台机器一次又一次的其他机器,特别是向网关,送这样的无效
假ARP响应包时就会严重的堵塞网络。由于网关MAC地址错误,所以在网络中
计算机发来的数据无法正常到达网关,这样就没法正常上网。无法访问外网的问题
就会出现。因为很多时候,网关也控制局域网LAN上网,所以此时我们的LAN访
问将是一个问题。
2 ARP病毒分析
当局域网内特定的主机运行ARP欺骗的木马程序时,局域网内所有主机和路由器
将会被欺骗,上网的流量必须经过病毒主机。户原来直接通过路由器上网的用户现
在转由通过病毒主机上网,切换的时用户将断线一次。切换到病毒主机上网后,如
果用户已经登陆到服务器,那么病毒主机就会常常伪造断线的假像。由于ARP欺
骗攻击的木马程序会发出很多数据包在局域网内会使通讯拥塞。上网速度会发觉越
来越慢。如果ARP欺骗程序停止运行, 用户会恢复正常从路由器上网。看到在路
由器系统历史信息如下:[3]
这些信息表示用户的MAC地址改变了,在ARP木马程序运行时,局域网内所有
的主机MAC地址变换为了病毒主机的MAC地址(显示出所有MAC New地址
都全部为病毒主机的MAC地址),在路由器的用户统计所有用户的MAC地址数
据都是相同的。
如果是在路由器的“系统历史记录”中看到很多的MAC Old地址都是相同,则说
明局域网内ARP欺骗曾经出现过,当ARP停止欺骗的木马程序运行时,主机恢复
其真正在路由器的MAC地址。
3 ARP防御分析
3.1 静态绑定
IP和MAC静态绑定,绑定网内主机和网关的IP和MAC。欺骗是通过ARP的动
态实时的规则欺骗内网机器,所以把ARP全部设置为静态,这样内网PC的欺骗
可以解决。在网关也同时进行MAC和IP的静态绑定,这种双绑会比较安全。缺
点是每台电脑需绑定,且重新启后仍需绑定,工作量较大,虽然绑定可以通过一个
批处理文件,但也麻烦。
3.2 ARP个人防火墙
在一些杀毒软件中加入了ARP个人防火墙的功能,它是通过在终端电脑上对网关
进行绑定,保证不受网络中假网关的影响,从而保护自身数据不被窃取的措施。
3.3 VLAN和交换机端口绑定
通过划分VLAN和交换机端口绑定,为了防止ARP。这种方法细划了VLAN,减
小广播域的范围,这样ARP只能在小范围内起作用,不会发生大范围影响。与此
同时,网管交换机具有MAC地址自学习的功能,学习完成后,关闭该功能,就可
以把相应的MAC和端口进行绑定,避免了ARP病毒攻击篡改他们的地址。
3.4 PPPoE
网络下面给每一个用户分配一个帐号、密码,上网时必须通过PPPoE认证,这种
方法也是防范ARP措施的一种。PPPoE拨号方式对封包进行了二次封装,使其具
备了不受ARP欺骗影响的使用效果
4 ARP的防御方法
4.1 定位ARP攻击的位置
主动定位方式:因为所有的ARP攻击源都会有其特征——网络卡会处于
Promiscuous[1] Mode模式中,我们可以用一些工具(例如:ARPKiller)跟踪
网内并检测出电脑的网卡的混杂模式,这样就可以找到找 “源头”。确定相关的
好机器后,再做病毒信息收集工作及分析处理。
被动定位方式:a.当ARP攻击在局域网发生时,检查交换机中的动态ARP内容,
然后找到攻击源的MAC地址。B.在局域网中安装相关的网络嗅探工具,定位找到
ARP攻击源的MAC地址。C.直接Ping网关IP,完成Ping后,查看网关IP对应
的MAC地址,这个MAC地址应该就是假的MAC地址。用正确的Mac地址扫
描工具软件可以得到PC的真实的IP地址和MAC地址,如果出现“ARP攻击”,
可以找到装有ARP攻击的PC的IP、机器名和MAC地址。[2]其相关的命令:
“nbtscan-r 192.168.12.0/24”(搜索整个192.168.12.0/24网段, 即
192.168.12.1-192.168.12.254); 或“nbtscan 192.168.12.25-137” 搜 索
192.168.12.25-137 网 段, 即192.168.16.25-192.168.12.137。输出结果第一
列是IP地址,后面是MAC地址。假如查找一台MAC地址为00-0A-EB-DB-03-
D2的主机,在CMD下运行nbtscan -r 192.168.1.1/24通过查找IP-MAC对应
表就可以找到IP地址了。
4.2 防御方法
1)使用三层交换机(因为可防御ARP攻击),绑定端口-MAC-IP,限制ARP流
量,发现并自动隔离ARP攻击端口,合理划分VLAN,彻底阻止偷窃IP、MAC
地址,大大减少了ARP的攻击。
2)对于频繁爆发病毒的网络,需要做Internet访问控制,限制用户对网络的访问。
此类ARP攻击程序通常从互联网下载到用户终端,如果能够加强用户上网的访问
控制,可以大大减少这些问题。
5 ARP欺骗实测分析及解决
病毒现象:在局域网(LAN)中中毒的电脑发送虚假响应包进行APR欺骗,其他客户
不能正常获得真实网关及MAC地址从而无法正常通信。
分析病毒原理BKDR_NPFECT.A病毒样本的三个组件[6]
“病毒组件释放者”:%windows%(108,386
bytes) .
“发ARP欺骗包的驱动程
序”:%windows%(119,808 bytes)
“命令驱动程序发ARP欺骗包的控制者”:%windows%
(39,952 bytes)
5.1 病毒运行原理
文件 执行时会释放两个组件 和。
释放组件后就会停止运行。这时病毒会假装成winPcap的驱动程
序,并提供winPcap的功能。 客户原先的winPcap, 两个文件将会被病毒
文件所覆盖。然后将注册为内核级的驱动设备。
“NetGroup Packet Filter Driver”, 还负责发送指令来操作驱动程
序。从病毒代码中获取相关的信息:
负责监督 .,并将注册为自启动程序:
5.2 简单的反病毒方案
可以按下列顺序删除病毒的相关组件
1) 删除 ”病毒组件释放者”%windows%
2) 删除 ”发ARP欺骗包的驱动程序” %windows%
3) 删除 ”命令驱动程序发ARP欺骗包的控制者”
4 )删除”病毒的假驱动程序”的注册表服务项:
参考文献
[1]梁亦昭;局域网中的ARP欺骗防御;青海电力;2009
[2王明;浅谈局域网中ARP欺骗攻击及安全防范;硅谷;2009
[3]周军;ARP欺骗原理及防治;镇江高专学报;2007
[4]张道军;吴银芳;校园网络中ARP病毒的综合治理[J];网络安全技术与应用;
2007年09期
[5]林鹏飞;论如何防范ARP的攻击[J];才智;2010年11期
[6]王毓梁;基于ARP协议的攻击与防范;仪器仪表用户;2007


发布评论