局域网的安全攻防测试与分析
学习中的地位日渐突出,针对局域网的攻防也日益增多。这类攻击有以病毒的形式进行传播和攻击,也有网络黑客的破坏和IP地址被盗用等各种形式,不论怎样这都严重影响了计算机中数据的安全性。如何消除局域网中的隐患,提高局域网的安全性,也显得更为迫切。
二、系统功能分析
本文是在windows平台上设计并实现局域网安全攻防测试与分析系统,本系统主要用于局域网的安全攻防测试,系统需要满足以下几点功能:实现数据包的抓捕。实现以太网协议分析的功能,通过对数据包的分析,显示源MAC地址、目的MAC地址、协议类型。实现ARP协议,IP协议,TCP协议,UDP协议,ICMP协议分析的功能等。实现入侵检测功能,通过对数据包的分析,显示入侵者的时间、入侵者的IP、攻击信息。通过多线程来控制,实现实时显示的效果。
三、系统设计
(1)数据包的捕获:在本系统中将使用多线程实现,一个线程用来捕获数据包和协议分析,而主线程用来显示分析后的网络协议信息,这样就避免了程序界面显示的停滞现象。
(2)协议分析。在协议分析过程中,以太网协议分析是第一步。首先要分析以太网的协议部分,然后根据以太网中的协议字段再分析其他的协议数据。在本系统中,使用多线程技术来实现数据包的捕获,数据包的分析和数据包的显示同步进行。
(3)入侵检测设计。特征选取问题是入侵检测系统的核心问题之一,准确的特征选取对于降低入侵检测系统的误码率和漏报率,对于提高入侵检测系统的检测效率都起着重要的作用。模式匹配算法的性能直接影响入侵检测系统的检测效率。本系统拟采用BM算法。
四、系统详细设计
此系统包括三个部分:探测器主要负责收集数据;分析器负责从一个或多个探测器处接受信息,并通过分析来确定是否发生了非法入侵活动;用户接口使得用户易于观察系统的输出信号,并对系统的行为进行控制。
(1)捕获数据包。捕获数据包是整个系统中最重要的一部分,只有抓取了包才能进行下一步的分析。分析各协议的内容及是否进行了入侵检测。
捕获数据包的函数为PacketOperation(),主要实现获取主机所有网络接口,再显示在网络接口选择的对话框内,让用户选择所要捕获的网络接口,如图1所示:
(2)协议分析。在协议分析过程中,以太网协议分析是第一步。首先要分析以太网的协议部分,然后根据以太网中的协议字段再分析其他的协议数据。以太网协议分析的功能由函数EthernetOperation()来完成,显示结果如图2所示:
分析TCP协议时,还可以进一步分析基于TCP协议的其他应用层协议。 UDP协议分析是在分析IP协议基础上进行的,当IP协议字段Protocol等于17的时候分析UDP协议。在分析UDP协议时,也可以根据端口号判断上层协议种类并进一步分析。
(3)入侵检测实现。 入侵检测是整个系统的核心部分,以上所有的分析都是为这一部分做铺垫的。 本系统中使用的模式匹配算法是BM算法。
在本系统中实现了TCP扫描入侵检测的功能,由函数ScanDetect()来完成。ScanDetect()函数的实现如下:
int ScanDetect(void)
{if((TcpProtocol.Flags &0x02)&&(!(TcpProtocol.Flags &0x10)))
{AfxBeginThread(SYNScanDetectThread, hWnd);}
{return 1;}
该函数实现了对TCP SYN扫描的入侵检测功能,在扫描检测ScanDetect()函数中开创了一个新的线程,其回调函数SYNScanDetectThread()实现了TCP SYN扫描入侵检测的功能。
在TCP入侵检测功能中根据端口号进行检测,可以在此实现其他TCP服务的检测功能。本系统实现了端口80,25,21,110的检测模块,分别是Web服务,E-mail服务,Ftp服务以及Pop3服务检测。
五、结束语
通过对局域网内网安全攻防研究发现,目前网络管理工作量最大的部分是客户端安全部分,只有解决网络内部的安全问题,才可以排除网络中最大的安全隐患,对于内部网络终端安全管理主要从终端状态、行为、事件三个方面进行防御。利用现有的安全管理软件加强对以上三个方面的管理是当前解决局域网安全的关键所在。