基于协议分析的入侵检测技术.docx
《基于协议分析的入侵检测技术.docx》由会员分享,可在线阅读,更多相关《基于协议分析的入侵检测技术.docx(28页珍藏版)》请在冰点文库上搜索。
基于协议分析的入侵检测技术
毕业论文
题目论文
专业信息与计算科学
班级
学号
学生
指导教师
年
基于协议分析的入侵检测技术
摘要
入侵检测作为一种主动的安全防护技术,为主机和网络提供了动态的安全保障。
它不仅检测来自外部的入侵行为,同时也对内部的未授权活动进行监督。
利用网络协议的高度规则性,采用协议分析的方法,能较好地解决当前入侵检测系统中准确性与实时性之间的矛盾。
首先,本文在介绍入侵检测系统研究现状的基础上,引入了入侵检测的定义及分类;其次,对TCP/IP协议进行了详细的阐述,将新一代的协议分析方法应用到网络入侵检测系统(NIDS)中,给出了基于模式匹配和协议分析的网络入侵检测系统模型,并对各个模块的实现进行了详细的设计;最后,利用SNORT系统中BASE(BasicAnalysisSystemEngine)部件对系统进行了测试,测试结果表明了模型的可行性。
关键词:
入侵检测,协议分析,TCP/IP,包捕获,网络安全
IntrusionDetectionTechnologyBasedonProtocolAnalysis
Specialty:
InformationandComputingScience
Student:
Advisor:
ABSTRACT
Asakindofactivesecuritydefensetechnique,intrusiondetectionguaranteeactivesecurityforhostandInternetusers.Itnotonlydetectstheintrusionfromtheextranethackerbutalsomonitorsintranetusers.MakinguseoftheprotocolanalysisandstrictrulesofInternetprotocol,thecontradictionofveracityandreal-timeinIDScanbewellsolved.
Firstly,weintroducedtheresearchdevelopmentoftheIDS,andgavethedefinitionandclassificationofIDS.Secondly,weexpoundtheTCP/IPprotocoldeeply,byusingthenewprotocolanalysismethodontheNetworkIntrusionDetectionSystem(NIDS),webuildthemodelofNIDSwhichbasesonthepatternmatchingandprotocolanalysis,anddesignedeverymoduledetailed.Finally,makinguseoftheBASE(BasicAnalysisSystemEngine),whichisacomponentinthesnort,wetestedthepartsofIDS,Thetestresultsindicatethefeasibilityofthemodel.
KEYWORDS:
intrusiondetection,protocolanalysis,TCP/IP,packetcapture,networksecurity
目录
1.绪论1
1.1研究的意义1
1.2国内外发展现状2
2.入侵检测系统5
2.1入侵检测系统概述5
2.1.1入侵检测定义5
2.1.2入侵检测系统模型6
2.2入侵检测的分类7
2.2.1根据检测方法的分类8
2.2.2根据数据源的分类10
2.3小结13
3.TCP/IP协议分析基础14
3.1TCP/IP协议层次与ISO/OSI七层对应关系14
3.2TCP/IP协议中的网际层和传输层特点16
3.2.1IP协议数据报格式分析17
3.2.2ARP协议数据报格式分析18
3.2.3ICMP协议数据报格式分析19
3.2.4TCP协议数据报格式分析20
3.2.5UDP协议数据报格式分析23
4.IDS系统的总体设计24
4.1系统的目标24
4.2系统设计25
4.2.1一个典型的网络系统25
4.2.2系统架构26
4.2.3系统中IDS的组成28
4.2.4检测引擎分析29
4.3小结31
1.绪论
1.1研究的意义
随着计算机和网络技术的不断发展,系统遭受的入侵和攻击也越来越多。
一方面,网络的规模越大,结构越复杂,软件的规模和数量越大,系统遭受攻击的越多;另一方面,随着计算机和网络技术的不断普及,越来越多的漏洞被人们发现,入侵者的水平越来越高,手段变得更加高明和隐蔽。
因此,网络与信息安全问题越来越突出,研究信息安全的防御技术很有必要[4]。
据统计,信息窃贼在过去的几年里以250%的速度增长。
大多数的公司都发生过大的入侵事件,世界多数著名的商业网站都曾被黑客入侵,造成了巨大的经济损失,甚至一些专门从事网络安全的网站也曾受到过黑客的攻击。
因此,检测与防范入侵攻击,保障计算机系统,网络系统以及整个信息基础设施的安全已经成为刻不容缓的重要课题[1]。
网络安全问题随着互联网的全球化,越来越受人们重视,层出不穷的攻击技术让我们不得不一再提高网络安全系统的性能,而入侵检测作为网络安全系统的一个组成部分,对其进行深入研究,具有重要意义。
研究内容:
TCP/IP协议是因特网的核心协议,由于它的标准开放性和协议的不完整性,极易受到攻击,因此本课题旨在研究设计基于TCP/IP的网络入侵检测系统,能检测出对TCP/IP协议的入侵,提高网络的安全性能。
(1)学习入侵检测的原理和技术,研究TCP/IP协议的漏洞及对TCP/IP协议的攻击;
(2)研究基于TCP/IP协议的网络入侵检测技术的总体方案。
1.2国内外发展现状
网络安全的基本技术有很多种如:
防火墙技术,加密技术,身份认证技术,数字签名技术,内容检查等。
这些技术的产生,有效地提高了网络安全性能。
但作为技术而言,总会存在各种不同的缺陷,攻击者们逐渐掌握了这些漏洞,就能轻易的避开这些防御措施,达到窃取破坏资源安全的目的。
在这种的情况下,网络安全的研究者们提出了入侵检测这一概念,引发新一轮网络安全的研究热潮[2]。
从1980年JamesP.Anderson提出入侵检测的概念至今,入侵检测系统己最近的几年,其核心技术才有了性能方面的突破,即放弃使用有较多缺点的模式匹配技术,而开始在IDS中采用协议分析技术。
目前,国内外已有很多研究机构从事入侵检测系统的研究。
国外的研究主要包括StanfordResearchInstitute的ComputerScienceLaboratory(SRI/CSL),PurdueUniversity的COAST(ComputerperationsAuditandSecurityTechnology)研究小组,ColumbiaUniversity的WenkeLee研究组,UniversityofNewMexico的StephanieForrest研究组,CaliforniaUniversity的GrIDS项目组等等[5]。
在体系结构上,Purdue大学COAST小组首先将自治Agent的概念用到了入侵检测中[6]。
在检测方法上,除专家系统、模式匹配等传统人工智能方法的研究外,还有计算机免疫系统的研究[7]。
知识挖掘也被应用于IDS[8],国外主要有Columbia大学的WenkeLee研究小组从事这方面的研究。
为了适应下一代高速网络的入侵检测,美国Iowa州立大学的Y.Guang、S.Verma等提出通过静态和动态的监测类型相结合[9],建立一个准确的类型规则,构建新的规范语言,在此基础上建立IDS。
美国California大学的ChristopherKruegel、FredrikValeur等构造了一个智能分布式IDS[10];美国加州大学圣巴巴拉分校(UCSantaBarbara)提出了基于状态变迁的入侵检测[11][12]。
在采用协议分析的IDS研究中,也不乏一些有代表性的研究成果。
比如文献[13]提出的入侵检测决策树(DecisionTree)模型;文献[14]提出的关于安全协议的动态分析思想;文献[15]提出的非法的协议域分解技术和非法的协议域编码技术;文献[16]提出了一种基于协议分析规则库的入侵异常检测方案。
国内关于入侵检测的研究相对比较晚,但也有不少大学等研究机构也进行了相应的研究,有向智能化分布式方面发展的趋势[17-22]。
在协议分析方面也有一些有代表性的思想,如:
入侵检测协议分析状态机模型[25]和协议树模型[21]。
许多国外厂商也推出了一系列相关产品。
如InternetSecuritySystem公司的RealSecure,Cisco公司的NetRanger,NetworkAssociates公司的CyberCop,IntrusionDetection公司的KaneSecurityMonitorforNT,AxentTechnologies公司的OmniGurad/IntruderAlert等等。
这些产品各有侧重,RealSecure以简单高效著称;NetRanger针对企业设计,适用范围主要是广域网;CyberCop集成了NetRanger的引擎和攻击模式库,是NetRanger的局域网管理员版本;KaneSecurityMonitorforNT则在TCP/IP检测方面做得较好。
国内也推出了一些入侵检测产品,如北京启明星辰信息技术有限公司的“天阗”入侵检测系统、上海金诺网络安全技术发展股份有限公司的KIDS1000系列、3000系列入侵检测系统等等。
“天阗”入侵检测系统具有良好的管理功能,能对网络入侵检测和主机入侵检测进行集中管理;金诺KIDS入侵检测系统采用了协议状态分析、流量异常检测等智能检测技术,能对一些未知的非法入侵行为进行分析、判断,为发现新型入侵提供了帮助。
2.入侵检测系统
2.1入侵检测系统概述
入侵检测系统IDS(IntrusionDetectionSystem)是用来检测对计算机系统和网络系统,或者更广泛意义上的信息系统的非法攻击的安全措施。
因为任何实际的信息系统都不可能是完全安全的,同时,他们也不可能在其整个生命周期或者每次使用中都始终保持在百分之百安全的状态之中。
更进一步地说,如果我们加上过多特定的安全限制因素后,这些系统甚至是不可实现的,因此,需要采用入侵检测系统来监测外界非法入侵者的恶意攻击或试探,以及内部合法用户的超越使用权限的非法行为。
研究入侵检测系统对于网络安全的发展和应用是具有重要意义的[10]。
2.1.1入侵检测定义
入侵是指任何企图破坏资源的完整性,保密性和有效性的行为。
也指违背系统安全策略的任何事件。
入侵行为不仅仅指来自外部的攻击,同时也包括内部用户的未授权行为,有时内部人员滥用他们特权的攻击也是系统安全的最大隐患[21][15]。
从入侵策略的角度来看,入侵可以分为:
(1)非授权访问:
如假冒身份攻击、非法用户进入网络系统进行非法操作、非法用户以未授权方式进行操作等。
(2)信息泄漏或丢失:
指敏感数据在有意或无意中被泄漏出去或丢失,如攻者利用窃取网络数据包从中分析出重要信息。
(3)破坏数据完整性:
以非法手段窃得对数据的使用权,删除、修改、插重发某些重要信息。
(4)拒绝服务攻击:
通过对网络服务系统的干扰,从而使其无法响应正常的户请求服务。
2.1.2入侵检测系统模型
1987年,Denning提出的统计分析模型在早期研发的入侵检测专家系(IntrusionDetectionExpertSystem,IDES)中得到较好的实现,这被认为是最早的入侵检测模型。
该模型主要根据主机系统审计记录数据,生成有关系统的若轮廓,并监测轮廓的变化差异发现系统的入侵行为[19]。
如图2.1所示:
更新规则
规则
匹配
添加新规则活动规
实时信息
图2.1
该模型主要由以下六个部分组成:
(1)主体(Subjects):
指系统操作中的主动发起者,如计算机操作系统的进网络的服务连接等。
(2)客体(Objects):
指系统所管理的资源,如文件、命令和设备等。
基于模式匹配和协议分析的入侵检测技术研究
(3)审计数据(AuditRecords):
指主体对客体的实施操作时,系统产生的数据,如用户注册、命令执行和文件访问等。
记录的格式由六元组构成。
其中,活动(Acti指主体对目标的操作,对系统而言,这些操作包括读、写文件、登陆、退出等异常条件(Exception-Condition)指系统对主体的活动的异常报告,如违反系统件的使用权限;资源使用状况(Resource)指系统的资源消耗情况,如CPU负内存使用率等;时间戳(Time-Stamp)指活动发生的时间。
(4)系统轮廓(Profiles):
用以保存主体正常活动的有关信息,具体实现依于检测方法。
(5)异常记录(AnomalyRecords):
由组成,来表示异常事件的发生情况。
(6)活动规则(ActivityRules):
系统判断是否入侵的准则,以及当发现入行为时应采取的相应措施。
2.2入侵检测的分类
入侵检测是指在特定的网络环境中发现和识别XX的或恶意的攻击和入侵,并对此做出反应的过程。
而入侵检测系统是一套运用入侵检测技术对计算机或网络资源进行实时检测的系统工具。
IDS一方面检测XX的对象对系统的入侵,另一方面还监视授权对象对系统资源的非法操作。
2.2.1根据检测方法的分类
入侵检测技术传统上分为两大类型:
异常入侵检测(anomalydetection)和误用入侵检测(misusedetection)。
异常入侵检测系指建立系统的正常模式轮廓,若实时获得的系统或用户的轮廓值与正常值的差异超出指定的阈值,就进行入侵报警。
异常入侵检测方法的优点是不依赖于攻击特征,立足于受检测的目标发现入侵行为。
但是,如何对检测建立异常指标,如何定义正常模式轮廓,降低误报率,都是难以解决的课题;异常入侵检测技术是一种在不需操作系统及其防范安全性缺陷专门知识的情况下,就可以检测入侵的方法,同时它也是检测冒充合法用户的入侵者的有效方法。
异常入侵检测方法依赖于异常模型的建立,不同模型构成不同的检测方法。
它通过观测到的一组测量值偏离度来预测用户行为的变化,然后出决策判断。
异常入侵检测技术一般包括以下几种:
(1)统计异常检测方法。
(2)基于贝叶斯网络异常检测方法。
(3)基于神经网络异常检测方法。
(4)基于数据挖掘异常检测方法。
(5)基于机器学习异常检测方法。
(6)基于应用模式异常检测方法。
误用入侵检测系指根据已知的攻击特征检测入侵,可以直接检测出入侵行为。
误用检测方法的优点是误报率低,可以发现已知的攻击行为。
但是,这种方法检测的效果取决于检测知识库的完备性。
为此,特征库必须及时更新。
误用入侵检测主要假设具有能够被精确地按某种方式编码的攻击,并可以通过捕获攻击及重新整理,确认入侵活动是基于同一弱点进行攻击的入侵方法的变种。
他通过预先定义好的入侵模式以及观察到的入侵发生情况进行模式匹配来检测。
入侵模式说明了那些导致安全突破或其它误用的事件中的特征、条件、排列和关系。
下面介绍几种不同的误用检测技术:
(1)基于条件概率的误用入侵检测方法。
基于条件概率的误用入侵检测方法将入侵方式对应于一个事件序列,然后通过观测到事件发生的情况来推测入侵出现。
这种方法的依据是外部事件序列,根据贝叶斯定理进行推理检测入侵。
基于条件概率的误用入侵检测方法是在概率理论基础上的一个普遍方法。
它是对贝叶斯方法的改进,其缺点是先验概率难以给出,而且事件的独立性难以满足[16]。
(2)基于专家系统的误用入侵检测方法。
基于专家系统的误用入侵检测方法是通过将安全专家的知识表示成IF-THEN规则形成专家知识库,然后运用推理算法进行检测入侵[23]。
(3)基于状态迁移分析的误用入侵检测方法。
状态迁移分析方法将攻击表示成一系列被监控的系统状态迁移。
攻击模式的状态对应于系统状态,并具有迁移到另外状态的条件断言。
通过弧将连续的状态连接起来表示状态改变所需要的事件。
允许事件类型被植入到模型,不需同审计记录一一对应。
但是,攻击模式只能说明事件序列,不能说明更复杂的事件[22]。
(4)基于规则的误用检测方法。
基于规则的误用检测方法(rule-basedmisusedetection),是指将攻击行为或入侵模式表示成一种规则,只要符合规则就认定它是一种入侵行为。
Snort入侵检测系统就采用了基于规则的误用检测方法。
这种方法的优点是能够比较准确地检测入侵行为,误报率低;其缺点是无法检测未知的入侵行为。
目前大部分的入侵检测系统采用这种方法[15]。
此外,这种方法无法发现未知的入侵行为[17][18]。
2.2.2根据数据源的分类
根据数据源的不同,目前入侵检测系统主要分为三种:
基于网络的入侵检测系统、基于主机的入侵检测系统、分布式入侵检测系统。
(1)基于网络的入侵检测系统(NIDS)
基于网络的入侵检测系统的数据源是网络上的数据包。
通过将某台主机的网卡设为混杂模式获取和分析该网段内的所有数据包,或者直接在路由或交换设备上放置入侵检测模块。
网络入侵检测设备从不同的传输介质上截获数据包,可能是多种协议的数据包,通常是TCP/IP数据包。
截获后对数据包进行一系列的分析,一些NIDS只
是简单的将数据包和特征数据库中已有的攻击特征和恶意程序特征
图2.2
进行比较;也有一些比较复杂的能分析那些含有非正常活动的数据包,这些非正常活动可能会引起恶意破坏。
(2)基于主机的入侵检测系统(HIDS)
基于主机的入侵检测系统往往以系统日志、应用程序日志等作为数据源,当然也可以通过收集主机的其他信息(如系统调用、登陆尝试、文件访问与权限变化等)进行分析。
基于主机的入侵检测系统保护的对象就是所在的主机,HIDS和NIDS的差别在于前者只关心主机本身的事件,而后者则处理主机和主机之间传输的数据。
基于主机的入侵检测非常适合对抗内部入侵,因为它能对指定用户的行为和该主机文件访问进行监视和响应[12]。
图2.3
(3)分布式入侵检测系统(DIDS)
分布式入侵检测包含两层含义,第一层含义指针对分布式网络攻击的检测方法;第二层含义指使用分布式的方法来检测分布式的攻击。
分布式入侵检测的关键在于检测信息的协同处理与入侵攻击的全局信息提取[13]。
分布式入侵检测系统一般采用分布监视,集中管理的结构,在每个网段里放置基于网络的入侵检测引擎,同时对于重要的服务器,例如MAIL服务器、WEB服务器放置基于主机的入侵检测引擎。
再通过远程管理功能在一台管理站点上实现统一的管理和监控。
这种分布式的入侵检测结构,结合了HIDS和NIDS这两种检测器的优点,弥补了彼此的不足,可以进行更全面的检测。
图2.4系统
2.3小结
本章内容主要分为以下几个部分:
首先详细介绍了入侵检测的系统模型,其次研究了入侵检测系统的分类、现有的入侵检测方法。
3.TCP/IP协议分析基础
3.1TCP/IP协议层次与ISO/OSI七层对应关系
TCP/IP的多数应用协议将OSI应用层、表示层、会话层的功能合在一起,构成其应用层,典型协议有:
HTTP、FTP、TELNET等;TCP与UDP协议对应OSI的传输层,提供上层数据传输保障;IP协议对应OSI的网络层,它定义了众所周知的IP地址格式,作为网间网中查找路径的依据[11];TCP/IP的最底层功能由网络接口层实现,相当于OSI的物理层和数据链路层,实际上TCP/IP对该层并未作严格定义,而是应用已有的底层网络实现传输,这就是它得以广泛应用的原因。
其中几个重要的协议是:
地址解析协议(ARP)、网际协议(IP)、网际消息协议(ICMP)、网际分组管理协议(IGMP)、用户数据报协议(UDP)、传输控制协议(TCP)、应用层的多个协议:
FTP、Telnet、HTTP等,如图3.1所示:
图3.1OSI与TCP/IP协议的层次对应关系
在数据的实际传输中,发送方将数据送到自己的应用层,加上该层的控制信息后传给表示层;表示层如法炮制,再将数据加上自己的标识传给会话层;以此类推,每一层都在收到的数据上加上本层的控制信息并传给下一层;最后到达物理层时,数据通过实际的物理媒体发送出去。
如图3.2:
图3.2数据发送前的封装过程
接收端则执行与发送端相反的操作,由下往上,将逐层标识去掉,重新还原成最初的数据。
由此可见,数据通讯双方在对等层必须采用相同的协议,定义同一种数据标识格式。
如图3.3所示:
图3.3数据接收中的解封装过程
在各层中加入的标识成为协议安全性的主要数据,它们是协议在收发双方通信过程控制信息。
3.2TCP/IP协议中的网际层和传输层特点
TCP/IP网际层有ICMP、IGMP和ARP等协议,ICMP、IGMP协议处于IP的上层,传输时被封装为IP的数据报中,ICMP用于IP传输过程进行控制消息和错误报告。
ARP协议处于IP协议之下部,以广播方式发送数据报,主要用于IP地址与MAC地址进行解析[10]。
在传输层主要有两个协议:
TCP和UDP协议,TCP协议是一种面向连接的可靠的传输协议,在传输层协议中较多应用,在传输层针对TCP协议攻击也是较多。
UDP是传输层另一个协议类型,是一种非面向连接的不可靠的传输协议。
3.2.1IP协议数据报格式分析
在IP协议的基础上还可以运载上层协议如:
TCP、UDP、ICMP、IGMP等。
在RFC760/RFC791“网际协议(IP)”中定义[17]。
IP报头的结构如图3.1所示[18],并且IP报头的结构除选项外在所有的协议中都是固定的。
表3.1IP协议数据报头结构
Bit0Bit15Bit16Bit31
版本(4)
头部长度(4)
TOS字段(8)
总长度(16)字节数
标识(16)
标识(3)
片偏移(13)
生存时间(8)
协议(8)
头部校验和(16)
源地址(32)
目标地址(32)
任选项
数据(上层协议数据,可变长)
字节和数字的存储顺序是从右到左,依次是从低到高位,而网络存储顺序是从左到右,依次从低到高。
版本:
占第一个字节的高四位。
头长度:
占第一个字节的低四位,以四个字节为一个记数单位。
服务类型:
前3位为优先权字段,现在已经被忽略。
接着4位用来表示最小延迟、最大吞吐量、最高可靠性和最小费用。
封包总长度:
整个IP数据报的长度,单位为字节