毕业论文网络入侵检测系统Snort研究Word格式文档下载.docx
- 文档编号:19276203
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:32
- 大小:754.03KB
毕业论文网络入侵检测系统Snort研究Word格式文档下载.docx
《毕业论文网络入侵检测系统Snort研究Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《毕业论文网络入侵检测系统Snort研究Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
所以说,网络安全问题已成为各国政府、企业以及广大网络用户关心的问题之一。
任何试图破坏网络活动的正常化都可以称为网络安全问题,过去保护网络安全的最常用、最传统的方法就是防火墙,但是防火墙只是一种被动防御性的网络安全工具,随着科学技术的不断发展,网络日趋复杂化,传统防火墙是不足以满足如今复杂多变的网络安全问题,在这种情况下,逐渐产生了入侵检测系统,入侵检测系统不仅能够为网络安全提供实时的入侵检测及采取响应的防护手段,它还可以识别针对计算机或网络资源的恶意企图和行为,并对此做出反应,它提供了对系统受到内部攻击、外部攻击和误操作的实时保护,能够帮助系统对付网络攻击。
入侵检测系统能很好的弥补防火墙的不足,是防火墙的合理完善。
入侵检测系统具有以下几个特点:
1)从系统的不同环节收集各种信息;
2)分析收集到的信息并试图寻找入侵信息活动的特征;
3)自动对检测到的行为做出响应;
4)记录并报告检测结果;
入侵检测系统的主要功能有:
1)监测并分析用户和系统的活动;
2)核查系统配置及其漏洞;
3)评估系统重要资源和数据文件是否完整;
4)识别己知的入侵行为;
5)统计分析不正常行为;
6)根据操作系统的管理日志,识别违反安全策略的用户活动;
入侵检测技术是一种积极主动地安全防护技术,其核心在于它的检测引擎,如何实现高效快速的检测,是入侵检测技术的一个重要研究重点。
目前入侵检测技术主要分为两大类,分别是基于异常的入侵检测和基于规则的入侵检测。
由于目前的攻击主要是针对网络的攻击,因此检测入侵和攻击的最主要的方法是捕获和分析网络数据包,使用相应的软件来提取入侵者所发出的攻击包的特征,然后将这些特征攻击包和入侵检测系统的特征库进行对比匹配,如果在特征库中检测到相应的攻击包,就会发出入侵报警。
在与特征库进行匹配的过程中,用到的最主要的技术就是模式匹配,所以说在入侵检测系统中模式匹配是一个研究重点。
在国内,随着网络应用的日益增长,特别是那些关键部门对网络的应用使得网络安全问题至关重要,迫切需要高效的入侵检测产品来确保网络安全,但是,由于我国的入侵检测技术在网络安全领域的研究起步较晚,还不够成熟和完善,需要投入较多的精力来对这方面进行探索研究,特别是基于模式匹配也就是基于规则的入侵检测是一个重要的研究领域,这对抑制黑客攻击和网络病毒的传播,提高网络安全具有重要意义
1。
2入侵检测技术的不足与发展趋势
入侵检测技术作为安全技术的一个重要领域,正在成为网络安全研究的热点,对入侵检测的理论研究和实际应用中还存在着许多问题,需要我们继续深入研究和探索,具体来说,入侵检测在以下方面有待继续发展:
1)如何提高入侵检测的安全性和准确性
目前商用领域的入侵检测系统主要是基于模式匹配的入侵检测引擎。
这种基于模式匹配的入侵检测引擎是将入侵数据与攻击模式特征库进行匹配,其缺点是:
当网络中出现新的攻击时,由于攻击特征库未能及时更新,或是暂时很难对这些攻击的攻击特进行总结等,从而对这些新的攻击无法产生报警,造成漏报。
另外,大多入侵检测无法识别伪装或变形的网络攻击,也造成大量漏报和误报。
因此减少网络负担,实现模式特征库的不断升级与扩展,这是对基于模式匹配的入侵检测系统来讲,提高入侵检测的安全性和准确性有很大帮助,从而使基于模式匹配的入侵检测系统具有更广泛的应用前景.
2)如何提高入侵检测的检测速度
入侵检测系统的检测速度是其一项非常重要的指标,随着网络数据快速增长,不仅要求网络传输工具技术的不断发展,而且如果入侵检测的处理速度不能相应提高,那么它将会成为影响网络正常运行的一大瓶颈,从而导致丢包,漏报等,进一步影响入侵检测系统的准确性和有效性.在入侵检测中,随着百兆、甚至千兆网络的大量应用,入侵检测技术发展的速度已经远远落后于网络发展的速度.如何提高入侵检测系统的检测速度是目前研究者们迫不及待的任务,如改进其使用的核心算法,设计灵巧的检测系统等。
3)如何提高入侵检测的理论研究
现在,入侵检测技术研究理论在我国还不成熟,如何选择合适的检测技术以确保入侵检测的高效性还不确定,随着计算机科学不断向前发展,计算机科学中的各种领域技术也有待进一步完善,如网络技术、系统工程、分布式计算、人工智能等已形成比较良好的理论基础,借鉴上述技术,再把入侵检测和网络结构、加密技术、防火墙、病毒防护技术等结合起来,结合入侵检测理论本身的特点,必将会提高、完善入侵检测的理论研究。
4)如何规范入侵检测产品的性能
标准化的工作对于一项技术的发展非常关键,在某一个技术领域,如果没有相应的标准,那么该领域的发展将是混乱无章的。
目前对于入侵检测产品尚无一个明确的国际标准出台,国内也没有,这使得各产品之间无法共享数据信息。
尽管入侵检测系统经历了二十多年的发展,但产品规范仍处于一个无序状态,实际上,入侵检测还处在一个新兴的科学领域,如何规范入侵检测产品性能,研究者们对其还是充满信心,相信随着科技的继续发展、入侵检测理论的不断成熟,入侵检测产品的标准会出现的,从而加快入侵检测技术的不断向前发展。
2入侵检测系统概述
2.1入侵检测系统的概述
入侵检测系统(IntrusionDetectionSystem简称为IDS)工作在计算机网络系统中的关键节点上,通过实时地收集和分析计算机网络或系统中的信息,来检查是否出现违反安全策略的行为和是否存在入侵的迹象,进而达到提示入侵、预防攻击的目的。
入侵检测系统作为一种主动防护的网络安全技术,有效扩展了系统维护人员的安全管理能力,例如安全审计、监视、攻击识别和响应的能力。
通过利用入侵检测系统,可以有效地防止或减轻来自网络的威胁,它已经成为防火墙之后的又一道安全屏障,并在各种不同的环境中发挥关键作用。
从实验室原型研究到推出商业化产品、走向市场并获得广泛认同,入侵检测走过了20多年的历程。
●概念提出
1980年4月,JnamesP。
Aderson为美国空军做了一份题为“ComputerSecurityThreatMonitoringandSureillance”(计算机安全威胁监控与监视)的技术报告,第一次详细的阐述了入侵检测的概念.他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为了外部渗透、内部渗透和不法行为三种,还提出了利用审计跟踪数据监视入侵活动的思想。
这份报告被公认为是入侵检测的开山之作。
●模型的发展
1984年—1986年,乔治敦大学的DorothyDenning和SRI/CSL(SRI公司计算机科学实验室)的PeterNeumann研究出了一种实时入侵检测系统模型,取名为IDES(入侵检测专家系统)。
该模型独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵系统提供了一个通用的框架。
1988年,SRI/CSL的TeresaLunt等改进了Denning的入侵检测模型,并研发出了实际的IDES。
1990年时入侵检测系统发展史上十分重要的一年。
这一年,加州大学戴维斯分校的L.T.Heberlein等开发出了NSM(NetworkSecurityMonitor)。
该系统第一次直接将网络作为审计数据的来源,因而可以在不将审计数计转化成统一的格式情况下监控异种主机。
同时两大阵营正式形成:
基于网络的IDS和基于主机的IDS。
1988年的莫里斯蠕虫事件发生后,网络安全才真正引起各方重视。
美国空军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩尔国家实验室、加州大学戴维斯分校、Haystack实验室,开展对分布式入侵检测系统(DIDS)的研究,将基于主机和基于网络的检测方法集成到一起。
●技术的进步
从20世纪90年代到现在,入侵检测系统的研发呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方向取得了长足的进展。
目前,SRI/CSL、普渡大学、加州戴维斯分校、洛斯阿拉莫斯国家实验室、哥伦比亚大学、新墨西哥大学等机构在这些方面代表了当前的最高水平。
我国也有多家企业通过最初的技术引进,逐渐发展成自主研发。
2。
2入侵检测系统分类
基于主机IDS部署在单主机上,利用操作系统产生的日志记录作为主要信息源,通过对其进行审计,检测入侵行为。
基于主机IDS不对网络数据包或扫描配置进行检查,而是对系统日志提供的大量数据进行整理。
早期的系统多为基于主机的,主要用来检测内部网络的入侵攻击。
后来用分布主机代理来实现.
其主要优点:
信息源(0S日志记录)完备。
系统产生的日志是归类有序的。
它准确记录了每个用户的行为序列,这样便可以精确监控每个用户的行为。
同时也使得IDS对信息源的处理简单、一致。
对某些特定的攻击十分有效。
比如,审计日志能够显示出由缓冲区溢出攻击引起的优先级转移的情况,从而能够有效的检测缓冲区溢出攻击。
其主要缺点:
1)由于它通常作为用户进程运行,依赖于具体的操作系统底层的支持,与系统的体系结构有关,所以它无法了解发生在下层协议的入侵活动;
2)熟练的入侵者往往可以进入系统修改、删除有关的日志记录,从而隐藏入侵迹象;
3)HIDS位于所监视的每一个主机中,故占用的资源不能太多,从而大大制了所采用的检测方法及处理性能。
基于网络的IDS最早出现于1990年。
它主要用于防御外部入侵攻击.它通过监控出入网络的通信数据流,依据一定规则对数据流的内容进行分析,从而发现协议攻击、运行已知黑客程序的企图和可能破坏安全策略的特征,做出入侵攻击判断.
为了能够捕获入侵攻击行为,基于网络IDS必须位于能够看到所以数据包的位置,这包括:
环网内部、安全网络中紧随防火墙之后以及其它子网的路由器或网关之后。
最佳位置便是位于Internet到内部网络的接入点。
但是,同一子网的2个节点之间交换数据报文并且交换数据报文不经过IDS,那么IDS可能就会忽略这些攻击。
基于网络IDS的主要优点:
1)由于NIDS直接收集网络数据包,而网络协议是标准的.因此,NIDS如目标系统的体系结构无关,可用于监视结构不同的各类系统;
2)NIDS使用原始网络数据包进行检测,因此它所收集的审计数据被篡改的可能性很小,而且它不影响被保护系统的性能;
3)NIDS利用工作在混杂模式下的网卡实时监视和分析所有的通过共享式网络的传输,能够实时得到目标系统与外界交互的所有信息,包括一些隐蔽的端口扫描和没有成功的入侵尝试。
基于网络IDS的主要缺点:
1)缺乏终端系统对待定数据的处理方法等信息,使得从原始的数据包中重构应用层信息很困难。
因此,NIDS难以检测发生在应用层的攻击;
而对于加密传输方式进行的入侵,NIDS也无能为力;
2)NIDS只检查它直接连接网段的通信,不能检测到不同网段的网络包,因此在交换式局域网中,它难以获得不同交换端口的网络信息:
3)网络流的数据量大,NIDS必须对数据帧进行解码才能了解其中的含义。
因此,NIDS的数据处理量大,而造成处理能力不足。
2.3入侵检测技术
异常检测
异常检测的假设是入侵者活动异常于正常主体的活动。
根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档"
相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。
异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为.
特征检测
特征检测这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。
它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。
其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。
2.4入侵检测系统主流产品
近年来,国内外不少厂家生产了自己的入侵检测产品。
这些产品己经得到了广泛的应用,下面简要介绍一下国内外的一些产品。
1)Cisco公司的CiscoSecureIDS
CiscoSecureIDS以前被称为NetRanger,该产品由控制器(Director)、感应器(Sensor)和入侵检测模块IDSM(IntrusionDetectionSystemModule)三大组成部分组成。
感应器分为网络感应器(NIDS)和主机感应器(HIDS)两部分,分别负责对网络信息和主机信息的收集和分析处理。
控制器用于对系统进行控制和管理。
CiscoSecureIDS的另一个强项是其在检测时不仅观察单个包的内容,而且还要看上下文,即从多个包中得到线索。
CiscoSecureIDS是目前市场上基于网络的入侵检测系统中经受实践考验最多的产品之一。
2)ISSRealSecure
ISS是最早将基于主机和基于网络的入侵检测系统完全集成到一个统一的管理框架中的供应商之一。
ISSRealSecure具有方便的管理控制台,其服务器和网络感应器近几年也取得了很快的发展。
RealSecure采用分布式的体系结构、系统分为两层:
感应器和管理器。
感应器包括网络感应器、服务感应器和系统感应器三类。
网络感应器主要是对网络数据的分析检测,服务感应器主要是负责对系统日志和系统文件信息的检测。
管理器包括控制台、事件收集器、事件数据库和告警数据库四个部分。
3)“冰之眼”网络入侵检测系统
“冰之眼"
网络入侵检测系统是绿盟科技开发的网络入侵检测产品.具有IP碎片重组能力,同时具有基于特征和异常两种检测模式,能够提供多种入侵保护方式,并能与多种防火墙进行联动。
全自动在线升级系统使其能够和绿盟主站点保持规则库的同步更新。
4)开源入侵检测系统Snort
Snort是以开放源代码(OpenSource)形式发行的一个高性能、跨平台的轻量级网络入侵检测系统,在网络安全方面有着极高的地位,并且应用十分广泛。
在世界著名的专业安全网站insecure。
org进行的2006年网络安全工具Topl00评选中,Snort名列三甲,而在入侵检测一类中,更是头名状元。
2.5入侵检测技术发展趋势
入侵检测技术在不断地发展更新,近年来入侵检测技术沿着以下几个方向发展:
1)分布式入侵检测。
为了躲避检测,越来越多的攻击者采用分布式协同的方式发起攻击,传统的IDS局限于单一的主机或网络架构,对异构系统及大规模的网络检测明显不足,不同的系统之间不能协同工作。
为解决这一问题,需要发展分布式入侵检测技术与通用入侵检测架构。
2)智能化入侵检测.入侵方法越来越多样化与综合化,尽管已经有智能代理、神经网络与遗传算法在入侵检测领域应用研究,但这只是一些尝试性的研究工作,需要对智能化的IDS加以进一步的研究以解决其自学习与自适应能力.
3)应用层入侵检测.许多入侵活动的含义只有在应用层才能理解。
但传统方法很少涉及到应用层,使得一些应用系统内的入侵活动难以检测,所以需要开发应用层的入侵检测技术。
4)全面的安全防御方案。
即使用安全工程风险管理的思想与方法来处理网络安全问题,将网络安全作为一个整体工程来处理。
从管理、网络结构、加密通道、防火墙、病毒防护、入侵检测多方位全面对所关注的网络作全面的评估,然后提出可行的全面解决方案。
3网络入侵检测系统(Snort)研究
3.1Snort特点
Snort是一个以开放源代码形式发行的一个功能强大、跨平台、轻量级的网络入侵检测系统,最初由MartinRoesch编写,并由遍布世界各地的众多程序员共同维护和升级。
它利用Libpcap从网络中采集数据并进行分析,从而判断是否存在可疑的网络活动;
就检测模式而言,它基本上是基于误用检测技术,对数据进行最直接最简单的搜索匹配.虽然Snort是一个轻量级的入侵检测系统,但是它的功能却非常强大,其特点如下:
1)Snort代码短小,简洁,而且移植性非常好。
目前支持Linux系列,Solaris,BSD系列,IRIX,HP-UNIX,Windows系列等。
2)Snort具有实时流量分析和日志IP网络数据包的能力。
能够快速检测网络攻击,及时发出警报。
它提供的警报方式很多,比如Syslog,Unixsocket,WinPopup等。
3)Snort能够进行协议分析,内容的匹配和搜索。
现在它能够分析的协议有TCP、UDP、和ICMP。
将来可以支持更多IPX、RIP、OSPF等。
它能检测多种方式的攻击和探测。
4)Snort具有灵活的日志格式。
支持Tcpdump的二进制格式,也支持ASCll字符形式,也支持XML格式的,使用数据库输出插件,还支持数据库日志格式.当前支持的数据库有Postagresql、Mysql,任何UnixODBC、MicrosoftSQLServer、Oracle等。
5)使用TCP流插件,Snort可以对TCP包进行重组。
这种能力使得Snort可以对抗“无状态"
攻击。
无状态攻击是指攻击者每次只发送一个字节的数据包,逃过监视,然后被攻击主机的TCP栈会重新组合这些数据包,将攻击数据发送给目标端口上监听的进程,从而摆脱IDS的检测。
6)使用Spade(StatisticalPacketAnomalyDetectionEngine)插件,Snort能够报告异常的数据包,从而对端口进行有效的检测。
7)Snort还具有很强的系统防护能力。
使用IPTables,IPFilter插件可以使入侵检测主机和防火墙联动,通过FlexResp功能,Snort能够命令防火墙断开恶意连接。
8)扩展性好,对于新的攻击威胁反应迅速.Snort采用了一种简单的规则描述语言,最基本的规则知识包含四个域:
处理动作、协议、方向、端口。
可以对新的攻击迅速建立规则表.
9)Snort支持插件,可以使用具有特定功能的报告,检测子系统插件对其进行功能扩展。
当前支持的插件有:
数据库日志输出插件、破碎包检测插件、端口扫描检测插件、HttpURL插件、XML网页生成插件等。
3.2Snort的体系结构
图3-1Snort的体系结构
1)Sniffer(数据包嗅探器)
该子系统的功能是捕获网络数据包并按照TCP/IP协议的不同层次将数据包进行解析.Snort利用libpcaP库函数进行数据采集,该库函数可以为应用程序提供直接从链路层捕获数据包的接口函数,并可以设置数据包的过滤器来捕获指定的数据。
网络数据采集和解析机制是整个NIDS实现的基础,其中关键的是要保证高速和较低的丢包率,这不仅仅取决于软件的效率还同硬件的处理能力相关。
对于解析机制来说,能够处理数据包的类型的多样性也同样非常重要,目前,Snort可以处理以太网,令牌环以及SLIP等多种类型的包。
2)预处理器
Snort的预处理器是介于数据包嗅探器与检测引擎之间的可插入模块,它的主要思想是在数据包送到Snort的检测引擎之前提供一个报警、丢弃数据包或修改数据包的框架。
3)检测引擎
检测引擎是Snort的核心.Snort根据规则库对预处理器送来的数据包进行匹配检测。
为了能够快速而准确地进行检测,Snort用链表的形式对规则进行组织。
检测引擎的主要性能指标是快速和准确.为了达到快速的目的,要求Snort的规则链表要进行分类和组织结构优化。
为了达到准确的目的,要求规则的提取十分准确,并且编写十分精确和简洁的规则.
检测引擎是Snort的核心,准确和快速是衡量其性能的重要指标.准确性主要取决于对入侵行为特征码提取的精确性和规则编写的简洁实用性,由于网络入侵检测系统是被动防御的,只能被动的检测流经本网络的数据,而不能主动发送数据包去探测。
所以只有将入侵行为的特征码归结为协议的不同字段的特征值,通过检测该特征值来决定入侵行为是否发生。
快速性主要取决于引擎的组织结构,是否能够快速地进行规则匹配。
4)报警日志
检测引擎检查后的Snort数据需要以某种方式输出.Snort对每个被检测的数据包都定义了如下的三种处理方式;
alert(发送报警信息)、log(记录该数据包)和pass(忽略该数据句)。
这些处理方式其实是具体定义在检测规则中的,具体的完成是在日志/报警子系统中。
日志子系统允许将嗅探器收集到的信息以可读的格式或以tcpdump格式记录下来。
报警子系统负责将报警信息发送到syslog、用户指定的文件、Unix套接字或数据库中。
3。
3Snort入侵检测流程
基于规则的模式匹配是Snort检测机制的核心。
Snort的入侵检测流程分两大步:
第一步是规则的解析流程,包括从规则文件中读取规则和在内存中组织规则;
第二步是使用这些规则进行匹配的规则匹配流程。
下面将依次介绍入侵检测的流程:
规则解析流程
Snort首先读取规则文件,紧接着依次读取每一条规则.然后按照规则语法对其进行解析,在内存中对规则进行组织,建立规则语法树。
Snort程序调用规则文件读取函数ParseRulesFile()进行规则文件的检查、规则读取和多行规则的整理。
ParseRulesFile()只是Snort进入规则解析的接口函数,规则解析主要由ParseRule()来完成。
ParseRule()解析每一条规则,并将其加入到规则链表中.parseRule()的流程如图3—2所示。
图3-2规则解析流程
ParseRule()函数通过调用RuleType()函数提取规则类型,如果规则类型是Pass、fog、alert、activate、dynamic类型,那么就将规则按照规则语法结构进行解析。
首先调用proeessHeadNode()处理规则头,再调用proeessRuleoption()处
理规则选项。
如果提取的类型是预处理插件关键字PreProcess、输出插件关键字output、配置命令config、变量定义var等则调用相应的函数进行处理,处理后跳出本条规则解析,进行下一条规则解析。
规则匹配流程
Snort对从网络上捕获的每一条报文和规则语法树进行扫描匹配,首先按照默认的顺序遍历activation、dyn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 网络 入侵 检测 系统 Snort 研究