一种地址解析协议攻击防范方法、设备和通信网络的制作方法

文档序号:7923825阅读:111来源:国知局
专利名称:一种地址解析协议攻击防范方法、设备和通信网络的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种地址解析协议攻击防范方法、 设备和通信网络。
背景技术
ARP ( Address Resolution Protocol,地址解析协议)由于本身过于简单和 开放,没有任何的安全手段,为非法攻击留下了广阔的空间。ARP攻击可以 造成大面积的局域网用户掉线而上不了网,还可以窃听用户数据,偏l又网上 银行的用户名和密码等一些重要数据。所以,对于防止ARP攻击,保证用户 正常上网,隐私数据不被非法分子窃取,成了当前局域网攻击防范的重中之 重。
攻击方式,针对用户网关的攻击方式主要是改变真实用户的IP (Internet Protocol ,因特网协议)地址和MAC ( Media Access Control ,介质访问控制) 地址的对应关系,导致用户无法接收返回的数据报文;针对用户主机的攻击 方式主要是改变用户网关的IP地址和MAC地址的对应关系,导致用户往外发 送数据时,不能正确发送到网关,从而,造成用户数据被窃取或者断线。
现有技术中,主要是通过ARP双向静态绑定的方法防范以上ARP攻击方 式,该方法是在接入设备(类似于小区或学校的接入设备)和主机上分别进 行ARP静态绑定,可以防止ARP攻击。在主机上绑定网关的IP地址和MAC地 址,可以采取手动绑定的方式,也可以采取软件辅助绑定。该方法可以抵御 现在所有的ARP攻击方式,包括通过网络剪刀手,网络执法官的攻击方式。 在实现本发明的过程中,发明人发现现有技术至少存在以下问题 现有技术所提供的ARP双向静态绑定的技术方案中,配置和维护的工作 量太大,容易出错,而且不容易维护,新用户加入和老用户退出都需要人工在网关设备上进行操作,无形中增加了维护成本和工作量。

发明内容
本发明实施例提供了一种ARP攻击防范方法、设备和通信网络,降低网 络维护难度,提高网络安全性。
为达到上述目的,本发明实施例一方面提出一种ARP攻击防范方法,包 括以下步骤
接收ARP报文,根据所述ARP报文的第一信息,检测预存的至少一个 ARP表项中是否存在包含相同第 一信息的ARP表项;
当存在所述ARP表项时,判断所述ARP表项中的第二信息是否与所述 ARP报文的第二信息相同;
当所述ARP表项的第二信息与所述ARP报文的第二信息不同时,丟弃所 述ARP报文,并记录攻击日志。
另一方面,本发明实施例还提出一种接入网关,包括
接收模块,用于接收ARP报文;
第一检测模块,根据所述接收模块所接收到的ARP报文的第一信息,检 测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项;
第 一判断模块,用于当所述第 一检测模块检测到存在所述ARP表项时, 判断所述ARP表项中的第二信息是否与所述ARP报文的第二信息相同;
记录模块,用于当所述第一判断模块判断所述ARP表项的第二信息与所 述ARP报文的第二信息不同时,记录攻击曰志。
另一方面,本发明实施例还提出一种ARP攻击防范方法,包括以下步骤
当接收到的ARP报文的发送方的第一地址为接入网关的第一地址时,检 测所述发送方的第二地址是否与预存的接入网关第二地址相同;
当所述ARP ^t文的发送方的第二地址与所述预存的接入网关第二地址不 同时,丟弃所述ARP报文。
另一方面,本发明实施例还提出一种交换机,包括
接收模块,用于接收ARP报文;检测模块,用于当所述接收模块所接收到的ARP报文的发送方的第一地
址为接入网关的第 一地址时,检测所述发送方的第二地址是否与预存的接入
网关第二地址相同;
丟弃模块,用于当所述检测模块检测到所述ARP报文的发送方的第二地 址与所述预存的接入网关第二地址不同时,丢弃所述ARP#Jl。
另一方面,本发明实施例还提出一种通信网络,包括交换机、接入网关 和认证服务器
所述交换机,用于当用户端通过第一信息和/或第二信息向所述服务器认 证通过时,根据所述用户端对应的接入网关的信息,生成检验表项,并根据 所述检验表项过滤接收到的ARP报文;
所述接入网关,用于当所述用户端认证通过时,接收所述认证服务器发 送的认证通过消息,并根据所述用户端的信息保存相对应的ARP表项,并根 据所述ARP表项过滤接收到的ARP报文;
所述认证服务器,用于对所述用户端进行认证,并在认证成功后,将所 述用户端的信息通过认证通过消息发送给所述接入网关。
本发明实施例的技术方案具有以下优点,因为采用了整网联动的根据多 种绑定信息进行报文验证方法,从而,根据至少包括第一信息和第二信息的 认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要进行人工维护, 达到了降低网络维护难度,提高网络安全性的效果。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中的一种ARP攻击防范方法的流程示意图2为本发明实施例二中的一种接入网关的结构示意图3为本发明实施例三中的应用在交换机上的一种ARP攻击防范方法的
ii流程示意图4为本发明实施例四中的一种交换机的结构示意图5为本发明实施例五中的一种通信网络的结构示意图6为本发明实施例五中的一种通信网络的网络部署示意图7为本发明实施例七中的用户认证流程示意图8为本发明实施例八中的对伪造的用户ARP净艮文的防范流程示意图9为本发明实施例八中的对伪造的网关ARP报文的防范流程示意图10为本发明实施例九中的接入网关的报文过滤流程示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一提出的一种ARP攻击防范方法的流程示 意图,该方法包括以下步骤
步骤SIOI、接入网关接收ARP报文,并根据该ARP报文的第一信息, 检测预存的至少 一个ARP表项中是否存在包含相同第 一信息的ARP表项。
进一步的,在本步骤之前,还包括
识别ARP,艮文的报文类型;
根据报文类型的识别结果,检测ARP报文是否符合预设的安全规则; 当ARP报文不符合预设的安全规则时,丢弃ARP报文;当ARP报文符 合预设的安全规则时,根据接收到的ARP报文的第一信息,检测预存的至少 一个ARP表项中是否存在包含相同第 一信息的ARP表项。 其中,预设的安全规则具体包括以下内容
当ARP报文为ARP请求报文时,ARP报文的源MAC为单播地址,和/ 或,ARP报文的ETH头的源MAC与ARP报文的发送方MAC相同,和/或, ARP报文的目的IP地址为防火墙地址;
12当ARP报文为ARP响应报文时,ARP报文的目的MAC为单播地址。 相应的,根据上述报文类型的识别结果,本发明实施例所提出的技术方 案中也包含了相应的处理流程。
(1) 如果识别接收到的ARP报文为ARP请求报文,步骤S101的后续 处理流程为
当不存在该ARP表项时,向ARP报文的发送方返回ARP响应报文;向 ARP报文的发送方发送第二 ARP请求报文;根据ARP报文的源信息创建ARP 表项,并标记ARP表项为未完成状态。
当存在该ARP表项时,进一步判断ARP表项是否为网关ARP表项或代 理ARP表项;当ARP表项不是网关ARP表项或代理ARP表项时,丢弃ARP 报文;当ARP表项是网关ARP表项或代理ARP表项时,4丸4亍步骤S102。
(2) 如果识别接收到的ARP纟艮文为ARP响应报文,步骤S101的后续 处理流程为
当不存在ARP表项时,丢弃该ARP报文。
当存在ARP表项时,判断ARP表项的状态是否为未完成状态;当ARP 表项的状态为未完成状态时,标记ARP表项为完成状态;当ARP表项的状态 为完成状态时,识别步骤S102。
步骤S102、接入网关判断ARP表项的第二信息是否与ARP报文的第二 信息相同。
当ARP表项的第二信息与ARP报文的第二信息相同时,更新ARP表项 的老化时间。
当ARP表项的第二信息与ARP报文的第二信息不同时,执行步骤S103。
步骤S103、接入网关丢弃该ARP报文,并记录攻击日志。
其中,接入网关丢弃该ARP报文,并记录攻击日志之后,本方法还包括
向认证服务器上报攻击日志。
进一步的,如果识别接收到的ARP报文为ARP请求报文,在记录攻击日
志之后,本方法还包才舌
向ARP报文的发送方返回ARP响应报文;
13向ARP才艮文的发送方发送第二 ARP请求才艮文;
根据ARP报文的源信息创建ARP表项,并标记该ARP表项为未完成状态。
对于上述的本发明实施例所提出的方法,需要i兌明的是,步骤S101中提
及的预存的至少一个ARP表项具体通过以下步骤生成
接收认证服务器发送的至少一个用户端的认证通过消息; 根据认证通过消息中所包括的至少 一个用户端的信息,生成至少一个
ARP表项。
其中,认证服务器发送的至少一个用户端的认证通过消息具体通过以下 步骤生成
认证服务器接收至少一个用户端通过认证客户端发送的认证请求; i人证服务器4艮据认证请求,对至少 一个用户端进行认证; 当对至少一个用户端i人i正通过时,向至少一个用户端和至少一个用户端
所对应的接入网关发送认证通过消息,认证通过消息中包括至少一个用户端
的信息和至少一个用户端所对应的接入网关的信息。
相应的,用户端根据接收到的认证通过消息保存接入网关的信息,以进
行ARP消息的验证。
其中,用户端的信息具体包括用户端的IP地址、MAC地址和VLAN信
息中的一个或多个;
接入网关的信息具体包括接入网关的IP地址和MAC地址。 进一步的,对于预存的至少一个ARP表项,本方法还包括 接收认证服务器发送的至少一个用户端的下线通知消息; 删除至少 一个用户端所对应的至少 一个ARP表项。 需要进一步指出的是,在本发明实施例所提出的方法的各步骤中,第一
信息和第二信息具体包括以下两种情况
情况一、当ARP报文为ARP请求报文时,第一信息为ARP报文的目的
IP地址,和/或ARP报文的接入端口,和/或ARP报文的VLAN信息,第二信
息为ARP报文的源MAC地址;
14当ARP报文为ARP响应报文时,第一信息为ARP报文的源IP地址,和 /或ARP报文的VLAN信息,第二信息为ARP报文的源MAC地址。
情况二、当ARP报文为ARP请求报文时,第一信息为ARP报文的目的 MAC地址,和/或ARP报文的接入端口 ,和/或ARP报文的VLAN信息,第 二信息为ARP报文的源IP地址;
当ARP报文为ARP响应报文时,第一信息为ARP报文的源MAC地址, 和/或ARP报文的VLAN信息,第二信息为ARP才艮文的源IP地址。
在本发明实施例中,第一信息和第二信息共同组成了 ARP报文的认证信 息,以下实施例也具有相同的设定,需要指出的是,在具体的应用场景中, 第 一信息和第二信息的具体内容可能会存在差别,但只要是能够达到验证 ARP报文安全性的信息都可以作为上述的第一信息和第二信息,这样的变化 并不影响本发明的保护范围。
本发明实施例的技术方案具有以下优点,因为采用了整网联动的根据多 种绑定信息进行报文验证方法,从而,实现了根据至少包括第一信息和第二 信息的认证信息对ARP才良文进行多重过滤,防御ARP攻击,不需要人工控制, 达到了降低网络维护难度,提高网络安全性的效果。
对应本发明实施例一所提出的技术方案,本发明实施例二提出了一种接 入网关,以实现上述方案,其结构示意图如图2所示,具体包括以下模块 接收模块201,用于接收ARP报文;
第一检测模块202,根据接收模块201所接收到的ARP报文的第一信息, 检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项;
第一判断模块203,用于当第一检测模块202检测到存在相应ARP表项 时,判断ARP表项的第二信息是否与AIO^艮文的第二信息相同;
处理模块204 ,用于当第 一判断模块203判断ARP表项的第二信息与ARP 报文的第二信息不同时,丟弃该ARP报文,并记录攻击日志。
进一步的,接入网关还包括
识别模块205,用于识别接收模块201所接收的ARP报文的报文类型;
15笫二检测模块206,用于根据识别模块205的报文类型识别结果,检测接 收模块201所接收的ARP报文是否符合预设的安全规则;
丢弃模块207,用于当第二检测模块206检测到ARP报文不符合预设的 安全规则时,丢弃ARP报文。
进一步的,接入网关还包括以下模块
反向请求模块208,用于向ARP报文的发送方返回ARP响应报文,并向 ARP报文的发送方发送第二 ARP请求报文;
表项处理模块209,用于在反向请求模块208向ARP报文的发送方发送 第二ARP请求报文时,根据ARP报文的源信息创建ARP表项,并标记ARP 表项为未完成状态,并在接收到第二 ARP请求才艮文对应的第二 ARP响应报文 时,标记ARP表项为完成状态。
进一步的,接入网关还包括以下模块
第二判断模块210,用于当识别模块205识别ARP报文为ARP请求报文, 且第 一检测模块202检测存在ARP表项时,判断ARP表项是否为网关ARP 表项或代理ARP表项,当第二判断模块210的判断结果为是时,将该ARP 报文转发给第一判断模块203进行处理,当第二判断模块210的判断结果为 否时,将该ARP报文转发给丢弃模块207进行处理;;
进一步的,接入网关还包括以下模块
第三判断模块211,用于当识别模块205识别ARP报文为ARP响应报文, 且第 一检测模块202检测存在ARP表项时,判断ARP表项的状态是否为未完 成状态,当第三判断模块211的判断结果为是时,将该ARP报文转发给第一 判断模块203进行处理,当第三判断模块211的判断结果为否时,将该ARP 报文转发给状态标记模块212进行处理;
状态标记模块212,用于根据所述第三判断模块的判断结果对ARP表项 进行状态标记处理,当ARP表项的状态是否为未完成状态时,状态标记模块 212标记该ARP表项为完成状态。
进一步的,接入网关还包括以下模块
更新模块213,用于当第 一判断模块203判断ARP表项的第二信息与ARP^J:的第二信息相同时,更新相对应ARP表项的老化时间。
进一步的,丟弃模块207,还用于当第一检测模块202检测到不存在ARP 表项时,丢弃ARP纟艮文。
接收才莫块201,还用于接收认证服务器发送的至少一个用户端的认证通过 消息,或接收认证服务器发送的至少一个用户端的下线通知消息;
表项处理模块209,还用于根据接收模块201接收到的认证通过消息中所 包括的至少一个用户端的信息,生成至少一个ARP表项,或根据接收模块201 接收到的至少 一个用户端的下线通知消息,删除至少 一个用户端所对应的至 少一个ARP表项。
上述模块可以合并为一个模块,也可以进一步拆分成多个子模块,这样 的变化并不影响本发明的保护范围。
本发明实施例的技术方案具有以下优点,因为采用了整网联动的根据多 种绑定信息进行报文验证的接入网关,从而,实现了根据至少包括第一信息 和第二信息的认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要人 工控制,达到了降低网络维护难度,提高网络安全性的效果。
对于本发明实施例一所提出的技术方案,主要是实现在接入网关中,为 了更充分的通过整网联动实现对ARP攻击的防范,本发明实施例三进一步提 出了应用在交换机上的一种ARP攻击防范方法,其流程示意图如图3所示, 包括以下步骤
步骤S301、当接收到的ARP报文的发送方的第一地址为接入网关的第一 地址时,交换机检测发送方的第二地址是否与预存的接入网关的第二地址相 同;
当ARP报文的发送方的第二地址与预存的接入网关的第二地址不同时, 执行步骤S302;
当ARP报文的发送方的第二地址与预存的接入网关的第二地址相同时, 执行步骤S303。
步骤S302、交换机丟弃该ARP报文。
17步骤S3(B、交换机向ARP报文的目的地址转发ARP报文。 在本实施例所提出的方法中,当第一地址为IP地址时,第二地址为MAC
地址;当第 一地址为MAC地址时,第二地址为IP地址。
本发明实施例的技术方案具有以下优点,因为采用了交换机根据多种绑
定信息进行报文验证的方法,从而,实现了根据至少包括第一信息和第二信
息的认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要进行人工维
护,达到了降低网络维护难度,提高网络安全性的效果。
对应本发明实施例三所提出的技术方案,本发明实施例四提出了 一种交 换机,以实现上述方案,其结构示意图如图4所示,具体包括以下模块 接收模块41,用于接收ARP报文;
检测模块42,用于当接收模块41所接收到的ARP报文的发送方的第一 地址为接入网关的第 一地址时,检测发送方的第二地址是否与预存的接入网 关第二地址相同;
丟弃模块43,用于当检测模块42检测到ARP报文的发送方的第二地址 与预存的接入网关第二地址不同时,丢弃ARP报文。 进一步的,交换机中还包括
转发模块44,用于当检测模块42检测到ARP报文的发送方的第二地址 与预存的接入网关第二地址相同时,向ARP报文的目的地址转发ARP报文。
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以 合并为一个模块,也可以进一步拆分成多个子模块,这样的变化并不影响本 发明的保护范围。
在以上本发明各实施例所提出的技术方案的基础上,本发明实施例五提 出了一种通信网络,其结构示意图和网络部署示意图分别如图5和图6所示, 包括交换机2、接入网关3和认证服务器4,结合具体的实施场景,该通信网 络中还包括用户端l,对系统中各设备说明如下
用户端1,包括iU正客户端,用于通过用户端1的IP地址和/或MAC地
18址向认证服务器4进行认证。
其中,用户端1在实际应用中是指需要保护ARP攻击的用户终端,可以 是普通的Windows主机,用户端1上需要安装与认证服务器4相对应的认证 客户端。
交换机2,用于当用户端1认证通过时,根据用户端l对应的接入网关3 的信息,生成检验表项,并根据检验表项过滤接收到的ARP报文。
其中,交换机2在实际应用中具体可以是指普通的二层或者三层交换机, 但是需要该交换机支持MAC地址、IP地址、VLAN绑定。
接入网关3,用于当用户端1认证通过时,接收认证服务器4发送的认证 通过消息,并根据用户端1的信息保存相对应的ARP表项,并根据ARP表项 过滤接收到的ARP报文。
其中,接入网关3在实际应用中需要支持与认证服务器4或由多个认证 服务器4组成的认证服务器群进行联动功能。
进一步的,接入网关3还用于识别接收到的ARP报文的类型,并根据该 ARP报文的类型识别结果,对该ARP报文进行处理;当判断ARP表项与接 收到的ARP报文中的信息不一致时,接入网关3还用于丢弃该ARP报文,并 i己录攻击日志。
认证服务器4,用于对用户端l进行认证,并在认证成功后,将用户端l 的信息通过认证通过消息发送给接入网关3。
其中,认证服务器4在实际应用中是用于提供用户安全认证的服务器。 需要安装认证服务器软件,并可以通过用户端1上安装的认证客户端所上报 的认证信息,对用户端1进行认证。在具体网络中,可以包含多个认证服务 器,组成认证服务器群。
本发明实施例的技术方案具有以下优点,因为采用了整网联动的根据多 种绑定信息进行报文验证的系统,从而,实现了根据至少包括第一信息和第 二信息的认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要进行人 工维护,达到了降低网络维护难度,提高网络安全性的效果。如上图基于上述本发明实施例五所提出的通信系统,本发明实施例六提 出了相应的实现方案,为了实现通过整网联动来对用户进行认证,并对认证
成功的用户及其他网络设备进行ARP攻击的防范,从而保证4矣入用户正常上 网,防止被ARP攻击导致用户断线,对本通信网络中各个相关设备的实现方 案说明如下
用户端1所对应的接入用户主机需要安装与认证服务器4相对应的认证 客户端,该客户端主要功能是利用用户主机的MAC地址向认证服务器4进 行认证,认证通过后能把接入网关IP和接入网关MAC进行静态绑定,当用户 端1受到ARP攻击后,将该攻击的信息以攻击日志的形式上报给认证服务器 或认证服务器群,为管理员提供分析的数据信息。
服务器4进行认证,这样的变化并不影响本发明的保护范围。
具体的,在实际应用中,用户端1中的认证客户端也可以采用用户名和 密码的方式进行认证,但是,此方式需要在发送给认证服务器的认证报文中 带上主机的MAC地址和IP地址。
以上所说明的是认证客户端在本方案中需要实现的功能,在实际应用中, 该客户端还可以具有其他功能,实现多种功能的组合,这样的变化并不影响 本发明的保护范围。
交换机2需要支持IP和MAC绑定,在本发明实施例中所提及的交换机 中的绑定功能是通过类似交换机端口转发表的表项来实现的,该表项中包括 IP、 MAC、 VLAN等基本信息。交换机2把接入网关3的IP和MAC地址进 行绑定,对于收到是接入网关的IP,但是MAC与绑定表不一致的ARP报文, 或MAC地址一致但IP地址不同的ARP报文,在交换机2中实现丢弃功能, 不进行转发,防止接入用户或接入网关被伪造的ARP 4艮文欺骗,造成ARP 攻击。
接入网关3需要支持与认证服务器4或有多个认证服务器组成的认证服 务器群进行联动,提供安全认证、授权、计费等功能。用户端1通过认证客 户端进行认证并通过认证后,认证服务器4向接入网关3发送认证通过指令,
20接入网关3把认证通过的用户的IP地址、MAC地址、VLAN等信息生成静 态的ARP表项。当用户端1下线退出登录时,认证服务器4向接入网关3发 送用户下线指令,接入网关3把该用户的IP地址、VLAN和MAC地址对应 的静态ARP表项清除。
认证服务器4或认证服务器群需要安装认证服务器软件,可以与安全接 入网关进行联动。而且,提供安全认证功能。
基于上述的网络设置,本发明实施例七进一步给出具体的实现流程,如 图7所示,为用户端的认证流程示意图,在用户端上线,或希望接入通信网 络时,发起具体的用户端认证流程,具体包括以下步骤
步骤S701 、用户端发送认证请求才艮文。
用户端通过安装的iU正客户端向认证服务器发送认证请求报文,在该认 证请求报文中,携带用户端的IP地址或MAC地址作为认证信息。 步骤S702、认证服务器根据认证请求报文对用户端进行认证。 具体的认证规则可以根据实际的应用情况进行设置和调整。 认证通过后,4丸行步骤S703和步骤S705。
需要指出的是,步骤S703和步骤S705是认证服务器在完成认证后向两 个设备分别发送消息的步骤,没有必然的先后顺序,可以同时进行,也可以 优先进行其中的任意一项,这样的变化并不影响本发明的保护范围。
步骤S703、认证服务器向用户端发送认证通过消息。
该消息中携带认证通过的用户端所对应的接入网关的MAC地址和IP地址。
步骤S704、用户端收到该认证通过消息,并根据该消息进行接入网关的 MAC地址和IP地址的绑定。
即存储4妄入网关的MAC地址和IP地址的对应关系。
该对应关系通过静态绑定的方式实现,在本次认证的有效时间范围内, 该对应关系不发生变化。
需要进一步指出的是,在该认证通过消息向用户端发送的过程中,转发
21该消息的交换机根据该认证通过消息保存了接入网关信息,即同样对接入网
关的IP地址和MAC地址进行绑定,从而实现后续的才艮文过滤。 步骤S705、认证服务器向接入网关发送认证通过消息。 该消息中携带认证通过的用户端的MAC地址、IP地址和VLAN信息等信息。
步骤S706、接入网关根据收到的认证通过消息,把认证通过的用户端的 IP地址、MAC地址、VLAN等信息生成静态的ARP表项。
至此,用户端的接入认证流程结束,在接入网关中保存了用户端的信息, 交换机和用户端中保存了接入网关的信息,通过这样的信息,实现对各自接 收到的ARP报文的过滤,从而,实现对ARP攻击的防范。
进一步的,本发明实施例八提出了基于上述通信网络系统的ARP攻击防 范流程,分为对伪造的用户ARP报文的防范流程和对伪造的网关ARP报文的 防范流程,其流程示意图分别如图8和图9所示。
其中,对伪造的用户ARP报文的防范流程如图8所示,包括以下步骤 步骤S801、 ARP攻击者构造正常用户的ARP报文,并通过交换机向接 入网关发送。
该ARP t艮文可能是ARP请求报文或ARP响应纟艮文。 步骤S802、接入网关根据已保存的ARP表项对接收到的ARP报文进行 马全i正和过滤。
接入网关根据ARP报文的信息查找已保存的ARP表项中是否存在相对应 的表项,并判断信息内容和表项内容是否一致。
如果存在对应表项,但信息内容和表项内容不一致,则判断该报文为ARP 攻击,记录攻击日志,并向认证服务器上报。
如果不存在对应表项,且该ARP报文为ARP响应报文或发向别的接入网 关的ARP请求报文,则直接丢弃该报文。
如果不存在对应表项,且该ARP报文为发向本接入网关ARP请求报文, 则返回响应报文,但不学习ARP表项,并向该ARP请求报文的发送方反向发送ARP请求报文,等待响应再做进一步处理,具体的处理过程在后续的实施例中进行详细说明,本实施例不再赘述。
进一步的,对伪造的网关ARP报文的防范流程如图9所示,包括以下步

步骤S901、 ARP攻击者构造接入网关的ARP报文,并通过交换机向接入网关发送。
步骤S902、交换才几根据预先保存的网关IP地址和MAC地址信息对接收到的ARP报文进4于过滤。
即将接收到的ARP报文的IP地址和MAC地址与预先保存的网关IP地址和MAC地址信息进行比较,只有当IP地址和MAC地址完全一致的情况下,交换机放行该ARP报文,向相应用户端进行转发,如果IP地址和MAC地址中有任意一个信息不一致或两个信息都不相同时,则直接丟弃该报文,不进行转发。
在具体的实现过程中,可以是优先比较接收到的ARP报文的IP地址信息或MAC地址信息,也可以使同时比较,这样的变化并不影响本发明的保护范围。
步骤S903、用户端根据预先保存的网关IP地址和MAC地址信息对接收到的ARP报文进行过滤。
即将接收到的ARP才艮文的IP地址和MAC地址与预先保存的网关IP地址和MAC地址信息进行比较,如果存在任意一个信息或多个信息不一致时,则判断该ARP报文为ARP攻击,记录攻击日志,并向认证服务器上报。
需要进一步指出的是,在用户端中保存网关IP地址和MAC地址信息的对应关系不仅可以防范接收到的报文所导致的ARP攻击,同时,也可以防止用户端内部由于系统漏洞或其他程序向外发送伪造的ARP报文,以及ARP攻击者通过本用户端向外发送伪造的ARP报文,从而进一步提高网络安全型,并降低了网络减緩设备的过滤负担。
23对于上述的技术方案,由于采用整网联动的安全策略,实现了多个设备
分别针对ARP攻击的防范,其中,接入网关中的报文过滤流程最为复杂,同时也最为关键,因此,本发明实施例九详细给出了接入网关的报文过滤流程,其流程示意图如图IO所示,具体包括以下步骤
步骤SIOOI、接入网关识别接收到的ARP报文的报文类型。当接收到的ARP报文为ARP请求报文时,执行步骤S1002;当接收到的ARP才艮文为ARP响应报文时,才丸行步骤S1010。步骤S1002、接入网关检测该ARP请求报文是否符合预设的安全规则。当该ARP请求报文不符合预设的安全规则时,执行步骤S1003;当该ARP请求报文符合预设的安全规则时,执行步骤S1004。其中,预设的安全MJ'J具体包括以下内容中的 一项或多项ARP请求报文的源MAC为单播地址;
—A—RP请求报文的ETH头的源MAC与—A—RP请求报—文的发送方MAC相同;ARP请求才艮文的目的IP地址为防火墙地址。
在具体的实现过程中,上述安全策略可以根据需要进一步添加新的安全规则,这样的变化同样属于本发明的保护范围。步骤S1003、接入网关丢弃该ARP报文。
步骤S1004、接入网关根据接收到的ARP请求报文的IP地址信息,检测预存的至少一个ARP表项中是否存在包含相同IP地址信息的ARP表项。
其中,预存的至少一个ARP表项是根据前述本发明实施例七中的认证流程生成的。
而本步骤中所提及的表项检测依据为ARP请求报文的IP地址信息,在实际应用中,也可以采用ARP请求报文的MAC地址信息进行检测,并且,还可以进一步加上该ARP请求报文的接收端口信息和VLAN信息等其他信息,这样,可以实现表项的精确快速查找,这样的变化并不影响本发明的保护范围。
当检测结果为否时,执行步骤S1005;当检测结果为是时,执行步骤S1006。
24步骤S1005、接入网关向该ARP请求报文的发送方返回ARP响应报文,并发送反向ARP请求净艮文。
在此过程中,接入网关还根据ARP报文的源信息创建ARP表项,并标记该ARP表项为未完成状态。
在此步骤之后,接入网关等待该反向ARP请求报文的响应,当接收到相关响应报文时,则执行步骤SIOOI进行进一步处理。
步骤S1006、接入网关判断查找到的ARP表项是否为网关ARP表项或代理ARP表项。
当ARP表项不是网关ARP表项或代理ARP表项时,执行步骤S1003;
当ARP表项是网关ARP表项或代理ARP表项时,执行步骤S1007。
其中,网关ARP表项具体是指本接入网关或接收该ARP报文的接口所对应的ARP表项,即对应本地处理的ARP表项;而代理ARP表项具体是指本接入网关可关联的或非接收该ARP报文的接口所对应的ARP表项,即对应非本地处理的ARP表项,这样的表项可以由本地进行代理处理。
步骤SI007、 4妄入网关判断该ARP表项所记录的MAC地址信息是否与该ARP请求4艮文的MAC地址信息相同。
当ARP表项的MAC地址信息与ARP报文的MAC地址信息相同时,执行步骤S1008。
当ARP表项的MAC地址信息与ARP报文的MAC地址信息不同时,执行步骤S1009。
在前述的步骤S1004中,如果采用的检测依据是MAC地址信息,则本步骤中的进一步判断依据则改为IP地址信息,这样的变化并不影响本发明的保护范围。
步骤S1008、接入网关更新该ARP表项的老化时间。通过本步骤可以记录该ARP表项的最后确认时间,从而为网络中的表项管理提供依据。
在本步骤完成之后,接入网关还可以根据ARP请求报文向该ARP请求报文的发送方返回ARP响应才艮文。需要进一步指出的是,返回ARP响应报文只是本发明实施例根据具体应用场景需求而做出的处理,是否返回ARP响应报文并不影响本发明的保护范围。
步骤S1009、接入网关记录攻击曰志。
在本步骤执行完成后,还可以包括向服务器上报攻击日志,为管理员提供管理数据依据。
进一步的,本步骤执行后,还可以转回执行步骤S1005,这样的变化同样属于本发明的保护范围。
步骤SIOIO、接入网关检测该ARP响应报文是否符合预设的安全规则。
当该ARP响应报文不符合预设的安全规则时,执行步骤S1003;
当该ARP响应报文符合预设的安全规则时,执行步骤S1011 。
其中,预设的安全规则具体为
ARP响应报文的源MAC为单播地址。
在具体的实现过程中,上述安全策略可以根据需要进一步添加新的安全规则,这样的变化同样属于本发明的保护范围。
步骤S1011、接入网关根据接收到的ARP响应报文的源IP地址信息,检测预存的至少一个ARP表项中是否存在包含相同IP地址信息的ARP表项。
其中,预存的至少一个ARP表项是根据前述本发明实施例七中的认证流程生成的,也可能是上述步骤S1005中所生成的未完成状态的ARP表项。
而本步骤中所提及的表项检测依据为ARP响应报文的源IP地址信息,在实际应用中,也可以采用ARP响应报文的MAC地址信息进行4企测,并且,还可以进一步加上该ARP响应报文的接收端口信息和VLAN信息等其他信息,这样,可以实现表项的精确快速查找,这样的变化并不影响本发明的保护范围。
当检测结果为是时,执行步骤S1012;当检测结果为否时,执行步骤S1003。
步骤S1012、接入网关判断该ARP表项是否为未完成状态。
当接入网关判断该ARP表项是未完成状态时,执行步骤S1013;
26页
当接入网关判断该ARP表项不是未完成状态时,即4矣入网关判断该ARP表项是完成状态时,执行步骤S1014。
步骤S1013、 4妄入网关标记该ARP表项为完成状态。
通过此步骤,可以实现在步骤S1005中所生成的ARP表项的确认,即通过反向ARP请求报文实现对ARP请求报文的发送方的身份确认,并在确认后,学习该ARP表项信息,而在此之前,基于对接收到的ARP报文的不信任原贝'J,不会根据该ARP报文添加ARP表项,从而,确保了 ARP表项信息的准确,提高了网络识别的准确性。
步骤S1014、接入网关判断该ARP表项所记录的MAC地址信息是否与该ARP响应报文的MAC地址信息相同。
当ARP表项的MAC地址信息与ARP响应报文的MAC地址信息相同时,执行步骤S1015。
当ARP表项的MAC地址信息与ARP响应报文的MAC地址信息不同时,执行步骤S1016。
在前述的步骤SlOll中,如果采用的检测依据是MAC地址信息,则本步骤中的进一步判断依据则改为IP地址信息,这样的变化并不影响本发明的保护范围。
步骤S1015、 4妄入网关更新该ARP表项的老化时间。通过本步骤可以记录该ARP表项的最后确认时间,从而为网络中的表项管理提供依据。
步骤S1016、 4娄入网关记录攻击日志。
在本步骤执行完成后,还可以包括向服务器上报攻击日志,为管理员提供管理数据依据。
本发明实施例的技术方案具有以下优点,因为采用了接入网关根据多种绑定信息进行报文验证的方法,从而,实现了认证信息的自动生成和应用,并根据至少包括第一信息和第二信息的认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要进行人工维护,达到了降低网络维护难度,提高网络安全性的效果。
27通过以上的实施方式的描述,本领域的4支术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用石更件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出
来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不 一 定是实施本发明所必须的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若千改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1、一种地址解析协议ARP攻击防范方法,其特征在于,包括以下步骤接收ARP报文,根据所述ARP报文的第一信息,检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项;当存在所述ARP表项时,判断所述ARP表项中的第二信息是否与所述ARP报文的第二信息相同;当所述ARP表项的第二信息与所述ARP报文的第二信息不同时,丢弃所述ARP报文,并记录攻击日志。
2、 如权利要求1所述的方法,其特征在于,所述接收ARP报文,根据所述ARP报文的第一信息,检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项之前,还包括识别所述ARP报文的报文类型;根据所述报文类型的识别结果,检测所述ARP报文是否符合预设的安全规则;当所述ARP报文符合所述预设的安全规则时,根据接收到的所述ARP报文的第一信息,检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项。
3、 如权利要求2所述的方法,其特征在于,所述预设的安全规则,具体包括当所述ARP报文为ARP请求报文时,所述ARP报文的源MAC为单播地址,或,所述ARP报文的ETH头的源MAC与所述ARP报文的发送方MAC相同,或,所述ARP报文的目的IP地址为防火墙地址;当所述ARP报文为ARP响应报文时,所述ARP报文的目的MAC为单播地址。
4、 如权利要求1或2所述的方法,其特征在于,当所述ARP报文为ARP请求报文时,所述第一信息为所述ARP报文的目的IP地址,或所述ARP报文的接入端口 ,或所述ARP报文的VLAN信息,所述第二信息具体为所述ARP报文的源MAC地址;当所述ARP报文为ARP响应报文时,所述第一信息为所述ARP报文的源IP地址,或所述ARP报文的VLAN信息,所述第二信息为所述ARP报文的源MAC;也址。
5、 如权利要求1或2所述的方法,其特征在于,当所述ARP净艮文为ARP请求报文时,所述第一信息为所述ARP报文的目的MAC地址,或所述ARP报文的接入端口 ,或所述ARP报文的VLAN信息,所述第二信息为所述ARP报文的源IP地址;当所述ARP寺艮文为ARP响应才艮文时,所述第 一信息为所述ARP l艮文的源MAC地址,或所述ARP ^艮文的VLAN信息,所述第二信息为所述ARP才艮文的源IP地址。
6、 如权利要求1或2所述的方法,其特征在于,当识别所述ARP报文为ARP请求报文时,所述根据接收到的ARP报文的笫一信息,检测预存的至少一个ARP表项中是否存在包含相同第 一信息的ARP表项之后,还包括当不存在所述ARP表项时,向所述ARP报文的发送方返回ARP响应报文;向所述ARP才艮文的发送方发送第二 ARP请求才艮文;根据所述ARP报文的源信息创建ARP表项,并标记所述ARP表项为未完成状态。
7、 如权利要求6所述的方法,其特征在于,当识别所述ARP才艮文为ARP请求报文时,所述根据接收到的ARP报文的第一信息,4企测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项之后,还包括当存在所述ARP表项时,判断所述ARP表项是否为接入网关ARP表项或代理ARP表项;ARP报文;当所述ARP表项是网关ARP表项或代理ARP表项时,判断所述ARP表项的第二信息是否与所述ARP报文的第二信息相同。
8、 如权利要求1或2所述的方法,其特征在于,当识别所述ARP报文为ARP请求报文,且所述ARP表项的第二信息与所述ARP报文的第二信息不同时,记录攻击日志之后,还包括向所述ARP报文的发送方返回ARP响应报文;向所述ARP报文的发送方发送第二 ARP请求才艮文;才艮据所述ARP报文的源信息创建ARP表项,并标记所述ARP表项为未完成状态。
9、 如权利要求1或2所述的方法,其特征在于,当识别所述ARP报文为ARP响应报文时,根据接收到的ARP报文的第一信息,检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项之后,还包括当不存在所述ARP表项时,丢弃所述ARP报文。
10、 如权利要求1或2所述的方法,其特征在于,当存在所述ARP表项时,判断所述ARP表项的第二信息是否与所述ARP报文的第二信息相同之前,还包括当识别所述ARP报文为ARP响应报文时,判断所述ARP表项的状态是否为未完成状态;当所述ARP表项的状态为未完成状态时,标记所述ARP表项为完成状态;当所述ARP表项的状态为完成状态时,判断所述ARP表项的第二信息是否与所述ARP报文的第二信息相同。
11、 如权利要求l所述的方法,其特征在于,所述判断ARP表项的第二信息是否与所述ARP报文的第二信息相同之后,还包括当所述ARP表项的第二信息与所述ARP报文的第二信息相同时,更新所述ARP表项的老化时间。
12、 如权利要求1所述的方法,其特征在于,所述预存的至少一个ARP表项是根据认证服务器发送的至少一个用户短的认证通过消息生成,所述认证服务器发送的至少一个用户端的认证通过消息,具体通过以下步骤生成所述认证服务器接收所述至少一个用户端通过认证客户端发送的认证请求;所述认证服务器根据所述认证请求,对所述至少一个用户端进行认证;当对所述至少一个用户端认证通过时,向所述至少一个用户端和所述至少一个用户端所对应的接入网关发送认证通过消息,所述认证通过消息中包括所述至少一个用户端的信息和所述至少一个用户端所对应的接入网关的信白、
13、 一种接入网关,其特征在于,包括接收模块,用于接收ARP报文;第一检测模块,根据所述接收模块所接收到的ARP报文的第一信息,检测预存的至少 一个ARP表项中是否存在包含相同第 一信息的ARP表项;第一判断模块,用于当所述第一检测模块检测到存在所述ARP表项时,判断所述ARP表项中的第二信息是否与所述ARP报文的第二信息相同;记录模块,用于当所述第一判断模块判断所述ARP表项的第二信息与所述ARP报文的第二信息不同时,记录攻击曰志。
14、 如权利要求13所述的接入网关,其特征在于,还包括识别模块,用于识别所述接收模块所接收的ARP报文的报文类型;第二检测模块,用于根据所述识别模块的报文类型识别结果,检测所述接收模块所接收的ARP报文是否符合预设的安全规则;丢弃模块,用于当所述第二检测模块检测到所述ARP报文不符合所述预设的安全规则时,丢弃所述ARP报文。
15、 如权利要求14所述的接入网关,其特征在于,还包括反向请求模块,用于向所述ARP报文的发送方返回ARP响应报文,并向所述ARP报文的发送方发送第二 ARP请求报文;表项处理模块,用于在所述反向请求模块向所述ARP报文的发送方发送第二ARP请求报文时,根据所述ARP报文的源信息创建ARP表项,并标记所述ARP表项为未完成状态,并在接收到所述第二 ARP请求报文对应的第二ARP响应报文时,标记所述ARP表项为完成状态。
16、 如权利要求14所述的接入网关,其特征在于,还包括第二判断模块,用于当所述识别模块识别所述ARP报文为ARP请求报文,且所述第一检测模块检测存在所述ARP表项时,判断所述ARP表项是否为网关ARP表项或代理ARP表项,当所述第二判断模块的判断结果为是时,将所述ARP报文转发给所述第 一判断模块进行处理,当所述第二判断模块的判断结果为否时,将所述ARP报文转发给所述丢弃模块进行处理。
17、 如权利要求14所述的接入网关,其特征在于,还包括第三判断模块,用于当所述识别模块识别所述ARP报文为ARP响应报文,且所述第一检测模块检测存在所述ARP表项时,判断所述ARP表项的状态是否为未完成状态,当所述第三判断模块的判断结果为是时,将所述ARP报文转发给所述第一判断模块进行处理,当所述第三判断模块的判断结果为否时,将所述ARP报文转发给状态标记模块进行处理;所述状态标记模块,用于根据所述第三判断模块的判断结果对ARP表项进4亍状态标i己处理。
18、 如权利要求14所述的接入网关,其特征在于,还包括更新模块,用于当所述第 一判断模块判断所述ARP表项的第二信息与所述ARP报文的第二信息相同时,更新所述ARP表项的老化时间。
19、 如权利要求13、 14或15所述的接入网关,其特征在于,所述丢弃模块,还用于当所述笫 一检测模块检测到不存在所述ARP表项时,丟弃所述ARP纟艮文;所述接收模块,还用于接收认证服务器发送的至少一个用户端的认证通过消息,或接收所述认证服务器发送的至少一个用户端的下线通知消息;所述表项处理才莫块,还用于根据所述接收模块接收到的认证通过消息中所包括的至少一个用户端的信息,生成所述至少一个ARP表项,或根据所述接收模块接收到的至少一个用户端的下线通知消息,删除所述至少一个用户端所对应的至少 一个ARP表项。
20、 一种ARP攻击防范方法,其特征在于,包括以下步骤当接收到的ARP报文的发送方的第 一地址为接入网关的第 一地址时,检测所述发送方的第二地址是否与预存的接入网关第二地址相同;当所述ARP报文的发送方的第二地址与所述预存的接入网关第二地址不同时,丢弃所述ARP冲艮文。
21、 如权利要求20所述的方法,其特征在于,还包括当所述ARP报文的发送方的第二地址与所述预存的接入网关第二地址相同时,向所述ARP报文的目的地址转发所述ARP报文。
22、 如权利要求20或21所述的方法,其特征在于,当所述第一地址为IP地址时,所述第二地址为MAC地址;当所述第 一地址为MAC地址时,所述第二地址为IP地址。
23、 一种交换机,其特征在于,包括接收模块,用于接收ARP报文;检测模块,用于当所述接收模块所接收到的ARP报文的发送方的第 一地址为接入网关的第 一地址时,检测所述发送方的第二地址是否与预存的接入网关第二地址相同;丢弃模块,用于当所述检测模块检测到所述ARP报文的发送方的第二地址与所述预存的接入网关第二地址不同时,丟弃所述ARP报文。
24、 如权利要求23所述的交换机,其特征在于,还包括转发模块,用于当所述检测模块检测到所述ARP报文的发送方的第二地址与所述预存的接入网关第二地址相同时,向所述ARP报文的目的地址转发所述ARP^艮文。
25、 一种通信网络,其特征在于,包括交换机、接入网关和认证服务器所述交换机,用于当用户端通过第一信息和/或第二信息向所述服务器认证通过时,根据所述用户端对应的接入网关的信息,生成检验表项,并根据所述检验表项过滤接收到的ARP报文;所述接入网关,用于当所述用户端认证通过时,接收所述认证服务器发送的认证通过消息,并根据所述用户端的信息保存相对应的ARP表项,并根据所述ARP表项过滤接收到的ARP报文;所述认证服务器,用于对所述用户端进行认证,并在认证成功后,将所述用户端的信息通过认证通过消息发送给所述接入网关。
26、 如权利要求25所述的通信网络,其特征在于,所述接入网关,还用于识别接收到的ARP报文的类型,并根据所述ARP报文的类型识别结果,对所述ARP报文进行处理;当判断所述ARP表项与所述接收到的ARP报文中的信息不一致时,所述接入网关还用于丟弃所述ARP才艮文,并记录攻击日志。
全文摘要
本发明实施例公开了一种ARP攻击防范方法、设备和通信网络,所述方法包括以下步骤接收ARP报文,根据所述ARP报文的第一信息,检测预存的至少一个ARP表项中是否存在包含相同第一信息的ARP表项;当存在所述ARP表项时,判断所述ARP表项的第二信息是否与所述ARP报文的第二信息相同;当所述ARP表项的第二信息与所述ARP报文的第二信息不同时,丢弃所述ARP报文,并记录攻击日志。通过应用本发明的技术方案,实现了根据至少包括第一信息和第二信息的认证信息对ARP报文进行多重过滤,防御ARP攻击,不需要进行人工维护,达到了降低网络维护难度,提高网络安全性的效果。
文档编号H04L29/06GK101488951SQ200810191760
公开日2009年7月22日 申请日期2008年12月31日 优先权日2008年12月31日
发明者胜 王, 章海刚 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1