基于SNMP的网络安全入侵检测系统设计

入侵检测是检测和响应计算机误用的学科,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。
入侵检测系统是一种通过实时监测系统/网络以发现入侵攻击行为的安全技术。本文在分析了目前常用的入侵检测方法和网络入侵攻击手段的基础上,提出了一种基于SNMP的网络安全入侵检测系统设计方案。此方案主要是通过读取和分析管理信息库(MIB)中的网络连接信息,针对网络入侵和攻击的特点,来对网络进行监测。
该安全策略能从TCP/IP 协议集的数据链路层、网络层、传输层和应用层对网络安全进行多层次监控。系统按照六个模块来实现对网络进行入侵检测,分别为源IP地址欺骗检测、非法TCP连接检测、非法SNMP操作检测、非法IP地址检测、非法TCP/UDP端口使用检测和DOS攻击检测。根据其对象标识符收集MIB库中不同组的管理对象信息,再经过对该信息分析后对网络进行入侵检测。

关键词:计算机网络,入侵检测,SNMP

ABSTRACT
IDS is the detection and response to the misuse of computer science, including its role in deterrence, detection, response, loss assessment, attack and prosecution support.
The invasion examination system is a sort of safety technology which detects the invasion attack through monitoring system or network real-timely. This article analyzes the present common invasion examination method and the method of Net Hacking attacks, and design an invasion examination system based on the SNMP network management. This method monitors the network through reading and analyzing networks connection information in the Management Information Base (MIB) contradistinguishing the networks invasion and attack characteristic.
This secure strategy can make a multi-level monitor in the data link layer, network layer,transmission layer and Application layer during the agreement sets of TCP/IP. This System can make the network invasion detection following six modules, such as respectively Original IP addresses deception detection, detection of illegal TCP connections, detection of illegal SNMP operations , IP address detection of illegal, illicit use of TCP and UDP ports Detection and immediate cost DOS attack detection. It collect the managing information from the different items of MIB group under its OID address, and make the invasion testing in the network by the analysis of the information.
KEY WORDS computer network, Intrusion Detection System,snmp

目录
摘 要 I
ABSTRACT II
第一章 绪论 1
1.1 课题研究背景及国内外研究现状 1
1.1.1 课题研究背景 1
1.1.2 课题国内外研究状况 1
1.2入侵检测技术概述 3
1.2.1 入侵检测基本概念 3
1.2.2 网络管理概述 5
1.2.3 SNMP框架的组成 5
1.2.4 管理信息库(MIB) 6
1.2.5 MIB变量的存取实现 8
1.3 论文的内容和结构安排 8
第二章 系统总体设计 10
2.1 系统总体设计思路 10
2.2 程序框架与程序流程图 11
2.3 系统的各模块组成 13
第三章 系统程序设计 17
3.1 开发平台介绍 17
3.2 MIB信息读取 18
3.3 数据库及程序界面设计 20
3.3.1 数据库设计 20
3.3.2 程序界面设计 21
3.4系统各模块程序设计 22
3.4.1 源IP地址欺骗检测模块 22
3.4.2 非法TCP连接检测模块 23
3.4.3 非法SNMP操作检测模块 24
3.4.4 非法IP地址检测模块 24
3.4.5 非法TCP/UDP端口检测模块 24
3.4.6 DOS攻击检测模块 25
第四章 系统测试 26
4.1 测试过程出现的问题及处理方法 26
4.2 运行结果及分析 27
第五章 结束语 29
5.1 主要工作总结 29
5.2 展望 29
致谢 30
参考文献 31
附录 32

第一章 绪论
1.1 课题研究背景及国内外研究现状
1.1.1 课题研究背景
随着计算机网络的发展,其开放性、共享性、互连程度扩大,网络对社会的影响也越来越大。宽带网作为企业主要的数据业务承载网络,特别是电子商务(e-commerce)、企业数据专线、网络互联、internet接入服务等应用在社会经济生活的地位日益凸现。网络的安全性直接影响到社会的经济效益。要保护国家公众信息网以及企业内联网和外联网信息和数据的安全,大力发展信息网络的安全技术十分重要。随着网络安全问题重要性增加,如何设计一个稳定、可靠、安全和经济的企业网,应对日益增多的网络攻击、病毒破坏和黑客入侵等问题已成为企业网络建设和运营所关注的重点。
由于网络技术在应用中的发展及攻击者技术的日益提高,单纯的防火墙已经不能满足安全需求。它无法控制内部网络用户和透过防火墙的入侵者的行为,无法处理合法用户的非法行为问题,因此需要采用多方位,多式样的手段来保证网络安全。网络信息安全包括网络系统的硬件、软件及其系统中的数据不受偶然的或者恶意的原因而遭到破坏、更改、泄露,使系统连续、可靠、正常地运行、网络服务不中断等 [1]。但目前SNMP(Simple Network Management Protocol,简单网络管理协议)的管理范围仅限于对网络硬件设备的管理,如路由器、集线器、交换机等,与网络硬件设备管理相比,网络应用软件的管理涉及较少。但现状是入侵检测还不够成熟,处于发展阶段。可见,入侵检测技术需进一步的研究。
1.1.2 课题国内外研究状况
本论文是基于SNMP网络安全入侵检测系统设计,基于SNMP进行入侵检测关键要从MIB(Management Information Base,管理信息库)中获取监控信息,它是整个监控系统中最基础的单元,也是最重要的单元。它负责从受控应用程序中获取监控信息,提供了管理代理发送到管理站点的命令,并且也能接收从管理代理转发的管理站点命令[2]。
目前一个比较成功的网络入侵检测系统设计是免费NIDS(Network Intrusion Detection System,NIDS网络入侵检测系统 ) —snort,作者是Martin Roesch。最新版本是1.70版。snort是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,snort具有很好的扩展性和可移植性。还有,这个软件遵循通用公共许可证,所以只要遵守通用许可证的任何组织和个人都可以自由使用。它还具有以下一些特点:
  snort具有实时流量分析和日志IP网络数据包的能力。能够快速地检测网络攻击,及时地发出报警。snort的报警机制很丰富,例如:syslog、用户指定的文件、一个UNIX套接字,还有使用samba向Windows客户程序发出WinPopup消息。利用XML(EXtensible Markup Language,可扩展置标语言)插件,snort可以使用SNML(simple network markup language,简单网络标记语言)把日志存放到一个文件或者适时报警。
  snort能够进行协议分析,内容的搜索/匹配。现在snort能够分析的协议有TCP、UDP和ICMP。将来,可能提供对ARP、ICRP、GRE、OSPF、RIP、IPX等协议的支持。它能够检测多种方式的攻击和探测,例如:缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测操作系统指纹特征的企图等等。
snort的日志格式既可以是tcpdump式的二进制格式,也可以解码成ASCII字符形式,更加便于用户尤其是新手检查。使用数据库输出插件,snort可以把日志记入数据库,当前支持的数据库包括:Postgresql、MySQL、任何unixODBC数据库,还有Oracle(对Oracle的支持目前处于测试阶段)。
使用TCP流插件(tcpstream),snort可以对TCP包进行重组。snort能够对IP包的内容进行匹配,但是对于TCP攻击,如果攻击者使用一个程序,每次发送只有一个字节的TCP包,完全可以避开snort的模式匹配。而被攻击的主机的TCP协议栈会重组这些数据,将其送给在目标端口上监听的进程,从而使攻击包逃过snort的监视。使用TCP流插件,可以对TCP包进行缓冲,然后进行匹配,使snort具备了对付上面这种攻击的能力。
使用spade(Statistical Packet Anomaly Detection Engine)插件,snort能够报告非正常的可疑包,从而对端口扫描进行有效的检测。
snort还有很强的系统防护能力。使用FlexResp功能,snort能够主动断开恶意连接。
扩展性能较好,对于新的攻击威胁反应迅速。
作为一个轻量级的网络入侵检测系统,snort有足够的扩展能力。它使用一种简单的规则描述语言。最基本的规则只是包含四个个域:处理动作、协议、方向、注意的端口。例如:
log tcp any any -> 10.1.1.0/24 79 。
snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。snort当前支持的插件包括:数据库日志输出插件、碎数据包检测插件、端口扫描检测插件、HTTP URI normalization插件、XML插件等。
  snort的规则语言非常简单,能够对新的网络攻击做出很快的反应。发现新的攻击后,可以很快根据Bugtraq邮件列表,找出特征码,写出检测规则。因为其规则语言简单,所以很容易上手,节省人员的培训费用。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

参考文献
[1] 岑贤道,安常青.网络管理协议及应用开发[M].北京:清华大学出版社,1998.
14~38.
[2] 俞承志,王淑静,宋瀚涛.基于MIB的网络安全入侵检测策略[J].北京理工大学学报,2004,24(8):696~700.
[3] Mark A Miller.用SNMP 管理互联网络[M].第三版,中国水利水电出版社,2001
[4] 朱元忠.入侵检测系统发展研究[J].北京工业职业技术学院学报,2006,5(1):7~11.
[5] 苑森森,程晓青.数最关联规则发现中的聚类方法研究[J].计算机学报 ,2000;(8)23:866~871
[6] 赵小蓉,吕斌,宋凯. 基于SNMP网络管理协议的MIB库分析及存取实现[J].电脑开发与应用,2001,14(6):39~43.
[7] 段海新,吴建平.一种分布式协同入侵检测系统的设计与实现[J].软件学报,2001;12(09):1375-05
[8] 雷振甲.计算机网络管理及系统开发[M].北京:电子工业出版社,2002.110~125.
[9] 马恒太,蒋建春,陈伟锋等.基于Agent 的分布式入侵检测系统模型[J].软件学报,2000;11(10):1312~1319
[10] Paulson L. Stopping intruders outside the gates[J].IEEE Transactions on Computers, 2002,35(11): 20~22.
[11] 王朋武. WinSNMP API规范[R].北京:北京佳合通信技术公司,2002.
[12] 徐效美,张国才,李文杰.应用WinSNMP进行网络管理编程[J]. 烟台师范学院学报,2004,20(2):112~114.
[13] 张曜,李金花,张群瞻.C++ Builder 程序设计教程[M].北京:冶金工业出版社,2002.1~226.
[14] 张春晖.SNMP协议的分析与应用[J].计算机应用研究,2000,17(12):55~57.
[15] 许惠虹.网络管理的新进展[J].数据通信,1999, 19(3):1~4.

附录
主要程序:

Similar Posts

Leave a Comment