无线局域网安全分析终端的解决方案

出处:维库电子市场网 发布于:2023-06-26 10:42:38

无线局域网络(WirelessLocalAreaNetworks;WLAN)是相当便利的数据传输系统,它利用射频(RadioFrequency;RF)的技术,取代旧式碍手碍脚的双绞铜线(Coaxial)所构成的局域网络,使得无线局域网络能利用简单的存取架构让用户透过它,达到「信息随身化、便利走天下」的理想境界。在802.11标准中,采用了MAC地址列表、WEP加密等安全措施,但是后来的实践和研究证明,其安全机制是非常脆弱的,存在无线拒绝服务攻击、MAC地址欺骗、伪装AP、中间人攻击、IP重定向攻击和身份过程中的欺骗等安全问题。因此通过安全产品提高WLAN的安全性具有重要意义。

本文所介绍的安全分析系统实现了被动和主动的安全分析。它包括一个主控节点和多个无线安全分析终端。


主控节点集成了WLAN被动和主动安全分析模块。主控节点接收各个终端采集来的WLAN数据报文,报文经过处理后被发送到被动安全分析模块进行分析,系统根据当前分析结果自动选取合适的安全策略;主控节点根据主动安全分析技术编写攻击脚本,并将脚本分发到各个终端,终端根据脚本对目标实施主动攻击,以检查目标是否有安全漏洞。

本文设计和实现了基于PowerPC和Linux操作系统的分布式终端,该终端支持安全分析系统中的被动和主动安全分析的接口模块。

PowerPC处理器有广泛的实现范围,包括从诸如Power4那样的高端服务器CPU到嵌入式CPU市场(任天堂Gamecube使用了PowerPC)。PowerPC处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了象串行和以太网控制器那样的集成I/O,该嵌入式处理器与台式机CPU存在非常显着的区别。例如,4xx系列PowerPC处理器缺乏浮点运算,并且还使用一个受软件控制的TLB进行内存管理,而不是象台式机芯片中那样采用反转页表。

  1 终端的功能需求

该嵌入式终端必须具备以下基本功能:

(1) WLAN数据包的捕获和定制发送:这是实现WLAN安全分析的重要一步,为下面的需求提供了必要依据。

(2) 被动分析接口模块:采集WLAN网络信息并进行预定的本地处理,将处理后的数据发送到主控节点,这是对系统的被动分析提供支持。

(3) 主动分析接口模块:接收主控节点的攻击脚本并执行,将执行结果返回给主控节点,这是对系统的主动分析提供支持。

目前常见的嵌入式体系架构是按要求选用相应嵌入式处理器以及嵌入式操作系统。

由于分布式终端要收发无线数据包以及进行数据包的预处理,这就对处理器的处理速度提出了要求,如果速度达不到要求,就会出现丢包现象。所以本文采用Freescale的PowerPC家族的MPC 8270嵌入式处理器,它的内核工作时钟可达450 MHz.操作系统选择Linux,Linux是且源码开放的嵌入式操作系统。在开源社区,有很多项目致力于无线网卡的驱动开发以及无线数据包的定制发送。利用这些资源,能很好地缩短设计周期。

  2 终端的硬件设计

本文设计的终端由板和接口板组成,其硬件结构主要由处理器模块、数据通信接口模块和存储模块组成。板集成了Freescale的MPC8270处理器,MPC8270是以处理器8270芯片命名的开发板名称。是一套完整的基于摩托罗拉MPC8270处理器的嵌入式开发平台。MPC8270 集成PowerPC 处理器适用于那些对成本、空间、功耗和性能都有很高要求的应用领域。该器件有较高的集成度,从而降低了系统的组成开销。高集成度的结果是简化了电路板的设计,降低了功耗和加快了开发调试时间。这种低成本多用途的集成处理器的设计目标是使用PCI 接口的网络基础结构、电讯和其它嵌入式应用。它可用于路由器、接线器、网络存储应用和图像显示系统。另外,HHPPC8270-3FEC-PCI-R1提供了3个高速的百兆以太网接口,可以满足网口之间快速的转发;同时提供的2个PCI插槽可以方便的扩展多种 PCI接口卡,实现包括硬盘存储、无线通讯、图像采集/显示等功能需求。适合于SOHO网关、无线AP、监控系统、嵌入式防火墙/路由器、Web服务器等产品应用。



  2.1 处理器模块

MPC8270基于PowerQUICC II结构,主要由高速PowerPC内核、系统接口单元SIU、通信处理单元CPM构成。它支持60 x总线和PCI/LOCAL总线,内核工作时钟为450 MHz.MPC8270采用双处理器结构,内部集成PowerPC处理器和CPM处理器。PowerPC完成对外设的配置;CPM用来完成通信处理,两个处理器通过内部的双端口RAM相互配合工作。由于CPM分担了PowerPC的外围工作任务,减少了PowerPC对底层通信任务的干预,因而提高了PowerPC的工作效率。MPC8270内部集成了微处理器和通信领域的常用外设控制组件,并且通信处理模块中各通信控制器支持多种协议。

  2.2 存储模块

选用了1片8 M×16 bit共16 MB数据宽度的Flash,Flash芯片型号为Intel 28F128J3D75,速度为150 ns.Flash固定为16 bit数据读写访问模式,它只接MPC8270的低16 bit数据总线,用片选信号/CS0选中。SDRAM用于存放用户的数据和代码,为程序的运行和保存临时文件提供空间。采用商用的144引脚的128 MB内存条,以MPC8270与60 x总线相连。数据宽度为64 bit.MPC8270提供了SDRAM控制器,故只需进行寄存器的设置即可。

  2.3 数据通信模块

数据通信接口包括1个两线RS-232接口、2个以太网接口和2个PCI插槽。

RS-232是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS是英文"推荐标准"的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

两个10 M/100 Mb/s网口中,一个用于调试,另一个被应用程序用于发送和接收有线口数据包。使用MPC8270的FCC1和FCC2模块作为网口通信,配合LXT972收发器实现硬件功能。

MPC8270处理器集成了PCI总线,如果选择PCI接口的无线网卡,就不需要附加额外的芯片,网卡可以直接通过PCI插槽接入,非常方便。无线网卡是这个终端的重要设备,根据无线网卡采用的芯片组类型的不同,无线网卡可分为多种类型。而Linux并未针对每一种无线网卡都提供专属的驱动程序,而是针对无线芯片组来提供驱动程序,所以不同类型的无线网卡所使用的驱动程序也是大不相同的,如Prism类型的无线网卡使用的驱动程序是Wlan-ng系列,而针对Atheros生产的AR系列则使用Madwifi-ng[4].本设计则以芯片组型号为AR5212的PCI接口的无线网卡(TL-WN651G)为例。

  3 终端的软件设计

基于嵌入式Linux操作系统的软件设计包括BootLoader引导程序的移植、Linux操作系统的移植和用户程序的编写。Boot-Loader引导程序完成硬件的初始化并将操作系统引导装入SDRAM;Linux操作系统是整个软件的支撑,包含有内存管理、设备驱动及TCP/IP通信协议等模块;用户程序完成无线数据包的捕获和定制发送,实现支持安全分析系统中的被动分析和主动分析的接口模块。下面重点介绍用户程序的设计。

  3.1 软件设计的层次结构

终端的软件设计思想:用Tcl的C/C++接口将编写的低层网络通信函数扩展成命令;基于这些扩展命令,用Tcl脚本语言编写顶层接口模块;主控节点也可以利用这些扩展命令编写安全分析脚本。这样的层次结构模型具有良好的扩展性与灵活性,而且修改接口模块程序时,不需要重新编译,直接就可以运行。软件设计的层次结构模型。

驱动程序是整个模型的要点,它向上层提供访问硬件层的接口。本文选择针对AR5212无线芯片组的开源驱动程序Madwifi-ng[4](版本号为0.9.4),通过模块的形式加载驱动程序。


网络操作命令支撑库为上层提供扩展命令的支持。Tcl的C/C++函数库有清晰的接口,本文通过接口自定义新的Tcl命令,这些命令与网络操作程序提供的C函数相关联,从而实现对Tcl的扩展,成为一个以符合用户需求的新工具。网络操作程序直接访问硬件驱动层,实现WLAN数据包的定制发送或捕获;通过调用无线配置命令,实现网卡的配置。

主动/被动分析接口模块由Tcl扩展命令来构建。被动分析接口模块和主动分析接口模块实现WLAN数据包的发送和定制捕获,以及对安全分析系统中的被动分析和主动分析予以支持。

  3.2 网络操作命令支撑库

安全分析终端提供以下两类低层网络操作命令:

(1) 网络通信支撑命令。包括有线口和无线口的网络通信。

有线口网络操作命令:它提供了一组访问数据链路层socket的命令,包括socket的创建以及通过socket进行数据包发送和接收。

无线口网络操作命令:实现WLAN数据包的定制发送或捕获以及设置网卡的工作模式和工作信道等。

(2)协议报文编、解码命令。在被动分析模块和主动分析模块中,需要对相关头部域进行解析或重组,以实现过滤报文或定制头部域的功能,这就需要编写报文编、解码命令。

  3.3 被动分析接口模块

被动分析是基于捕获的数据包,因此捕获WLAN数据包是该模块实现的基础。从协议分析的角度来检测非法入侵和攻击,需要将捕获的数据包发往主控节点。每个安全分析终端都将大量的报文发送主控节点,为了减轻主控节点处理报文的压力,安全分析终端将根据主控节点的需要过滤掉部分报文。终端的被动分析接口模块就是实现这一功能的。

  3.3.1 捕获WLAN数据包的实现

无线网卡有两种工作模式:正常模式和监听模式。在正常模式下,网卡工作在非侦听状态,只会接收到发给自己的数据包和广播包,而丢弃其他包。如果把网卡设置为监听模式,则可使网卡工作在侦听状态时,就可以接收某一信道上的所有数据包。为了实现程序的可移植性,本文使用Libpcap函数库捕获数据包。

用Libpcap捕获的数据包中,包含Prism头或者Radiotap头部。这是网卡添加在802.11MAC头部前的数据,它记录了信号强度、噪声强度和传输速率等物理层信息。由于Radiotap头部比Prism头部更能灵活地表达捕获帧的物理层信息,所以本文选择Radiotap头部来表达。

Libpcap提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数类unix平台下工作,参考资料A中是对基于libpcap的网络应用程序的一个详细列表。在windows平台下,一个与libpcap很类似的函数包winpcap提供捕获功能。Libpcap软件包可以,然后依此执行下列三条命令即可安装,但如果希望libpcap能在linux上正常工作,则必须使内核支持"packet"协议,也即在编译内核时打开配置选项CONFIG_PACKET(选项缺省为打开)。

  3.3.2 被动分析接口模块的实现

程序设计的难点是防止出现丢包现象。当某一信道上的负载很大时,受到处理速度的限制,将不能捕获到该信道上的每一个报文,即出现丢包现象。

为了解决该问题,本文使用多线程并发执行,主线程用来处理捕获到的数据包;子线程1用来不间断地捕获无线数据包;子线程2与主控机交互,实现过滤规则的改变。同时,还引入了先入先出的队列来缓存接收到的数据报文。在笔者搭建的环境中,当某一信道上的负载达到24 Mb/s、将队列长度设为500时,就能很好地解决这一问题。

为了实现队列操作的同步,本文使用信号量hAccess和hRecive,当子线程1接收到报文,并将报文存放到队列之后,将释放信号量hRecive,通知主线程从队列中提取报文来处理。主线程提取出报文后,释放信号量hAccess,通知子线程1继续接收数据包。

子线程2接收主控节点发送来的配置文件,并且执行该文件。配置文件的主要作用就是设置全局变量。在过滤前,主线程都重新获取全局变量的值,从而设定主线程的包过滤规则。采用的过滤规则主要有源和目的MAC地址过滤以及序列号过滤等。


 3.4 主动分析接口模块

主动分析的作用有两个:一是对被测目标实施主动攻击,探测其是否有安全漏洞;二是根据被动分析结果,采用相应的措施调整网络性能。它们都主要通过发送相应的数据包来实现。为了对系统中的主动分析予以支持,终端需要实现主动分析接口模块。WLAN数据包的定制发送是该模块实现的基础。

 3.4.1 WLAN数据包的定制发送

由于要实现目标漏洞的探测或攻击,必须能将自己定制的WLAN数据包发送出去,这里的定制是指数据包的每个域都可以任意指定。在开源社区,开源项目Lorcon[5]实现WLAN数据包的定制发送。它是专为Linux操作系统设计的,它屏蔽了通过抽象层来发送802.11信息包的底层操作,提供了更高层次的接口来发送802.11信息包。通过Lorcon本设计不需要编写特定驱动的代码,只需通过驱动的名字就能找到相应的接口,进而调用Lorcon库函数发送报文。Lorcon是纯C语言编写的函数库,它直接将用户空间的报文通过无线口发送出去,实现报文的定制发送。

3.4.2 主动分析接口模块的实现

主控节点使用安全分析终端提供的底层网络操作命令编写各种网络攻击脚本。攻击脚本由主控节点分发到各个安全分析终端,由各安全分析终端并行地执行,以保证攻击的性能,使得攻击脚本的执行与目前存在的实际网络攻击过程有同样的效果。

为了实现主动分析,无线安全分析终端需要创建基于有线网口的TCP服务器端,接收主控节点发送的攻击脚本。执行该脚本,将脚本执行的结果返回给主控节点以供其分析。


本文设计实现了基于嵌入式处理器PowerPC和Linux操作系统的安全分析终端。通过与主控节点的主动和被动分析模块配合,能检测到被测目标是否存在安全漏洞;也能检测出WLAN中的MAC地址欺骗、伪装AP、中间人攻击、IP重定向攻击以及身份过程中的欺骗等安全问题,并采取相应的措施,成功地改善了网络性能。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!