第一篇:网络安全入侵检测系统设计思路论文
【摘要】随着计算机病毒、攻客入侵等网络信息安全事件发生频率的逐渐增高,人们越来越意识到网络安全的重要性。网络安全已成为当前计算机网络领域所面临的一个最为主要的问题。入侵检测系统作为时下IT领域内网络信息安全的一门新型热门技术,在保障网络安全方面占有举足轻重的地位。本文主要介绍了入侵检测有关内容,入侵检测的主要方法,以及基于计算机网络安全入侵检测系统的设计。
【关键词】计算机网络;安全;入侵检测系统;研究;设计
计算机网络在人们生活中的渗透,不仅改变了人类具体的生活方式,更重要的是改变了人类获取信息的方式。它的出现在给人们带来巨大方便的同时,也给人们的信息安全带来了诸多隐患和威胁。一旦计算机网络发生安全问题,势必会造成信息泄露,给人们带来不同程度的经济损失,尤其是企业内部重要的信息,且情况严重时将很可能导致整个计算机系统崩溃。因此,为避免病毒等入侵到计算机网络系统中,就必须采取有效的入侵检测方法,设计出相应的入侵检测系统。
1入侵检测相关概述
所谓入侵,指的是一切试图对资源的可用性、完整性和机密性等产生危害行为的统称。它既包括发起恶意攻击行为的人(恶意攻客),也包括对计算机网络与系统造成危害的各种行为(计算机病毒、木马等)。而入侵检测则指对所有入侵行为的识别与诊断。其具体操作是对计算机网络等中的若干关键点的数据信息进行收集与分析,通过该分析结果对网络中是否存在攻击对象或违反网络安全行为的迹象进行判断。入侵检测所使用的软件与硬件组成了入侵检测系统。它具有必须对采集的数据进行安全分析,并从中得出有用的结果和采取相应的保护措施的功能,比其他网络安全工具具有更多的智能[1]。
2入侵检测的主要方法
2.1异常检测法
异常检测法主要用于检测用户的异常行为及其对计算机资源的异常使用。使用这种检测方法需要建立相应的目标系统和用户活动模型,以便通过该模型对系统与用户的实际行为进行检测,从而对用户行为是否对计算机网络和系统具有攻击性进行判断。它具有良好的适应性和检测未知攻击模式的能力,但误报率高、检测结果准确性差,使得其应用受到了一定限制[2]。此外,必须对计算机网络与系统中合法授权用户的行为等正常特征进行精确的定义、对非法与合法代码与数据之间的界限进行精确的划分,是当前异常检测技术所面临的主要技术难点。
2.2混合检测法
混合检测法是对异常检测法与滥用检测法两者优点的综合利用。由于这两种方法在实际应用过程中呈现出一定的互补关系,因而两者的有机结合可以达到取长补短、相互弥补的检测效果,可以在很大程度上提高整体入侵检测的性能与效率[3]。
3基于计算机网络安全入侵检测系统的设计
3.1网络入侵检测系统的设计
将网络入侵检测系统装在被保护的计算机网络中,将原始网络报文作为数据源对入侵对象进行分析。在网络入侵检测系统的设计当中,对于所有通过网络传输数据的实时监控与分析通常采用一个网络适配器即可;对于数据采集模块的设计,需要配备有过滤器、探测器、网络接口引擎等元器件。数据采集模块主要实现的功能是,按照一定网络协议从网络上获取与入侵事件有关的全部数据信息,获取后将其传送至入侵检测系统分析引擎模块,对其安全性进行详细全面的分析,以判断其是否存在攻击性。入侵分析引擎模块的主要功能是,结合计算机网络安全数据库,对从数据采集模块传送来的数据信息进行安全分析,并将分析结果传送至配置与管理模块。配置与管理模块实现的主要功能是,对其他功能模块的配置工作进行管理,并将从入侵分析引擎模块传送来的安全分析结果以有效的方式向网络管理员告知,从而为网络管理员及时做出入侵应对措施提供依据和支持。当网络入侵系统检测到攻击时,相应的功能模块会立刻以报警、广播、中断连接等方式来对入侵者做出反应,向人们发出提示信息。
3.2主机入侵检测系统的设计
主机入侵检测系统的数据源通常包括应用程序日志、系统日志等。其入侵检测功能的实现主要是通过对这些审计记录文件所记录的内容与攻击内容进行匹配。若不匹配说明该入侵对象不具有攻击性,若匹配则入侵检测系统及时向网络管理员发出警报,同时做出相应的保护行为。审计数据记录的是系统用户行为信息,在系统运行过程中必须要保证其不会被修改或泄露。然而当系统遭受攻击时,这些数据很可能发生修改或泄露,因此主机入侵检测系统的设计必须要具备一项功能,即检测系统在完全被攻击者控制之前,完成对审计数据的分析,并及时发出警报采取一定防护手段。主机入侵检测系统具有精确判断入侵事件、针对不同操作系统的特点准确判断出计算机网络应用层的入侵事件等优点。
4总结
总之,在计算机网络安全问题的处理过程中,入侵检测系统的研究与设计是非常关键的一个环节。一个性能良好的入侵检测系统可以有效弥补防火墙存在的不足,可以为计算机网络的安全提供可靠的保障,是现代网络安全措施中一种较为有效的防护技术。虽然,现阶段入侵检测技术仍处于发展阶段,但随着社会各界对计算机网络入侵检测系统设计的越来越高度重视,入侵检测系统的应用范围和检测性能必将会上升到一个新的台阶。
参考文献
[1]唐静.计算机网络安全中入侵检测系统的研究[J].网络安全技术与应用,2015,08:21~22.[2]库宇.高速网络入侵检测系统的研究与设计[D].吉林大学,2008.[3]郑关胜,李含光.基于动态网络安全模型的入侵检测系统的研究[J].计算机应用,2006(S1):160~161+185.作者:吴卉男 单位:贵州师范大学数学与计算机科学学院
第二篇:入侵检测技术论文
目录
第一章 绪论
1.1 入侵检测技术的背景 1.2 程序设计的目的 第二章 入侵检测系统 2.1 网络入侵概述
2.2 网络存在的安全隐患
2.3 网络入侵与攻击的常用手段 2.4 入侵检测技术
2.4.1 误用入侵检测技术 2.4.2 异常入侵检测技术
第三章 协议分析 3.1 协议分析简介 3.2 协议分析的优势
第四章 PANIDS系统的设计及实现 4.1 PANIDS系统总体结构设计
4.2 系统基本信息读取模块的设计及实现 4.3 网络数据包捕获模块的设计及实现 4.4 基于协议分析的入侵检测模块的设计及实现 4.4.1 数据包的分解 4.4.2 入侵检测的实现 4.5 实验结果及结论
第五章 总结与参考文献
摘要
网络技术高速发展的今天,人们越来越依赖于网络进行信息的处理。因此,网络安全就显得相当重要,随之产生的各种网络安全技术也得到了不断地发展。防火墙、加密等技术,总的来说均属于静态的防御技术。如果单纯依靠这些技术,仍然难以保证网络的安全性。入侵检测技术是一种主动的防御技术,它不仅能检测未经授权的对象入侵,而且也能监视授权对象对系统资源的非法使用。传统的入侵检测系统一般都采用模式匹配技术,但由于技术本身的特点,使其具有计算量大、检测效率低等缺点,而基于协议分析的检测技术较好的解决了这些问题,其运用协议的规则性及整个会话过程的上下文相关性,不仅提高了入侵检测系统的速度,而且减少了漏报和误报率。本文提出了一种基于协议分析的网络入侵检测系统PANIDS的模型,在该模型中通过Winpcap捕获数据包,并对数据包进行协议分析,判断其是否符合某种入侵模式,从而达到入侵检测的目的。
关键词: 入侵检测,协议分析,PANIDS
第一章 绪论
1.1 入侵检测技术的背景
随着计算机网络的飞速发展,网络通信已经渗透到社会经济、文化和科学的各个领域;对人类社会的进步和发展起着举足轻重的作用,它正影响和改变着人们工作、学习和生活的方式。另外,Internet的发展和应用水平也已经成为衡量一个国家政治、经济、军事、技术实力的标志;发展网络技术是国民经济现代化建设不可缺少的必要条件。网络使得信息的获取、传递、存储、处理和利用变得更加有效、迅速,网络带给人们的便利比比皆是。然而,网络在给人们的学习、生活和工作带来巨大便利的同时也带来了各种安全问题。网络黑客可以轻松的取走你的机密文件,窃取你的银行存款,破坏你的企业帐目,公布你的隐私信函,篡改、干扰和毁坏你的数据库,甚至直接破坏你的磁盘或计算机,使你的网络瘫痪或者崩溃。因此,研究各种切实有效的安全技术来保障计算机系统和网络系统的安全,已经成为刻不容缓的课题。伴随着网络的发展,各种网络安全技术也随之发展起来。常用的网络安全技术有:数据加密、虚拟专用网络(VPN,Virtual Private Network)、防火墙、杀毒软件、数字签名和身份认证等技术。这些传统的网络安全技术,对保护网络的安全起到非常重要的作用,然而它们也存在不少缺陷。例如,防火墙技术虽然为网络服务提供了较好的身份认证和访问控制,但是它不能防止来自防火墙内部的攻击、不能防备最新出现的威胁、不能防止绕过防火墙的攻击,入侵者可以利用脆弱性程序或系统漏洞绕过防火墙的访问控制来进行非法攻击。传统的身份认证技术,很难抵抗脆弱性口令、字典攻击、特洛伊木马、网络窥探器以及电磁辐射等攻击手段。虚拟专用网技术只能保证传输过程中的安全,并不能防御诸如拒绝服务攻击、缓冲区溢出等常见的攻击。另外,这些技术都属于静态安全技术的范畴;静态安全技术的缺点是只能静态和消极地防御入侵,而不能主动检测和跟踪入侵。而入侵检测技术是一种动态安全技术,它主动地收集包括系统审计数据,网络数据包以及用户活动状态等多方面的信息;然后进行安全性分析,从而及时发现各种入侵并产生响应。1.2 程序设计的目的
在目前的计算机安全状态下,基于防火墙、加密技术等的安全防护固然重要;但是要根本改善系统的安全现状,必须要发展入侵检测技术。它已经成为计算机安全策略中的核心技术之一。Intrusion Detection System(简称IDS)作为一种主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护。从网络安全立体纵深的多层次防御角度出发,入侵检测理应受到高度重视,这从国外入侵检测产品市场的蓬勃发展就可以看出。在国内,随着上网关键部门、关键业务越来越多,迫切需要具有自主版权的入侵检测产品;但目前我国的入侵检测技术还不够成熟,处于发展和跟踪国外技术的阶段,所以对入侵检测系统的研究非常重要。传统的入侵检测系统中一般采用传统的模式匹配技术,将待分析事件与入侵规则相匹配。从网络数据包的包头开始与攻击特征字符串比较。若比较结果不同,则下移一个字节再进行;若比较结果相同,那么就检测到一个可 能 的攻击。这种逐字节匹配方法具有计算负载大及探测不够灵活两个最根本的缺陷。面对近几年不断出现的ATM、千兆以太网、G比特光纤网等高速网络应用,实现实时入侵检测成为一个现实的问题。适应高速网络的环境,改进检测算法以提高运行速度和效率是解决该问题的一个途径。协议分析能够智能地”理解”协议,利用网络协议的高度规则性快速探测攻击的存在,从而大大减少了模式匹配所需的运算。所以说研究基于协议分析的入侵检测技术具有很强的现实意义。
第二章 入侵检测系统
2.1 网络入侵概述
网络在给人们带来便利的同时也引入了很多安全问题。从防卫者的角度来看,网络安全的目标可以归结为以下几个方面 :(1)网络服务的可用性。在需要时,网络信息服务能为授权用户提供实时有效的服务。
(2)网络信息的保密性。网络服务要求能防止敏感信息泄漏,只有授权用户才能获取服务信息。
(3)网络信息的完整性。网络服务必须保证服务者提供的信息内容不能被非授权篡改。完整性是对信息的准确性和可靠性的评价指标。
(4)网络信息的不可抵赖性。用户不能否认消息或文件的来源地,也不能否认接受了信息或文件。
(5)网络运行的可控性。也就是网络管理的可控性,包括网络运行的物理的可控性和逻辑或配置的可控性,能够有效地控制网络用户的行为及信息的传播范围。
2.2 网络存在的安全隐患
网络入侵从根本上来说,主要是因为网络存在很多安全隐患,这样才使得攻击者有机可乘。导致网络不安全的主要因素可以归结为下面几点:
(1)软件的Bug。众所周知,各种操作系统、协议栈、服务器守护进程、各种应用程序等都存在不少漏洞。可以不夸张的说,几乎每个互联网上的软件都或多或少的存在一些安全漏洞。这些漏洞中,最常见的有缓冲区溢出、竞争条件(多个程序同时访问一段数据)等。
(2)系统配置不当。操作系统的默认配置往往照顾用户的友好性,但是容易使用的同时也就意味着容易遭受攻击。这类常见的漏洞有:系统管理员配置不恰当、系统本身存在后门等。
(3)脆弱性口令。大部分人为了输入口令的时候方便简单,多数都使用自己或家人的名字、生日、门牌号、电话号码等作为口令。攻击者可以通过猜测口令或拿到口令文件后,利用字典攻击等手段来轻易破解口令。
(4)信息泄漏。入侵者常用的方法之一就是窃听。在广播式的局域网上,将网卡配置成”混杂”模式,就可以窃听到该局域网的所有数据包。如果在服务器上安装窃听软件就可以拿到远程用户的帐号和口令。
(5)设计的缺陷。最典型的就是TCP/IP协议,在协议设计时并没有考虑到安全因素。虽然现在已经充分意识到了这一点,但是由于TCP/IP协议已经广泛使用,因此暂时还无法被完全代替。另外,虽然操作系统设计的时候考虑了很多安全因素,但是仍然无法避免地存在一些缺陷。例如,广泛使用的Windows操作系统,几乎每隔几个月都要出一定数量的安全补丁,就是因为系统存在很多安全隐患。2.3 网络入侵与攻击的常用手段
长期以来,黑客攻击技术没有成为系统安全研究的一个重点,一方面是攻击技术很大程度上依赖于个人的经验以及攻击者之间的交流,这种交流通常都是地下的,黑客有他们自己的交流方式和行为准则,这与传统的学术研究领域不相同;另一方面,研究者还没有充分认识到:只有更多地了解攻击技术,才能更好地保护系统的安全。下面简单介绍几种主要的攻击类型。1.探测攻击
通过扫描允许连接的服务和开放端口,能迅速发现目标主机端口的分配情况以及所提供的各项服务和服务程序的版本号。另外通过扫描还可以探测到系统的漏洞等信息。黑客找到有机可乘的服务或端口后就可以进行攻击了。常见的探测扫描程序有:SATAN、NTScan、X_Scan、Nessus等。2.网络监听
将网卡设置为混杂模式,对已流经某个以太网段的所有数据包进行监听,以获取敏感信息,如包含了”usename”或”password”等信息的数据包。常见的网络监听工具有:NetRay、Sniffer、Etherfind、Snoop、Tcpdump等。3.解码类攻击
通过各种方法获取password文件,然后用口令猜测程序来破译用户帐号和密码。常见的解码工具有:Crack、LophtCrack等。
2.4 入侵检测技术
入侵检测技术可以分为两大类:异常入侵检测技术和误用入侵检测技术。下面分别介绍这两种入侵检测技术。2.4.1 误用入侵检测技术
误用入侵检测首先对表示特定入侵的行为模式进行编码,建立误用模式库;然后对实际检测过程中得到的审计事件数据进行过滤,检查是否包含入侵特征串。误用检测的缺陷在于只能检测已知的攻击模式。常见的误用入侵检测技术有以下几种:
1.模式匹配
模式匹配是最常用的误用检测技术,特点是原理简单、扩展性好、检测效率高、可以实时检测;但是只能适用于比较简单的攻击方式。它将收集到的信息与已知的网络入侵和系统误用模式串进行比较,从而发现违背安全策略的行为。著名的轻量级开放源代码入侵检测系统Snort就是采用这种技术。2.专家系统
该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统来自动对所涉及的入侵行为进行分析。该系统应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。专家系统方法存在一些实际问题:处理海量数据时存在效率问题,这是由于专家系统的推理和决策模块通常使用解释型语言来实现,所以执行速度比编译型语言慢;专家系统的性能完全取决于设计者的知识和技能;规则库维护非常艰巨,更改规则时必须考虑到对知识库中其他规则的影响等等。3.状态迁移法
状态迁移图可用来描述系统所处的状态和状态之间可能的迁移。状态迁移图用于入侵检测时,表示了入侵者从合法状态迁移到最终的危害状态所采取的一系列行动。
在检测未知的脆弱性时,因为状态迁移法强调的是系统处于易受损的状态而不是未知入侵的审计特征,因此这种方法更具有健壮性。而它潜在的一个弱点是太拘泥于预先定义的状态迁移序列。这种模型运行在原始审计数据的抽象层次上,它利用系统状态的观念和事件的转变流;这就有可能提供了一种既能减少误警率又能检测到新的攻击的途径。另外,因为涉及了比较高层次的抽象,有希望把它的知识库移植到不同的机器、网络和应用的入侵检测上。2.4.2 异常入侵检测技术
异常检测是通过对系统异常行为的检测来发现入侵。异常检测的关键问题在于正常使用模式的建立,以及如何利用该模式对当前系统或用户行为进行比较,从而判断出与正常模式的偏离程度。”模式”(profiles)通常使用一组系统的度量(metrics)来定义。度量,就是指系统或用户行为在特定方面的衡量标准。每个度量都对应于一个门限值。常用的异常检测技术有: 1.统计分析
最早的异常检测系统采用的是统计分析技术。首先,检测器根据用户对象的动作为每个用户建立一个用户特征表,通过比较当前特征与已存储定型的以前特征,从而判断是否异常行为。统计分析的优点:有成熟的概率统计理论支持、维护方便,不需要象误用检测系统那样不断地对规则库进行更新和维护等。统计分析的缺点:大多数统计分析系统是以批处理的方式对审计记录进行分析的,不能提供对入侵行为的实时检测、统计分析不能反映事件在时间顺序上的前后相关性,而不少入侵行为都有明显的前后相关性、门限值的确定非常棘手等。2.神经网络
这种方法对用户行为具有学习和自适应功能,能够根据实际检测到的信息有效地加以处理并做出入侵可能性的判断。利用神经网络所具有的识别、分类和归纳能力,可以使入侵检测系统适应用户行为特征的可变性。从模式识别的角度来看,入侵检测系统可以使用神经网络来提取用户行为的模式特征,并以此创建用户的行为特征轮廓。总之,把神经网络引入入侵检测系统,能很好地解决用户行为的动态特征以及搜索数据的不完整性、不确定性所造成的难以精确检测的问题。利用神经网络检测入侵的基本思想是用一系列信息单元(命令)训练神经单元,这样在给定一组输入后,就可能预测输出。将神经网络应用于攻击模式的学习,理论上也是可行的。但目前主要应用于系统行为的学习,包括用户以及系统守护程序的行为。与统计理论相比,神经网络更好地表达了变量间的非线性关系,并且能自动学习并更新。
神经网络也存在一些问题:在不少情况下,系统趋向于形成某种不稳定的网络结构,不能从训练数据中学习特定的知识,这种情况目前尚不能完全确定产生的原因;另外,神经网络对判断为异常的事件不会提供任何解释或说明信息,这导致了用户无法确认入侵的责任人,也无法判断究竟是系统哪方面存在的问题导致了攻击者得以成功入侵。
前面介绍了误用检测和异常检测所使用的一些常用检测手段,在近期入侵检测系统的发展过程中,研究人员提出了一些新的入侵检测技术。这些技术不能简单地归类为误用检测或异常检测,它们提供了一种有别于传统入侵检测视角的技术层次。这些新技术有:免疫系统、基因算法、数据挖掘、基于代理的检测等等,他们提供了更具有普遍意义的分析检测技术,或者提出了新的检测系统构架,因此无论是对误用检测还是对异常检测来说都可以得到很好的应用。
第三章 协议分析
3.1 协议分析简介 1.以太帧协议分析
这是对以太网数据帧头进行协议分析,并把分析的结果记入Packet结构中。分析完以太帧头后把数据包传送到下一级协议分析程序中。数据帧的第13和14两个字节组成的字段是协议类型字段。如果用十六进制表示,那么IP协议对应0X0800、ARP对应0X0806、RARP对应0X0835。2.ARP和RARP数据包协议分析
这是对ARP或RARP数据进行协议分析,并把协议分析后的数据送入基于ICMP协议规则集的匹配检测模块进行检测,查看是否存在ARP和RARP相关的攻击。由于基于ARP/RARP协议的攻击较少,所以把他们归入ICMP协议规则集中。3.IP数据包协议分析
这是对IP 数据包进行协议分析,并把协议分析后的数据送入基于IP协议规则集的匹配检测程序中进行检测。IP数据包首部的第一个字节的后面4个比特组成的字段标识了IP首部的长度。该字段的值乘以4就等于IP首部的长度。没有包含IP选项的普通IP首部长度为20,如果大于20就说明此IP数据包包含IP首部。第5和第6个字节是IP数据包的16位标识,每一IP数据包都有唯一的标识。该标识在IP数据包分片重组时中起到至关重要的作用,每个分片就是通过检查此ID号来判别是否属于同一个IP包。第7个字节开始的前3个比特是重要的标志位:第一个标志位(最高位)为保留位(该位必须为0,否则就是一个错误的IP数据包),第二个标志位DF指示该IP数据包能否分片(该位为0则表示该IP数据包可以分片,为1则不能分片),第三个标志位MF指示该数据包是否为最后一个分片(该位为0表示此数据包是最后一个分片,为1表示不是最后一个分片)。从MF标志位开始的后面13个比特位记录了分片的偏移量。分片的IP数据包,各个分片到目的端才会重组;传输过程中每个分片可以独立选路。如何才能重组一个分片了的IP数据包呢?首先,16位分片ID(Fragment ID)标识了每个IP数据包的唯一性。数据包分片后,它的每个分片具有相同的标识。其次,通过每个分片的片偏移量可以确定每个分片的位置,再结合MF可以判断该分片是否为最后一个分片。综合上述信息,就可以顺利的重组一个数据包。分片重组对网络入侵检测系统具有重要意义。首先,有一些攻击方法利用了操作系统协议栈中分片合并实现上的漏洞,例如著名的TearDrop攻击就是在短时间内发送若干偏移量有重叠的分片,目标机接收到这样的分片的时候就会合并分片,由于其偏移量的重叠而发生内存错误,甚至会导致协议栈的崩溃。这种攻击手段单从一个数据包上是无法辨认的,需要在协议分析中模拟操作系统的分片合并,以发现不合法的分片。另外,Tiny Fragment(极小分片)等攻击方法,将攻击信息隐藏在多个微小分片内来绕过入侵检测系统或防火墙的检测从而达到攻击的目的。对付这种攻击也需要在检测的过程中合并碎片,恢复数据包的真实面目。
IP包头的第10个字节开始的后面八个比特位表示了协议的类型:其中1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。(这些数字是十进制的)。对IP数据包检测完毕后,如果检测到攻击就记录该数据包,然后重新开始检测一个新的原始数据包。如果没有检测到攻击,则在判断上层协议类型之后就把数据包分流到TCP、UDP等协议分析程序中进行进一步协议分析。4.TCP数据包协议分析
这是对TCP数据包进行协议分析,并把协议分析后的数据送入基于TCP协议规则集的匹配检测程序中进行检测。首先读入TCP数据包,对TCP包头进行协议分析;并检查是否有TCP选项,如果有的话就对TCP选项进行协议分析。然后,判断该TCP数据包是否发生分段,如果发生了分段就进行TCP重组。再把重组后的数据包送入基于TCP协议规则集的匹配检测程序进行检测。如果检测到攻击就记录下该攻击数据包,以备攻击取证等使用。记录数据包后又返回,重新读取一个新的数据包。如果没有检测到攻击,就把该数据包送入下一级协议分析模块中,作进一步的协议分析。
5.ICMP数据包协议分析
这是对ICMP数据包进行协议分析,并把协议分析后的数据送入基于ICMP协议规则集的匹配检测程序中进行检测。ICMP报文有很多类型,根据报文中的类型字段和代码字段就可以区分每一种ICMP报文类型。6.UDP协议分析
这是对UDP数据包进行协议分析,并把协议分析后的数据送入基于UDP协议规则集的匹配检测程序中进行检测。如果检测到攻击就记录该数据包,然后返回并读取下一个数据包。如果没有检测到攻击,那么就把数据包送入基于应用层协议规则集的检测模块进行进一步的检测分析。应用层协议很复杂,这里不进行详细讨论。
3.2 协议分析的优势(1)提高性能:当系统提升协议栈来解析每一层时,它用已获得的知识来消除在数据包结构中不可能出现的攻击。比如4层协议是TCP,那就不用再搜索其他第四层协议如UDP上形成的攻击。如果数据包最高层是简单网络管理协议SNMP(Simple Network Management Protocol),那就不用再寻找Telnet或HTTP攻击。这样检测的范围明显缩小,而且更具有针对性;从而使得IDS系统性能得到明显改善。
(2)能够探测碎片攻击等基于协议漏洞的攻击:在基于协议分析的IDS中,各种协议都被解析。如果出现IP分片,数据包将首先被重装;然后再对整个数据包进行详细分析来检测隐藏在碎片中的潜在攻击行为。这是采用传统模式匹配技术的NIDS所无法做到的。(3)降低误报和漏报率:协议分析能减少传统模式匹配NIDS系统中常见的误报和漏报现象。在基于协议分析的NIDS系统中误报率会明显减少,因为它们知道和每个协议有关的潜在攻击的确切位置以及该位置每个字节的真正含义。例如,针对基于协议分析的IDS不但能识别简单的路径欺骗:例如把CGI攻击”/cgi-bin/phf”变为”/cgi-bin/./phf”或”/cgi-binphf”;而且也能识别复杂的HEX编码欺骗:例如”/winnt/system32/cmd.exe”,编码后变为”/winnt/system32/%2563md.exe”,通过协议分析%25 解码后为‘%’,%63解码后为‘c’,这样就解析出了攻击串。又如针对Unicode(UTF-8)的编码欺骗(与ASCII字符相关的HEX编码一直到%7f,Unicode编码值要高于它),攻击串编码后得到”/winnt/system32%c0%afcmd.exe”,通过解码可知%c0%af在Unicode中对应/,所以解码后就能顺利还原出攻击串。第四章 PANIDS系统的设计及实现
4.1 PANIDS系统总体结构设计
PANIDS系统 主要由系统基本信息读取模块、网络数据包捕获模块、基于协议分析的入侵检测模块、响应模块和控制管理中心等几部分组成。4.2 系统基本信息读取模块的设计及实现
为了更好的显示出本机的特性,在此PANIDS系统中特别增加系统基本信息读取模块。通过此模块能显示出主机名和本机的IP地址和所使用的Winsock的版本
在此模块中主要用到函数gethostname()和gethostbyname()。gethostname()函数作用是获取本地主机的主机名,其定义如下:
int PASCAL FAR gethostname(char FAR * name, int namelen);name:用于指向所获取的主机名的缓冲区的指针。Namelen:缓冲区的大小,以字节为单位。
gethostbyname()在此模块中是一个主要函数,该函数可以从主机名数据库中得到对应的”主机”。其定义如下:
#include
gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。如果没有错误发生,gethostbyname()返回如上所述的一个指向hostent结构的指针,否则,返回一个空指针。hostent结构的数据结构如下: struct hostent { char *h_name;//地址的正式名称
char **h_aliases;//空字节-地址的预备名称的指针 int h_addrtype;//地址类型,通常是AF_INET int h_length;//地址的比特长度
char **h_addr_list;//零字节-主机网络地址指针,网络字节顺序 };返回的指针指向一个由Windows Sockets实现分配的结构。应用程序不应该试图修改这个结构或者释放它的任何部分。此外,每一线程仅有一份这个结构的拷贝,所以应用程序应该在发出其他Windows Scokets API调用前,把自己所需的信息拷贝下来。
gethostbyname()实现没有必要识别传送给它的IP地址串。对于这样的请求,应该把IP地址串当作一个未知主机名同样处理。如果应用程序有IP地址串需要处理,它应该使用inet_addr()函数把地址串转换为IP地址,然后调用gethostbyaddr()来得到hostent结构。4.3 网络数据包捕获模块的设计及实现 网络数据包捕获的方法有很多,比如既可以利用原始套接字来实现,也可以通过Libpcap、Jpcap和WinPcap 提供的接口函数来实现。Libpcap、Jpcap和WinPcap是世界各地的网络专家共同努力的结果,为开发者提供了很多高效且与系统无关的网络数据包截获接口函数;所以在性能上一般比采用普通的套接字方法要好。LibPcap是一个优秀跨平台的网络抓包开发工具,JPcap是它的一个Java版本。WinPcap在某种程度上可以说它是LibPcap的一个Windows版本,因为它们的大部分接口函数以及所采用的数据结构都是一样的。另外,WinPcap在某些方面进行了优化,还提供了发送原始数据包和统计网络通信过程中各种信息的功能(LibPcap没有统计功能),方便进行测试;所以采用WinPcap所提供的库函数来截获网络数据包。
Winpcap捕获数据包的实现
1.网络数据包捕获的主要数据结构(1)PACKET结构
typedef struct _PACKET { HANDLE hEvent;OVERLAPPED OverLapped;PVOID Buffer;//这个buffer就是指向存放数据包的用户缓冲区 UINT Length;//buffer的长度
DWORD ulBytesReceived;//调用PacketReceivePacket()函数所读 //取的字节数,可能包含多个数据包 BOOLEAN bIoComplete;} PACKET, *LPPACKET;其他未注释的几个成员,都是过时的成员,他们的存在只是为了与原来的兼容。此结构主要用来存放从内核中读取的数据包。(2)pcap_file_header 结构 struct pcap_file_header{ bpf_u_int32 magic;//一个标识号,标识特定驱动器产生的dump文件 u_short version_major;//WinPcap的主版本号 u_short version_minor;//WinPcap的次版本号
bpf_int32 thiszone;//GMT时间与本地时间的校正值 bpf_u_int32 sigfigs;//精确的时间戳
bpf_u_int32 snaplen;//每个数据包需要存放到硬盘上的最大长度 bpf_u_int32 linktype;//链路层的数据类型 };//这个头部共24个字节
把截获的数据包以标准的Windump格式存放到硬盘上时,就是以这个结构 作为文件的开头。(3)bpf_hdr结构 struct bpf_hdr { struct timeval bh_tstamp;//数据包捕获的时间戳信息 UINT bh_caplen;//数据包被捕获部分的长度 UINT bh_datalen;//数据的原始长度 USHORT bh_hdrlen;//此结构的长度 };从内核中读取数据包并存放在用户缓冲区中时,采用此结构来封装所截获的 数据包。其中timeval的结构如下 struct timeval { long tv_sec;//以秒为单位的时间 long tv_usec;//以毫秒为单位的时间 };(4)dump_bpf_hdr结构 struct dump_bpf_hdr{ struct timeval ts;//数据包捕获的时间戳 UINT caplen;//数据包被捕获部分的长度 UINT len;//数据包的原始长度 };把数据包存放到硬盘上或者向网络上发送数据包时,都使用此结构来封装每一个数据包。
2.数据包捕获的具体实现
在了解其数据结构的基础上,下面来分析其是如何具体实现网络数据包捕获的。其前期的主要过程应为:首先应找到设备列表,然后显示适配器列表和选择适配器,最后通过pcap_open_live()函数根据网卡名字将所选的网卡打开,并设置为混杂模式。
用Winpacp捕获数据包时,数据包捕获的程序流程图如图4.3所示,其中pcap_loop()是截包的关键环节,它是一个循环截包函数,分析此函数的源码可知,其内部主要处理过程如图4.4所示。在pcap_loop()的每次循环中,首先通过调用PacketReceivePacket()函数,从内核缓冲区中把一组数据包读取到用户缓冲区。然后,根据bpf_hdr结构提供的该数据包的定位信息,把用户缓冲区的多个数据包逐个的提取出来,并依次送入回调函数进行进一步处理。通过这个过程就实现了网络数据包的捕获。
4.4 基于协议分析的入侵检测模块的设计及实现
此模块是基于协议分析入侵检测系统PANIDS的核心部分,下面我们重点讨论此模块的设计及实现。4.4.1 数据包的分解 当需要发送数据时,就需要进行封装。封装的过程就是把用户数据用协议来进行封装,首先由应用层协议进行封装,如HTTP协议。而HTTP协议是基于TCP协议的。它就被TCP协议进行封装,http包作为TCP数据段的数据部分。而TCP协议是基于IP协议的,所以TCP段就作为IP协议的数据部分,加上IP协议头,就构成了IP数据报,而IP数据报是基于以太网的,所以这个时候就被封装成了以太网帧,这个时候就可以发送数据了。通过物理介质进行传送。在这里我们所用到的是数据包的分解。分解的过程与封装的过程恰恰相反,这个时候就需要从一个以太网帧中读出用户数据,就需要一层一层地进行分解,首先是去掉以太网头和以太网尾,在把剩下的部分传递给IP层软件进行分解,去掉IP头,然后把剩下的传递给传输层,例如TCP协议,此时就去掉TCP头,剩下应用层协议部分数据包了,例如HTTP协议,此时HTTP协议软件模块就会进一步分解,把用户数据给分解出来,例如是HTML代码。这样应用软件就可以操作用户数据了,如用浏览器来浏览HTML页面。其具体的数据包分解如下:
ethernet =(struct sniff_ethernet*)(pkt_data);ip =(struct sniff_ip*)(pkt_data + size_ethernet);tcp =(struct sniff_tcp*)(pkt_data + size_ethernet + size_ip);udp =(struct sniff_udp*)(pkt_data + size_ethernet + size_ip);icmp =(struct sniff_icmp*)(pkt_data + size_ethernet + size_ip);4.4.2 入侵检测的实现
通过Winpcap捕获数据包,数据包分解完以后就对其进行协议分析,判断分组是否符合某种入侵模式,如果符合,则进行入侵告警。在本系统中实现了对多种常见入侵模式的检测,采用的入侵模式包括ICMP分片、常用端口、IGMP分片、WinNuke攻击、应用层攻击。1.ICMP分片
ICMP报文是TCP/IP协议中一种控制报文,它的长度一般都比较小,如果出现ICMP报文分片,那么说明一定出现了Ping of Death攻击。
在本系统中ip->ip_p == 0×1,这是表示ip首部的协议类型字段,0×1代表ICMP。
string str1 = inet_ntoa(in_addrIP);string str2 = inet_ntoa(ip->ip_src);当(ip->ip_off > 1)&& str1!= str2时,就表认为是Ping of Death攻击。如果都符合,就报警(调用函数将受到攻击的时间、攻击名称以及攻击的IP地址显示出来)。
2.常用端口
一些攻击特洛伊木马、蠕虫病毒等都会采用一些固定端口进行通信,那么如果在分组分析过程中发现出现了某个端口的出现,则可以认为可能出现了某种攻击,这里为了减少误判,应当设置一个阈值,仅当某个端口的分组出现超过阈值后才进行报警。这就意味着检测到发往某个端口的的分组超过阈值后才认为出现了某种攻击,并进行告警。本系统定义了两种端口扫描,Trojan Horse端口扫描和代理服务器端口扫描。Trojan Horse端口扫描实现如下:首先根据if((tcp->th_flags & TH_SYN)==TH_SYN)判断其是否为TCP SYN报文,若是,并且端口为Trojan Horse的常用扫描端口时,最后判断报文数是否超过阈值TrojanThreshold,如果超过的后,就被认定为Trojan Horse端口扫描,然后报警。对代理服务器端口扫描检测的实现方法和Trojan Horse端口扫描实现方法一样,这里不再论述。
3.IGMP分片
IGMP(Internet Group Message Protocol)是Internet中多播组管理协议,其长度也一般较小。同上ip->ip_p==0×2也是表示首部的协议类型字段,0×2代表IGMP,本系统实现了对其两种攻击模式的检测。
(1)通过if(ntohs(ip->ip_len)>1499)首先判断其是否为分片的IGMP报文,若是,并且收到的报文数超过设定的阈值IGMPThreshold,则就最终判定其为IGMP DoS攻击,然后报警。
(2)通过if(strcmp(mbf,mbuffer)==0||strcmp(mbf,”0.0.0.0″)==0)判断其是否为某种特定的源地址等于目的地址或者目的地址等于0的报文,若是,并且收到的报文数超过设定的阈值LandThreshold则被判定为land DoS攻击,然后报警。
4.WinNuke攻击 通过if((tcp->th_flags & TH_URG)==TH_URG)判断其是否为TCP URG报文,若是,则根据WinNuke的典型特征是使用TCP中的Ugrent指针,并使用135、137、138、139端口,因此可以利用这两个特征加以判断,同样为了减少误判,应当设置一个阈值。当阈值超过设定的WinNukeThreshold时,就被最终判定为WinNuke攻击,然后报警。5.应用层攻击
其是分析应用层的数据特征,判断是否存在入侵。在本系统中实现了对一种较为简单的应用层攻击的检测。它也是属于TCP SYN报文中的一种。主要思想是监测报文中是否存在system32关键字,如果存在,则报警。
4.5 实验结果及结论
程序编译成功后,执行可执行文件,此时系统已被启动,然后在”设置”菜单中将网卡设为混杂模式,点击”开始”按钮,本系统开始检测。由实验结果可知,本系统能较好的检测出一些典型攻击,并能在界面上显示出攻击日期/时间、攻击的类型、攻击源的IP地址,达到了预期的效果。
第五章 总结与参考文献
入侵检测是一种积极主动的安全防护技术;它既能检测未经授权的对象入侵系统,又能监视授权对象对系统资源的非法操作。入侵检测与防火墙、身份认证、数据加密、数字签名等安全技术共同构筑了一个多层次的动态安全体系。本文主要对基于网络的入侵检测系统的关键技术进行了研究和探讨。首先较全面、系统地分析了入侵检测技术的历史、现状和发展趋势、了解了黑客常用的攻击手段及其原理。然后,系统地阐述了入侵检测的原理。接着讲述了协议分析和模式匹配技术,最后,针对当前典型的网络入侵,设计并实现了一个基于协议分析的网络入侵检测系统PANIDS,实现了多层次的协议分析,包括基本协议的解析、协议上下文的关联分析以及应用层协议的分析,并取得了较为满意的检测效果。
[1] 戴英侠,连一峰,王航.系统安全与入侵检测[M].北京:清华大学出版社 [2] 聂元铭,丘平.网络信息安全技术[M].北京:科学出版社
[3] 董玉格,金海,赵振.攻击与防护-网络安全与实用防护技术[M].北京:人民 邮电出版社 [4] 戴云,范平志.入侵检测系统研究综述[J].计算机工程与应用 [5] 刘文淘.网络入侵检测系统[M].北京:电子工业出版社,
第三篇:网络安全与入侵检测技术的应用研究
网络安全与入侵检测技术的应用研究
摘要:介绍了入侵检测系统和预警技术的含义,并对入侵检测系统模型进行深入分析和分类,讨论了入侵检测系统的评价标准,最后对入侵检测系统的发展趋势作了有意义的预测。
关键词:入侵检测 网络安全 防火墙
随着Internet的应用日益广泛和电子商务的兴起,网络安全作为一个无法回避的问题呈现在人们面前。提到网络安全,很多人首先想到的是防火墙,防火墙作为一种静态的访问控制类安全产品通常使用包过滤的技术来实现网络的隔离。适当配置的防火墙虽然可以将非预期的访问请求屏蔽在外,但不能检查出经过他的合法流量中是否包含着恶意的入侵代码。在这种需求背景下,入侵检测系统(IDS)应运而生。入侵检测系统成为了安全市场上新的热点,不仅愈来愈多的受到人们的关注,而且已经开始在各种不同的环境中发挥其关键作用。入侵检测技术概述
入侵检测就是对指向计算和网络资源的恶意行为的识别和响应过程,为通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的一种安全技术。
如果一个系统的计算机或者网络安装了入侵检测系统,它会监视系统的某些范围,当系统受到攻击的时候,它可以检测出来并做出响应。入侵被检测出来的过程包括监控在计算机系统或者网络中发生的事件,再分析处理这些事件,检测出入侵事件。入侵检测系统是使这监控和分析过程自动化的产品,可以是软件,也可以是硬件。
入侵检测是对防火墙的合理补充,可以帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,看看网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
入侵检测技术是动态安全技术的最核心技术之一。传统的操作系统加固技术和防火墙隔离技术等都是静态安全防御技术,对网络环境下日新月异的攻击手段缺乏主动的反应。如果与“传统”的静态防火墙技术共同使用,将可以大大提高系统的安全防护水平。入侵检测系统实现
入侵检测系统不但需要使系统管理员时刻了解网络系统(包括程序、文件和硬件设备等)的任何变更,而且还应能给网络安全策略的制订提供指南。更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易地获得网络安全。入侵检测系统在发现入侵后,会及时作出响应,包括切断网络连接、记录事件和报警等,入侵检测系统的实现一般包括以下几个步骤。2.1 信息收集
入侵检测的第一步是信息收集,内容包括系统、网络、数据及用户活动的状态和行为。而且,需要在计算机网络系统中的若干不同关键点收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的因素就是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致性却是可疑行为或入侵的最好标识。入侵检测利用的信息一般来自以下四个方面: ⑴系统和网络日志文件
黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。
⑵目录和文件中的不期望的改变
网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变,特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。
⑶程序执行中的不期望行为
网络系统上的程序执行一般包括操作系统、网络服务、用户起动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现,每个进程执行在具有不同权限的环境中。一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。
⑷物理形式的入侵信息 这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。黑客会想方设法去突破网络的周边防卫,如果他们能够在物理上访问内部网,就能安装他们自己的设备和软件。2.2 信号分析
对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
⑴模式匹配
模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单,也可以很复杂。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
⑵统计分析
统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。
⑶完整性分析
完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。入侵检测系统的局限性
由于网络的危害行为是一系列十分复杂的活动,特别是有预谋、有组织的网络入侵,入侵检测系统的研究遇到了以下三方面亟待解决的问题。3.1 入侵技术在不断发展
入侵检测技术以网络攻击技术研究为依托,通过跟踪入侵技术的发展增强入侵检测能力。在因特网上有大量的黑客站点,发布大量系统漏洞资料和探讨攻击方法。更为令人担忧的是有组织的活动,国外已将信息战手段同核生化武器等列在一起,作为战略威慑加以讨论,破坏者所具备的能力,对我们是很大的未知数。
入侵技术的发展给入侵检测造成了很大的困难,预先了解所有可能的入侵方法是困难的,因此一个有效的入侵检测系统不仅需要识别已知的入侵模式,还要有能力对付未知的入侵模式。
3.2 入侵活动可以具有很大的时间跨度和空间跨度
有预谋的入侵活动往往有较周密的策划、试探性和技术性准备,一个入侵活动的各个步骤有可能在一段相对长的时间跨度和相当大的空间跨度之上分别地完成,给预警带来困难。一个检测模型总会有一个有限的时间窗口,从而忽略滑出时间窗口的某些事实。同时,检测模型对于在较大空间范围中发生的的异常现象的综合、联想能力也是有限的。3.3 非线性的特征还没有有效的识别模型
入侵检测技术的难度不仅仅在于入侵模式的提取,更在于入侵模式的检测策略和算法。因为入侵模式是一个静态的事物,而现实的入侵活动则是灵活多变的。有效的入侵检测模型应能够受大的时间跨度和空间跨度。从技术上说,入侵技术已经发展到一定阶段,而入侵检测技术在理论上、模型上和实践上还都没有真正发展起来。在市场上能看得到的入侵检测系统也都处在同一水平。
面对复杂的网络入侵活动,网络入侵检测技术的研究不仅仅包括入侵技术的研究,更要重视建立入侵检测策略和模型的理论研究。入侵检测技术研究的主要内容
网络入侵检测技术研究主要包括:网络入侵技术研究、检测模型研究、审计分析策略研究等。通过将这些技术组合起来,形成一个互动发展的有机体。4.1 入侵技术研究
入侵技术研究包括三个部分:第一,密切跟踪分析国际上入侵技术的发展,不断获得最新的攻击方法。通过分析这些已知的攻击方法来丰富预警系统的检测能力。第二,加强并利用预警系统的审计、跟踪和现场记录功能,记录并反馈异常事件实例。通过实例分析提取可疑的网络活动特征,扩充系统的检测范围,使系统能够应对未知的入侵活动。第三,利用攻网技术的研究成果,创造新的入侵方法,并应用于检测技术。4.2 检测模型研究
对于预警系统来说,检测模型的确定是很重要的。由于入侵活动的复杂性,仅仅依靠了解入侵方法还不能完全实现预警,还应有适当检测模型与之配合。在预警技术研究中,入侵检测模型是关键技术之一。4.3 审计分析策略研究
预警技术研究的另一个重点在于对审计数据的分析处理。其中包括:威胁来源的识别、企图的判定、危害程度和能力的判断等等。预警所产生的审计数据是检测与预警的宝贵资源。这些审计数据可能是很大量的,如果缺乏有效的分析手段将会浪费这一资源。结束语
入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。从网络安全立体纵深、多层次防御的角度出发,入侵检测理应受到人们的高度重视。但在国内,随着上网的关键部门、关键业务越来越多,迫切需要具有自主版权的入侵检测产品。但现状是入侵检测仅仅停留在研究和实验样品阶段,或者是防火墙中集成较为初级的入侵检测模块。可见,入侵检测产品仍具有较大的发展空间,从技术途径来讲,除了完善常规的、传统的技术外,应重点加强统计分析的相关技术应用研究。
参考文献
[1] 黄亚飞.防火墙技术与应用.武汉:湖北教育出版社,2003 [2] 张小斌.网络安全与黑客防范.北京:清华大学出版社,1999
第四篇:无线局域网入侵检测协议分析论文
无线局域网入侵检测系统的研究
【摘要】 自从20世纪90年代出现无线局域网以来,由于WLAN具有多方面的优点,令其发展十分迅速,但在无线局域网蓬勃发展的同时,安全问题也越来越突出。本文先介绍了无线局域网的特点、IEEE802.11系列协议标准以及无线局域网中的固有漏洞,然后又介绍了常见的入侵方式,其次系统的介绍了入侵检测的概念、基本原理、工作模式、分类及发展趋势,并阐述了各种局域网入侵检测系统的关键技术,并通过分析比较得出:无线局域网入侵检测系统在设计上有别于有线入侵检测系统。本文在深入分析了无线局域网技术以及常见入侵检测技术的基础上,针对无线局域网络的特点,提出了一个将协议分析和模式匹配相结合的无线入侵检测系统模型。模式匹配算法具有快速简单的优点,在实际应用中最为广泛,但计算量大,检测准确性低,通过改进模式匹配算法,取得了较好的结果。协议分析技术可以利用网络协议的高度规则性快速探测攻击的存在,通过层次化、格式化的无线网络报文逐层分析,可提高检测效率,并有效控制漏报率和误报率。最后提出了该系统的框架和主要的流程步骤,对其中的关键模块进行了详细设计。该系统利用Winpcap函数库对无线传输数据进行捕获,然后利用解码模块对捕获到...更多还原
【Abstract】 Wireless local area network has developed very rapidly since the 1990s for it’s many advantages, and at the same time, the security problem has become more and more remarkable.This paper firstly describes the characteristics of WLAN, protocol standards of IEEE802.11 series and the inherent vulnerability in the WLAN, then presents the common intrusion method, and at last, introduces the concept of intrusion detection, basic principles, work patterns, classification and trends, systematically.At...更多还原
【关键词】 无线局域网; 入侵检测; 协议分析;
【Key words】 wireless LAN; intrusion detection; protocol analysis;
【索购全文】Q联系Q:138113721 Q联系Q: 139938848付费即发
目录 摘要 3-4 ABSTRACT 4-5 第一章 绪论 8-11
1.1 研究背景 8
1.2 无线入侵检测技术研究现状 8-10
1.3 本文主要研究内容和结构 10-11 第二章 WLAN概述 11-18
2.1 WLAN标准 11-13
2.1.1 IEEE 802.11 11
2.1.2 IEEE 802.11b 11-12
2.1.3 IEEE 802.11a 12
2.1.4 IEEE 802.11g 12
2.1.5 IEEE 802.11i 12
2.1.6 IEEE 802.11n 12-13
2.2 WLAN的组成 13-14
2.3 WLAN组网方式 14-15
2.4 IEEE802.11协议分析 15-17
2.5 本章小结 17-18
第三章 无线局域网入侵检测系统 18-28
3.1 无线局域网安全技术 18-19
3.1.1 MAC地址过滤和服务区标识符(SSID)匹配 18
3.1.2 WEP协议 18
3.1.3 WPA技术 18-19
3.1.4 802.11i协议 19
3.2 WLAN常见的入侵方式 19-21
3.2.1 网络窃听 19
3.2.2 假冒身份 19-20
3.2.3 拒绝服务攻击 20
3.2.4 SSID猜解与诱骗 20
3.2.5 中间人攻击 20-21
3.2.6 异常报文攻击 21
3.2.7 重放攻击 21
3.3 入侵检测的概念 21-22
3.4 入侵检测技术 22-27
3.4.1 入侵检测的发展 22
3.4.2 入侵检测的分类 22-27
3.5 本章小结 27-28
第四章 基于协议分析的入侵检测系统设计 28-52
4.1 模式匹配与协议分析结合的入侵检测方法 28-29
4.2 基于协议分析技术的检测过程 29-31
4.2.1 协议分析树的构建 30-31
4.3 基于协议分析技术的入侵检测体系结构 31-32
4.4 检测代理关键模块设计 32-49
4.4.1 数据捕获模块 33-37
4.4.2 预检测模块 37-38
4.4.3 解码模块 38-42
4.4.4 规则解析模块 42-43
4.4.5 协议分析模块 43-44
4.4.6 模式匹配算法 44-47
4.4.7 改进的BM算法 47-49
4.5 对常见攻击的检测效果分析 49-51
4.5.1 IP 攻击 49-50
4.5.2 ICMP 攻击 50
4.5.3 其他攻击 50-51
4.6 本章小结 51-52 结论 52-53 参考文献
第五篇:基于IPv6网络安全的管理系统设计论文
0引言
当前信息技术快速发展,网络恶意攻击行为更为频繁,攻击形式也日趋多样化,如病毒、木马、蠕虫等,网络安全问题更加突出,互联网正面临着新的安全形势。实践证明,实时分析并检测网络流是加强网络安全的有效方法。入侵检测系统(IDS)正是在这个背景下应运而生的。其可以对网络环境状况进行积极主动、实时动态的检测,作为一种新型网络安全防范技术,在保障网络安全方面发挥着重要的作用。入侵检测系统主要通过判断网络系统中关键点是否正常运转以实现对网络环境的检测,其不但能够有效地打击网络攻击,还能够保证信息安全基础结构完整,实施保护互联网的安全。目前网络安全机制正在从IPV4向IPV6过渡,网络的安全性也在不断增强,深入分析IPV6安全机制具有重要意义。
1IPv4向IPv6过渡中存在的问题
IPv6安全机制是IPv4安全机制的强化,与IPv4相比,IPv6安全机制的网络结构更为复杂,应用范围更为广阔,但是IPv4向IPv6的过渡不是一蹴而就的,在这个过渡过程中会出现一些严重的问题,这就要求我们必须充分认识IPv4向IPv6过渡中的问题,尽量减小对网络安全的不良影响。
1.1翻译过渡技术
采用翻译过渡技术,必须关注翻译对数据包传输终端的破坏情况与网络层安全技术不匹配这两个问题。保护网络正常数据传送是网络层安全协议的主要职能,网络层协议中的地址翻译技术主要用于变更传送数据的协议与地址,这就容易使网络层协仪的地址翻译与网络安全协议出现冲突,使网络环境的安全面临威胁。
1.2隧道过渡技术
隧道过渡技术并不重视网络安全,其自身特点也使网络易遭受攻击,安装安全设备的网络应用隧道技术后,会影响原有的安全设备运作,并且在数据经过隧道时,隧道也不会检查数据,这就给恶意的数据提供了进入正常网络的机会,严重威胁网络安全。
1.3双栈过渡技术
双栈过渡技术是网络层协议的一种,两个网络层协议在一台主机上同时运行是其特点。但是同时运行的两个网络层协议在技术上并无联系,而且容易出现运作不协调的问题,导致网络安全存在漏洞,易被攻击者利用。但是与翻译过渡技术和隧道过渡技术比较,双栈过渡技术的安全性能要优于上边的两种技术,网络安全性相对较高,有其自身优势。
2IPv6的特点
IPv6是一种新型互联网协议,是IPv4互联网协议的革新。IPv6可以有效解决IPv4中存在的漏洞与缺陷,其改进方面主要体现在地址空间、IPSec协议、数据报头结构、服务质量(QoS)方面。其中数据报头结构和IPSec协议是影响入侵检测系统的主要方面。
2.1数据报头结构的更新
与IPv4数据报头结构相比,IPv6简化了IPv4的数据报头结构,IPv6的40节数据报头结构极大的提高了数据处理效率。此外,IPv6还增加了选项报头、分段报头、认证报头等多个扩展报头,入侵检测系统必须首先解析IPv6报头才能进行协议分析。
2.2IPSec协议
与IPv4相比,IPv6中还应用了IPSec协议,其可以有效实现网络层端到端的安全服务,并且IPSec协议中的两个安全封装载荷和认证头协议可以自由组合。IPSec协议实质上是对IPv6传输数据包的加密,这有利于提高数据传输过程的安全性,但是由于其对IPv6的报头也进行封装,入侵检测系统在进行检测时必须了解IPv6报头的源地址和目的地址,否则难以进行检测行为,这严重影响了入侵检测系统的正常运行。
3IPv4、IPv6入侵检测技术特点
以往技术多采用模式匹配技术,针对数据包和攻击数据库进行匹配对应是该模式的典型特点,这种模式特点是以数据库对应的情况来依次判断是否存在网络攻击。而现在,检测系统入侵的技术手段为BruteForce、Aho-Corasick-Boyer-Moore等典型模式匹配算法。被定义为识别并处理那些以IPv6网络协议恶意使用网络资源的攻击者的技术,为IPv6入侵检测技术。IPv6与IPv4有很大的区别,两者在程序上不兼容,因此在这种情况下入侵技术的检测变得问题繁多。首先,两种协议在数据报头上变动明显,以往在IPv4上能用的检测产品在IPv6上无法直接使用。在使用IPv4协议的情况下,TCP头部紧紧连接着IP头部,不仅如此,他们的长度还是确定不变的。这样的连接模式和设置使得检测工作的开展变得更加简便。然而,另一种协议方式即IPv6却与此有很大的不同,它的这两个头部并不紧接,长度也不固定,在其中间还往往会有别的扩展头部等。经常见到的有路由选项头部等。尽管该协议下,数据包对应显得很复杂,若是防火墙没有完全读懂数据包则会发生不能过滤的情况,这在某些时候使得入侵的检测工作变得更加复杂。科研攻关人员目前已经针对IPv6协议下的接口函数做出了相应的科学的新改动。其次,在进行端到端的传输工作时,若为IPv6则IDS会由于无法解密而直接导致解读不了数据,此时的IDS不能有效的继续工作。虽然采取IDS数据包解密能够较为有效的解决这一问题,但这种解密情况下的安全又成了新的问题,对其是否可靠,时间会给予准确的答案。
3.1双栈入侵检测系统的实现
IPv6协议解码功能是实现双栈入侵检测的关键性因素。协议解码分析通常分为第二层、第三层。第二层主要是以太网,然而第三层的则大为不同,它不仅包含IPv4包类型,还同时兼有IPv6包类型,甚至还具有隧道方式。协议解码在数据结构、属性的基础上,注重数据包对号入座,一一对应。IPv6协议解码功能如图1所示。进行协议解码的首要步骤是抓包并解包,并且在解包时完善对应信息包。分析各个模块,以此判断是何种包,区分数据包是属于IPv4还是属于IPv6是至关重要的。在此之后,存档以太网的源地址和目的地址,并在接下来的工作中进行下一层解析,在第三层数据解析时包头结构是着重分析的对象。
3.2在IPv6环境中的NIDS模块设计
数据采集、分析,然后是结果输出,这三个方面组成了整个NIDS系统。对科学要求的CIDF规范完全符合。这个系统由数据包捕获的各种模块结合而成。
3.3NIDS模块功能
(1)数据包捕获模块数据包捕获模块在整个系统中居于关键地位,它是系统的基础,也是其重要组成部分。该模块的具体作用在于从以太网上获取数据包,根据实际情况和不同的系统,有相对性的捕获,相比之下,捕获方式会根据具体情况而有所不同。(2)协议解析模块协议解析是该模块的核心作用,该模块对数据层层分析最终得到解析目的,在此基础上分析是否有入侵情况以便进行制止防御。(3)规则处理模块提前制定的入侵规则存入库中,它的多少直接影响着整个入侵系统的性能。规则设置的越多越完善,对于入侵行为的检测就越精准。(4)分析检测模块查证是否有入侵行为发生是该模块儿的重要作用,该模块和规则库若匹配成功则证明系统正在遭受入侵。(5)存储模块存储信息和数据包是该模块的具体功能。有效储存信息对于系统对入侵行为的分析具有极强的帮助作用,储存的数据可供事后分析等。(6)响应模块响应模块是入侵行为的响应处理,它的响应能使防火墙及时对入侵行为进行制止和防御,是系统防御不可或缺的盾牌。
引用:
[1]邓生君,沈鑫,叶昭辉.一种基于IPv4/IPv6网络入侵检测系统的框架设计[J].电子世界,2012.[2]肖长水,谢晓尧.基于IPv6的网络入侵检测系统的设计与实现[J].计算机工程与设计,2007.