(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf_第1页
(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf_第2页
(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf_第3页
(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf_第4页
(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)主机系统调用序列分类入侵检测研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学硕士研究生学位论文 主机系统调用序列分类入侵检测研究 摘要 入侵检测技术是一种主动的信息安全保障措施,已成为现代计算机系 统安全技术中的研究热点。它的主要任务是按照一定的策略,对网络的运 行状况进行监视,尽可能发现各种攻击行为,以保证网络系统资源的机密 性、完整性和可用性。 基于主机系统调用的入侵检测技术是针对主机系统调用数据进行检测 的一种安全技术。主机系统调用序列反映了系统内核的行为特征,具有很 强的规律性。目前,绝大多数入侵行为都通过攻击特权进程来破坏计算机 系统的安全性。本课题通过观察进程的运行,提取系统自身特征,建立进 程模型来描述系统调用序列的整体行为。 首先,本文介绍了系统调用的相关理论以及获取系统调用的方法,深 入分析了入侵检测模型的构架。在此基础上介绍了两种分类算法:c 4 5 和 r i p p e r 算法,以及这两者分类算法在入侵检测领域中的应用。 其次,本文采用新墨西哥大学提供的实验数据,使用不同窗口长度扫 描该实验数据的正常行为库和入侵行为库,生成正常短序列和异常短序列, 由这些短序列构成了正常模式库和异常模式库,并对不同窗口长度模型的 检测性能进行了分析和比较。由于这两个模式库中都有重复出现的短序列, 所以要对数据进行清洗,使得每个短序列在每个模式库中具有唯一性。另 外,由于许多短序列既在正常模式库中出现,又在异常模式库中出现,无 法对其进行有效的分类,而主机系统调用入侵检测的核心问题是分类问题。 所以本文把所有正常模式库中出现的短序列标注为正常,把仅在异常模式 库中出现的短序列标注为异常。 接下来,本文根据c 4 5 算法和r i p p e r 算法要求的数据格式,对输入 数据集进行规范,并对这两种算法产生分类器的检测性能进行了分析研究。 最后,在模型设计的基础上,本文通过对训练数据集进行分类挖掘建 立起不同特征模式库模型,并对该模型进行了验证。由于训练数据集的质 量直接影响模式库的质量,进而影响系统模型的检测效果,并且异常事件 太原理工大学硕士研究生学位论文 具有突发性,数量较少,正常数据与异常数据比例悬殊,不利于生成有效 的规则库,于是,我们进行了第二轮实验。在实验中,我们对异常数据进 行大量的复制,使得正常数据与异常数据的数目达到均衡,并根据训练数 据的均衡度来分析和总结了训练数据对分类器检测性能的影响,取得了一 些初步的研究成果,具有一定的参考价值。 关键词:入侵检测系统,异常检测,误用检测,系统调用,信息熵 i i 太原理工人学硕士研究生学位论文 i n t r u s l 0 nd e t e c t i o nr e s e a r c ho fh o s ts y s t e mc a l l s e q u e n c e b a s e do nc l a s s i f i c a t i o n a b s t r a c t i n t r u s i o nd e t e c t i o ni sah o tt o p i ci nn e t w o r ks e c u r i t yi nr e c e n ty e a r s ,a n di s ak i n do fa c t i v em e a s u r eo fi n f c r m a t i o na s s u r a n c e t h et a s ko fa ni n t r u s i o n d e t e c t i o ns y s t e m ( i d s ) i st om o n i t o rt h er u n n i n go ft h en e t w o r k sa c c o r d i n gt o s o m ep r e s p e c i f i e dp o l i c ya n dt r yt of i n dt h ei n t r u s i v ea c t i v i t i e s i tm e a n st o p r o t e c tt h ec o n f i d e n t i a l i t y , i n t e g r i t ya n du s a b i l i t yo ft h en e t w o r kr e s o u r c e s t h et e c h n i q u eo fi n t r u s i o nd e t e c t i o nb a s e do ns e q u e n c eo fh o s ts y s t e mc a l l m a i n l yf o c u s e do nt h ed a t as e to fh o s ts y s t e mc a l l h o s ts y s t e m c a l li st h ek e r n e l f u n c t i o no fa no p e r a t i n gs y s t e m t h es e q u e n c e so fs y s t e mc a l la r es t a b l eo v e r t i m e ,a n dc a nb eu s e dt od e t e c tt h eb e h a v i o ro fs y s t e m a tp r e s e n t ,m o s to ft h e a t t a c k se x p l o i tt h ev u l n e r a b i l i t i e so rf l a w so ft h ep r i v i l e g e dp r o c e s s e si n c o m p u t e r f i r s t l y , t h ed e f i n i t i o no fs y s t e mc a l l si ss t u d i e di nt h i st h e s i s ,a n ds o m ek e y c a p t u r e dm e t h o do fs y s t e mc a l l sa r ea n a l y z e di nd e t a i l i nt h i sf o u n d a t i o n ,t h e a r i t h m e t i co fc 4 5a n dr i p p e ra r ei n t r o d u c e d ,a n dt h e i ra p p l i c a t i o ni sa l s o g i v e no u t s e c o n d l y , t h ed a t ao ft h ee x p e r i m e n tc o m e sf r o mu n i v e r s i t yo fn e w m e x i c o ,w h i c hc o n t m n st h en o r m a ld a t aa n dt h ea b n o r m a ld a t a t h es e q u e n c e s o fn o r m a la n da b n o r m a lc a nb eg o tb ys c a n n i n gt a r g e td a t a t h en o r m a la n d a b n o r m a lm o d ei sf i n i s h e d a n dt h e nt h ed e t e c t i o nc a p a b i l i t yo fm o d e lw i t h d i f f e r e n tw i n d o ws i z ei sg i v e no u t b e c a u s eo ft h er e p e t i t i o no ft h es e q u e n c ei n e a c hm o d e l ,w ed e l e t et h er e d u n d a n td a t a b e s i d e s ,s o m es e q u e n c e sa p p e a r e d b o t hi nn o r m a lm o d e la n da b n o r m a lm o d e l ,w h i c hl e a d st oi n e f f i c i e n to f c l a s s i f i c a t i o n i nt h i st h e s i s a l lt h es e q u e n c e si nn o r m a lm o d e la r el a b e l e d n o r m a l ,a n dt h es e q u e n c eo n l ya p p e a r e di na b n o r m a lm o d e ll a b e l e da b n o r m a l 1 1 i 太原理工大学硕士研究生学位论文 t h e n ,f o l l o w i n gt h ei n p u td a t as t a n d a r do fc 4 5a n dr i p p e ra r i t h m e t i c , t h et h e s i sf o r m a t st h ed a t as e t s a n dt h ea d v a n t a g e sa n dd i s a d v a n t a g e so ft h e c l a s s i f i c a t i o na r ee d u c e d a tl a s t ,o nb a s eo fm o d e ld e s i g n ,w ea l s od e s i g na ne x p e r i m e n to fd i f f e r e n t c h a r a c t e rm o d e l t h ev e r yi m p o r t a n tt h i n gt oi n t r u s i o nd e t e c t i o nb a s e do nd a t a m i n i n gi sm e t h o d o l o g yf o rb u i l d i n ga n du s i n gd a t a s e t ,i n c l u d i n gt h et r a i n i n g d a t a s e ta n dt h et e s t i n gd a t a s e t t h eq u a l i t yo ft r a i n i n gd a t a s e td i r e c t l ya f f e c t st h e q u a l i t yo fp a t t e r ns e t ,a n ds oa f f e c t st h ee f f i c i e n c yo fd e t e c t i o n b e c a u s eo ft h e p a r o x y s m a lo fa b n o r m a ld a t a ,t h a tt h ep r o p o r t i o no fn o r m a ld a t aa n dt h e a b n o r m a ld a t ai sn o tb a l a n c e d i nt h es e c o n de x p e r i m e n t ,w ed or e p l i c a t i o nf o r a b n o r m a ld a t at oa c h i e v eab a l a n c ew i t hn o r m a ld a t a a n dt h e na n a l y z e dt h e c a p a b i l i t yo f c l a s s i f i c a t i o n ,s o m ep r i m a r yf r u i t sa l ea c h i e v e di nm yw o r k , a n di t w i l lb ev a l u a b l et oac e r t a j ne x t e n t k e yw o r d s :i n t r u s i o nd e t e c t i o ns y s t e m ( i d s ) ,a b n o r m a ld e t e c t i o n , m i s u s e dd e t e c t i o n ,s y s t e mc a l l ,e n t r o p y w 声明 本人郑重声明:所呈交的学位论文。是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:脚印日期: 垦1 2 :兰:12 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定。其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的。 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) o 签名:蝴豳 导师签名:髫鸯乡日期:盟! i 7 太原理工大学硕士研究生学位论文 第一章绪论 本章主要介绍了课题研究的背景和意义,给出了入侵检测系统的定义和分类,概述 了入侵检测技术的研究进展和现状,分析了目前入侵检测系统存在的问题,介绍了全文 的内容安排和主要工作。 1 1 课题背景 随着i n t e r n e t 的飞速发展,信息时代向人们展现了巨大的魅力。网络信息容量大、 传播速度快、覆盖范围广,具有高度的开放性和交互性。电子商务、网上娱乐等一系列 网络应用蓬勃发展,网络越来越深的渗透到金融、商务、国防等许多关键领域,正在深 刻的改变着人们的工作和生活方式,在给我们带来巨大便利的同时,使我们对其产生依 赖性。然而近年来,网络攻击活动和信息安全事件层出不穷,涉及的领域越来越广,造 成的危害越来越大。计算机安全( 包括信息数据安全和网络设备服务的运行安全) 日益 成为与国家、政府、企业、个人的利益休戚相关的“大事情,【”。 网络本身的安全性和开放性是一对矛盾体。由于i n t e m e t 的基石t c p i p 协议在设 计时主要注重互联和互操作,在使用初期主要应用于一个可信的范围内,对安全的考虑 较少,因此t n t e r n e t 先天就具有安全性不足的缺陷,并且这个缺陷因i n t e m e t 的跨国界 性、无主管性和缺少法律约束性而加剧【2 1 。另外,随着各种操作系统和应用软件的日趋 复杂,加上开发时间有限,大多数软件中存在的b u g 是难以避免的。而发布的软件补 丁考虑又不够周全,修补了旧漏洞的同时引发漏洞。网络协议和各种软件固有的安全缺 陷构成了网络不安全的内因。 这些不安全因素对整个社会的影响越来越大。2 0 0 7 年2 月6 日,不明身份的黑客 对因特网顶级域名服务器展开网络攻击,时间持续数小时。美联社说,这是2 0 0 2 年以 来因特网遭遇的最严重黑客攻击之一。这轮异常强大的攻击波曾短时间“攻陷”了1 3 台域名根服务器中的至少3 台,其中还包括美国五角大楼运营的一台根服务器。全球最 大的网络安全厂商s y m a n t e c 公司2 0 0 7 年3 月2 1 日发布的第十一期互联网安全威胁 报告指出,2 0 0 6 年下半年,全球共有超过6 0 0 万个僵尸( b o t s ) 网络,与上半年相比, 受到感染而被远程黑客控制的计算机数量增加了2 9 ;2 0 0 6 年下半年,排名前5 0 的 恶意代码样本中,木马程序占4 5 ,相较于2 0 0 6 年上半年增加了2 3 ;赛门铁克首次 指出了恶意活动主要来源国家,美国发生恶意活动的比例最高,占全球的3 1 。中国 1 太原理工大学硕士研究生学位论文 次之,占1 0 ;德国第三,占7 。 信息安全保障能力已经成为新世纪一个国家综合国力、经济竞争实力和生存能力的 重要组成部分。 传统的安全技术和产品有其局限性。身份认证和访问控制是其主要的安全技术。身 份认证是指通过某种技术手段鉴定身份,基于它的产品包括传统的用户名、密码以及当 前流行的智能卡和指纹识别器。该技术是确定用户身份的必要手段,但不能够抵制脆弱 性口令、字典攻击、特洛伊木马等攻击手段;智能卡可能会丢失;指纹识别系统可能会 遭受破坏,使得指纹与相应用户的对应关系发生改变。所以仅具备强大的身份认证技术 并不能保证系统的安全。访问控制技术最主要的产品是防火墙。其特征是通过网络边界 上建立相应的网络通信监控系统,达到保障网络安全的目的。防火墙安全保障技术假设 被保护网络具有明确定义的边界和服务,是防外不防内的,仅适用于有边界的网络不 能有效的阻止来自网络内部的攻击。同时入侵者可以利用系统漏洞或脆弱性程序绕过防 火墙进入系统内部。无论身份认证还是访问控制,都是一种被动的防护措施,只能降低 系统被滥用的风险,并不能保证系统是否真的发生入侵。 入侵检测技术对系统日志、网络流量进行检测,与传统的安全技术相比,在动态性、 实时性、主动性等方面提出了更高的要求,已成为信息安全整体构架必不可少的一道防 线。入侵检测技术中相当一部分具有广阔的应用前景,为信息基础设施建设的高效安全 运行提供了科学基础。 入侵检测系统在整个信息安全系统中发挥着重要的作用。一个完整的信息安全架构 包括安全策略、防护、检测和响应四大块【3 1 。安全策略是中心,通过与防护、检测和响 应的动态结合,达到保障信息安全的目的。检测是将静态防护转换为动态防护的关键, 是系统当前安全状态信息的主要来源,只有充分了解当前的安全态势,才能更加明确防 护的重点和防护的漏洞。安全策略的建立必须能够根据系统当前状态进行动态调整,以 适应安全需要。 1 2 入侵检测术语 入侵:指任何试图危害资源的完整性、保密性和可用性的活动集合钔。入侵包括企 图攻击或实际攻击一个信息系统。例如:恶意的黑客对网络系统进行非法访问、收集漏 洞信息、窃取敏感数据,以及网络内部用户超越其权限进行非法操作。 入侵检测:指通过从计算机网络或计算机系统中的若干关键点收集信息,并对其进 行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象。 2 太原理工大学硕士研究生学位论文 入侵检测系统:完成入侵检测任务的系统即为入侵检测系统,也称为i d s ( i n t r u s i o n d e t e c t i o ns y s t e m ) 。 警报:指i d s 向系统操作员发出入侵正在发生或者正在尝试的消息。一旦检测到 入侵,i d s 会以各种方式向分析员发出警报。 1 3 入侵检测系统的分类 入侵检测系统一般包括以下四个步骤:数据收集、数据减少、行为分类及报告和反 应【5 1 。如图1 1 所示。 1 审计记录、 j 一 数据 行 口络数据父 减少 特征向量 为 i 分 特征 提取 类 i 麻用日志一 一一 图1 - 1 八侵检测步骤 f i g 1 1p r o c e s so f i n t r u s i o nd e t e c t i o n 数据收集是入侵检测的基础,及时地收集到充足的原始数据是入侵检测能够发挥作 用的前提。入侵检测系统收集到的原始数据往往非常庞大,为了能够有效地对其进行处 理,并减少处理和传输的代价必须经过数据减少这一步骤。合理的提取有用数据、删除 冗余数据是入侵检测系统能够发挥作用的保障。行为分类是入侵检测系统的关键,它根 据数据减少提炼过的数据来判断当前的行为是否为入侵。报告和反应是入侵检测系统的 目的。 1 3 1 按照检测方法分类 1 误用检测 误用检测( m i s u s ed e t e c t i o n ) 又称为基于知识的检测( 如图1 2 所示) 。指运用已知的 攻击方法,根据已定义好的入侵模式,通过判断这些入侵模式是否出现来检测。很大一 部分入侵利用了系统的脆弱性,通过分析入侵过程的特征、条件、排列以及事件间的关 系就能具体描述入侵行为的迹象。这种方法依据特征库进行判断,检测的准确度很高, 检测结果有明确的参照,能直接检测不利的或者不可接受的行为为系统管理员做出相 应措施提供了方便。误用检测性能依赖于模式库,如果没有构造好模式库,i d s 就不能 3 太原理工大学硕士研究生学位论文 检测到入侵者。它的主要局限性是仅仅可以检测到已知的入侵,对检测未知入侵用处不 大。 该方法需要对己知的入侵事件提前描述。检测时遵循定义好的模式,如果系统行为 与入侵事件的描述相匹配,则认为是入侵。 图1 - 2 误用检测模型 f i g 1 - 2 m o d e o f m i s u s e d d e t e c t i o n 目前常用的误用检测方法主要有以下几种【6 】【7 】: ( 1 ) 简单模式匹配 简单模式匹配是最为通用的误用检测方法,其特点是原理简单、检测效率高、实时 性强,但只能适用于比较简单的攻击方式,并且误报率较高。 著名的网络入侵检测工具s n o r t 就采用了简单模式匹配方法。s n o r t 利用规则库来 描述已知的入侵行为,规则库采用文本文件存储,其可读性和可修改性都比较好。s n o r t 每次启动时,首先要对规则库进行解析,生成可供高效检索的数据结构( - - 维链表结构) 。 检测时,将抓取的数据包同规则库生成的二维链表数据进行比较,如果与其中某规则条 目匹配,则根据规定的响应方式进行响应。s n o r t 是跨平台的轻量级入侵检测工具,可 用于监视小型的t c p i p 网络。由于s n o r t 基于单数据包分析进行入侵检测,不具备分 片重组和连接恢复的能力,因而不能够检测较为复杂的攻击。但是,s n o r t 开放全部源 代码,并得到了众多研究者的支持,其规则库能够得到比较及时的更新。 ( 2 ) 专家系统 专家系统是最早的误用检测方案之一,被许多经典的入侵检测模型所采用。该方法 将安全专家的知识表示成i f t h e n 规则,形成专家知识库;检测时,专家系统将相应 的检测事件与知识库中的规则进行匹配,判断是否发生入侵。s n a p p 给出了在入侵检测 中使用这样系统的实例。对用户来说,专家系统是一个自治的“b l a c kb o x ”,用户不需 4 太原理工大学硕士研究生学位论文 要理解或干预其内部的推理和决策过程。 在c l i p s 中,将入侵知识进行编码,表示成i f t h e n 规则,根据相应的审计跟踪 事件来断言事实。编码规则说明攻击的必要条件作为i f 的组成部分。当规则左边的全 部条件都满足时,规则右边的动作才会执行。入侵检测专家系统应用的实际问题是要处 理大量的数据,依赖审计跟踪的次序。其推理方式主要有以下两种。 i 、根据给定的数据,应用符号推理出入侵发生的情况。需要解决的主要问题是处 理序列数据和知识库的维护。不足之处是只能检测已知入侵。 i i 、根据其它的入侵证据,进行不确定性推理。这种推理的局限性就是推理证据的 不精确和专家知识的不精确。 2 异常检测 异常检钡j j ( a b n o r m a ld e t e c t i o n ) 又称为基于行为的检测( 如图1 3 所示) 。指根据系统 或用户的非正常行为和使用计算机资源非正常情况检测出入侵行为。异常检测技术的一 个假设是:入侵事件的行为不同于一般正常用户或系统的行为。通过多种方法建立正常 或有效的行为模型。把比较当前行为和正常行为模式,如果结果有一定的偏离,则报警 异常,也就是所有违背或不符合正常模式的行为都认为是入侵。 图1 - 3异常检测模型 f i g 1 3m o d e lo f a b n o r m a ld c t c ,c :t i o n 目前的异常检测方法主要有以下几种: ( 1 ) 统计方法 统计异常检测方法是根据异常检测器观察主体的活动,然后刻画这些行动活动的轮 廓。每一个轮廓都记录主体当前行动,并定时地将当前的轮廓与存储的轮廓合并。通过 比较当前的轮廓与以存储的轮廓来判断异常行为,从而检测出入侵。该方法关键是统计 对象和统计模型的选取,以及统计模型的训练。 以下是一些可能的统计对象( 行为度量) : i 、用户的登陆和活动情况:用户的登陆频率、活动延续时间、口令错误次数等。 5 太原理工大学硕士研究生学位论文 i i 、命令和程序执行情况:用户活动期间的命令执行频率、程序运行时的c p u 使 用量等。 i 、针对文件的操作:文件的读、写、创建、删除频率以及这些操作的失败频率等。 ( 2 ) 基于免疫原理的异常检测 生物免疫系统对病原体或非自身组织的检测是相当精确的,识别“自我月 我”是 其最基本也是最重要的功能之一。生物免疫系统对外部入侵病原进行抵御,对自身进行 保护。一旦抵御了一个未知病源的攻击,就对该病源产生抗体( 即获得免疫力) ;当该 病源再次入侵时即可迅速有效的抵御。美国的f o r r e s t 等研究人员在生物免疫机制和计 算机系统安全保护机制之间发现了某种相似性,发展了基于免疫原理的异常检测方法。 该方法以系统调用为审计数据,通过固定长度的系统调用序列来描述特权进程的正常行 为模式,并将序列之间的“距离”作为反映模式之间差异的测度。实验表明,基于免疫 原理的异常检测系统可以检测出许多利用l i n u x 程序漏洞进行的攻击行为。但是,这种 检测方法具有一定的局限性,无法检测那些不涉及特权进程使用的攻击。 异常检测与误用检测的比较 异常检测系统试图发现一些未知的入侵行为,而误用检测系统只标识一些已知的入 侵行为;异常检测的主要缺陷是误报率太高,常常将一些正常行为报告为异常;而误用 检测系统正好相反,它检测不出新的攻击方式,必须不断更新规则库。 1 3 2 按照数据来源来分类 入侵检测系统按照其输入数据的来源看,可分为两类: 1 基于主机的入侵检测系统( 如图1 - 4 ) :系统获取数据的依据是系统运行所在的主 机,保护的目标也是系统运行所在的主机。具体而言,可以分为以系统日志为数据来源 和以系统调用为数据来源两大类。本文以系统调用作为数据源。 , 2 基于网络的入侵检测系统( 如图1 5 ) :系统获取的数据来源于网络传输的数据包, 保护的目标也是网络的运行,检测该网段上发生的网络入侵。 输出( 报警、紧急措施) 日志文件 图l - 4 基于主机日志的检测 f i g 1 - 4d e t e c t i o nb a s e do i ll o go f h o s tc o m p u t e r 6 太原理工大学硕士研究生学位论文 捕获数据包 围1 - 5 网络数据包的检测 f i g 1 - 5 d e t e c t i o n b a s e do n d a t a p a c k a g e o f n e t w o r k 1 4 本文的主要工作和内容安排 对入侵检测模型的研究,是以操作系统的系统调用为审计数据,以提高系统用户对 异常行为的识别能力、对未知模式攻击的检测能力和减少误报率为目标。 在本课题中,我们研究的主要内容包括: 1 通过系统调用入侵检测模型的基本构架以及工作机理的研究,设计了基于主机 系统调用序列的入侵检测系统的总体方案,并从理论上证明该系统具有良好的检测性 能; 2 对不同窗口长度模型的检测性能进行了分析和比较; 3 对c 4 5 和r i p p e r 分类算法进行了研究,生成系统调用序列的分类规则,并对 c 4 5 算法和r i p p e r 算法产生分类器的性能进行了比较; 4 在模型设计的基础上,本文还对不同特征模式库模型进行了验证。分别使用均 衡数据和不均衡数据来做实验,根据训练数据的均衡度来分析和总结训练数据对分类器 检测性能的影响。 本文主要围绕基于系统调用的主机入侵检测系统进行研究,主要内容安排如下: 第二章对操作系统的系统调用原理进行深入研究,详细分析了操作系统的保护机 制、工作流程以及如何获取系统调用序列;列举了系统调用序列在入侵检测模型领域的 不同使用方法,如枚举序列方法、基于频率分析方法、数据挖掘分类方法以及隐马尔科 夫模型。第三章具体分析入侵检测模型原理和基本构架,介绍了模型的测评方法。第四 章引入数据挖掘和信息论的基本概念,如:熵、条件熵、信息增益以及增益率;给出了 c 4 5 和r i p p e r 分类算法的简单描述;介绍了几种预测模型性能的方法,如旁置法和交 叉验证法。第五章详细阐述并实现了主机系统调用序列的动态窗1 2 入侵检测模型方法, 给出了实验数据,理论上证明了该模型的可用性。最后总结了本课题的研究结果以及提 出一些问题。 7 太原理工大学硕士研究生学位论文 第二章系统调用与数据源的采集 2 1 系统调用的相关理论研究 通常,在操作系统( o p e r a t i n gs y s t e m ,o s ) 的核心都设置了一组用于实现各种系统功 能的子程序,也就是系统在其内核里内建的函数,这些函数可以用来完成一些系统级别 的功能,操作系统将他们提供给用户调用,称之为系统调用( s y s t e mc a l l ) 。它是内核 与用户编程的唯一接口,是各种外层应用软件与工具实现的基础,在本质上是应用程序 请求o s 内核完成某种功能的过程调用。 2 1 1l i n u x 内核和系统调用 在l i n u x 系统中,操作系统分层如图2 1 所示。l i n u x 内核提供了一个与计算机硬 件等价的虚拟平台。它抽象了许多硬件细节,程序可以以某种统一的方式进行数据处理, 程序员可以避开许多硬件细节。从另一个角度来讲,内核是资源的管理者,在它的帮助 下,用户可以采用某种易于理解的方式组织自己的数据,完成自己的工作,和其他人共 享资源。 图2 i 操作系统分层图 f i g 2 - lr a n ko f o p e r a t i n gs y s t e m 2 1 2 用户态和核心态 在l i n u x 系统中,每个用户进程都可以访问4 g b 的线性地址空间。l i n u x 进程的虚 拟地址空间如图2 - 2 所示【引。其中o x o o o o o o o o - - - o x b f f f f f f f 的3 g b 空间为用户态空 间,用户态进程可以直接访问;从o x c o o o o o o o - - o x 3 f f f f f f f 的l g 空间为内核态空间。 存放内核访问的代码和数据,用户态进程不能直接访问。当用户进程通过中断或系统调 用访问内核态空间时,会触发0 x 8 6 的特权级转换,从用户态切换到核心态1 9 j 。 用户空间是用户所启动的进程在内存中的执行位置,包括除核心空间之外的所有可 8 太原理丁大学硕士研究生学位论文 供使用的内存空间。在用户程序之间,l i n u x 提供了完备的保护措施,可避免进程间相 互干绕,只有核心程序才有存取其它进程用户空间的权利。当一个进程在存储空间执行 时,该进程被称为用户模式下作业,处于用户态。 进程i 的用户空 间( 3 g b ) 内 核 进程2 的用户空 系统调用 空 间 间( 3 g b ) o 田 v 图2 - 2l i n u x 进程的虚拟空间 f i g 2 - 2f i c t i t i o u ss p a c eo f l i n u x p r o c e s s 系统的核心空间是含有系统一切核心代码的内存空间。l i n u x 系统是多用户任务系 统,同一时间可以为多个用户服务,存在多个进程,系统资源可能有多个进程共享。为 使各个进程能正常地运行,l i n u x 系统使用系统调用提供核心服务。当进程启动后,它 多半是执行本身的程序代码,进程处于用户态。如果这个进程调用一个系统调用,就立 刻变成核心进程,具有执行内核服务程序的权利。此时,该进程在核心程序模式下作业, 处于核心态。进程进入内核的方式除了系统调用外,还有其它方式,如中断处理程序、 调度程序等。l i n u x 是用四级保护机制,分别是0 级、1 级、2 级和3 级。其中0 级是 最高特权级,供内核使用;3 级是最低特权级,供用户程序使用。 系统调用代表了用户空间和内核空间的一种转换。从逻辑上来说,系统调用可被看 成是一个内核空间与用户空间程序交互的接口,它好比一个中间人,把用户进程的请求 传达给内核,待内核把请求处理完毕后,再将处理结果送回给用户空间。 每个系统调用都有一个定义好的数字,这些数字是用来构造这些系统调用的。内核 通过o x 8 0 中断来管理这些系统调用。这些系统调用的对应的数字和一些参数都在调用 时送到某些寄存器里面。在l i n u x 内核源文件u s r i n c l u d e a s m u n i s t d h 中为每个系统调 用规定了唯一的编号,这个编号就是所谓的系统调用号。文件部分内容表示如图2 3 所 示。 9 太原理工大学硕士研究生学位论文 州f n d e f a s m1 3 8 6u n l 啪h # d e f i n ea s m1 3 8 6u n i s t dh t h i s f i l e c o n t a i n s t h es y s t e mc 丑hn u m b e r s 吖 # d e f i n en re x i tl # d e f i n en rf o r k2 # d e f i n en rr e a d3 蒯c f i n en r 删f e4 # d e f i n e n r _ o p e n 5 ;i f d e f i n en rc l o s e6 # d e f i n en rw a i t p i d7 # d e f i n en rc r e a ts # d e f i n en rl i n k9 # d e f i n en ru n l i n k1 0 # d e f i n en re x e c v1 1 图2 - 3 系统调用以及对应的编号 f i g 2 3n u m b e ro f s y s t e mc a l l s 2 2 系统调用的工作流程 在l i n u x 系统中,系统调用的执行过程如图2 - 4 所示。 系统空问内核空同 x y z o ” 一 s y a c m t a b l e ( ) 一 x y z o , i n t 0 x 8 0 s ”姗 s y s , 【y z o 、 1 、 且e t u r nf r o m5 y 洲l 在应用程序中在l i b c 标准库中系统调用 调用系统调用的封装例程处理程序 图2 4 系统调用的实现流程图 f i g 2 4f l o wc h a r to f s y s t e mc a l l s 系统调用服务 处理程序程序 当系统请求系统调用时,调用l i b c 动态标准库函数中的封装例程,产生一个i n t o x 8 0 的软中断,通知系统自动将用户态切换为核心态进行处理,并传递参数信息;中断被响 应后,进入内核执行;中断服务程序根据系统调用号,查找系统调用服务程序的入口地 1 0 太原理工大学硕士研究生学位论文 址表s y s - c a l l _ t a b l c ,找到相应服务程序的入口地址,执行相应的系统调用服务函数,并 且返回。 2 3 系统调用序列的获得 系统调用流是一种用于入侵检测的通用审计数据,是程序在执行过程中产生的有序 序列流。系统调用流可以用于检测根用户入侵 1 0 】。 l i n u x 操作系统提供了s t r a c e 命令,用来获取程序的系统调用流及相关信息。命令 s t r a c e 功能非常强大,可以显示进程运行的所有系统调用。 s t r a e e 的命令格式如下i l l 】: s t r a c e 一d f f h i q r t t t t v x x 一a c o l u m n 一e e x p r 】 - o f i l e p p i d 【b 1 1 s e l l l a m g 】 s t r a e e 弋【e e x p r 】【o o v e r h e a d - s s o r t b y e o m m a n d a r g 】 最常用的三个命令行参数: f :除了跟踪当前进程外,还跟踪其子进程。 - of i l e :将输出信息写到文件f i l e 中,而不是显示到标准错误输出( s t d e r r ) 。 - p p i d :绑定到一个由p i d 对应的正在运行的进程。此参数常用来调试后台进程。 其它的参数说明如下: c 统计每个系统调用所执行的时间、次数和出错的次数等。 一d 输出s t r a c e 关于标准错误的调试信息。 仃如果提供of i l e n a m e ,则所有进程的跟踪结果输出到相应的 f i l e n a m e p i d 中,p i d 是各进程的进程号。 f 尝试跟踪v f o r k 调用。在f 时,v f o r k 不被跟踪。 - h 输出简要的帮助信息。 i 输出系统调用的入口指针。 q 禁止输出关于脱离的消息。 r 打印进入每个系统调用时相对的时间戳。记录了在连续着的两个系统调用开始 时的时间差。 t 在输出中的每一行前加上时间信息。 t t 在输出中的每一行前加上时间信息,微秒级。 t t t 微秒级输出,以秒表示时间。 一t 显示每一个调用所耗的时间。 v 输出所有的系统调用。一些调用关于环境变量,状态,输入输出等调用由于使 1 l 太原理工大学硕士研究生学位论文 用频繁,默认不输出。 一v 输出s t r a e 圮的版本信息。 一x 以十六进制形式输出非标准字符串。 x x 所有字符串以十六进制形式输出。 c o l u m n 设置返回值的输出位置。默认为4 0 。 一ee x p r 指定一个表达式,用来控制如何跟踪。 - et r a c e = s e t 只跟踪指定的系统调用。例如:- et r a o w = o p e n ,c l o s e ,r e a d ,w r i t e 表示只跟 踪这四个系统调用,默认的为s e 仁- a l l 。 et r a c e = f i l e 只跟踪有关文件操作的系统调用。 - et r a c e = p r o c e s s 只跟踪有关进程控制的系统调用。 et r a c e = n e t w o r k 跟踪与网络有关的所有系统调用。 es t r a e e = s i g n a l 跟踪所有与系统信号有关的系统调用 et r a c e = i p c 跟踪所有与进程通讯有关的系统调用 ea b b r e v = s e t 设定s t r a c e 输出的系统调用的结果集。 er a w = s e t 将指定的系统调用的参数以十六进制显示。 e s i g n a l = s e t 指定跟踪的系统信号。默认为a 1 l er e a d = s e t 输出从指定文件中读出的数据。例如: e w r i t e = s e t 输出写入到指定文件中的数据。 ss t r s l z e 指定输出的字符串的最大长度。默认为3 2 。文件名全部输出,不受此限 制。 uu s e l t l a m e 以l 1 s e r l l a m e 的u i d 和g i d 执行被跟踪的命令 该命令可以跟踪进程执行时的系统调用和所接受的信号,通常用法是s t r a o e 执行一 直到c o m m a n d e 结束,并且可以将所调用的系统调用的名称、参数和返回值输出到标准 输出或者输出到o 指定的文件。 2 4 主机系统调用入侵检测模型 主机系统调用序列入侵检测的核心问题归纳为:如何从假想的系统调用有向图中提 取可以表现正常行为或异常行为的行为特征。这些行为特征能够在正常和异常事件发生 时表现出较大的差异,从而构建相应的异常检测和误用检测模型,也就是生成可以分辨 异常行为的分类器,实时检测系统调用数据,鉴别用户行为的合法性【1 3 l 。 1 2 太原理工大学硕十研究生学位论文 2 4 1 枚举序列方法 枚举序列方法主要是记录每个正常行为的系统调用运行序列,采用一定的算法建立 正常模式库,再与未知行为的系统调用序列进行比较来判别入侵。早期的研究采用延时 嵌入( t i m e d e l a y e m b e d d i n g ,t i d e ) 方法,这种方法可以有效的实现,并在原始合成 数据集中给出了很好的结果。其基本思想是:每个程序正常运行时都暗含由它产生的系 统调用序列集合,s = “,8 2 ,s 。) ,每次运行这个程序的事件玉s 。如果某一事件王芒s , 就认为可能有入侵发生。f o r r e s t 通过实验得出这样一个重要结论:运行的进程所产生 的系统调用短序列,对于正常的行为来说是稳定的;当入侵或入侵企图发生时,系统调 用短序列将产生较大的波动。这就使我们有条件用较为简单的方法定义正常的行为,从 而证实了系统调用序列用于入侵检测的可能性。有关系统调用短序列的研究从此成为一 种重要的入侵检测方法。 在这种思想的指导下,建立了序列延时嵌入模型( s t i d e 模型,s e q u 锄t i m e - d e l a y e m b c d d m g ) 【j ”,开发了相关软件。s t i d e 采用了固定长度的序列,将新的序列与已存 在于数据库中固定长度的短序列相比较,统计比较结果,作为判别依据。该方法得到了 更合理紧凑的数据库和更好的计算效果。 此后,又提出了一个改进模型稀有序列延时嵌入模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论