|
目录
第一章绪论
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.状态迁移法
状态迁移图可用来描述系统所处的状态和状态之间可能的迁移。状态迁移图用于入侵检测时,表示了入侵者从合法状态迁移到最终的危害状态所采取的一系列行动。
在检测未知的脆弱性时,因为状态迁移法强调的是系统处于易受损的状态而不是未知入侵的审计特征,因此这种方法更具有健壮性。而它潜在的一个弱点是太拘泥于预先定义的状态迁移序列。这种模型运行在原始审计数据的抽象层次上,它利用系统状态的观念和事件的转变流;这就有可能提供了一种既能减少误警率又 |
|