加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

交换机监测与ARP欺骗主动防御系统的设计和实现

发布时间:2022-10-31 17:01:00 所属栏目:安全 来源:网络
导读:
摘要:ARP病毒具有极大的破坏性,针对它的原理,提出了基于SNMP的主动防御ARP欺骗的解决方案,创新性地利用SNMP协议将交换机状态监测和管理引入ARP防御体系中,以尽早发现和维护出现故障的

交换机监测与ARP欺骗主动防御系统的设计和实现

摘要:ARP病毒具有极大的破坏性,针对它的原理,提出了基于SNMP的主动防御ARP欺骗的解决方案,创新性地利用SNMP协议将交换机状态监测和管理引入ARP防御体系中,以尽早发现和维护出现故障的交换机,确保整个计算机网络的稳定性。该方案特别适合在较大规模的网络中部署,其代价小,效率高。

关键词:SNMP;交换机状态监测;ARP主动防御;网络稳定性

0、引言

最近几年,ARP欺骗木马病毒在高校网络中频繁地爆发,同一网段的大多数用户频繁断网,导致整个局域网无法正常运行,严重时致使整个校园网大面积瘫痪,给网络管理工作增添了巨大压力。

目前,通常采用以下两种途径发现ARP欺骗:

(1)网管员登录网关查看ARP表,如发现多个IP对应同一个网卡地址,该网卡地址就是中ARP欺骗木马病毒的机器的MAC地址。

(2)上网用户在主机上通过arp-a命令可以发现网关MAC地址与网络运行正常时的MAC地址不符。用户可以将错误的网关MAC地址报告给网管员进行处理。

以上两种方法都需要网络管理员或用户繁琐的手动操作才能发现ARP欺骗病毒,这在具有几万用户的校园网络中都是不可行的,因为工作量太大。为了及时发现局域网中存在的ARP欺骗现象,进行快速处理,将其坏影响降至最低,我们引入SNMP来进行主动防御。由于校园网由大量交换机构成,而利用SNMP预防欺骗是通过交换机管理来实现的,所以我们创新性地将交换机状态监测和管理引入ARP预防体系中,以快速发现、准确定位出现故障的交换机并及时加以维护,从而确保ARP病毒欺骗的主动防御与处理可以在整个网络中稳定地实施。

1、基于SNMP的交换机状态监测和主动防御ARP欺骗的基本原理

网管工作站中的管理进程,利用SNMP协议可获取交换机运行状态信息,并可配置交换机的部分运行参数,达到监测和管理校园网中大量交换机的目的。标准的MIB库中定义了与ARP信息相关的变量,利用这些变量可以获取与ARP欺骗相关的信息,通过MIB库定义的其他MIB变量可以设置网络设备的运行参数,将实施ARP欺骗者从网络中隔离开来,阻止ARP欺骗对网络正常通信的破坏。本文方案中所涉及的相关MIB变量的定义如表1表示。

利用SNMP监测交换机状态和主动防御ARP欺骗的基本原理如下。

1.1交换机状态监测原理

我们通过SNMP协议实时读取出全网的交换机信息,生成树状结构,以三层交换机为根,两层接入交换机为儿子,每隔一段时间循环监测所有交换机状态。如果该交换出现工作异常,则报警。网络管理人员看到报警,可以及时处理和维护交换机。此外,根据SNMP协议修改交换机运行参数,可以对交换机的信息进行补充,定位交换机的地理位置,当交换机出现故障时,网络管理工作者就可以及时发现该交换机所在的地理位置和在网络体系中所处层次。

1.2基于SNMP主动防御ARP病毒原理

ARP欺骗可以通过以下方式发现:

(1)获取网关MIB库中的ipNetToMediaTable表,并对获取的数据进行逐条比较。如从中发现有若干不同IP地址对应同一网卡,则该局域网内发生了ARP欺骗。在发现ARP欺骗者后,将ARP欺骗者从广播域中隔离出来,防止其继续危害网络的正常通讯。隔离ARP欺骗者比较简单的办法是关闭其接入的交换机端口。通过SNMP协议获取接入交换机中的FDB地址表,找到ARP欺骗者接入交换机的端口,然后通过SNMP的Set操作可以对表ifTable的ifAdminStatus参数对交换机端口进行封锁和开启。

(2)查找ARP欺骗工具或木马。这一步的工作需要人工采取措施清除中毒电脑中ARP欺骗工具或木马程序。

2、系统设计与实现

本系统用ruby语言及rails框架开发,采用mysql作为数据库,由两套软件组成:

(1)由ruby语言开发的数据采集系统,用于从交换机中定时采集交换机信息和ARP数据存储到数据库中。

(2)用ruby语言基于rails框架开发的交换机监测和ARP主动防御系统,主要负责交换机的状态监控和ARP病毒发现、隔离、处理。

系统实施架构如图1所示。

2.1实现交换机信息收集和工作状态监测

交换机树生成和监测原理:

(1)指定所有三层交换机。

(2)利用SNMP协议读出所有三层交换机上的二层接入交换机信息,如交换机的IP地址、名称、父端口、向下的级联端口、交换机描述等信息。

(3)手动修正交换机信息,包括所在的地理位置、增加交换机儿子、删除交换机儿子等。

(4)得到修正的交换机树后,每隔十分钟向每个交换机索取信息。如果交换机无法连接,或者返回报错信息,则表明该交换机出现故障。一般返回错误结果为:“交换机(IP地址),无法连接或出现错误”。

(5)如果交换机出现异常,可以通过(4)返回的IP地址,查询该交换的详细信息,如所在的地理位置、在交换机树中所处的位置等信息。

(6)派出工作人员维修该交换机,系统继续进行(4)(5)(6)循环。

(7)另外在校园网中,交换机树结构出现大的变动时,可以从(1)开始重新生成交换机树;而当小面积修改交换机中的信息和结构时,可以从(3)开始手动修改交换机树。

交换机信息收集和监测逻辑如图2所示。

交换机监测和管理界面如图3所示。图中,左边是交换机树,旁边带文件夹标识为三层交换机或者父交换机。右边为被点击的交换机信息,如IP地址,交换机名称,父端口,级联端口,所在地址,层级等信息。

2.2实现基于SNMP的ARP欺骗主动预防

实现原理如下:

(1)在建立交换机树后,通过读取表1的ip_net_to_me-alia_table表,即ip_net_to_media_table=[ipNetToMediaIfIndex,ipNetToMediaPhysAddress,ipNetToMediaNetAddress]得到ARP表信息。读取ARP信息顺序为先读每个三层交换机的ARP,再读出所有该三层交换机下接入交换机的ARP表信息。

(2)将所有ARP信息读出后,存入switch_ip_mac.table,查询是否有多个IP地址对应一个MAC地址。如果出现该隋况。就说明该MAC地址中了ARP病毒,列出所有中毒的MAC,如图4所示。

如果查询完毕,清除switch_ip_mac.table表中所有数据,从(1)开始进入下一次循环。如果查询未完,继续下面的步骤。

(3)给中毒用户发邮件,或者电话通知处理该用户。

(4)在发现中毒MAC地址后,通过LfTable表中dotld_tp_fdb_address=‘1.3.6.1.2.1.17.4.3.1.1’.dotld_tp_fdb_port=

1.3.6.1.2.1.17.4.3.1.2两个属性,可以找到交换机上对应的端口port,并使用ifAdminStatus属性关闭或打开端口。功能实现如图5所示。图中,最左边ip一栏为可管理交换机IP地址,MAC一栏为中毒计算机MAC地址,port一栏为该MAC对应的计算机端口,状态一栏为关闭或打开该端口按钮。

(5)待中毒电脑(用户)清除病毒后,打开端口。

(6)其他功能。某个MAC地址出现异常时,可以查找该MAC所连接的交换机及对应的交换机端口。当交换机出现异常时可以输入交换机IP地址,查看交换机的状态。查询界面如图6所示。

实现基于SNMP的ARP欺骗主动防御的逻辑结构,如图7所示。

3、结束语

利用SNMP基本原理,我们开发出一套监测交换机状态和主动防御ARP病毒软件系统。该系统可在轮询时间内发现并处理ARP欺骗者伪装行为,同时监控所有交换机状况,以便及时维护出现故障的设备。该方案的主要实现目标为:

(1)部署低成本。不需任何终端用户参与ARP欺骗的防范工作,只需组成网络的交换机为可管理交换机。

(2)效率高。一次部署即可监控整个网络系统中ARP欺骗行为。在轮询时间内,能够实现对重庆交通大学四百多台交换设实施状态监控、以及两万多个终端节点的采集数据,实现了主动发现与隔离ARP欺骗者。

(3)能定位ARP欺骗者,有利于终端用户自觉消除终端的ARP欺骗行为。

(4)仅隔离用户终端所在端口,该方案不影响网络的其他正常功能。

(5)在ARP主动防御方案中引入交换机监控,能够及时发现交换机故障,极大地保证了用户上网服务和ARP欺骗主动防御的顺利实施。

该方案不受网络结构与终端数量变化的影响,能够随网络拓扑结构的变化,自动生成交换机树。需要注意的是,因为SNMP协议只能应用于可管理交换机,所以该方案只适合由可管理交换机或大部分由可管理交换机组成的网络。

参考文献:

[1]刘素平,丁采生,钱斌,基于SNMP的ARP欺骗监控研究[J],计算机应用与软件,2009 26(1)

[2]吴小平主动防御措施,周建中,方晓惠,基于SNMP的ARP欺骗主动防御机制[J],华中师范大学学报(自然科学版),2007,41(4)

[3]王佳,李志蜀,基于ARP协议的攻击原理分析[J],微电子学与计算机,2004 21

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!