1、厦门大学本科生论文 本科毕业论文 (科研训练、毕业设计 ) 题 目: 网络安全状况监控分析系统 的 设计 与实现 姓 名: 学 院:软件学院 系:软件工程系 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 日 厦门大学本科生论文 摘 要 随着计算机网络和应用的迅速发展,特别是电子银行、电子商务的兴起,网络安全问题也日益突出起来。同时, 由于目前入侵检测系统普遍存在的误报率高、报警信息兀余现象严重和对入侵表述能力不强的缺陷,我们 有必要掌握好网 络安全监控方面的技术,以达到在入侵事件发生之前进行安全监控的目的。通过调查统计 表明, 有效的应用网络安全监控技术 ,大大降低
2、了系统的检测成本。 本文对 基于网络流量分析的入侵检测和漏洞分析 进行了研究,实践和探索。该系统基于Visual C+.net 开发平台,运用 winsock, snort、 SQL、 多线程, MFC 等技术作为开发手段,在简洁良好的图形界面环境下实现了对目标主机 的流量分析 以及常见漏洞的扫描分析等功能。 关键词 安全监控 漏洞扫描 流量分析 Snort 厦门大学本科生论文 Abstract With the application of computer networks and the rapid development, especially E-banking and the ri
3、se of e-commerce, Network Security becomes more and more prominent too.In this paper, we present a detection technology based on intrution events in order to overcome the thortcomings of high false alert rate;serious redundent alerts and poor expression about the intrusion activities in todays intru
4、sion detection sys-distingu ishment based on fuzzy rules and so on in detail Experimental results show that compared with the existing intrution detection systems,this technology can reduce the system test cost greatly. This article is based on the analysis of network traffic intrusion detection and
5、 vulnerability analysis of the study, practice and exploration.In our work, we have designed a very powerful tool in loophole analysis: a Network Vulnerability Scanner in Visual C+ .net SDK, with winsock, snort、 SQL 、 multithreading, and MFC technology. With clearly UI, ports scan and some familiar
6、loopholes scan are achieved. Key words Safety Monitoring, Network vulnerability scan, Traffic Analysis, Snort. 厦门大学本科生论文 目 录 第一章 绪 论 . 1 1.1 论文研究的背景及意义 . 1 1.2 主要研究内容 . 1 1.3 本论文组织结构 . 2 第二章 基本概念和工具 . 3 2.1 基本概念及其技术 . 3 2.1.1 端口功能简介 . 3 2.1.2 Snort 的介绍 . 4 2.1.3 TCP/IP 协议简介 . 6 2.1.4 多线程技术简介 . 8 2.1
7、.5 Winsock 技术简介 . 9 2.1.6 常用 Winsock 函数介绍 .10 2.2 使用工具及其介绍 .13 2.2.1 Microsoft Visual Studio .net 简介 .13 2.2.2 Microsoft Visual C+简介 .13 2.3 本章小结 .13 第三章 系统的设计 .14 3.1 系统整体设计方案 .14 3.1.1 设计模式简介 .14 3.1.2 系统流程简介 .15 3.1.3 系统的类和对象 .16 3.2 系统的详细设计 .17 3.2.1 流量分析功能模块设计与测试 .17 3.2.2 漏洞扫描子模块设计 .18 3.3 本章小
8、结 .19 第四章 系统的实现 .20 4.1 系统的运行界面 .20 4.2 漏洞分析与端口探测详解 .21 4.2.1 参数设定部分: .21 4.2.2 功能按钮部分: .22 4.2.3 漏洞扫描功能演示 .22 4.3 流量分析系统详解: .24 4.3.1 参数设定部分: .24 4.3.2 实时监控部分 : .24 4.3.3 流量统计: .24 4.4 本章小结 .26 第五章 总 结 .27 致 谢 .28 参考文献 .29 厦门大学本科生论文 Contents Chapter 1 Introduction . 1 1 1 Papers on the background a
9、nd significance . 1 1 2 Main content . 1 1 3 organizational structure . 2 Chapter 2 Basic concepts and tools . 3 2.1 Basic concepts and technology . 3 2.1.1 Port Introduction . 3 2.1.2 Snort Introduction. 4 2.1.3 TCP/IP Introduction . 6 2.1.4 Multithreading Profile . 8 2.1.5 Winsock Introduction . 9
10、 2.1.6 Winsock Introduction .10 2.2 tools and the introduction .13 2.2.1 Microsoft Visual Studio .net .13 2.2.2 Microsoft Visual C+ .13 2.3 Summary .13 Chapter 3 System Design .14 3 1 Overall system design .14 3.1.1 Introduction to Design .14 3.1.2 Introduction system processes .15 3.1.3 System of c
11、lasses and objects.16 3.2 The detailed design.17 3.2.1 Traffic analysis module design and test .17 3.2.2 Vulnerability scanning module design .18 3.3 Summary .19 Chapter 4 System Implementation.20 4 1 Operation interface .20 4.2 Vulnerability analysis and detection.21 4.2.1 Set some parameters .21 4
12、.2.2 function button .22 4.2.3 Vulnerability Scan Demo .22 4.3 Detailed Explanation traffic analysis .24 4.3.1 Set some parameters .24 4.3.2 Real-time monitoring of the .24 4.3.3 Traffic statistics.24 4.4 Summary .26 Chapter 5 Outlook .27 Acknowledgements.28 References .29 厦门大学本科生论文 1 第一章 绪 论 1.1 论文
13、研究的背景及意义 随着网络技术在世界及中国各个领域应用的深入开展,人们在得益于信息革命所带来的新的巨大机遇的同时,也不得不面对信息安全问题的严峻考验。由于系统安全脆弱性的客观存在,操作系统、应用软件、硬件设备不可避免地会存在 一些安全漏洞,网络协议本身的设计也存在一些安全隐患,这些都为黑客入侵系统提供了可乘之机。据美国金融时报报道,世界上平均每 20 秒就发生一次入侵国际互联网络的计算机安全事件,仅美国每年因此造成的损失就高达 100 亿美元。近年来,严重的互联网安全事件层出不穷, 2000 年 2 月 8 日到 10日,黑客首次成功地攻击了号称“世界上最可靠的网站之一”的 yahoo!,三天
14、后,又攻击了eBay, F-Trade 和 Amazon 等近十家著名网站,使这些网站相继瘫痪 ;2000 年 10 月 28 日,美国微软公司的电脑系统几天内被“黑”,生产软件的 源代码被窃,新开发的 Windows 和 Office产品的具体计划可能被盗 ;2001 年 7 月出现的 Code Red 红色警戒病毒,引发了全球连锁性的宽带拥塞风暴,据专家分析,全球有超过 36 万台计算机遭受该病毒感染,损失高达 12 亿美元 ;2003 年 1 月 25 日,互联网遭到全球性的病毒蠕虫王 Win32.SQL,Exp.Worm攻击,亚洲、北美和欧洲的网络全都陷入了瘫痪或者半瘫痪的状态,全世界
15、范围内损失额高达 12 亿美元。随着网络安全事件的频繁发生,网络安全防范的重要性和必要性也愈加凸显,网络安全问题己经引起各国、各部门,各行 各业以及每个计算机用户的充分重视,据市场研究公司 Input发表的研究称,联邦机构 IT 安全开支将稳步增长,到 2008 年将达到 60 亿美元。 随着各种网络攻击手段的多元化、复杂化、智能化,单纯依赖防火墙等静态防御系统 甚至各种入侵检测动态系统也不能很好的达到保护好计算机的安全问题时,我们就需要在做好入侵检测的同时还要掌握网络安全监控的技术,对远程网络及本机的后台程序进行有效的监控,才能更好的保护好自己的电脑安全。 1.2 主要研究内容 本文 主要工
16、作围绕网络安全监控系统的设计与实现展开,主要 包括 中心管理 平台的设计与 开发、 流量分析 技术和 漏洞扫描 技术研究与实现以及整个原型系统的搭建。主要 工作 包括: 厦门大学本科生论文 2 ( 1) 流量分析 模块的设计与实现 。 网络流量可以从一个侧面反映出系统当前的安全状态和运行情况, 本论文 基于 WINPCAP 协议,设计并开发了一个网络流量分析模块,该模块能够完成针对不同协议的网络流量统计分析工作; ( 2) 漏洞分析模块的设计与实现。在本论文所设计的监控系统中,引入漏洞分析的目的主要在于对系统需要进行安全评估的主机进行安全扫描,以确定其是否处于安全状态。漏洞分析模块基于 WIN
17、SOCK 采用 VC+6.0 完成开发 。 ( 3) 中心管理 平台的设计与实 现。该平台 可以向 管理员 提供当前系统安全状态信息(包括流量数据和来自底层入侵检测系统的报警),并可以根据当前的安全评估要求调用漏洞分析模块对目标主机进行漏洞分析。 1.3 本论文组织结构 本论文结构如下: 第一章:绪论。介绍本论文的课题背景,主要研究内容和和组织结构。背景主要介绍了当今网络的重要性和 以及网络安全现状。 主要研究内容介绍了 基于网络的流量分析的入侵检测原理和过程( snort 的应用), 网络漏洞的产生和基本情况 。 第二章:基本概念和工具。介绍本系统使用的技术,如 snort,TCP/IP 网
18、络协议的起源及分 层结构,端口功能简介,多线程技术和 winsock 技术等。以及系统的开发环境: Microsoft Visual Studio .net, Microsoft Foundation Class 等。 第三章:系统的设计。主要介绍系统的 架构, 设计模式,类之间的关联(类图),系统运行的整体流程和详细的图表说明。以及系统详细设计,主要包括 流量分析 模块和漏洞扫描子模块 2 个部分。 第四章:系统的实现。简要说明了系统的运行界面,包括系统各个部分的功能和各个控件的作用。并演示了 网络流量的截取、报警设置 和漏洞扫描功能的执行结果。 第五章:总结。总结了系统设计的经验以及个人对
19、系统的评价等。 厦门大学本科生论文 3 第二章 基本概念和工具 本系统以 Visual C+.net 作为开发平台, 用 snort 技术来进行基于网络流量分析的入侵检测 ,利用 TCP/IP 协议和 winsock 技术进行端口探测和漏洞分析。因此本章将从 端口开放 、网络协议、 winsock、 snort 技术等方面进行介绍。 2.1 基本概念及其技术 2.1.1 端口功能简介 端口是计算机与外界通讯交流的出口。应用程序通过系统调用与某端口建立连接( binding)后,传输层传给该端口的数据都被相 应的进程所接收,相应进程发给传输层的数据都从该端口输出。在 TCP/IP 协议的实现中,
20、端口操作类似于一般的 I/O 操作,进程获取一个端口,相当于获取本地唯一的 I/O 文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。 按端口号可分为 3 大类: ( 1)公认端口( WellKnownPorts):从 0 到 1023,它们紧密绑定( binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如: 80 端口实际上总是 HTTP 通讯。 ( 2)注册端口( RegisteredPorts):从 1024 到 49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它
21、目的。例如:许多系统处理动态端口从 1024 左右开始。 ( 3)动态和 /或私有端口( Dynamicand/orPrivatePorts):从 49152 到 65535。理论上,不应为服务分配这些端口。实际上,机器通常从 1024 起分配动态端口。但也有例外: SUN 的RPC 端口从 32768 开始。 端口扫描用于判断目标主机的端口是否开放。从黑客的角度讲,攻击一台联网主机首先必定是寻找对方开放了哪 些网络服务,即便该主机可能有防火墙保护,只要它开放了一些网络服务,那么其安全性就会大大降低。而获得目标主机是否开放某些服务,最好的办法就是尝试连接该服务所对应的端口。其工作原理为向扫描对象的 TCP/UDP 端口发送连接请求,根据对方的回应判断端口是否开放。具体流程将在 Winsock 函数中进行介绍。 厦门大学本科生论文 4 表 2-1 常见端口列表 7 回送 (Echo) 13 日期时间 (Daytime) 15 网络状态 (Netstat) 20 FTP 数据 (FTP-Data) 21 FTP 控制 (FTP) 23 终端连接 (Telnet) 25 简单邮件传输协议 (SMTP) 37 时间 (Time) 53 域名服务器 (DNS) 67 引导协议服务器 (Bootps) 68 引导