嵌入式网络地址监控系统研究与设计
2009-03-16
作者:张 翔1, 王馨梅2, 李为民3
摘 要: 对中小企业的网络管理现状进行分析,针对地址盗用问题,探讨了发生原因和防盗机理,提出了对应的解决方案。通过监听基于以太网技术的局域网上传送的数据帧,实时过滤并分析ARP数据包,得到上网计算机的IP-MAC地址对照表,找出非法上网的用户,实现警告和上网限制。利用SoPC技术设计了一台体积小、使用灵活、低价、高效的嵌入式IP地址防盗监控仪,给出了软硬件设计方案,利用嵌入式系统调试通过,在实际网络环境中完成测试,性能稳定可靠。
关键词: 局域网; 地址盗用; MAC; SoPC
很多中小型企业在网络安全方面的投入很少,通常仅依靠带简单防火墙功能的宽带路由器设备,这虽然能够防止外部黑客的入侵,但对处在防火墙内部的员工或访客造成的安全问题没有任何作用。由于安全意识的缺失,在网络布线工程完成之后,就很少投入人力物力,很少配备专职的网络管理员,因此很容易出现各式各样的网络安全事件。最常见的问题是网络IP地址盗用问题。
本文给出一种利用SoPC(System-on-a-Programmable-Chip)技术实现的、面向中小网络、低价位、可靠的嵌入式IP地址防盗监控方案。从管理学层面对网内IP地址的管理进行探讨;在技术层面研究网络协议,分析发生原理,找出IP地址盗用问题的原因和表现形式,从而找出根治办法,在实现层面对开放源代码的嵌入式操作系统进行深入分析和裁剪,利用嵌入式系统开发技术,实现基于嵌入式硬件的网络监控,能显著降低企业中兼职网管的工作量,确保网络正常使用。
1 地址防盗机理
1.1 地址盗用分析
经过对企业网络跟踪监控发现,地址盗用的用户,除Legitimate(合法的)用户以外,还有3种类型的恶意用户:Masquerader(伪装者)、Misfeasor(违法者)和Clandestined User(秘密活动者)[1]。
(1) Masquerader:此类人可能是为了逃避网络计费,事先收集到别的用户地址,用IP地址盗用的办法,将网络流量计费转嫁到他人身上。
(2) Misfeasor:此类人一般是合法用户,由于重装系统等因素重新设定IP地址,但是输入错误或是忘记自己的合法地址而胡乱设置。近两年ARP类病毒或木马也造成类似的网络故障。
(3) Clandestined User:此类人可能是无上网权限的人或外来人员,为了某种目的,隐藏自己的身份或企图冒充合法用户身份来逃避追踪。
1.2 对策分析
为了解决这些问题,大型网络一般采用可网管型交换机进行地址绑定,更好的方式是用认证计费系统,但硬件改造投资比较大,不适合小规模网络。中小型企业网中更多的是依靠兼职网管人工操作,工作量非常大。故采用嵌入式技术开发廉价的网络地址监控系统,以实现实时监控和自动化响应与处理。
对网络进行全天候监控,将网络上所有ARP广播信息截获,提取信息生成IP-MAC二元组对照表。对当前网段所有未用IP地址也生成特殊的IP-MAC二元组,即MAC字段设为000000000001这种非法的值。该表经由网管员确认后,作为合法用户表。如果网管员无暇处理时,自动对某一时间段的数据利用概率统计算法生成该表。
对于Masquerader和Misfeasor:对照合法用户列表,只需发现ARP广播包中IP-MAC二元组不相符合,就表明有盗用的嫌疑。如果此用户是Legitimate,会自行重复修改IP地址,不断试验,此时发送一个ARP-Relay包,告知该IP已经使用,则对方的PC机会提示“IP地址重复”并自动禁用网卡的TCP/IP栈。系统自动记录盗用次数,如果发现超过设定次数,最终封闭MAC地址,并产生Alert消息,由网管员通过行政手段处理。ARP类病毒或木马,一种是盗用网关设备的地址,拦截用户发送的数据;一种是盗用用户的IP从中截获数据。还有些蠕虫病毒为了加快传播,会发送虚假的IP数据包,处理方法同上。
对于Clandestined User:通常先利用可上网的电脑来探测网络,找出合法IP及对应的MAC地址,通过修改网卡的Flash芯片或者修改注册表,获得合法地址,继而进行秘密活动。这是最复杂的情况,即使合法用户和盗用者同时开机,也不会出现IP冲突的提示。但对于可网管型的交换机内部维护的FDB(Forwarding Database)地址表中,相应的MAC地址对应的端口就会经常变化,据此就能予以辨别,随后详细记录日志,并发送警报信息通知管理员处理。这样就需要监控器能读取FDB表,才能得知是否有相同的MAC从不同端口进入,进而关闭该端口,隔离破坏者。
1.3 封锁方法
为了封锁用户上网,一般需要可网管交换机的配合。一般中小企业的核心交换机通常都是可网管型的,但是配置交换机需要专业人士,本设备可以实现自动配置,降低了对网管的技术要求。与交换机交互设置的常见方案为采用SNMP协议,但由于编程复杂,且很多交换机厂商并没有严格遵循SNMP协议,故很难实现。本设备采用另外一种方法,就是模拟管理员手工配置交换机的过程,先利用Telnet协议登录交换机,输入用户名和密码,再输入超级管理员密码,发送配置指令。例如要禁止MAC地址为000c.2927.fe4d的计算机,在港湾的交换机上输入命令:
C:telnet xxx.xxx.xxxx.xxx(核心交换机IP)
Login:admin 输入用户名和密码
Password:
Harbour>en 进入特权模式,输入超极管理员密码
2 系统功能设计
2.1 功能
(1) IP冲突检测与处理:判断IP的合法性,再对检测出的非法IP依据既定的处理方式进行处理,从而有效防止局域网内的IP冲突和盗用。
(2) 计算机联网信息统计:适时分析网内计算机的活动状况,把在线状态、活动时间等作为日志信息保存。为网络管理员提供材料作为IP地址管理与分析的依据。
(3) 服务器通信:系统设置了NTP和FTP两个服务器。NTP时间服务器部署在局域网内,做为本系统时间同步的时钟源;FTP服务器用于保存系统日志文件,并存有系统使用的配置文件信息以及合法IP-MAC地址信息。
(4) 时间同步:时间同步是从局域网内的NTP时间服务器获取当前标准时间,从而可以为本系统提供时间校准与维护。
硬件实现的基本功能如表1所示,软件实现的基本功能如表2所示。
2.2 开发平台
本开发平台可选用SoPC技术[2]、单片机(MCU)和ARM嵌入式系统。由于单片机对TCP/IP协议栈支持很差,而ARM虽处理能力强,但有些大材小用,因此最终采用SoPC技术实现。在Altera DE2上进行原型设计与开发测试,最终使用HardCopy系列器件实现产品化。
2.3 系统使用方法
根据TCP/IP栈中ARP协议原理,计算机在开始通信前都会发出广播包,告知本机使用的IP地址信息,并获取网管及各个服务器的IP-MAC信息。因此与其他网络监控或入侵检测系统不同,所安装的网络无需改造,也不用增加TAP(网络分接器)或集线器等设备,接到核心交换机的任意端口即可。
3 硬件系统设计
本系统以嵌入式处理器NiosII[4]为核心,设计了显示系统、存储系统、键盘控制系统、网络数据接口。系统框图如图1所示。
为了完成监视和控制功能,还需要利用网络中的网管专用机提供FTP服务器完成日志的备份和配置信息的更新,并利用因特网上的NTP网络时间服务器进行自动校时服务。
系统硬件在SoPC Builder上设计,采用的IP软核清单如表3所示。
4 软件系统设计
4.1操作系统选型
嵌入式操作系统有μcLinux、μC/OSII[3]、eCos。每个操作系统各有特色,从移植的难易程度、内核的大小、实时性等因素出发,选择μC/OSII。NiosII IDE中嵌入了μC/OSII,可以快速地为NiosII处理器建立RTOS应用。这个内核是可移植、可固化、可裁剪,具有抢占式的实时多任务功能的操作系统。
4.2 TCP/IP协议栈选型
支持TCP/IP协议栈的主要有μIP、TinyTcp、μC/IP、lwIP几种,每一种都有其特点与使用范围。lwIP是开源的轻量型协议栈,没有操作系统针对性,通过系统模拟层将协议栈中与平台相关的代码抽象出来,具有灵活可移植性,并且lwIP网络应用开发提供了API接口,极大的方便了应用开发。由于本系统开发中选用的操作系统是μC/OS,且Nios II IDE支持lwIP协议栈,使得移植更方便,所以选用lwIP。
4.3 应用软件功能设计
应用软件是建立在操作系统基础上的软件系统,得益于μC/OSII良好的实时多进程的优点,能够同时完成人机交互、数据处理等主要工作。最核心的功能模块是IP冲突检测与处理模块,主要完成对ARP包的解析、判断是否合法、记录日志等工作。另一个模块是包发送模块,它是主动方式运作,能够扫描整个网络,强制更新ARP表,对照合法的IP-MAC地址列表找出盗用者,还可以对盗用IP地址的人发出警告,阻止其上网,还可以探测并记录各主机的开机或关机状态。
4.4 文件系统选型
本系统采用SD卡存储数据,在其上建立文件存取时,首先要建立文件系统。表4是三种类型数据文件所需的文件操作、保密要求及其空间占用情况。
Altera公司虽提供了Zip File System,但它在存储介质、存储量以及写入操作方面已经不能满足要求;而SD卡的可拔插性和FAT/FAT32的通用性,使建立在SD卡上的FAT/FAT32并不具有很强的保密性,同时在写入数据到文件之前需要查表,不能满足高速的要求,而且实现文件系统的建立也需要一定的代码量;NTFS虽然具有保密性,但其存取速度同样不能满足要求,实现起来则更为复杂。基于以上原因,本系统在实现了基本的SD卡读取操作后,对SD卡存取空间进行了划分,实现了一个简单、高效同时具有保密性的自定义文件系统。对分区数据的读写操作是通过对SD卡驱动的直接读写操作进行简单封装实现的,同时数据的存储无需查表等额外操作,因此具有高效性。分区数据的记录则是将需要存储的数据放入程序内部的数据结构后写入SD卡来存储的,具有一定的保密性。
4.5 网络服务规划
本设备可以作为手持式设备临时地调试监控,也可以固定在机柜中进行长期观察。为了方便网络管理员的操作,提供了Telnet远程操作功能,可以自动将系统日志、警报信息等上传至网管专用机上,还能自动下载最新的配置文件进行设置,并且,为了生成规范的日志,还提供了自动校时功能。这些功能依次对应Telnet服务模块、FTP服务模块、NTP服务模块。
4.6 软件流程图
应用软件中最重要的模块是IP冲突检测与处理的实现。IP冲突检测是在捕获ARP包的基础上对ARP包中的源IP和源MAC进行分析,从而判断该数据包的IP地址是否产生了冲突或者是非法的IP地址。其中检测通过包的主分析进程完成,其流程图如图2所示。处理操作通过包发送进程完成,其流程如图3所示。
基于SoPC技术,利用QuartusII开发软件,在以Nios II为核心的嵌入式系统设计平台上进行设计,能灵活、快捷地完成系统设计开发。该设备使用方便、灵活、高效价格低廉,可作手持式临时调试监控,也可长期固定实现网络监视和IP盗用处理,非常适合于中小企业网。
参考文献
[1] ANDERSON J P. Computer security threat monitoring and surveillance[R]. James P Anderson Co, Fort Washington,Pennsylvania, 1980.
[2] 潘松.SOPC技术实用教程.北京:清华大学出版社,2005.
[3] JEAN J,LABROSSE著. 嵌入式实时操作系统μC/OS-II(第2版),邵贝贝译.北京:北京航空航天大学出版社,2003.
[4] 彭澄廉.挑战SOC——基于NIOS的SOPC设计与实现,北京:清华大学出版社,2004.