APP下载

局域网ARP欺骗原理与抵御的研究

2011-09-18刘艳霞

关键词:局域网IP地址路由器

刘艳霞,郑 羽

(山西大同大学煤炭工程学院,山西大同 037003)

局域网ARP欺骗原理与抵御的研究

刘艳霞,郑 羽

(山西大同大学煤炭工程学院,山西大同 037003)

在介绍ARP协议的基础上,分析了ARP欺骗发生的原理,讨论了ARP欺骗的各种攻击形式,提出一种通过在局域网内架设基于RouterOS的PPPoE服务器来抵御ARP欺骗的方法。

局域网;ARP欺骗;RouterOS;PPPoE服务器

ARP欺骗会导致局域网中计算机无法和其他计算机进行正常通讯,并且只要局域网中存在一台感染“ARP欺骗”病毒的计算机,病毒就会迅速感染局域网内其它计算机,并造成整个局域网通讯中断。ARP欺骗系列病毒中影响和危害最为恶劣的是“恶意窃听”病毒,它虽然不会造成局域网内通讯中断,但会使网络产生较大的延时,并且中毒主机会截取局域网内所有的通讯数据向特定的外网用户发送,使得局域网用户的信息和数据安全无法得到保障[1-4]。针对ARP欺骗理,本文提出在局域网内架设基于RouterOS路由的PPPoE服务器,PPPoE拨号上网方式并不基于ARP协议,因此可从底层有效杜绝ARP欺骗。

1 ARP协议概述

1.1 ARP协议简介

在局域网内,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,为了保证通信的顺利进行,需要利用ARP协议(Address Resolution Protocol:地址解析协议)通过目标设备的IP地址,查询目标设备的MAC地址。

1.2 ARP协议的工作原理

ARP协议工作在TCP/IP协议的IP层,每一台安装有TCP/IP协议的主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。若主机A的ARP高速缓存中找不到主机B的信息,它就会向局域网上所有主机都发送一个ARP请求,进行ARP广播。主机A所发送的ARP请求包含了自身的IP地址(假设为:192.168.0.1)和MAC地址(假设为AA-AA-AAAA-AA-AA),以及目标主机B的IP地址(假设为192.168.0.2)。目标主机B在收到的ARP请求中对比自身的IP地址后,会向主机A发送ARP响应,并写入自己的MAC硬件地址(假设为BB-BBBB-BB-BB-BB)。主机A收到主机B的ARP响应后,就更新其ARP高速缓存表,写入主机B的IP地址到硬件地址的映射。同时,主机B也将主机A的IP地址到MAC地址的映射写入自己的ARP高速缓存中。

ARP协议并不只在发送了ARP请求之后才接受应答,它是一种无状态的协议,不管A是否发送请求,只要接收到应答,就会更新自己的高速缓存,这种对局域网内主机完全信任的策略,给局域网的安全埋下隐患。

2 ARP欺骗的攻击方式

ARP欺骗的核心思想利用了ARP协议的请求应答的漏洞,在接收到请求甚至未接收到任何请求的情形下,向目标主机发送一个伪造的源IP-MAC地址映射的应答,使目标主机据此更新其高速缓存,从而达到欺骗其它主机的目的,如图1所示。

①主机A本应向目标主机C发送数据,但主机B通过ARP欺骗不断向主机A发送应答,提供IP地址为192.168.0.3的MAC地址是BB-BBBB-BB-BB-BB这样的信息。

②主机A向主机C发送数据时,接收到主机B的应答,更新自己的ARP缓存,在A的高速缓存中会有这样的映射信息:IP地址是192.168.0.3对应的MAC地址是BB-BB-BB-BB-BB-BB。

③主机A根据自己高速缓存的映射关系,把本应发给目标主机C的数据发给了主机B。

在实际中,ARP欺骗会给局域网造成网络通信异常、重要数据泄露、数据被篡改等严重后果,它的主要攻击手段有:路由器ARP缓存欺骗,网关欺骗和双向欺骗[5-6]。

2.1 路由器ARP表的欺骗

攻击者通过发送伪造的ARP报文通知路由器一系列错误的内网主机MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,因此,外网数据经过路由器后都被发送给错误的MAC地址,造成正常用户无法收到信息。

2.2 网关欺骗

它的原理是冒充网关,使被欺骗的主机向假网关发送数据,而不是通过正常的路由器途径上网。

2.3 中间人攻击

欺骗主机向被欺骗主机发送大量伪造的ARP应答包进行欺骗,当通讯双方被欺骗成功后,自己作为了一个“中间人”的身份。此时被欺骗的主机双方还能正常通讯,只不过它们的通讯过程被欺骗者“窃听”了。

3 架设PPPoE服务器

为抵御ARP欺骗,目前主要采用的方法有IP/MAC地址静态绑定、设置ARP服务器、以及基于硬件的ARP防御,但由于ARP欺骗本身基于IP层协议,使得方法不足以抵御ARP欺骗及其变种。通过抓取PPPoE认证阶段的包来分析,认证的前2个包是这样的:客户端发出以太网广播包,寻找PPPoE服务器(即:PADI包)服务器用PADO包回应,此时不再是广播了。目的MAC为客户端,源MAC为PPPoE服务器。客户端得到服务器的MAC,正常的通讯就开始了。由于PPPoE根本就没用到ARP协议,而是使用PADI包,所以能够彻底解决ARP欺骗。在不改变现有网络拓扑结构的基础上,增加一台PPPoE服务器,让局域网中的用户通过拨号的方式来访问网络,这样就可以从底层协议上直接杜绝ARP欺骗。

3.1 RouterOS系统简介

MikroTik RouterOS是基于Linux独立操作平台的路由器,它可将标准的PC电脑变成功能强大的路由器,特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,并支持防火墙、PPPoE,VPN等多种服务器的建立。RouterOS可通过客户端利用WinBox进行连接并进行相应设置。

3.2 PPPoE服务器简介

PPPoE(Point-to-Point Protocol over Ethernet)协议可以使以太网的主机通过一个简单的桥接设备连到一个远端的接入集中器上,PPPoE服务器可以通过给内网用户分配账号来实现对内网用户网络使用的管理,结合有些路由器具备的上网行为管理功能和带宽管理功能,通常还能对用户的进行上网行为的管理。

3.3 架设PPPoE服务器

客户端通过WinBox连接RouterOS(以RouterOS 3.2为例),设置方法如下:

①在RouterOS中建立地址池,定义局域网内客户端IP地址范围,为客户端动态分配IP地址。

IP>Pool

Name:PPPoE-Pool

Address:192.68.0.10~192.168.0.254

②在PPP中为PPPoE服务添加一个新的Profile配置文件。

PPP>Profiles

General:

Name:PPPoE-Profile

Local Address:192.168.0.1

Remote Address:PPPoE-Pool(选择①中建立的地址池)

DNS Server:XXX.XXX.XXX.XXX(输入当地DNS服务器IP地址)

图1 ARP欺骗原理

Use Encryption:yes(加密)

Change TCP MSS:yes(提高传输效率)

Limits:Rate Limit(rx/tx)(设定下载/上传速度限制)

Only One:yes(相同用户名只允许连接一次)

③在PPP的Secrets中添加拨号用户,建立用户账户名和密码(根据客户端数量建立相应的账户)。

PPP>Secrets

Name:ppp01

Password:ppp01

Service:PPPoE

Profile:PPPoE-Profile

④添加PPPoE服务,如图2所示。

Service Name:PPPoE

Interface:LAN(选择内网网卡)

Default profile:PPPoE-Profile

勾选“One Session Per Host”,每次只允许一个主机进程。

⑤设置NAT(网络地址转换)

图2 PPPoE服务器设置

P>Firewall>NAT

Chain:srcnat(对源地址作NAT)

Src。Adress:192.168.0.0/24(地址池的网络号和掩码)

Out.Interface:WAN(选择外网网卡)

Action:masquerade(IP伪装,共享上网)。

PPPoE服务器架设好后,在客户端新建宽带连接,服务器名填“PPPoE”,用户名和密码均为“ppp01”,拨号成功后即可上网,用ipconfig命令可得到如下信息:

Description:WAN(PPP/SLIP)Interface

Physical Address:00-16-EC-DB-D7-6F

Dhcp Enabled:No

IP Address:192.168.0.98

Subnet Mask:255.255.255.255

Default Gateway:192.168.0.98

DNS Servers:202.99.192.68

⑥禁止网络共享

为防止局域网内由于共享文件引发ARP欺骗类病毒传播,还应禁止局域网内各计算机的文件共享和打印机共享等网络共享服务。如需计算机之间传送文件,可在服务器端架设WWW服务器或FTP服务器,提供网络硬盘类型的服务程序等,统一对传送的文件进行管理。

4 结束语

架设基于RouterOS的PPPoE服务器可以从根本上解决ARP欺骗,从而保证了局域网内计算机的正常运行和网络访问,也保护了计算机内重要数据和个人信息不会泄露,而且通过设置PPPoE,还可以控制用户的登录和用户上传下载流量,对于数据的管理也起到了很好的作用。

[1]李建萍,陆建德.交换网ARP安全防御系统的分析与设计[J].微计算机信息,2010,26(24):50-52.

[2]金星.基于ARP的网络攻击与防御[J].计算机安全,2010(9):60-61.

[3]乐德广,郭东辉,吴伯僖.PPPoE技术及其在宽带接入系统中的应用[J].计算机应用研究,2003,20(3):130-132.

[4]马莉莉,罗继东.一种PPPoE环境搭建方法[J].微计算机信息,2010,26(21):184-185.

[5]李兢,许勇.ARP协议的安全漏洞及抵御分析[J].计算机系统应用,2010,19(3):221-225.

[6]秦丰林,段海新,郭汝廷.ARP欺骗的监测与防范技术综述[J].计算机应用研究,2009,26(1):30-33.

〔编辑 高海〕

Research of Arp Spoofing and Protection of LAN

LIU Yan-xia,ZHENG Yu
(School of Coal Engineering,Shanxi Datong University,Datong Shanxi,037003)

Based on an introduction to the ARP,this paper analyzed the theory of ARP spoofing and discussed all kinds of the attacking forms.By using RouterOS,it presented a method that erect PPPoE Server in LAN to protect ARP spoofing.

LAN;ARP spoofing;RouterOS;PPPoE Server

TP309

A

1674-0874(2011)03-0014-03

2011-01-20

刘艳霞(1973-),女,山西大同人,讲师,研究方向:计算机应用。

猜你喜欢

局域网IP地址路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
轨道交通车-地通信无线局域网技术应用
铁路远动系统几种组网方式IP地址的申请和设置
基于VPN的机房局域网远程控制系统
IP地址切换器(IPCFG)
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化