2008年对于反病毒战线来说, 绝对不是个安宁的一年, 网络病毒的大规模发作, 给全国的网民带来的, 绝不仅仅是中毒后重做系统这么简单, 重要数据丢失, 网上银行被窃, 网游帐号装备被偷等等, 网络病毒的危害性, 已经远远超过了人们的想象, 而做为绝大多数网民的上网场所, 网吧以及企业的局域网络, 则首当其冲成为了网络病毒的重灾区。
网络病毒之所以能以惊人的速度传播, 是因为它们都有极强的利用漏洞攻击网络上其他机器的能力, 而局域网ARP漏洞攻击, 则是目前暴发流行的各种网络病毒最常用的招数, 包括目前正在大规模暴发的“机器狗”, 也正是利用ARP漏洞在局域网中传染开去。
ARP(Address Resolution Protocol)又被称为地址转换协议, 是用来实现 IP 地址与本地网络认识的物理地址(以太网 MAC 地址)之间的映射。 在以太网络中有一张表格, 通常称为 ARP 缓冲(ARP cache), 来维持每个 MAC 地址与其相应的 IP 地址之间的对应关系。 ARP 提供一种形成该对应关系的规则以及提供双向地址转换。 ARP协议很像一个思想不坚定容易被骗的人, 就像一个快递员, 要送信给"张三", 只在马路上问"张三住那儿?", 并投递给最近和他说"我就是!"或"张三住那间!", 来决定如何投递一样。 在一个人人诚实的地方, 快递员的工作还是能正常进行;但若是旁人看快递物品值钱, 想要欺骗取得的话, 快递员这种工作方式就会带来混乱了。
常见ARP攻击对象有两种, 一是网络网关, 二是局域网上的计算机。 攻击网络网关就好比发送错误的地址信息给快递员, 让快递员失去正确目标, 所有信件无法正常送达;而攻击一般计算机就是直接和人谎称自己就是快递员, 让用户把需要传送的物品传送给发动攻击的计算机。 由于一般的计算机及路由器的ARP协议的意志都不坚定, 因此只要有恶意计算机在局域网持续发出错误的ARP讯息, 就会让计算机及路由器信以为真, 作出错误的传送网络包动作。 一般的ARP欺骗攻击就是以这样的方式, 造成网络运作不正常, 达到盗取用户密码或破坏网络运作的目的。 而要从根本上彻底解决这种欺骗攻击, 唯一的办法就是对局域网中的每台机器包括网关在内进行ARP地址双向绑定。
首先说网关的绑定, 这个比较简单, 一般的网关路由器或者代理软件均有ARP绑定功能, 以笔者使用的路由器为例, 绑定的界面简单直观
选择静态ARP绑定设置后出现表单
在此填入需要绑定的IP地址和MAC地址, 然后保存即可。
若需要对成批的地址进行绑定, 也可以选择ARP映射表, 会列出局域网中所有正在使用的机器的IP和MAC, 方便我们成批的添加绑定
点取“全部导入”, 然后切换回“静态地址绑定”页面, 将要绑定的地址勾中即可
在此特别提请注意的是:网关自己的IP和MAC地址也需要在这里做好绑定。
至此网关部分的ARP绑定工作已经完成, 然而只在网关做绑定, 防护是不完整的, 我们还需要对局域网中的每一台客户机进行单独的绑定。
客户机的绑定工作分成两部分, 一部分是绑定网关, 另一部分是绑定自己。
绑定网关的操作比较简单, 以WINXP为例, 绑定的命令是:
Arp –s (ip) (mac)
比如:arp –s 192.168.0.1 00-14-2A-5F-99-E1
192.168.0.1 为网关路由器的IP地址, 00-14-2A-5F-99-E1 为路由器的MAC地址。
建议将这条命令做成批处理放在启动组里, 方便系统启动时自动运行。
接下来需要绑定的是客户机自己的IP和MAC, 从原理上讲和绑定路由器是一样的操作, 不过考虑到局域网中的客户机一般很多, 要一台一台的查IP和MAC工作量很繁重, 所以我们利用一个批处理来自动完成对每一台客户机的绑定:
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
arp -s %IP% %Mac%
del ipaddr.txt
del ipconfig.txt
del phyaddr.txt
exit
同样也建议将这个批处理放在系统的启动组里, 方便系统启动时自动运行。
接下来可以检查下我们的工作成果, 在CMD命令行下打 arp –a , 提示如下:
Internet Address Physical Address Type
192.168.0.1 00-14-2A-5F-99-E1 static
192.168.0.9 00-0a-eb-4e-6f-67 static
绑定状态为“STATIC”说明绑定成功为静态, 至此大功告成!
其实网络病毒并不可怕, 只要我们做好防护工作, 打好系统补丁, 即使有一天“狼”真的来了, 我们也能将它拒之门外, 确保一方网络平安。
……