基于多主体技术入侵检测系统——底层数据库的分析整合---毕业论文_第1页
基于多主体技术入侵检测系统——底层数据库的分析整合---毕业论文_第2页
基于多主体技术入侵检测系统——底层数据库的分析整合---毕业论文_第3页
基于多主体技术入侵检测系统——底层数据库的分析整合---毕业论文_第4页
基于多主体技术入侵检测系统——底层数据库的分析整合---毕业论文_第5页
免费预览已结束,剩余55页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文基于多主体技术入侵检测系统 底层数据库的分析整合Based on Multi-Agent Technology Intrusion Detection SystemAnalysis and integration of the underlying database姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘 要随着Internet 的迅速发展和信息社会的到来,网络已经影响到社会的政治、经济、文化、军事和社会生活的各个方面。以网络方式获取信息和交流信息已成为现代信息社会的一个重要特征。互联网作为当代社会传播信息资源的工具已经越来越重要。网络已经成为当今社会人们生活中必不可少的一部分。而随着计算机网络越来越复杂,网络管理己变得日益重要,要求网络管理对网络变化做出快速反应,以及为管理大型网络提供必要的手段等等。网络流量分析系统作为网络管理的一个重要的基础系统,对网络的流量进行实时的监控,为后续的网络管理工作,网络黑客攻击防范工作起到了最重要的作用。我们所设计的基于多主体的入侵检测系统是通过对多个主体检测到的数据进行分析整合,提取关键数据,然后再进行二次分析,以达到降低误报率,减少冗余报警。在这个系统中我们主要对snort获得的攻击和流量监控系统产生的报警进行分析整合,考虑到以后的跨平台,我们用java实现,MySQL作为后台的数据库管理系统并提供一个良好的界面展示分析前后的数据,直观的体现出是否达到降低误报,减少冗余。关键词:入侵检测;流量分析;snort;MySQL;WinpcapAbstractWith the rapid development of Internet and the advent of the information society, the social network has already affected the political, economic, cultural, military and all aspects of social life. The way to obtain and exchange information through the Internet has become an important feature of the modern information society. Internet as a resource tool for the dissemination of information in contemporary society has become increasingly important. The network has become an essential part of societys life.As computer networks become more complex, network management has become increasingly important for the network to react quickly to changes in the management of the network, as well as for the management of large networks with the necessary means, and so on. Network flow analysis system, as an important foundation system of the network management, conducts a real-time monitoring to the network flow control, plays the most important role in the follow-up management of the network and network hackerscrime prevention.Multi-agent-based intrusion detection system We designed is detected on a number of the main analysis of the data integration, piuck up key data, and then a second analysis, in order to reduce the false alarm rate, reducing redundant alarm. Under this system, we focused on access to snort attacks and traffic monitoring system to analyze the integration of the alarm, after taking into account the cross-platform, we use java to achieve, MySQL as the database management system background and provide a good interface to display the data that before and after analysis, reflect the system whether or not reduce false positives and reduce redundancy.Key words: intrusion detection; Flow analysis ; Winpcap; MySQL;Snort目 录第一章 绪论11.1 选题背景和研究意义11.2 本文研究内容31.3 论文组织结构3第二章 基本概念介绍42.1 以太网简介42.1.1 以太网的简史42.1.2 OSI参考模型52.1.3 以太网基本网络组成52.2 IP/TCP协议62.2.1 TCP/IP整体构架概述62.3 UDP协议82.4 ICMP协议92.5 Winpcap协议介绍92.5.1 Winpcap 的组成102.5.2 Winpcap的功能102.6 系统开发工具简介112.6.1 Eclipse简介112.6.2 MySQL简介132.6.3 Snort简介132.6.4 基于Winpcap的流量分析系统简介172.7 本章小结18第三章 系统详细设计193.1系统开发目的及设计目标193.2 系统整体设计思想193.3 抓获分析snort系统报警数据203.3.1 snort规则213.3.2 Windows平台下snort的安装和使用243.4 抓获分析基于流量的监控系统的警报数据263.5 分析整合数据263.5.1分析来自snort系统的数据263.5.2分析来自流量监控系统的数据283.5.3整合数据283.6 实时扫描323.7 界面显示333.8 数据库的设计343.9 本章小结35第四章 系统实现结果364.1 后台数据的捕获分析364.1.1 获取snort系统报警数据364.1.2 获取流量监控系统警报数据414.1.3 分析整合数据444.2 用户界面显示464.3 本章小结47第五章 结束语48参考文献50致谢51ContentsChapter 1 Introduction11.1 Research Topics Background and Significance11.2 the contents to research31.3 The organizational structure3Chapter 2 Introduced the basic concepts42.1 Ethernet Introduction42.1.1 A Brief History of Ethernet42.1.2 OSI Reference Model52.1.3 Basic network of Ethernet52.2 IP/TCP Protocol62.2.1 TCP/IP outlined the overall framework62.2.2 Protocols in TCP/IP62.3 UDP Protocol82.4 ICMP Protocol92.5 Winpcap protocol introduced92.5.1 The composition of Winpcap102.5.2 Winpcap functions102.6 Introduction System development tools112.6.1 Eclipse Introduction112.6.2 MySQL Introduction202.6.3 Snort Introduction202.6.4 Based on the traffic analysis system Winpcap Introduction172.7 Summary of this chapter18Chapter 3 The detailed design of the system193.1 The purpose of system development and design objectives193.2 Overall system design concept193.3 Snort alarm analysis system captured data203.3.1 snort rules203.3.2 Windows platform installation and use of snort243.4 Analysis of captured traffic monitoring system based on the alert data313.5 Analysis and integrated data313.5.1 Analysis of data from system snort313.5.2 Analysis from the data flow monitoring system283.5.3 Integration of data283.6 Real-time scanning323.7 Interface display333.8 Database design343.9 Summary of this chapter35Chapter 4 The results of system404.1 Analysis of background data capture404.1.1 Snort alert data access404.1.2 Access to the flow monitoring system alarm data414.1.3 Analysis and integration of data444.2 User interface shows464.3 Summary of this chapter47Chapter 5 Concluding48References50Acknowledgements51基于多主体的入侵检测系统第一章 绪论1.1 选题背景和研究意义随着网络技术的发展和应用范围的扩大,特别是Internet的兴起,许多商业组织开始把Internet作为他们最重要的商业运作手段,政府机构也把Internet作为向公众提供访问公共记录和信息的渠道,大众传媒的重心也逐渐向网络倾斜,人们越来越依赖于网络进行信息访问和信息处理,信息作为一种无形的资源也越来越得到人们的青睐,这一方面提供了资源的共享性,改变了以往单机工作模式,提高了效率,但是另一方面,在带来便利的同时也急剧地增加了网络安全的脆弱性和计算机系统的非安全因素。自1988年莫里斯蠕虫事件发生以来,侵犯安全的事件报道便不绝于耳, CERT/CC处理的安全事故逐年呈爆炸性增长。世界著名的商业网站,如Yahoo、EBay、Amazon、CNN都曾被黑客入侵过,造成巨大的经济损失,甚至连专门从事网络安全的RSA网站也曾受到过黑客的攻击。据美国联邦调查局(FBI)的估计, 2000年全美因网络安全问题而造成的损失约为1万亿美元。我国的网络安全形势也十分严峻,频繁的黑客入侵事件和计算机病毒的泛滥,使我国的很多政府部门、国家重要商业和教育机构都受到了不同程度的侵害,有些造成了严重的社会影响和经济损失。如何有效保护重要的信息数据、提高计算机网络系统的安全性是当前必须考虑和解决的一个重要问题。传统的网络安全技术主要包括:加密和数字签名机制、身份认证与访问控制机发展得比较成熟,特别是防火墙技术,它能有效地控制内部网络与外部网络之间的访问及数据传送,从而达到保护内部网络的信息不受外部非授权用户的访问和过滤信息的目的,防火墙配置的多样性和防护的有效性使它成为网络安全防线的中流砥柱,但是防火墙对于从内部发出攻击却无能为力。任何一种单一的安全技术都并非万能,而且随着攻击者经验日趋丰富,攻击工具与手法的日趋复杂多样,传统单一的安全技术和策略已经无法满足对安全高度敏感的部门的需要。因此,网络安全的防卫必须采用一种纵深的、多样的手段,形成一个多层次的防护体系,不再是单一的安全技术和安全策略,而是多种技术的融合,关键是各种安全技术能够起到相互补充的作用,这样,即使当某一种措施失去效能时,其他的安全措施也能予以弥补。传统的安全技术虽然取得了很大的成效,但是它也存在一些固有的缺陷,比如访问控制可以拒绝未授权用户的访问,却并不能防止已授权访问用户获取系统中未授权信息;防火墙可以将危险挡在外面,却无法挡住内部的入侵。从网络安全的角度看,公司的内部系统被入侵、破坏与泄密是一个严重的问题,以及由此引出的更多有关网络安全的问题都应该引起重视。据统计,全球80%以上的入侵来自于内部。因此,传统的安全技术更多的是一种基于被动的防护,而如今的攻击和入侵要求我们主动地去检测、发现和排除安全隐患,正是在这样的环境下,入侵检测系统开始崭露头角,成为了安全市场上和研究上新的热点,不仅愈来愈多的受到人们的关注,而且已经开始在各种不同的环境中发挥越来越重要的作用。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。现有的入侵检测系统(Intrusion Detection System,简称IDS)在实际应用中普遍存在误报率/漏报率高的缺陷,其根本原因在于:传统的IDS往往注重于低层面的入侵和异常活动并独立地产生报警,其报警的产生机制是面向活动细节而不是面向事件本身5。比如,一次正常事件中可能会出现与规则相匹配的可疑活动,虽然这时并不存在入侵事件,但仍会导致IDS产生报警,从而导致误报。而对于实际存在的入侵事件来说,由于该事件可能会包含大量同类型的可疑活动,如在SYN拒绝服务攻击中会出现大量SYN数据包,现有的IDS(如Snort)在处理这类问题时会为每个可疑活动产生一条报警,而实际上这些报警反映的是同一个入侵事件。大量冗余报警不仅造成不必要的资源浪费,而且也不利于基于报警信息的关联分析。如何克服面向活动的报警信息产生机制给IDS所带来的负面影响已经成为入侵检测技术应用和发展中必须解决的问题。根据对现有报警信息产生机制的分析我们认为,现有IDS在处理原始报警信息时将可疑活动等同于入侵事件的机制是不可取的5。虽然现有报警机制产生的详尽报警信息有助于了解入侵的细节,提供了及时发现入侵的机会,但不能简单将其理解为发现实际入侵行为的结论。基于以上认识,我们提出了一种基于入侵事件的报警信息产生机制。其基本思想是以原始报警信息为分析对象,在剔除那些不属于入侵事件的报警事件后,对属于同一入侵事件的报警进行关联融合,从而在减少冗余信息的同时降低了误报率。1.2 本文研究内容本文根据多主体入侵检测系统的特点,将snort系统和流量分析系统所产生的报警数据进行整理分析,并将其整合进入侵检测系统的数据库,以达到整个系统在降低误报和减少冗余等方面的性能。最终将整合前后的数据展示出来,对所得的实验数据进行分析和验证,证明通过进一步整合snort系统和流量分析系统所产生的报警数据后,多主体入侵检测系统系统在报警误报和冗余方面取得了较大的改善,基本达到我们的预期。1.3 论文组织结构论文的组织结构如下:第一章 绪论 主要说明了本文的背景和研究意义,并对研究的内容进行了概述。第二章 介绍基本的概念和相关的技术知识 对于本系统涉及到的基本概念以及相关的技术进行介绍。第三章 系统的详细设计 本章给出了系统详细的设计方案以及整体架构。第四章 系统具体实现结果 本章给出了系统的实现结果,并对实现结果进行了说明。第五章 结束语 说明了该系统用到的技术和知识,并对系统进行展望,为未来的进一步开发提供方向。第二章 基本概念介绍由于本系统是将基于Winpcap协议的网络流量监控系统所取得的报警数据和snort系统所取得的报警数据进行整合,实现降低整个基于多主体系统的误报率和减少冗余,并将整合后数据保存到数据库。整个系统开发采用java语言实现整合后台数据和整合前后数据的界面显示,利用MySQL实现数据存储,并且整个系统是建立在snort系统和基于Winpcap协议的网络流量监控之上,所以在本章中主要对以太网、IP/TCP协议、UDP和ICMP协议、Winpcap协议、MySQL数据库、snort系统以及系统开发工具做详细介绍。2.1 以太网简介以太网(Ethernet)是一种计算机局域网组网技术。IEEE制定的IEEE802.3标准给出了以太网的技术标准。它规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网是当前应用最普遍的局域网技术。它很大程度上取代了其他局域网标准,如令牌环网、FDDI和ARCNET。以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了最大程度的减少冲突,最大程度的提高网络速度和使用效率,使用交换机(Switch)来进行网络连接和组织,这样,以太网的拓扑结构就成了星型,但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detect 即带冲突检测的载波监听多路访问) 的总线争用技术,并以10 Mbps的速率运行在多种类型的电缆上。2.1.1 以太网的简史Ethernet是Xerox、Digital Equipment和Intel三家公司开发的局域网组网规范,并于80年代初首次出版,称为DIX1.0。1982年修改后的版本为DIX2.0。 这三家公司将此规范提交给IEEE(电子电气工程师协会)802委员会,经过IEEE成员的修改并通过,变成了IEEE的正式标准,并编号为IEEE802.3。Ethernet和IEEE802.3虽然有很多规定不同,但术语Ethernet通常认为与802.3是兼容的。IEEE将802.3标准提交国际标准化组织(ISO)第一联合技术委员会(JTC1),再次经过修订变成了国际标准ISO8802.3。2.1.2 OSI参考模型IEEE802.3在制定时突出的一个基本思想是将系统进行逻辑划分,并研究如何将连接在一起。我们知道,ISO组织将网络按其功能划分为7个功能层,每层都完成某个特定功能。图21所示为OSI参考模型。图21: OSI模型2.1.3 以太网基本网络组成共享媒体和电缆:10BaseT(双绞线),10Base-2(同轴细缆),10Base-5(同轴粗缆)。转发器或集线器:集线器或转发器是用来接收网络设备上的大量以太网连接的一类设备。通过某个连接的接收双方获得的数据被重新使用并发送到传输双方中所有连接设备上,以获得传输型设备。网桥:网桥属于第二层设备,负责将网络划分为独立的冲突域或分段,达到能在同一个域/分段中维持广播及共享的目标。网桥中包括一份涵盖所有分段和转发帧的表格,以确保分段内及其周围的通信行为正常进行。交换机:交换机,与网桥相同,也属于第二层设备,且是一种多端口设备。交换机所支持的功能类似于网桥,但它比网桥更具有的优势是,它可以临时将任意两个端口连接在一起。交换机包括一个交换矩阵,通过它可以迅速连接端口或解除端口连接。与集线器不同,交换机只转发从一个端口到其它连接目标节点且不包含广播的端口的帧。以太网协议:IEEE 802.3 标准中提供了以太帧结构。当前以太网支持光纤和双绞线媒体支持下的四种传输速率:10 Mbps 10Base-T Ethernet(802.3)100 Mbps Fast Ethernet(802.3u)1000 Mbps Gigabit Ethernet(802.3z))10 Gigabit Ethernet IEEE 802.3ae2.2 IP/TCP协议TCP/IP 协议是在60 年代由麻省理工学院和一些商业组织为美国国防部开发的。TCP/IP协议是支持Internet/Intranet 的基本通信协议。传输控制协议TCP(Transmission Control Protocol),负责数据的流量控制,并保证传输的正确性;网际协议IP(Internet Protocol),负责将数据从一处传往另一处。TCP/IP 协议具有广泛的兼容性和可伸缩性,可连接不同的计算机网络协议、不同的网络设备。TCP/IP 已成为网络互连事实上的标准,并成为支持Internet/Intranet 的协议标准。2.2.1 TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。2.2.2 TCP/IP中的协议IP协议网际协议IP(Internet Protocol)是TCP/IP的心脏,也是网络层中最重要的协议。网际协议(IP)是一个网络层协议,它包含寻址信息和控制信息 ,可使数据包在网络中路由。IP 协议是 TCP/IP 协议族中的主要网络层协议,与 TCP 协议结合组成整个因特网协议的核心协议。IP 协议同样都适用于 LAN 和 WAN 通信。协议结构如下:图22: IP协议结构TCP协议 传输控制协议TCP(Transfer Control Protocol) 是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。关于流数据传输 ,TCP 交付一个由序列号定义的无结构的字节流。 这个服务对应用程序有利,因为在送出到 TCP 之前应用程序不需要将数据划分成块, TCP 可以将字节整合成字段,然后传给 IP 进行发送。TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。协议结构如下:图23: TCP协议结构2.3 UDP协议用户数据报协议UDP(User Datagram Protocol)是 ISO 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 UDP 协议基本上是 IP 协议与上层协议的接口。 UDP 协议适用端口分辨运行在同一台设备上的多个应用程序。与 TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少。UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。协议结构如下:图24: UDP协议结构2.4 ICMP协议Internet 控制信息协议ICMP(Internet Control Message Protocol)是 IP 组的一个整合部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络操作或错误操作的不可达信息。ICMP 包发送是不可靠的,所以主机不能依靠接收 ICMP 包解决任何网络问题。ICMP 的主要功能有:通告网络错误、通告网络拥塞、协助解决故障、通告超时。协议结构如下:图25: ICMP协议结构2.5 Winpcap协议介绍Winpcap是一个免费公开的软件系统。它用于windows系统下的直接的网络编程。大多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据传输,因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于文件读写的函数接口。图26: Winpcap的内部结构2.5.1 Winpcap 的组成第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll 为win32 平台提供了一个公共的接口。不同版本的Windows 系统都有自己的内核模块和用户层模块。Packet.dll 用于解决这些不同。调用Packet.dll 的程序可以运行在不同版本的Windows 平台上,而无需重新编译。第三个模块Wpcap.dll 是不依赖于操作系统的。它提供了更加高层、抽象的函数。packet.dll直接映射了内核的调用。Wpcap.dll 提供了更加友好、功能更加强大的函数调用。2.5.2 Winpcap的功能Winpcap 可以为Win32 应用程序提供访问网络底层的能力。它提供了以下的各项功能:a. 捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据包;b. 在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉;c. 在网络上发送原始的数据包;d. 收集网络通信过程中的统计信息。Winpcap 的主要功能在于独立于主机协议(如TCP-IP)而发送和接收原始数据报。也就是说,Winpcap 不能阻塞,过滤或控制其他应用程序数据报的发收,它仅仅只是监听共享网络上传送的数据报。目前基于Winpcap 的应用主要有:WinDump、Analyzer、Ethereal 以及snort,这些软件能够捕捉网络通信、读取并翻译来自其他系统的tcpdump 类型二进制数据包。另外还有Sniffer,Project URL Snooper,Hidownload 等有特定实际用途的网络软件。2.6 系统开发工具简介基于多主体的入侵检测系统是通过分析整合snort系统和基于WINPCAP 进行开发的流量分析系统所获得的报警数据,采用Eclipse作为开发平台,系统使用java语言编写后台分析数据程序和前台的界面显示, MySQL 作为基于多主体的入侵检测系统的数据库管理系统,以MySQL 数据库作为前后台交互的中间层。2.6.1 Eclipse简介Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。 Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。2.6.2 MySQL简介MySQL,出自瑞典小公司MySQL 公司的开放源码的数据库软件,目前对数据库老牌厂商Oracle, IBM, Microsoft 以及Sybase 等公司产生威胁。它同样具有良好的可靠性、安全性和易用性,是大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。MySQL提供了其它数据库少有的编程工具,而且MySQL 对于商业和个人用户是免费的。MySQL 是大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。MySQL 数据库最主要的两大特点就是开源和免费,此外,它还具有以下主要特点:(1). 同时访问数据库的用户数量不受限制;(2). 可以保存超过50,000,000 条记录;(3). 是目前市场上现有产品中运行速度最快的数据库系统;(4). 用户权限设置简单、有效。由于MySQL 本身并不像MS SQL Server 那样提供图形化显示界面,所以为了在开发过程中显示方便,我们还可以装上一些MySQL 的插件,比如MySQL Front,这是一款小巧的管理Mysql 的应用程序。主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格,可编辑/可增加/删除的域。可编辑/可插入/删除的记录,可显示的成员,可执行的SQL 脚本,提供与外程序接口,保存数据到CSV 文件等。2.6.3 Snort简介snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统2。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作2。嗅探器 所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上2。首先,我们从最基本的用法入手。如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:./snort -v 使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。如果你要看到应用层的数据,可以使用: ./snort -vd 这条命令使snort在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:./snort -vde 注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:./snort -d -v e数据包记录器 如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包: ./snort -dev -l ./log 当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络:./snort -dev -l ./log -h /24 这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。 如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:./snort -l ./log -b 注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。 你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump或者Ethereal。使用-r功能开关,也能使snort读出包的数据。snort在所有运行模式下都能够处理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令: ./snort -dv -r packet.log 在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取ICMP包,只需要输入下面的命令行: ./snort -dvr packet.log icmp网络入侵检测系统 snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式: ./snort -dev -l ./log -h /24 -c snort.conf snort.conf是规则集文件。snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort就输出到/var/log/snort目录。 注意:如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。 此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e选项也可以不用: ./snort -d -h /24 -l ./log -c snort.conf 这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。网络入侵检测模式下的输出选项 在NIDS模式下,有很多的方式来配置snort的输出。在默认情况下,snort以ASCII格式记录日志,使用full报警机制。如果使用full报警机制,snort会在包头之后打印报警消息。如果你不需要日志包,可以使用-N选项。 snort有6种报警机制:full、fast、socket、syslog、smb(winpopup)和none2。其中有4个可以在命令行状态下使用-A选项设置。这4个是: -A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。 -A full:是默认的报警模式。-A unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。-A none:关闭报警机制。 使用-s选项可以使snort把报警消息发送到syslog,默认的设备是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。 snort还可以使用SMB报警机制,通过SAMBA把报警消息发送到Windows主机。为了使用这个报警机制,在运行./configure脚本时,必须使用-enable-smbalerts选项。下面是一些输出配置的例子: 使用默认的日志方式(以解码的ASCII格式)并且把报警发给syslog: ./snort -c snort.conf -l ./log -s -h /24 使用二进制日志格式和SMB报警机制:./snort -c snort.conf -b -M WORKSTATIONS2.6.4 基于Winpcap的流量分析系统简介基于Winpcap的流量监控系统是基于Winpcap 协议进行开发的,采用Visual C+作为开发平台,MySQL 作为后台的数据库管理系统,提供良好的用户管理界面,可以实现对本地网络流量的实时监控、统计分析,并提供异常流量的查询功能,从而能对网络中可能存在的拒绝服务攻击进行检测。整个系统使用C 语言编写后台数据包捕获程序,VC+作为前台的界面显示, MySQL 作为流量分析系统的数据库管理系统,以MySQL 数据库作为前后台交互的中间层,使后台数据包的捕获和前台的数据流量实时监控以及对历史数据查询得以很好的实现。2.7 本章小结本章主要对用到的知识和工具进行了大概的介绍。其中winpcap协议、snort系统和流量监控系统属于特定领域内的概念,比较不熟悉,给予比较详细的介绍。对于其他比较熟悉基本概念如:以太网、IP/TCP协议、UDP和ICMP协议和MySQL数据库、Eclipse等开发工具给予简单的介绍。第三章 系统详细设计前面我们对基于多主体的入侵检测系统的进行了分析,并对相关的技术、概念和开发工具进行了介绍,在本章中我们将给出详细的设计方案。3.1系统开发目的及设计目标本入侵系统将用来分析整合snort系统和流量分析系统所取得的警报数据,实现针对不同系统的报警进行分析,把分析前后的数据通过友好的界面展示出来,并将最终数据保存到数据库。在snort系统和流量分析系统的基础上,通过制定一定的准则(如报警数据的源IP地址是否相同),对两个不同系统所抓获的警报数据进行分析整理,在一定的时间内符合准则的报警只给出一次,这样就大大的减少了系统的误报和冗余警报。3.2 系统整体设计思想根据基于多主体的入侵检测系统的开发目的及设计目标,将系统定位于一个包含抓获分析snort系统报警

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论