1、 本科毕业论文 (科研训练、毕业设计 ) 题 目:基于聚类算法的入侵检测技术及其在DOS 攻击检测中的应用 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内):史亮 职称: 指导教师(校外): 职称: 年 月 日 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 1 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中的应用 摘要 从 2000年以来,世界上的许多电子商务网站和新闻网站都受到了一种 名叫拒绝服务的攻击, 攻击的结果是使目标主机或网络不能提供正常的服务。 拒绝服务攻击是一种特别的攻击方法, 它主要是破坏网络系统的可用性, 攻击的手
2、段是消耗系统有限的不可恢复的资源。 攻击者和被攻击者可以是一对一的关系, 可以是多对多的关系, 即是分布式拒绝服务攻击。 本文首先分析了目前的拒绝服务攻击的原理和特点;然后讨论对拒绝服务攻击的检测的各种方法,包括异常检测、滥用检测及数据挖掘技术等。并将数据挖掘技术应用于 DOS攻击的规则提取,利用产生的规则设计了一种用于检测 DOS攻击的入侵检测原型系统。最后通过实验验证系统的可行性。 关键词 拒绝服务攻击 入侵检测 聚类算法 K-means 算法 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 2 The detection technology based on cluste
3、r algorithm and its application in DOS Intrusion Abstract From the beginning of 2000, many well-known e-commerce and news web sites have been subjected to the denial of service attacks (DOS). Network denial of service attacks-which deny or degrade access to some network service-have become a problem
4、 on the Internet. Denial of service attacks aims to destroy systems availability and consume the scarce, limited, or non-renewable resources. The relationship between attacker and victim can be single to single or multiple to multiple, the later means distributed denial of service (DDOS). This paper
5、 first outlines the characters and principle of denial of service attacks, and discusses some different methods to detect the DOS attack, including anomaly detection, misuse detection and Data Mining. The application of Data Mining (through cluster) in the detection of DOS is given more attention, w
6、hich brings forward a technique that applies cluster algorithm to network intrusion detection, and this paper shows the effect through an experiment. Keywords Denial of Service Intrusion Detection (ID) Cluster algorithm K-means algorithm 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 3 目 录 第一章 引言 . 4 1.1 研究背景 . 4 1
7、.2 研究目标 . 4 1.3 论文结构 . 5 第二章 基本内容及简介 . 6 2.1 概述 . 6 2.1.1 网络安全概念 . 6 2.1.2 Internet 的安全问题 . 6 2.2 入侵检测 . 7 2.2.1 从入侵防御到入侵检测 . 7 2.2.2 入侵检测的方法 . 8 2.3 拒绝服 务攻击 . 9 2.3.1 拒绝服务攻击类型 . 9 2.3.2 常见的攻击介绍 . 10 2.3.3 分布式拒绝服务( DDOS)攻击 . 11 2.4 本章小结 . 11 第三章 数据挖掘技术和聚类算法 . 12 3.1 数据挖掘概述及其与入侵检测的结合的必然性 . 12 3.2 常用的
8、几种数据挖掘分析方法 . 12 3.3 本章小结 . 13 第四章 系统设计与实现 . 14 4.1 算法设计 . 14 4.2 实验理论 . 15 4.2.1 收集分析数据 . 15 4.2.2 数据标准化 . 16 4.2.3 运用聚类算法 . 17 4.3 实验过程 . 17 4.3.1 实验过程收集数据 . 18 4.3.2 实验过程标准化 . 19 4.3.3 实验过程运用聚类算法 . 19 4.4 实验结果与分析 . 20 第五章 总结与展望 . 21 致谢 . 22 参考文献 . 23 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 4 第一章 引言 1.1 研究背
9、景 Internet 可以说是人类在二十世纪最伟大的成就之一,它在迅速发展的同时也在越来越深刻地影响着人们地生活。然而与其飞速发展相伴的是日益增长的对网上站点的安全威胁。许多统计数据都可以表明, 当今网上“黑客”数与安全相关的事件数的增长是相当惊人的。 对网上众多的站点而言,在面临的诸多安全威胁中, 网络远程攻击是最主要的方式。尤其是对于政府、商业、大学的重要站点,防范网络远程攻击更是一项经常性的任务。 在 2000年 2月, Yahoo, A, CNN.com 和其它著名的电子商务网站和新闻网站受到了拒绝服务( Denial of Service, DOS)攻击, 大量攻击包象潮水一样涌向受
10、害主机或网络, 使网络拥塞或主机忙不过来而不能提供正常的服务,结果是这些站点停止服务达几个小时甚至几十个小时之久。 国内的新浪等站点也遭到同样的攻击, 这次的攻击浪潮在媒体上造成了巨大的影响, 以至于美国总统都不得不亲自过问。 从此, DOS攻击受到了广泛的关注。 DOS是一种特别的攻击方法, 他不同与以往攻击方法, 攻击目标和结果是使目标主 机或网络不能提供正常服务。 攻击者不需要获得系统的超级用户或管理员权限, 不需要知道软件或系统的漏洞, 而且在现在的网络环境下, 很难跟踪和发现攻击者, 也没有有效的手段检测和防御, 攻击方法简单, 攻击效果明显。多数 DOS攻击是“非对称攻击”, 即用
11、有限的资源去攻击一个大的、复杂的系统。例如, 一个攻击者用一台旧 PC和一个慢速调制解调器就能使快速先进的主机或网络瘫痪。 分布式拒绝服务( Distributed Denial of Service, DDOS)攻击是由 DOS发展而来的。 传统的 DOS攻击是攻 击者和被攻击者是一对一的关系, 而 DDOS是在分布式环境下, 在一定的时间内通过许多台机器向某一目标主机或网络发送过载的攻击包使系统失去反应,从而不能提供正常的服务。 这种攻击被证实是非常有效的, 而且难以检测和防御, 是一种危害很大的攻击手段。 1.2 研究目标 本文首先分析了目前的拒绝服务攻击的原理和特点;然后讨论对拒绝服务
12、攻击的检测的基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 5 各种方法,包括异常检测、滥用检测及数据挖掘技术等。文章重点论述了数据挖掘分析方法(聚类方法)在 DOS入侵检测中的应用 , 提出了使用聚类算法进行网络入侵检测的方法,并通过试验说明了该方法的应用效果 1.3 论文结构 本文由五部分构成。第一章为引言主要介绍了研究背景,研究目标以及论文结构;第二章介绍了目前的网络安全现状以及 Internet和 TCP/IP协议族的安全,重点在于目前 DOS攻击和DDOS攻击的形式、特点和种类,并且对 DOS攻击的入侵检测进行了探讨;第三章介绍了数据挖掘技术中的聚类算法,重点应用了 K
13、-means算法;第四章详细讨论了在网络入侵检测中使用聚类算法完成 DOS入侵检测,并通过试验进行完整的演示;第五章对整片论文做了总结和展望。 基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 6 第二章 基本内容及简介 为了 更好的设计基于挖掘技术的 DOS 入侵检测系统,本章首先介绍了关于网络安全以及DOS 攻击检测方面的基础知识 2.1 概述 2.1.1 网络安全概念 在 Internet/Intranet 的大量应用中, Internet/Intranet 安全面临着重大的挑战。事实上, 资源的共享和信息的安全历来是一对矛盾。今年来随着 Internet 的飞速发展, 计算
14、机网络的资源共享进一步加强, 随之而来的信息安全问题日益突出。 Internet 网络已无时无刻不遭受着各种各样的攻击和入侵。 网络安全是指网络系统的硬件、软件 及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄漏,系统连续可靠正常的运行,网络服务不中断。网络安全从其本质上来讲就是网络上的信息安全。 2.1.2 Internet的安全问题 Internet 是个开放的结构,节点不断的增加,每 12 到 15 个月 Internet 接入的主机就增加一倍,接入几乎不受身份限制;而且集成有多种平台,多种服务;另外没有统一的有效的管理,没有统一的法规; 目前的 Internet
15、是基于开放标准的 TCP/IP 协议之上的。 TCP/IP 协议从产生就没有考虑安全问题。 IP 是 TCP/IP 的标准 Internet 层协议,它负责把称为数据报的数据快从源传送到目的地, 这里的源和目的地是用固定长度的地址来表示的主机身份。 IP 是一种无连接协议。因此 IP的数据报可能没有按照顺序传送,也不保证数据成功地到达目的地。 IP 也不提供地址地鉴别。实际上,任何主机用任何地 IP 地址都可以发送数据报。这导致威胁到 Internet 地安全性。TCP 是 TCP/IP 协议族中面向连接的传输层协议,用来提供连接在 Internet 上两个主机之间可靠的逻辑链路。 TCP 对
16、每个数据流初始化和维护一定的状态信息。这些信息 的组合包括基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 7 sockets, sequence numbers 和 window sizes,被称为一条连接。一对 socket 指定了两个端点,在 Internet 上唯一表示了一条 TCP 连接。 2.2 入侵检测 2.2.1 从入侵防御到入侵检测 基于网络的计算机系统在现在社会中扮演了越来越重要的角色,同时它们也变成了一些计算机罪犯攻击的首要目标。目前 , 网络攻击入侵事件频发 , 入侵者正变得更加狡猾 , 其攻击类型也日益复杂 , 手段多样性趋势则更加明显 , 因此 , 我们
17、必须尽可能地对网络信息资料和设施加以保护。 当入侵发生时,电脑系统的安全就受到了威胁。因此, 1990 年 Heady 将入侵定义为“任何企图破坏资源完整性、保密性和可用性的行为” “A ny set of actions that attempt to compromise the integrity, confidentiality, or availability of a resource” 。 入侵预防技术,例如用户鉴定(使用密码或者生物测定学),避免编程错误, 信息保护(加密技术)已经被用于作为保护计算机系统的第一道护墙。仅仅靠入侵预防并不 完全,因为系统会变得更加复杂。 由于设计
18、或编程错误, 复杂的系统中总是会有可以被利用的弱点。例如,“缓冲器泄漏”这个可利用的错误虽然在多年以前就已经被发现了,但是到现在, 由于软件的编程错误,这个错误依然可以被利用。 在系统的易用性和对系统信息访问的限制之间做出的平衡会使得让操作系统变得更安全得想法难以实现。 因而,针对入侵的特点 , 研究人员提出了入侵检测的概念 , 用于对入侵进行检测。如今 , 入侵检测技术作为保护计算机系统的第二道护墙已成为网络安全中的研究热点。 入侵检测基于两个基本假设 : I 用户和程序行为是可见的 ; 例如, 通过系统审计机制。II 正常行为与入侵行为本质上是可区分的。因此, 入侵检测包含这些基本要素:
19、在目标系统中被保护的资源, 例如, 网络服务, 用户帐号, 系统内核等等。 能够标识对资源进行正常或合法访问的模型。 能够将被检测的行为和已经建立的模型进行对比的技术。 那些不合法的行为被标记成为基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 8 入侵行为。 2.2.2 入侵检测的方法 研究者目前已经开发出两种入侵检测技术。 一种是 misuse detection, 这是事先为系统的常见攻击和弱点建立模式,然后使用这些建立好的模式去匹配当前的活动,从而识别出非法入侵。误用检测是早期的入侵检测技术 , 由于它需要专家知识来事先分析入侵模式 , 然后进行人工编码 , 因此不能适应攻
20、击的多变性。它对已知入侵类型的检测准确率较高、误报警少 ;但它不能检测未知攻击。误用入侵检测方法主要有 :基于条件概率的误用入侵检测方法、基于状态迁移分析的误用入侵检测方法、基于键盘监控的误用入侵检测方法等。 另一种是 anomaly detection, 用户和系统的普通正常行为首先被总结成为正常特征, 这些正常的样本然后被用作准绳, 那些和建立的准绳有重大背离的行为活动被标记成为潜在的入侵。 异常检测能够识别新型和未知的入侵 , 但目前这种技术还存在检测率、误检率方面的不足。显然这两种技术各有优缺点 , 并且两者还存在一定程度的互补性。许多当前的入侵检测系统( IDSs)都包含这两种技术,
21、从而显得很复杂。常见的异常检测方法有:基于特征选择的异常检测方法、基于贝叶斯推理的异常检测方法、基于贝叶斯网络的异常检测方法、基于贝叶斯聚类的异常检测方法、基于模式预测的异常检测方法、基于机器学习的异常检测方法、基于数据采掘 的异常检测方法等。 基于异常的入侵检测技术( anomaly detection)可以分为需要指导的异常检测和无需指导的异常检测。需要指导的异常检测为通过观察得到的正常数据建立正常数据模型,然后检测那些偏离正常模型的异常数据,。这种方法能够检测新的攻击类型,因为这些新的攻击数据也会偏离正常的数据模型。需要指导的异常检测的一个缺陷是需要一组完全正常的数据来训练获得模型,如果
22、训练数据中包含攻击数据的话,这些攻击就很难检测到,因为该方法把这些攻击数据认为是正常数据,另一方面,要获取这些训练数据也是很困难的。 目 前入侵检测技术研究的重点转移到了无需指导的异常检测上,这种技术用一组没有标记的数据作为输入,发现其中存在的攻击数据,即试图从一组不知道什么是正常,什么是异常的数据集中发现那些异常的数据。无需指导的异常检测与需要指导的异常检测相比,它不需要完全正常的训练数据,只需要未加工的网络原始数据。无需指导的异常检测技术有一个基本的假设,就是正常数据和异常数据有定性的不同,这样才可以将它们区分开来,例如通过一般的分析,可以知道拒绝服务攻击的数据在属性取值和模式上与正常的数
23、据有很大的不基于聚类算法的入侵检测技术及其在 DOS 攻击检测中 的应用 9 同,所以可以利用无需指导的异常检测技术 来有效地检测出拒绝服务攻击。 本文介绍的利用聚类算法的异常检测就是一种无需指导的异常检测技术,这种方法可以在未标记的数据上进行,它将相似的数据划分到同一个聚类中,而将不相似的数据划分到不同的聚类,并为这些聚类加以标记表明它们是正常还是异常,然后将网络数据划分到各个聚类中,根据聚类的标记来判断网络数据是否异常。在后面的试验中可以看到,经过聚类后,正常网络数据和异常网络数据被有效地区分。 2.3 拒绝服务攻击 拒绝服务攻击是多种网络攻击的其中一种,主要是通过消耗系统有限的不可回复的
24、资源从而使合法用户的服 务性能降低或受到拒绝。它分拒绝服务 DOS 攻击和分布式拒绝服务 DDOS攻击两大类,后者比前者更复杂,攻击更有效。简单的 DOS 攻击属于单对单方式,而 DDOS 攻击属于比较复杂的多对多或多对单的方式。 拒绝服务攻击的工具和方法又很多,并且不断地涌现, 这里只做简单地介绍。 2.3.1 拒绝服务攻击类型 拒绝服务攻击有许多方式,并且能够针对不同的服务。主要有三种基本的攻击类型: 稀有的有限的不可恢复资源的消耗 配置信息的更改或破坏 网络构件的物理破坏或更改 A 稀有的有限的不可恢复资源的消耗 1 网络连通性 DOS 攻击经常是针对网络连通性。它的目的是阻止主机或网络之间的通信, 这种攻击类型的一个例子是 SYN flooding。 攻击者向受害主机发出大量伪造的“半连接”, 消耗完其等待队列,使合法的连接请求被拒绝。这种攻击消耗涉及到建立网络连接的内核数据结构。 这就说明攻击者可以通过拨号连接向一个在高速网络的机器发起攻击。 2 带宽的消耗