在接入模式下实现业务服务器地址防欺骗的方法

文档序号:7954154阅读:215来源:国知局
专利名称:在接入模式下实现业务服务器地址防欺骗的方法
技术领域
本发明涉及计算机网络信息安全技术领域,具体涉及一种在接入
网的接入节点AN (Access Node)上,实现IPoE (IP over Ethernet) 接入模式下对SS(Service Server,业务服务器)的MAC(Media Access Control,介质访问控制)地址防欺骗的方法。
背景技术
随着xDSL (Digital Subscriber Loop,数字用户环线,包括多种 类型)技术被广泛地使用,越来越多的家庭用户或者企业用户通过 xDSL技术连接到公共网络上。 一方面,这极大地方便了人们的生活。 另一方面,大量用户的使用,也使得公共网络遭受了前所未有的安全 威胁。其中,SS的MAC地址欺骗就是一种严重的DoS (Denial of Service,拒绝服务)安全攻击。
现有技术中,SS—般是指在IPoE接入模式下,终端用户必须使 用其提供的服务才能上网的设备,其包括DHCP Server (DHCP服务 器)、DHCP Relay (DHCP路由器)和DGW (Default Gateway,默
认网关)。
IPoE是当前最主要的宽带接入方式之一,而且随着IPTV等业务 的开展,IPoE接入将会被越来越广泛地使用。在IPoE接入模式下的 用户可以进一步细分成两类零售(wholesale)用户和批租(retail) 用户。
一般来说,为了上网,零售用户需要完成下面两件事情 1、向DHCP (Dynamic Host Configuration Protocol,动态主机配 置协议)Server获取主机的配置信息,配置信息包括用户IP地址、 默认网关IP地址等等。如果DHCP Server和用户不在一个局域网内,
那么需要通过DHCP Relay间接的来获得其配置信息。
2、第一步是获取身份,第二步是找到出口。只有完成以上两个 步骤以后,用户才可能发送自己的应用数据报文。
对于批租用户, 一般他们的IP地址都是固定的,静态地配置了 默认网关的IP地址,不需要向DHCP Server请求配置信息。只需要 完成第二步就可以上网。
从上面的描述不难看出,终端用户可以比较容易地获得SS (即 DHCP Server或DHCP Relay,和默认网关)的MAC地址。如果一个 恶意的用户(或程序)冒充SS的MAC地址,发送数据报文。AN就 会把该MAC地址学习到用户侧端口上,从而造成SS的MAC地址 学习迁移,扰乱设备的报文转发,使得一些用户无法上网,造成DoS 攻击。
为了防止该类型的DoS攻击,可以采用
(一) 静态设置SS的MAC地址。AN将预先知道的SS的MAC 配置到静态MAC地址表项中,使得SS的MAC地址学习不会转移, 这样就防止了恶意用户的DoS攻击。
(二) 用户MAC地址翻译技术。用户源MAC在AN处都被重 新翻译,解释成可信的虚拟MAC地址。MAC地址学习使用翻译后 的可信的虚拟MAC地址。转发也是利用虚拟MAC地址查找目标端 口,不同的是,转发前需要使用原始的MAC地址替换虚拟的MAC 地址。使用MAC地址翻译技术,AN就不可能在用户侧学习到SS 的MAC地址。
以上两种方法虽然可以解决SS的MAC地址防欺骗,但是它们 都存在一定的问题。静态配置方式灵活性太差,需要预先知道SS的 MAC地址。如果SS较多或者变动的话,静态配置将会变得非常繁琐。 MAC地址翻译对硬件技术提出了更高的要求,而且可能造成数据报
文转发的性能损失。MAC地址翻译还会影响其他协议的正常运转,
比如ARP、 DHCP协议等等,其改造成本不容忽视。

发明内容
本发明的目的在于克服已有技术的不足,提出了一种在IPoE接 入模式下,实现SS的MAC地址防欺骗的方法。 为实现上述目的,本发明的技术方案是-
一种在接入模式下实现业务服务器地址防欺骗的方法,该方法是 在DHCP Server, DHCP Relay, DGW和AN上实现的,其特征是该
方法包括下列步骤
A. AN获取DHCP Server或者DHCP Relay的MAC地址,并且 把MAC地址设置到AN的静态MAC地址表项中;
B. AN获取默认网关的MAC地址,并且把这些MAC地址设置 到AN的静态MAC地址表项中;
上述步骤A进一步包括
Al. AN通过消息定时器定期地发起DHCP配置流程,广播DHCP Discovery报文;
A2.网络上的DHCP Server或者DHCP Relay对Discovery报文做 出响应,回传DHCP Offer报文;
A3. AN接受到Offer报文,提取其中的DHCP Server或者DHCP Relay的MAC地址;
A4. AN把这些MAC地址设置到AN的静态MAC地址表中;
上述步骤B进一步包括
Bl. AN实时检测用户与DHCP Server或者DHCP Relay交互的 DHCP协议报文;获取其中设置的默认网关的IP地址;
B2. AN启动ARP协议,获取默认网关IP地址对应的MAC地址; B3.AN获取到默认网关的MAC地址后,将该MAC地址写入到 AN的静态MAC地址表项中。 所述步骤B之后进一步包括
C.将MAC地址表项中的MAC地址绑定到线路卡的网络侧接口 。
所述步骤A4之后进一步包括
A5. AN通过DHCP MAC地址老化定时器定期的检查DHCP Server或者DHCP Relay的MAC地址是否老化,如果老化就从静态 MAC地址表中删除该表项。
所述步骤B3之后进一步包括
B4.AN通过默认网关MAC地址老化定时器定期维护默认网关IP 地址的有效性;如果无效,则从MAC静态地址表中删除IP地址对 应的MAC地址表项。
上述步骤A2进一步包括
A21.如果网络上存在的是DHCP Server,那么直接回送DHCP Offer;
A22.如果网络上存在的是DHCP Relay,那么DHCP Relay需要和 外部网络的DHCP Server交互,从DHCP Server获取Offer报文,然
后回送这个报文。
上述步骤A22进一步包括
A221. DHCP Relay接受到DHCP Discovery报文,按照DHCP Relay协议,对该报文就行修改,然后发送给外部网络的DHCP Server;
A222. DHCP Server接受到DHCP Discovery报文,回送DHCP Offer;
A223. DHCP Relay接受到来自DHCP Server的DHCP Offer报文; 按照DHCP Relay协议,Relay对Offer报文进行修改,然后回送给 ANo
所述的消息定时器的周期设置为10分钟。
所述DHCP MAC地址老化定时器的周期大于消息定时器的周期。
该CSCC (Core Switch Control Card,核心交换控制卡)发送的 DHCP Discovery、 ARP请求报文只发向网络侧端口 ,且CSCC只处 理来自网络侧端口的DHCPOffer、 ARP响应报文。
每当CSCC检测到新的LC (Line Card,线路卡),在LC业务流 通之前,首先将已经获取的SSMAC地址设置到LC之中;
设置最大的DHCP信息表、DGW信息表表项的个数,当CSCC 获取的地址个数超过预设的变量时系统告警。
使用本发明的这种方法,可以防止终端用户冒充SS的MAC地 址。否则,AN上SS的MAC地址学习会发生迁移,造成数据报文转 发紊乱,使用户遭受DoS攻击,没有办法使用网络业务。


图1是本发明AN使用DHCP Relay接入网的基本结构示意图; 图2是本发明中AN直接和DHCP Server交互的接入网的基本结 构示意图3是本发明中AN的结构示意图4是本发明中DHCP Relay的MAC地址防欺骗的处理流程图; 图5是本发明中DHCP Server的MAC地址防止欺骗的处理流程
图6是本发明中默认网关DGW的MAC地址防欺骗的处理流程
具体实施例方式
本发明提供了一种在接入模式下实现业务服务器地址防欺骗的 方法,通过利用现有的DHCP和ARP协议,只对AN系统软件做少
量修改即可达到目的。
为了实施本发明的方法,系统应包括DHCP Server, DHCP Relay,
DGW和AN等设备。且要求DHCP Relay或者DHCP Server, DGW 与AN之间是相互信任的;DHCP Relay与DHCP Server也是相互信 任的。 一般来说,DHCP Server、 DHCP Relay、 DGW和AN都被运
营商所有,甚至是被单一的运营商所有,它们之间的相互信任很大程 度上是满足的。即使它们不相互信任,也可以通过相互认证的方法做 到这一点。
请参阅图1、 2,其中,图1是使用DHCP Relay的接入网组网情 况,而图2是AN直接和DHCP Server交互的接入网组网情况。图中 局域网一般都为以太汇聚网络,IP网络为核心层网络或者外部网络。 DHCP Server是DHCP的服务器,执行用户(主机)的配置,包括给 用户主机分配IP地址,告知缺省网关IP地址等功能。DHCP Relay 用于在以太汇聚网络内没有DHCP Server的时候,它可以中继用户的 DHCP请求,并且把DHCP Server的处理结果再回传给用户,扮演代 理的角色。DGW是用户最终通往外部网络的唯一通道, 一般它是一 个路由网关。
用户也分为两类,普通用户和企业用户,前者一般也称为零售用 户,后者则称为批租用户。批租用户的配置信息预先知道,不需要通 过DHCP Server或者DHCP Relay获得。我们可以把后者看作为前者 的一种特例。因此,下面我们的讨论主要围绕针对普通用户使用接入 网络的情况下,如何做到防止SS的MAC欺骗。
再请参阅图3,该AN是接入节点(比如DSLAM)它主要包括 两个硬件模块:CSCC和实现用户数据的接入和汇聚的LC(Line Card, 线路卡)。该CSCC控制和配置LC、 AN间级联以及上下行数据的交 换,有时也使用NC,可提供丰富的上联接口。该LC完成的是以太 网半桥的功能,其核心部件要么是MAC层交换芯片,要么是网络处 理器。在用户侧,有多个用户端口 PORT_B, PORT_C...PORT—N,
在网络侧只有一个端口 PORT一A,被称为内联端口,该内联端口和 CSCC相连。
正常情况下,SS发出的报文从内联端口进,用户端口出。因此, SS的MAC地址应该被学习到内联端口上。而用户发出的单播报文目 的地址应该属于SS的MAC地址之一,从用户端口进来的数据报文 应该从内联端口上行转发出去。
如果用户冒充SS的MAC地址,也就说,用户端口收到的报文 的源MAC地址是SS的MAC地址,这就会造成SS的MAC学习从 内联端口迁移到用户端口上。假定这个时候正常用户数据报文从其他 用户端口发送上来,LC査询到目标端口是用户侧端口, LC要么转发 该数据报文到用户端口,要么丢弃(如果端口隔离功能打开)。LC的 上述转发方式和预期的转发方式相比已经发生了变化,出现紊乱状 态,造成合法用户无法上网。
本发明实现MAC地址防欺骗的方法是:CSCC通过DHCP协议, 学习到DHCP Server或者DHCP Relay的MAC地址。CSCC通过检 测用户与DHCP Server的交互发现DGW的IP地址,然后使用ARP 获取DGW的MAC地址。再获取到这些SS的MAC地址后,再将它 们设置到各个LC的静态MAC地址表上,并且和内联端口绑定在一 起。因为是静态MAC地址,所以SS MAC地址的学习不会发生迁移, 从而防止了 SS MAC地址欺骗。
在实际实现上述思想时,我们需要考虑如何保存SS MAC地址, DGW的IP地址;如果保证这些信息的有效性问题,也就是说,如果 某些SS已经停止服务,那么它们的信息就是无效的,就应该将相关 信息从AN中清楚掉。为此,我们需要使用如下的几个定时器-* MS_Timer (Message Timer,消息定时器)用于控制CSCC周 期地发出DHCP Discovery分组。
* DMA—Timer (DHCP MAC Aging Timer, DHCP MAC老化定时 器)该DMAJTimer个数和获取到的DHCP Server或DHCP Relay的MAC个数一致,主要用于维护DHCP Server或者 DHCP Relay的MAC地址的有效期。
* DGW—IA_Timer (Default Gateway IP Aging Timer, DGW IP地 址老化定时器)用于维护默认网关IP地址的有效期。
參DGW—MA一Timer (Default Gateway MAC Aging Timer, DGW MAC地址老化定时器):用于定期刷新默认网关的MAC地址。
在CSCC上还需要维护两张表
* DHCP信息表
DHCP Server/Relay MACDMAJTimer* DGW信息表DGW IPDGW一IA一TimerDGW MACDGW—MA—Timer
本方法包括两个独立的处理过程 一个是DHCP Server/Relay MAC获取、设置过程,另一个是DGWMAC获取、设置过程。
一、DHCP Server/Relay MAC获取、设置过程
由于DHCP Server可以放置在不同的网络上,它可以和AN在一 个局域网内,也可以在不同的网络内,后者需要使用DHCP Relay。 对于使用DHCP Relay的场景,我们只需要防止DHCP Relay的MAC 地址欺骗,因为DHCP Server对用户是不可见的。请参阅图4, DHCP Relay的MAC地址防欺骗的处理流程包括如下的步骤
1 、 MS_Timer超时触发CSCC发送DHCP Discovery广播报文;
2、 DHCP Relay收到DHCP Discovery报文后,按照DHCP Relay 协议(参见RFC1542)的定义修改Discovery报文,中继该报文给预 设置的DHCP Server 。
3、 DHCP Server接受到中继后的Discovery报文,处理后,回送 DHCP Offer。
4、 DHCP Relay接受到来自Server的Offer报文,按照DHCP Relay
协议对该报文进行修改,然后回送该报文给cscc。
5、 CSCC收到DHCP Offer报文以后,从中获取源MAC地址。 将该地址和DHCP信息表对比
a) 如果该地址没有在DHCP信息表中存在,说明该地址是一 个新的地址。
i. 创建一个DMAJTimer。
ii. 创建一个DHCP信息表表项<获取的MAC地址,新创 建的DMA—Timer>。
iii. 把该MAC地址设置到各个LC的静态MAC地址表中, 并且和LC的内联端口绑定。
b) 如果该地址在DHCP信息表中存在,那么说明该地址是一 个旧的地址。这种情况下,只需要刷新对应表项的 DMA—Timer 。
6、 DMAJTimer超时,触发DMA—Timer对应的流程。
a) CSCC删除DHCP信息表中对应的MAC表项。
b) 删除所有LC的MAC地址表上对应的MAC地址表项。 不同于前面几步,上面的步骤6是一个独立的步骤,而1-5步是
由MS_Timer定时器触发的。
MS—Timer的周期不宜过短,否则可能造成DHCP Server或 DHCPRelay处理能力下降,被误以为DHCP配置请求的暴力攻击。 MS_Timer周期可以设置为10分钟左右。
BMA—Timer的周期必须大于MSJTimer的周期,否则, BMA—Timer还没有来得及等到MS—Timer触发BMA_Timer刷新就己
经被销毁了。考虑到可靠性方面的因素,建议BMA—Timer的周期至 少为MSJTimer的两倍时长以上。
而另外一种情况,当DHCP Server和AN在一个局域网内时,我 们需要防止DHCP Server的MAC地址欺骗。请参阅图5 , DHCP Server 的MAC地址防欺骗的处理流程包括如下的步骤
1 、 MS—Timer超时触发CSCC发送DHCP Discovery广播报文;
2、 DHCP Server接受到来自CSCC的Discovery报文,按照 DHCP协议(RFC2131)对该报文进行修改,然后回送该报 文给CSCC。
3、 CSCC收到DHCP Offer报文以后,从中获取源MAC地址。 将该地址和DHCP信息表对比
a) 如果该地址没有在DHCP信息表中存在,说明该地址是一 个新的地址。
i. 创建一个DMA—Timer。
ii. 创建一个DHCP信息表表项<获取的MAC地址,新创 建的DMA—Timer>。
iii. 把该MAC地址设置到各个LC的静态MAC地址表中, 并且和LC的内联端口绑定。
b) 如果该地址在DHCP信息表中存在,那么说明该地址是一 个旧的地址。这种情况下,只需要刷新对应表项的 DMA—Timer 。
4、 DMA一Timer超时,触发DMA—Timer对应的流程。
a) CSCC删除DHCP信息表中对应的MAC表项
b) 删除所有LC的MAC地址表上对应的MAC地址表项。 不同于前面几步,上面的步骤4是一个独立的步骤,而l-3步是
由MS Timer定时器触发的。
特殊情况下,AN自己可以扮演DHCP Server或者DHCP Relay 的角色。这个时候,可直接将CSCC的MAC地址设置到LC的静态 MAC地址表中。
另外,因为MS—Timer的周期一般比较长,在两个MS一Timer触 发流程之间启动的DHCP Server或者DHCP Relay就可能造成保护的 "盲区"。为此,我们可以进行如下的增强CSCC实时检测用户和 DHCP Server的交互,如果发现新的DHCP Server的MAC地址,那 么立刻执行MSJTimer流程。
二、请参阅图6, DGWMAC获取、设置及防欺骗过程包括如下 的步骤
1、 CSCC实时检测DHCP Ack报文,获取DGW的IP地址。
2、 査询DGW信息表,检査该IP地址的表项是否已经存在。
a) 如果不存在,说明是一个新的IP地址。
i. 发起ARP,査询该IP的MAC地址。创建新的 DGW一IA—Timer和DGW_MA_Timer。
ii. 使用上述信息,增加一个新的DGW信息表项。
iii. 把MAC地址设置到LC的静态MAC地址表项中,并 且和内联端口绑定。
b) 如果存在,说明这是一个旧的IP地址。只需要刷新对应的 DGW_IA_Timer0
3 、 DGW_IA—Timer超时触发如下流程
a) 査询到对应的DGW信息表项。
b) 从LC静态MAC地址表中删除对应的MAC地址表项。
c) 删除DGW信息表对应的 DGW_IA_Timer 和 DGW—MA—Timer。
d) 删除该DGW信息表项。
4、 DGW—MA—Timer触发CSCC重新发起ARP请求。使用从 DGW信息表査询到的IP地址,使用ARP协议获得一个 MAC地址。
a) 如果获取的MAC地址和DGW信息表中保存的MAC — 致,那么不做任何动作;
b) 如果不同,
i. 那么更新DGW信息表,使用新MAC地址代替旧MAC 地址;
ii. 删除LC静态MAC中的旧MAC地址,设置新MAC地址。
DGW_IA—Timer的周期不宜过短,应该和用户的最小租期存在线 性关系。这样可防止因为其周期过短,而对应MAC地址过早地被删 除。DGW—MA—Timer可以设置为系统缺省的MAC地址老化时间。
考虑到安全性,本发明的方法还可以做一些增强,例如
1、 通过设置,该CSCC发送的DHCP Discovery、 ARP请求且报 文只发向网络侧端口,也就是说,不能发向和LC对接的内联端口, CSCC只能处理来自网络侧端口的DHCPOffer、 ARP响应报文。
2、 通过设置,使CSCC每当检测到新的LC,在LC业务流通之 前,首先将已经获取的SSMAC地址设置到LC之中。
3、 通过设置最大的DHCP信息表、DGW信息表表项的个数, 如果CSCC获取的地址个数超过预设的变量,系统告警。
综上所述仅为本发明的较佳实施例而已,并非用来限定本发明的 实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修 饰,都应为本发明的技术范畴。
权利要求
1、一种在接入模式下实现业务服务器地址防欺骗的方法,该方法是在DHCP Server,DHCP Relay,DGW和AN上实现的,其特征是该方法包括下列步骤A.AN获取DHCP Server或者DHCP Relay的MAC地址,并且把MAC地址设置到AN的静态MAC地址表项中;B.AN获取默认网关的MAC地址,并且把这些MAC地址设置到AN的静态MAC地址表项中;上述步骤A进一步包括A1.AN通过消息定时器定期地发起DHCP配置流程,广播DHCPDiscovery报文;A2.网络上的DHCP Server或者DHCP Relay对Discovery报文做出响应,回传DHCP Offer报文;A3.AN接受到Offer报文,提取其中的DHCP Server或者DHCPRelay的MAC地址;A4.AN把这些MAC地址设置到AN的静态MAC地址表中;上述步骤B进一步包括B1.AN实时检测用户与DHCP Server或者DHCP Relay交互的DHCP协议报文;获取其中设置的默认网关的IP地址;B2.AN启动ARP协议,获取默认网关IP地址对应的MAC地址;B3.AN获取到默认网关的MAC地址后,将该MAC地址写入到AN的静态MAC地址表项中。
2、 根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是所述步骤B之后进一步包括C. 将MAC地址表项中的MAC地址绑定到线路卡的网络侧接口 。
3、 根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是所述步骤A4之后进一步包括A5. AN通过DHCP MAC地址老化定时器定期的检査DHCP Server或者DHCP Relay的MAC地址是否老化,如果老化就从静态 MAC地址表中删除该表项。
4、 根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是所述步骤B3之后进一步包括B4.AN通过默认网关MAC地址老化定时器定期维护默认网关IP 地址的有效性;如果无效,则从MAC静态地址表中删除IP地址对 应的MAC地址表项。
5、 根据权利要求1或3所述的在接入模式下实现业务服务器地 址防欺骗的方法,其特征是上述步骤A2进一步包括A21.如果网络上存在的是DHCP Server,那么直接回送DHCP Offer;A22.如果网络上存在的是DHCP Relay,那么DHCP Relay需要和 外部网络的DHCP Server交互,从DHCP Server获取Offer报文,然 后回送这个报文。
6、 根据权利要求5所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是所述上述步骤A22进一步包括A221. DHCP Relay接受到DHCP Discovery报文,按照DHCP Relay协议,对该报文就行修改,然后发送给外部网络的DHCP Server;A222. DHCP Server接受到DHCP Discovery报文,回送DHCP Offer;A223. DHCP Relay接受到来自DHCP Server的DHCP Offer报文; 按照DHCP Relay协议,Relay对Offer报文进行修改,然后回送给 ANo
7、 根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是所述的消息定时器的周期设置为io分钟。
8、 根据权利要求1或3所述的在接入模式下实现业务服务器地 址防欺骗的方法,其特征是所述DHCP MAC地址老化定时器的周期大 于消息定时器的周期。
9、 根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是CSCC发送的DHCP Discovery. ARP请求报 文只发向网络侧端口,且CSCC只处理来自网络侧端口的DHCP Offer、 ARP响应报文。
10、根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是每当CSCC检测到新的LC,在LC业务流通 之前,首先将已经获取的SSMAC地址设置到LC之中。
11、根据权利要求1所述的在接入模式下实现业务服务器地址防 欺骗的方法,其特征是设置最大的DHCP信息表、DGW信息表表 项的个数,当CSCC获取的地址个数超过预设的变量时系统告警。
全文摘要
一种在接入网模式下实现业务服务器地址防欺骗的方法,AN上的CSCC通过DHCP协议,学习到DHCP Server或者DHCP Relay的MAC地址;CSCC通过检测用户与DHCP Server的交互发现DGW的IP地址,然后使用ARP获取DGW的MAC地址;再获取到这些SS的MAC地址后,将它们设置到各个LC的静态MAC地址表上,并且和内联端口绑定在一起;如此,因为是静态MAC地址,所以SS的MAC地址的学习不会发生迁移,从而防止了SS的MAC地址欺骗。该方法有效避免了AN上SS的MAC地址学习会发生迁移,造成数据报文转发紊乱,使用户遭受DoS攻击的情况。
文档编号H04Q3/00GK101098288SQ20061002842
公开日2008年1月2日 申请日期2006年6月30日 优先权日2006年6月30日
发明者王德强, 陈爱民 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1