入侵检测技术应用--毕业论文.doc
毕业设计开题报告学生姓名 学 号 201402081117 专 业 计算机网络技术 班 级 网络201401班 指导教师 开题时间 2016年10月20日 黄冈职业技术学院电子信息学院电子信息学院毕业设计开题报告拟设计题目入侵检测技术应用综述(本课题研究的意义、研究的现状及自己的认识) 意义: 随着计算机网络技术的发展,网络安全成为一个突出的问题。网络入侵检测系统是近年来网络安全领域的热门技术,它能够对网络中发生的安全事件和网络中存在的安全漏洞进行主动实时的检测,它作为一种积极主动的防护技术,提供了对内部攻击、外部攻击和误操作的实时保护。入侵检测系统是保障计算机及网络安全的有力措施之一。通过研究本课题,可以了解入侵检测技术技术的发展历程,及国内外研究水平的差距,熟悉各种入侵检测技术原理方法的异同,以便今后对某种检测技术方法作进一步的改进时能够迅速切入要点。研究的现状及自己的认识:根据检测技术类型可划分为异常行为检测技术类型和漏洞检测技术类型。根据异常或者不合法行为和使用计算机资源信息的情况检测入侵的技术类型被称为异常入侵攻击检测。漏洞入侵检测是利用已知系统和应用软件的漏洞攻击方式检测入侵。研究内容(研究方向,研究内容、系统主要功能分析及说明)研究方向:入侵检测技术应用研究内容:本文从入侵检测技术的发展入手,研究、分析了入侵检测技术和入侵检测系统的原理、应用、信息收集和分析、数据的处理及其优缺点和未来的发展方向。入侵检测是一门综合性技术,既包括实时检测技术也有事后分析技术。尽管用户希望通过部署IDS来增强网络安全,但不同的用户需求也不同。系统主要功能及分析:一个入侵检测系统的功能结构至少包含事件提取入侵分析入侵响应和远程管理四部分功能。事件提取功能负责提取与被保护系统相关的运行数据或记录,并负责对数据进行简单的过滤。入侵分析的任务就是在提取到的运行数据中找出入侵的痕迹,将授权的正常访问行为和非授权的不正常访问行为区分开分析出入侵行为并对入侵者进行定位。入侵响应功能在分析出入侵行为后被触发,根据入侵行为产生响应。实现方法及预期目标(包括实施的初步方案、重点、难点及预期达到的效果)实施的初步方案:1.入侵检测技术的分析;2.查找、阅读并整理资料;3.入侵检测技术发展趋势;4.撰写论文提纲;5.撰写论文初稿并修改。重点:入侵检测技术是一种积极主动的安全防护技术,其工作流程包括数据收集、数据提取、数据分析、结果处理。检测模型为异常检测模型和误用检测模型,未来的发展趋势是智能化的全面检测,这也是本课题研究的重点。对进度的具体安排第一阶段:对入侵检测技术概况做分析10月17号到20号;第二阶段:查找、阅读并整理资料,10月22号到10月25号;第三阶段:撰写论文提纲,10月26号到10月27号;第四阶段:撰写论文初稿并修改,10月28号到11月5号;第五阶段:撰写论文定稿,11月5号到11月12号;参考文献1 蒋建春,冯登国.网络入侵检测技术原理与技术.北京:国防工业出版社,2001.7 2 戴连英,连一峰,王航.系统安全与入侵检测技术.北京:清华大学出版社,2002.33 美Richard O.Duda,Peter E.Hart,David G.Stork 李宏东 姚天翔等译 模式分类(原书第2版)机械工业出版社 ,2003-09-014 吴焱等译,入侵者检测技术.北京:电子工业出版社,1999指导教师意见(签署意见并签字)审查人签字: 年 月 日领导小组审查意见审查人签字: 年 月 日学业作品 题 目 入侵检测技术应用 学生姓名 徐 盼 学 号 201402081117 专 业 计算机网络技术 班 级 网络201401班 指导教师 刘 烨 完成日期 2016 年 11月 20日目录摘 要6关键词6第一章 绪论71.2 入侵检测技术的历史71.3 本课题研究的途径与意义8第二章 入侵检测技术原理92.1 入侵检测的工作流程92.1.1 数据收集92.1.2 数据提取92.1.3数据分析102.1.4 结果处理102.2入侵检测技术的检测模型102.2.1 异常检测模型102.2.2 误用检测模型11第三章 入侵检测技术功能概要11第四章 入侵检测系统实验案例分析124.1 配置Snort选项124.2 测试Snort144.3 攻击与检测过程144.3.1 攻击过程144.3.2 Snort运行过程144.4 检测结果分析14第五章 入侵检测技术的缺点和改进165.1 入侵检测技术所面临的问题165.2 入侵检测技术的改进发展16总 结17致 谢17参考文献18摘 要近年来随着计算机网络的迅速发展,网络安全问题越来越受到人们的重视。从网络安全角度来看,防火墙等防护技术只是被动安全防御技术,只是尽量阻止攻击或延缓攻击,只会依照特定的规则,允许或是限制传输的数据通过。在网络环境下不但攻击手段层出不穷,而且操作系统、安全系统也可能存在诸多未知的漏洞,这就需要引入主动防御技术对系统安全加以补充,目前主动防御技术主要就是入侵检测技术。 本文从入侵检测技术的发展入手,研究、分析了入侵检测技术和入侵检测系统的原理、应用、信息收集和分析、数据的处理及其优缺点和未来的发展方向。关键词: 网络安全,网络入侵,入侵检测技术,入侵检测系统第一章 绪论1.1 入侵检测技术的提出随着Internet高速发展,个人、企业以及政府部门越来越多地依靠网络传递信息,然而网络的开放性与共享性容易使它受到外界的攻击与破坏,信息的安全保密性受到严重影响。网络安全问题已成为世界各国政府、企业及广大网络用户最关心的问题之一。在计算机上处理业务已由基于单机的数学运算、文件处理,基于简单连结的内部网络的内部业务处理、办公自动化等发展到基于企业复杂的内部网、企业外部网、全球互联网的企业级计算机处理系统和世界范围内的信息共享和业务处理。在信息处理能力提高的同时,系统的连结能力也在不断的提高。但在连结信息能力、流通能力提高的同时,基于网络连接的安全问题也日益突出,黑客攻击日益猖獗,防范问题日趋严峻:具Warroon Research的调查,1997年世界排名前一千的公司几乎都曾被黑客闯入;据美国FBI统计,美国每年因网络安全造成的损失高达75亿美元;Ernst和Young报告,由于信息安全被窃或滥用,几乎80%的大型企业遭受损失;看到这些令人震惊的事件,不禁让人们发出疑问:"网络还安全吗?"试图破坏信息系统的完整性、机密性、可信性的任何网络活动都称为网络入侵。防范网络入侵最常用的方法就是防火墙。防火墙(Firewall)是设置在不同网络(如可信任的企业内部网和不可信任的公共网)或网络安全域之间的一系列部件的组合,它属于网络层安全技术,其作用是为了保护与互联网相连的企业内部网络或单独节点。它具有简单实用的特点,并且透明度高,可以在不修改原有网络应用系统的情况下达到一定的安全要求。但是,防火墙只是一种被动防御性的网络安全工具,仅仅使用防火墙是不够的。首先,入侵者可以找到防火墙的漏洞,绕过防火墙进行攻击。其次,防火墙对来自内部的攻击无能为力。它所提供的服务方式是要么都拒绝,要么都通过,不能检查出经过他的合法流量中是否包含着恶意的入侵代码,这是远远不能满足用户复杂的应用要求的。对于以上提到的问题,一个更为有效的解决途径就是入侵检测技术。在入侵检测技术之前,大量的安全机制都是根据从主观的角度设计的,他们没有根据网络攻击的具体行为来决定安全对策,因此,它们对入侵行为的反应非常迟钝,很难发现未知的攻击行为,不能根据网络行为的变化来及时地调整系统的安全策略。而入侵检测技术正是根据网络攻击行为而进行设计的,它不仅能够发现已知入侵行为,而且有能力发现未知的入侵行为,并可以通过学习和分析入侵手段,及时地调整系统策略以加强系统的安全性。1.2 入侵检测技术的历史1980 月,JnamesP.Aderson为美国空军做了一份题为“Computer Security ThreatMonitoring Sureillance”(计算机安全威胁监控与监视)的技术报告,第一次详细的阐述了入侵检测的概念。他提出了一种对计算机系统风险和威胁的分类方 法,并将威胁分为了外部渗透、内部渗透和不法行为三种,还提出了利用审计跟踪数据 监视入侵活动的思想。这份报告被公认为是入侵检测的开山之作。1984 年-1986 年,乔治敦大学的Dorothy Denning 和SRI/CSL(SRI 公司计算机科 学实验室)的PeterNeumann 研究出了一种实时入侵检测系统模型,取名为IDES(入侵 检测专家系统)。 该模型独立于特定的系统平台、应用环境、系统弱点以及入侵类型, 为构建入侵系统提供了一个通用的框架。1988 年,SRI/CSL 的Teresa Lunt 等改进了Denning 的入侵检测模型,并研发出了 实际的IDES。 1989年,加州大学戴维斯分校的Todd Heberlein写了一篇论文A Network Security Monitor,该监控器用于捕获TCP/IP 分组,第一次直接将网络流作为审计 数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机,网络入侵 检测从此诞生。1990 年时入侵检测系统发展史上十分重要的一年。这一年,加州大学戴维斯分校的L.T.Heberlein等开发出了NSM(Network Security Monitor)。该系统第一次直接将 网络作为审计数据的来源,因而可以在不将审计数计转化成统一的格式情况下监控异种 主机。同时两大阵营正式形成:基于网络的IDS 和基于主机的IDS。入侵检测是一门综合性技术,既包括实时检测技术,也有事后分析技术。尽管用户 希望通过部署IDS 来增强网络安全,但不同的用户需求也不同。由于攻击的不确定性, 单一的IDS 产品可能无法做到面面俱到。因此,IDS 的未来发展必然是多元化的,只有 通过不断改进和完善才能更好地协助网络进行安全防御。入侵检测技术的发展已经历了四个主要阶段:第一阶段是以基于协议解码和模式匹配为主的技术,其优点是对于已知的攻击行为 非常有效,各种已知的攻击行为可以对号入座,误报率低;缺点是高超的黑客采用变形 手法或者新技术可以轻易躲避检测,漏报率高。第二阶段是以基于模式匹配+简单协议分析+异常统计为主的技术,其优点是能够分 析处理一部分协议,可以进行重组;缺点是匹配效率较低,管理功能较弱。这种检测技 术实际上是在第一阶段技术的基础上增加了部分对异常行为分析的功能。第三阶段是以基于完全协议分析+模式匹配+异常统计为主的技术,其优点是误报 率、漏报率和滥报率较低,效率高,可管理性强,并在此基础上实现了多级分布式的检 测管理;缺点是可视化程度不够,防范及管理功能较弱。第四阶段是以基于安全管理+协议分析+模式匹配+异常统计为主的技术,其优点是 入侵管理和多项技术协同工作,建立全局的主动保障体系,具有良好的可视化、可控性 和可管理性。以该技术为核心,可构造一个积极的动态防御体系,即IMS入侵管理系统。1.3 本课题研究的途径与意义聚类是模式识别研究中非常有用的一类技术。用聚类算法的异常检测技术就是一种无监督的异常检测技术技术,这种方法可以在未标记的数据上进行,它将相似的数据划分到同一个聚类中,而将不相似的数据划分到不同的聚类,并为这些聚类加以标记表明它们是正常还是异常,然后将网络数据划分到各个聚类中,根据聚类的标记来判断网络数据是否异常。本课题是网络入侵检测技术的研究,主要介绍模式识别技术中两种聚类算法,K-means算法和迭代最优化算法,并阐述此算法在入侵检测技术技术中的应用原理,接着分析这两种算法具体应用时带来的利弊,最后针对算法的优缺点提出自己改进的算法,并对此算法进行分析,可以说这种算法是有监督和无监督方法的结合,是K-means算法和迭代最优化算法的折中,是一种较理想的算法。通过研究本课题,可以了解入侵检测技术技术的发展历程,及国内外研究水平的差距,熟悉各种入侵检测技术原理方法的异同,以便今后对某种检测技术方法作进一步的改进时能够迅速切入要点;在对入侵检测技术技术研究的同时,认真学习了模式识别这门课程,这是一门交叉学科,模式识别已经在卫星航空图片解释、工业产品检测技术、字符识别、语音识别、指纹识别、医学图像分析等许多方面得到了成功的应用,但所有这些应用都是和问题的性质密不可分的,学习过程中接触了许多新理论和新方法,其中包括数据挖掘,统计学理论和支持向量机等,极大的拓展了自己的知识面,这所带来的收获已经不仅仅停留在对入侵检测技术技术研究这个层面上。第二章 入侵检测技术原理2.1 入侵检测的工作流程入侵检测系统由数据收集、数据提取、数据分析、事件处理等几个部份组成。2.1.1 数据收集入侵检测的第一步是数据收集,内容包括系统、网络运行、数据及用户活动的状态 和行为,而且,需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收 集数据。入侵检测很大程度上依赖于收集数据的准确性与可靠性,因此,必须使用精确 的软件来报告这些信息,因为黑客经常替换软件以搞混和移走这些数据,例如替换被程 序调用的子程序、库和其它工具。数据的收集主要来源以下几个方面:系统和网络日志 文件、目录和文件不期望的改变、程序不期望的行为、物理形式的入侵数据。2.1.2 数据提取数据提取 从收集到的数据中提取有用的数据,以供数据分析之用。2.1.3数据分析对收集到的有关系统、网络运行、数据及用户活动的状态和行为等数据通过三种技 术手段进行分析:模块匹配、统计分析和完整性分析。2.1.4 结果处理记录入侵事件,同时采取报警、中断连接等措施.2.2入侵检测技术的检测模型 从技术上划分,入侵检测有两种检测模型:2.2.1 异常检测模型异常检测模型:检测与可接受行为之间的偏差。如果可以定义每项可接受的行为,那么 每项不可接受的行为就应该是入侵。首先总结正常操作应该具有的特征(用户轮廓), 用户轮廓是指各种行为参数及其阈值的集合。当用户活动与正常行为有重大偏离时即被 认为是入侵。这种检测模型漏报率低,误报率高。因为不需要对每种入侵行为进行定义, 所以能有效检测未知的入侵。异常检测的模型如图2-1 所示。 图2-1 异常检测模型2.2.2 误用检测模型误用检测模型:检测与已知的不可接受行为之间的匹配程度。如果可以定义所有的 不可接受行为,那么每种能够与之匹配的行为都会引起告警。收集非正常操作的行为特 征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为 这种行为是入侵。这种检测模型误报率低、漏报率高。对于已知的攻击,它可以详细、 准确地报告出攻击类型,但是对未知攻击的效果有限,而且特征库必须不断更新。误用 检测的模型如图2-2 所示。 图2-2 误用检测模型第三章 入侵检测技术功能概要·监督并分析用户和系统的活动·检查系统配置和漏洞·检查关键系统和数据文件的完整性·识别代表已知攻击的活动模式·对反常行为模式的统计分析·对操作系统的校验管理,判断是否有破坏安全的用户活动。·提高了系统的监察能力·跟踪用户从进入到退出的所有活动或影响·识别并报告数据文件的改动·发现系统配置的错误,必要时予以更正·识别特定类型的攻击,并向相应人员报警,以作出防御反应·可使系统管理人员最新的版本升级添加到程序中·允许非专家人员从事系统安全工作·为信息安全策略的创建提供指导入侵检测技术作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。从网络安全立体纵深、多层次防御的角度出发,入侵检测技术理应受到人们的高度重视,这从国外入侵检测技术产品市场的蓬勃发展就可以看出。在国内,随着上网的关键部门、关键业务越来越多,迫切需要具有自主版权的入侵检测技术产品。但现状是入侵检测技术仅仅停留在研究和实验样品(缺乏升级和服务)阶段,或者是防火墙中集成较为初级的入侵检测技术模块。可见,入侵检测技术产品仍具有较大的发展空间,从技术途径来讲,我们认为,除了完善常规的、传统的技术(模式识别和完整性检测技术)外,应重点加强统计分析的相关技术研究。 第四章 入侵检测系统实验案例分析本研究中,在Linux系统环境下搭建了一个入侵检测系统Snort,实现了基本的入侵检测功能在实验室环境下,在局域网中利用两台以上的计算机,使用其中一台主机作为被攻击方,即检测方,另外的主机可对其进行攻击被攻击方可看出攻击方的IP地址及数据包相关内容,并可根据检测结果进行分析由于Ubuntu是Debian系的Linux,安装软件非常简单这里使用Ubuntu默认命令行软件包管理器apt来进行安装要安装的不仅有Snort,还有Snort规则集$ sudo apt-get install snort snort-rules-default4.1 配置Snort选项接下来利用Snort的配置文件来设置各种选项,以确定它的运行方式这个过程相对复杂,尤其要注意的是命令的输入,有时因为一个空格的缺失就要反复进行配置 先打开Snort的主配置文件:/etc/snort/snortConf#HOME_NET和#EXTERNAL_NET是嗅探器最主要的两个配置变量和选项在配置文件中将HOME_NET有关项注释掉,然后将HOME_NET设置为本机IP所在网络,将EXTERNAL_NET相关项注释掉,设置其为非本机网络删除HOME_NET行前的#,设置HOME_NET变量#在Snort配置文件中作命令指示器HOME_NET变量定义了哪些网络是受信的内部网络它与签名共同判断内部网络是否受到攻击Snortconf默认把HOME_NET设为var HOME_NET any对任意地址信任把它精确设为实际的内网地址空间将减少错误告警的次数设置代码如下: #var HOME_NET any var HOME_NET 17218148152/16设置EXTERNAL_NET变量它指定可能发起攻击的网络,一般把它设为除HOME_NET地址以外的所有地址设置代码如下: #var EXTERNAL_NET any var EXTERNAL_NET !$HOME_NET 定义哪些服务器上运行了哪些服务程序如果把HTTP_SERVERS设为某些服务器,则Snort只关注对那些服务器进行的HTTP攻击如果想了解到对某个服务器上并没有运行着的服务程序进行的攻击,就保留默认设置,这样可以观察到任何对内网的攻击也可以命令Snort只关注对某一台或某几台服务器的HTTP攻击设置代码如下:#var DNS_SERVERS $HOME_NET var HTTP_SERVERS 17218148152/32配置服务使用的端口同前面定义服务类似,命令将使Snort只关注对这个端口的攻击按照默认配置,Snort将忽略对端口8080的HTTP攻击这样的配置能够使Snort专注于不同类型攻击类型的发生地点但在最终对被攻击方做全面保护时不开启这个配置,这样可以检测出局域网内对该机器进行攻击的主机和攻击类型在本地打开Snort规则:snort c/etc/snort/rules配置RULE_PATH变量,指示规则的存储位置,规则用于触发事件配置代码如下: var RULE_PATH /rules接下来一段内容被注释掉了,是对一些不常见的通信的监测除非系统中出现了其中的问题或者入侵检测系统耗费资源很小,否则最好不要启用下面一段是允许为资源有限的系统配置侦测引擎,在本实验中无需改动配置文件之后的几段用于配置一些功能和设置对某些类型的攻击的侦测,包括碎片攻击(fragmentation attacks)、状态检测(stateful inspection)和流重组(stream reassembly)选项标注有Step #4的段落包含Snort的输出选项,取消output alert_syslog:LOG_AUTH LOG_ALERT前的注释此处无论如何配置都会生成authinfo警告编辑#2部分动态加载库的路径,这些路径有些需要修改默认项比如在本实验中,运行Snort时遇到错误,提示了Unknown rule type:dynamicpreprocessor directory,经查发现是是由于Snort未配置使用动态加载处理机,只需用#注释掉加载处理机相关两行就可以了最后一段Step #6是规则集这里有些规则默认为不起作用,如chatrules是由各种即时消息客户端出发生效的在行首加入或删除注释符号#就可以指定该行的规则集是否生效在本实验中一般均默认为生效