- 1.33 MB
- 2022-06-16 12:46:30 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
分类号学号M200871435学校代码10487密级硕士学位论文蜜罐文件系统的智能内核级中间件研究学位申请人:方荡学科专业:通信与信息系统指导老师:黄本雄教授答辩日期:2011年1月20日
AThesisSubmittedinPartialFulfillmentoftheRequirementsfortheDegreeofMasterofEngineeringAKernel-LevelIntelligentMiddlewareforHoneypotFilesystemCandidate:FangDangMajor:CommunicationandInformationSystemSupervisor:Prof.HuangBenxiongHuazhongUniversityofScience&TechnologyWuhan430074,P.R.ChinaJanuary,2011
独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本论文属于保密£,在年解密后适用本授权书。不保密£。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月日
摘要作为一种重要的安全研究工具和方法,蜜罐被许多组织和商业机构用来进行安全研究和防护。借助蜜罐及蜜罐组成的网络,企业和组织能够及时发现当前网络环境中安全问题的焦点以及新近出现的攻击手段,以便在此基础之上做出应对策略。在如何完善蜜罐体系结构方面,已有很多相关研究。文件系统,作为蜜罐系统中的重要一环,也是安全领域内的一个研究热点。然而,到目前为止,大多数有关文件系统的研究都是以访问控制,加密,审计和取证等为目的,而不是为了应用在蜜罐系统上。另一方面,在如何利用蜜罐文件系统本身来更有效地发掘潜在的攻击这一点上,也鲜有相关的论述,我们提出了一种文件系统中间件,该中间件在隐秘地捕获并记录各类文件操作的同时,能对各类操作进行上下文分析,并根据分析结果智能化地给出对应的文件操作响应,从而最大化蜜罐对于发现攻击、保护系统安全的价值。我们设计的中间件是基于Linux虚拟文件系统,并处于虚拟文件系统和底层文件系统之间。通过截获上层的文件操作并操纵它们,我们的中间件可以控制整个系统范围内的文件操作,它能记录,跟踪,拒绝甚至重定向文件访问操作,而实施这些控制的时机是由中间件中的智能分析模块决定的。在本文的后半部分,我们给出了中间件系统的一些验证性的实验和测试,同时还对由于引入中间件对系统所带来性能影响进行评估,以确保它不至于明显降低系统性能。我们的中间件工作在内核环境,因此它对上层是透明的,更不易被发现,因此在真实环境下也具有更好的效果。关键字:蜜罐文件系统内核模块安全中间件I
AbstractAsaimportantsecurityresearchtoolandmethod,honeypothasbeenappliedbymanyorgnizationsandcommercialcompaniesforsecurityresearchandprotection.Byusinghoneypotandnetworkcomprisedofhoneypot,whichiscallhoneynet,enterprisesandorganizationsareabletodiscoverthefocalsecurityissuesandspreadingattackingtricks.Muchresearchhasbeendonetoimprovehoneypot’sarchitecture.Filesystem,whichplaysanimportantroleinahoneypot,isacommonissueinsecuritydomain.However,untilnow,mostresearchonfilesystemfocusesonaccesscontrol,encrypting,auditing,forensicsandsoon,notaimingathoneypotutilization.Ontheotherhand,tothepointofhowtodiscovermorepotentialattacksbyutilizingthefilesystemofhoneypot,thereareonlyfewpapersaboutthis.Thispaperproposesafilesystemmiddlewarewhichfacilitatesthehoneypottotrapandlogattacks.Byinterceptingdifferenttypesoffileoperations,thendoingcontext-relatedanalysis,andmakingintelligentfileoperationresponsesaccordingtoanalysisresults,ourfilesystemcouldmaximizethevalueofhoneypotindiscoveringattacksandsecuringsystems.ThemiddlewarewedesignedisbasedonLinuxVFS,itisbetweenVFSandunderlyingfilesystems.Byinterceptingfileoperationsfromhighlayerandmanipulatingthem,ourmiddlewarecantakecontrolofwholesystemwidefileoperations,itcanlog,track,denyandevenredirectfileaccessoperations,andtheoccasionofwhentoapplythesemanipulationsisdecidedbytheintelligentanalyticalmoduleinthemiddleware.Inthelatterhalfofthispaper,wedidsomeverificationexperiments,testsandsomeperformanceassessmentofthesystemwhichourmiddlewarewasintroducedin,toensurethatthemiddlewareisnotasetbackofsystemperformance.Ourmiddlewareservesinkernelenvironment,soitistransparenttoupperlayerandcannoteasilybenoticed,whichismorefavorableinarealenvironment.Keywords:Honeypot,Filesystem,KernelModule,Security,MiddlewareII
目录摘要.............................................................................................................IAbstract.....................................................................................................II1绪论1.1引言....................................................................................................(1)1.2国内外研究概况和趋势...................................................................(2)1.3蜜罐文件系统中间件研究的意义...................................................(6)1.4本论文各章节内容导读...................................................................(7)2蜜罐文件系统中间件概述2.1蜜罐和蜜罐文件系统中间件的应用场景分析...............................(8)2.2蜜罐文件系统中间件的要求.........................................................(10)2.3本章小结.........................................................................................(10)3蜜罐文件系统中间件的关键技术研究3.1系统范围内的文件操作截获和记录.............................................(12)3.2以文件操作为核心的上下文信息全息收集.................................(17)3.3自适应关联规则和智能化行为分析算法.....................................(19)3.4用于辅助发掘攻击行为的文件访问操纵.....................................(21)3.5用于提高蜜罐可靠性的内核级模块隐藏技术.............................(24)3.6本章小结.........................................................................................(27)4蜜罐文件系统中间件的方案设计和实现4.1蜜罐文件系统中间件总体设计.....................................................(29)4.2文件操作截获记录/上下文信息提取模块设计............................(30)4.3文件操作的的智能化行为分析模块设计.....................................(34)III
4.4蜜罐文件系统的文件访问操纵模块设计.....................................(39)4.5蜜罐文件系统的隐蔽性功能设计.................................................(42)4.6本章小结.........................................................................................(44)5蜜罐文件系统中间件的实验、测试和评估5.1实验环境.........................................................................................(45)5.2文件操作截获和记录实验.............................................................(45)5.3文件访问分析的智能性评估.........................................................(46)5.4攻击行为的文件访问操纵实验.....................................................(47)5.5蜜罐文件系统中间件的隐蔽性测试.............................................(49)5.6蜜罐文件系统中间件的性能测试和评估.....................................(50)5.7本章小结.........................................................................................(51)6全文总结和展望6.1全文总结.........................................................................................(52)6.2下一步工作及展望.........................................................................(53)致谢........................................................................................................(55)参考文献................................................................................................(56)IV
1绪论本章首先介绍了安全研究领域内蜜罐这一概念和背景知识,包括其产生和发展,然后介绍了蜜罐技术的国内外研究概况和热点趋势,紧接着介绍了和本课题相关的文件系统安全研究的发展现状,然后引出本文所要讨论的课题——蜜罐文件系统中间件研究的意义,并强调了本课题和其他文件系统安全相关研究的区别,即蜜罐文件系统的特殊性要求,最后对本文各章节内容进行简要介绍。1.1引言随着计算机网络的快速发展,信息安全问题越来越突出,并且趋于多样化,各类安全问题也频繁出现;另一方面,传统的安全响应系统以一种后处理的机制对已发生的安全威胁进行分析和报告,已经满足不了快速处理大量新近出现的安全问题的需求,各种新近出现的安全问题数量之庞大,过程之复杂,种类之繁杂,已经超过了传统安全响应系统的应对能力。为了在更广泛的范围和更深入的层次上研究各类安全问题,如网络攻击和渗透,信息泄露,后门及木马的植入,甚至病毒感染等,计算机安全领域内引入了蜜罐这一概念。简单来说,蜜罐是这样一种资源:其价值在于被攻击和攻陷,它被刻意地设计或部署得存在各种安全问题和漏洞,以便尽可能吸引各类攻击从而发现更多的安全问题,目的就是获取所有与这些安全问题相关的日志,并逐一分析这些安全问题出现的原因以及对系统造成的影响,从而从更广层面上获取当前网络环境中安全问题的发展趋势和动态,并制定相应的防御策略。和蜜罐相对应的另一个概念是蜜网,即蜜罐网络,其用意也在于吸引攻击,以研究攻击者所采用的手段和方法,所获得的信息被用于提高网络的安全性。蜜网一般是由多个真实或虚拟的蜜罐主机构成。目前很多组织和机构都使用了蜜罐技术来进行安全问题研究,如SANS、SecurityFocus等著名安全组织通过蜜罐来研究系统漏洞和蠕虫病毒。很多安全软件厂商也在公共网络上部署蜜罐系统以发现最新的安全漏洞。蜜罐应用于安全研究也取得了较好的成果。2002年,一个未知漏洞的exploit被一个部署在Solaris下的蜜罐系统捕获,这使得蜜罐技术得到了很多安全专家的认可,也证明了蜜罐技术在发现1
和对抗未知安全威胁时所能发挥的巨大作用。本文的文件系统中间件研究是在蜜罐系统之上的基础架构研究,由于是以提升蜜罐系统的价值为目标,因此相对于常见的关于如何认证或限制用户对于文件系统的访问,以及如何检测文件系统完整性等其他关于文件系统安全的研究,本文的焦点在于如何引导和控制攻击者对蜜罐中文件系统这一资源的访问,并从中发现攻击手段和攻击行为模式等信息。1.2国内外研究概况和趋势1.2.1蜜罐技术研究现状近些年来,蜜罐技术得到迅速发展,尤其是以开源项目Honeynet为代表的蜜罐技术研究,使得蜜罐技术在安全领域内备受瞩目。Honeynet项目提出并实现的高交互蜜罐已经成为蜜罐研究领域内的重要参考,同时Honeynet还整合了Windows、Linux/Unix多平台下的蜜罐技术,提出了并实现了一套蜜网架构。受到Google的支持后,Honeynet发展更加迅速。总体来说,最新的蜜罐技术的发展方向包括以下几个方面:1.2.1.1与安全领域内的其他技术,如入侵检测系统(IDS)技术等结合2008年,BabakKhosravifar等人将蜜罐技术用于IDS系统,通过引入一种由分布式代理和蜜罐组成的体系结构,以提高安全报告的准确率,以减少漏报。在该体系结构中,经过IDS初步检测有问题的连接被重新路由到蜜罐中进行进一步分析,[1]如果发现IDS检测的结果是错误的,就把该连接重新导向到原来正常的目标。与IDS技术不同的是,蜜罐技术更侧重于对于攻击行为及攻击者本身的研究,从攻击过程中发现有价值的信息,以便根据这些信息制定更有效的防护方案;而现有的IDS技术是在已知安全威胁特征的前提下,及时、准确地检测并发出安全警报。因此,也可以说蜜罐技术是一种安全研究平台,除了能够研究已知安全威胁的同时,还能发现当前网络中的一些潜在的安全威胁。2
1.2.1.2交互程度的不断提高蜜罐系统交互性的提高,使其不再是当初简单的系统检测工具,它已经融入到系[2]统中,并透明地作为系统的一部分,对用户不可见。这样的蜜罐系统更不容易被攻击者发现,也能模拟出更真实的网络攻击场景,所获取的攻击行为方面的信息也更有价值。1.2.1.3系统平台的拓展早期的蜜罐工具和技术仅限于类Unix平台,近些年来逐步出现了跨平台的蜜罐技术研究。一方面是对于其他系统,如Windows下的安全研究的需要,另一方面也是对于蜜罐技术体系结构本身的研究。尤其是虚拟机技术的出现,使得多种类型的蜜罐系统能够同时在同一台物理机器上部署,也使得在骨干网上大规模部署蜜罐网[3]络成为可能。1.2.1.4数据分析技术的引入以及智能性的提高将数据挖掘和人工智能方面的技术运用到蜜罐系统中的数据分析和攻击模式提取上,是目前研究的热点之一。2005年,SamuelT.King等人就开始研究攻击活动中的序列和步骤,并引入了BackTracker工具来分析入侵过程中文件操作和进程操作的流程和依赖关系,并最终[4]以图形化的方式来展现蜜罐被入侵的过程中的一系列操作序列和步骤。2006年,FengZhao等人提出了基于网络流实时序列预测分析的方法来进行入侵分析,主要思想是确认网络事件的关键特征并使用线性回归技术来发掘区别入侵和[5]正常的活动的一般规则。2008年,OlivierThonnard等人对Leurre.com和SGNET这两个大型蜜网架构中[6]产生的数据进行自动化分析,以便将蜜罐数据应用到网络的日常安全监控当中去。改自动化分析系统基于两个步骤:1)在大规模的蜜罐传输数据集中检测关联的攻击事件;2)根据瞬时相关性提取相似度较高的事件。2008年,HuidongJin等人将可视化簇结构技术和异常检测技术结合,提出了一种既能让用户看到蜜罐数据整体视图,又能看到高维数据的动态知识的方法。该篇文章提出以K-邻近值异常因子(K-nearestNeighboursOutlierFactor)作为异常定义3
来平衡K-邻近值(Kth-NearestNeighbour)的全局异常定义以及局部异常定义(LocalOutlierFactor)的不足。他们将该技术运用到分析器工具中,然后使用分析工具对蜜[7]罐数据进行综合,分析性能和准确度介于LOF和KNN之间。2009年,Yung-ChuanLee等人引入了基于的代理方法来自动地完成主机文件系统的着[8]色、水印和检测,以发现可能存在的信息泄露问题。1.2.1.5应用范围的扩展蜜罐一般是用于诱捕攻击者的恶意入侵过程,现在蜜罐系统也被用于安全人员培训等其他方面,2006年,AaronLanoy和GordonW.Romney就提出将虚拟化技术和[9]蜜罐技术结合,用于安全培训和教学。1.2.2文件系统安全研究现状在安全领域内,文件系统一直是研究的热点之一,这方面也不断地有最新的研究出现,目前关于文件系统安全研究的课题主要集中在以下几个方面:1.2.2.1安全文件系统模型和机制的研究2007年,HIOKIHirohisa设计了一个称为Crocus的系统原型,它能将一个需要[10]隐藏的文件系统分片进行信息隐藏,在需要使用时,又能将该文件系统重组起来。2009年,RajeshKumarPal等人将安全文件系统(SFS)引入到Linux内核,将SFS和操作系统集成,在VFS和底层文件系统之间透明地为用户提供加解密和访问[11]控制服务,整个过程无需用户干预,用户只用按照简单的规则使用该文件系统。[12,13]另外,国内也有一些关于安全文件系统模型的研究。1.2.2.2文件系统访问控制方面的安全研究2007年,GaspareSala等人在虚拟环境的安全文件系统(VirtualEnvironmentSecureFileSystem)框架下讨论了应用程序虚拟机、文件系统虚拟机和安全管理虚拟机三者之间的关系,并进一步讨论了第一个原型系统的安全和性能,并最终指出强[14]制访问控制带来的开销是可以接受的。2007年,GlennFaden等人描述了一种可以避免修改文件系统或应用程序,同时4
又能具有多级安全特性的轻量级方法。典型的多级安全特性是通过指定细粒度的安全上下文,比如所有对象和事件的敏感标签,而这些扩展的安全特性需要修改标准文件系统和接口,并且影响到系统的性能和应用程序的兼容性。GlennFaden提出的方法将系统进行区域划分,不同的事件和对象对应到不同的区域上,并具有不同的敏感标签,并且敏感标签能继承自特定的区域。这种结构化的数据分离方法使得在[15]主流操作系统上实现强制访问控制称为可能。2008年,TakutoYamaguchi在SELinuxPolicyEditor(SELinux的安全策略编辑器)使用的简化策略描述语言SPDL(SimplifiedPolicyDescriptionLanguage)的基础之上,定义了和访问向量控制(AccessVectorPermissions)相互集成的新的访问控制措施,这个被称为集成访问控制(IntegratedAccessPermissions)的安全策略一方面解决了SELinux繁杂细粒度的安全配置问题,同时也达到了SELinux的安全性要求[16]。2008年,GuZhu等人在水印算法的基础上,提出了操作系统实时监控的技术。该技术使得非法访问在完成之前就会被警告或阻止。另外,通过使用文件系统过滤[17]驱动技术,该方法还实现了对于特殊文件的读写和加解密功能。1.2.2.3文件系统核查和完整性检测方面的研究2007年,RajeevJoshi等人再一次阐述了文件系统在核查的重要性以及其带来的[18]挑战,并以一个在闪存中设计的嵌入式核查文件系统来说明这一点。2007年,NguyenAnhQuynh等人以Xen虚拟机为平台,提出了Xen上的文件系统一致性检测工具(XenFile-systemIntegrityTools)。普通基于主机入侵检测系统(HIDS)有如下不足之处:1)非实时性;2)如果攻击者完全获得主机权限,那么检测不再有效;3)需要不停地更新数据库。而该文提出的基于虚拟机的文件系统一致性检测工具XenFIT能有效地克服以上不足之处,并且由于虚拟机的特性,该检测[19]工具能起到更好的安全效果。[18]2009年,AndyGalloway等人在RajeevJoshi等人的研究基础之上,设计出基[20]于VFS实现的文件检测模型,并验证了其可行性。1.2.2.4文件系统取证和通过文件系统来监控信息泄露2007年,KevinD.Fairbanks等人引入了一种即使在使用了反取证工具的情况下,5
也能从蜜罐的文件系统的日志中提取和分析出详细取证信息的方法,并实现了一个日志监控原型工具TimeKeeper。该文指出TimeKeeper通过监控文件系统的各项活动,能够捕获之前无法得到的取证信息。这些取证信息可以用来进行灾难恢复,研究攻[21]击手段,以及进一步深入到攻击者的动机和犯罪调查中去。2009年,SudarshanS.Chawathe具体分析了在文件取证分析的过程中如何使用白名单技术来有效地进行文件分类,并提出了精确匹配和相似匹配,及范化最佳匹配和范化近似匹配。范化近似匹配的问题被映射为使用局部敏感哈希技术寻找高维空[22]间的邻近问题。1.3蜜罐文件系统中间件研究的意义文件系统在蜜罐主机中起着至关重要的作用,它不仅承载着蜜罐主机中各种重要信息,而且是绝大多数攻击行为的关键路径,同时也是安全问题所造成后果的重要评估依据。早在2005年,SamuelT.King和PeterM.Chen就提出根据进程执行体和[4]文件活动来进行智能化攻击过程分析;2009年,JesusMolina和PeterM.Chen也通[23]过评估文件数据来发现入侵行为;文件检测模块也是Honeynet项目里蜜罐主机检测系统中的重要部分。到目前为止,绝大多数的攻击过程,都直接或间接地对蜜罐的本地文件系统产生访问操作。所有这些操作,传统的蜜罐文件系统只是以操作系统原有的方式进行响应,或者在原始的文件系统上增加一些检测功能,而这些对于向智能化趋势发展的蜜罐系统来说,已经满足不了需求。另一方面,安全领域关于文件系统方面的研究多从访问控制的角度出发,并不是以如何吸引和诱骗攻击者为考虑重点,因此也不太适用于蜜罐系统。为了达到使得蜜罐系统能尽可能地吸引攻击者,同时又能对系统范围内的文件操作进行实时监控,同时还要考虑到系统的兼容和简易性,我们本文提出了一种构建在内核级别下的方案,该方案以中间件的形式在蜜罐主机的文件系统中完成各项功能。包括检测在蜜罐遭受攻击时本地文件系统的活动情况,分析多种类型的文件操作并由此识别出特定的攻击模式,以及最后根据分析结果智能化地给出文件操作的响应。蜜罐文件系统中间件构建在内核级别,和操作系统的文件系统以及底层文件系统协同工作,对上层的应用透明,因此不容易被攻击者发现。它除了最基本的检测攻击者对于文件的访问操作外,还提供了智能化的文件操作分析,以期能发现潜在的攻击模式,最后对于应用层的文件操作请求,中间件还能进行控制和引导。所有这6
些,都是为了最大化蜜罐的价值,即吸引和发现更多的攻击方式和手段。1.4本论文各章节内容导读本文以蜜罐的角度出发,探讨了蜜罐文件系统的解决方案,即中间件系统,包括为什么需要研究蜜罐文件系统,以及蜜罐文件系统中间件的引出。关于蜜罐文件系统中间件,我们结合当前蜜罐技术的发展趋势,从几个比较重要的方面来进行讨论,这包括蜜罐系统范围内的实时文件操作检测和记录;判断文件操作危害程度的智能化分析算法;辅助攻击方式发掘的文件操作控制和引导等等。本文在探讨蜜罐文件系统中间件关键技术的基础上,给出了中间件方案的设计框架和基本实现思路,并用几个重要的实验论证了该方案的可行性,同时还对中间件方案的性能等方面进行了评估。本文各章节及主要内容安排如下:第一章绪论:介绍本课题研究背景知识,国内外相关研究的现状以及本课题研究的意义,最后给出本文的组织结构。第二章蜜罐文件系统中间件概述:从总体上对本研究课题,即蜜罐文件系统中间件进行描述,包括中间件的应用场景分析及其特殊性要求。第三章蜜罐文件系统中间件的关键技术研究:介绍了蜜罐文件系统中间件研究所涉及的一些关键技术,包括文件操作检测,智能分析算法,和文件访问引导和控制技术等等。第四章蜜罐文件系统中间件的方案设计和实现:在详细讨论关键技术的基础上,给出蜜罐文件系统中间件方案的总体设计和关键部分实现。第五章蜜罐文件系统中间件的实验、测试和评估:对中间件方案设计的关键点部分进行实验论证和测试,并给出实验数据或效果图,同时给出中间件对蜜罐系统整体性能的影响评估。第六章全文总结和展望:总结蜜罐文件系统中间件方案的优势和特点,同时指出一些待完善之处,并对后续工作进行展望。7
2蜜罐文件系统中间件概述2.1蜜罐和蜜罐文件系统中间件的应用场景分析作为商业用安全辅助手段之一,蜜罐系统常和出口处的服务器部署在同一位置。图2-1显示了一个典型在线电子商务系统应用蜜罐的安全解决方案。图2-1蜜罐解决方案的典型部署图该方案使用一个非军事化区(DMZ)将复杂的外网环境和内网环境隔离开来。正常用户(通常具有访问授权)能够透过防火墙访问到交易系统的Web页面,以及后端的应用服务。而一旦非法访问被确定来自外部攻击,那么其连接将会被引入到DMZ区域中的蜜罐主机中。当攻击者的连接被引入到蜜罐系统后,其各种操作都将会被隐秘地监控,尤其是本文所讨论的文件操作。本课题作为蜜罐文件系统的中间件研究,除了隐秘地监控攻击者在蜜罐系统内的文件操作外,更重要的是能实时分析敏感文件操作,并根据分析的结果对文件操作请求实施引导和控制,达到吸引迷惑攻击者的目的,我们的中间件系统的应用场景可以用图2-2来描述:8
图2-2蜜罐文件系统中间件应用场景本文提出的文件系统中间件可以看成原有蜜罐文件系统的一层智能化外部包装,它不但可以检测系统范围内所有进程对于文件的访问操作,同时还能根据文件访问操作的上下文信息分析出文件访问的执行主体的性质,如是否是恶意进程执行的文件操作,该恶意进程所执行文件操作的危害程度等。在企业环境中,一旦蜜罐文件系统中间件分析出恶意进程所发起的文件访问操作,那么就可以向管理员发出警示信息,同时以日志的形式记录下该文件操作,以便管理员跟踪攻击痕迹和过程;在安全研究环境下,中间件系统分析出来源于攻击者的恶意文件操作后,一方面对该过程进行隐秘地记录,另一方面启动文件访问操纵功能,对恶意文件操作进行引导和诱骗,比如重定位请求访问的文件,或返回虚假文件数据等。这些操纵一方面能迷惑攻击者,另一方面也可以激起攻击者对于发现系统中的漏洞的兴趣,而这些过程都会被中间件一一记录下来,这就给攻击行为分析、攻击者的动机以及相关方面的研究和调查提供了最真实的资料。更进一步来说,蜜罐文件系统中间件也可以独立于蜜罐系统运行,此时中间件更像是一种文件访问操作的检测、分析和导向器工具,他可以被用来进行文件访问的控制、转移等。因此,从某种意义上来说,该中间件系统也可以看成是通过文件访问操作来进行人的行为模式研究的一种工具。9
2.2蜜罐文件系统中间件的要求前面已经提到,蜜罐文件系统中间件和一般的文件系统安全研究的侧重点有些不同,它主要是为蜜罐系统服务的,因此这也决定了它有下面一些特殊要求:2.2.1以蜜罐系统为支撑平台蜜罐文件系统中间件的主要目的是为了配合蜜罐系统对攻击者进行诱骗和记录,是以最大限度地吸引攻击者为目标,而不是为了对合法的文件操作进行授权访问,对非法的文件操作进行阻止和访问控制,也不仅仅是像主机入侵检测系统(HIDS)那样对系统内的文件操作进行检测。它还包括更深层次的,对于攻击者潜在行为模式的发掘和研究。2.2.2构建并运行于内核级别为了检测系统范围内所有进程的文件操作这一基本功能,同时又要避免被攻击者发现,中间件应该构建于系统层,与操作系统内核结合。一方面可以借助操作系统内核完成系统监控,另一方面也可以实时地为应用层的文件操作请求提供特定的响应,这也是对蜜罐系统交互性的一种提高。2.2.3具有智能化特性蜜罐文件系统中间件除了需要检测和监控系统范围内的文件操作外,还需要加入智能化特性。智能化特性是蜜罐文件系统中间件区别于一般文件系统检测工具的关键之处。智能化特性通过对攻击过程中的文件操作进行分析,并由此识别出攻击者所采取的特定的攻击模式,然后根据这些不同的模式给出不同的响应。这些响应包括以保护为目的的访问拒绝,以引导为目的的文件访问重定向,及以发掘攻击者行为模式为目的的文件数据修改。2.3本章小结本章主要在绪论的基础上进一步讨论蜜罐文件系统中间件的相关问题,包括它和10
网络、攻击者联系的外部环境以及和操作系统联系的内部环境。同时,我们也对本课题研究的应用场景做了简要的介绍,并且根据应用场景,我们指出了蜜罐文件系统中间件研究的特殊性要求,包括目标平台特殊性,环境特殊性以及智能化要求。本章可以看成是对蜜罐文件系统中间件的一个总体介绍。11
3蜜罐文件系统中间件的关键技术研究3.1系统范围内的文件操作截获和记录系统范围内的检测和监控绝大多数都是通过静态或动态地修改操作系统内核实现。静态修改操作系统内核一般是通过修改操作系统内核源码,加入具有检测功能的代码,然后重新编译并使用新的内核。动态修改操作系统内核分为两种:一种是先修改操作系统内核,并使用导出符号的形式预留出可编程修改的接口,以便在用户层自定义相关的检测或监控过程,然后传递给内核接口;另外一种无需改动内核,而是采用Linux操作系统提供的的可加载模块机制,将具有检测和监控功能的二进制模块加载到系统内核,来实施系统范围内的操作检测和监控,这种方法在许多文[24,25]章中都被提到。鉴于问题的复杂性和本文研究的需要,本文中我们只讨论最后一种方法。这种使用可加载内核模块(LKM)的方法可以在系统运行时动态进驻内核,并在内存中对内核进行修改,将模块中的检测和监控代码加入到系统内核中,和操作系统协同起来实施系统范围内的检测和监控。目前使用LKM技术来进行系统监控的研究大多采[26]用了截获系统调用(systemcall)的方法,另外少部分采用了截获VFS调用的方[27]法,还有一些其他研究(如网络协议栈和防火墙过滤研究)采用了其他方法。这里我们主要介绍通过截获系统调用和VFS调用来截获文件操作的方法。3.1.1截获操作系统调用现代操作系统均使用系统调用门的方式在用户空间的应用程序和内核空间的内核例程间切换,由于内核空间被所有用户空间的进程共享,各用户进程均通过系统调用门陷入内核,通过系统调用门向内核提出服务请求,并由系统调用门返回结果信息,所以如果截获了系统调用例程函数的话,我们也就截获了所有进程对本地系统操作的接口。12
图3-1系统调用过程图3-1显示了应用程序从用户空间陷入内核空间的基本过程。一般地,应用程序代码通过执行操作系统提供的系统调用接口,以软中断的形式陷入系统调用,然后进入内核,寄存器保存了所要执行的系统调用的序号,也就是调用函数在系统调用列表中的的索引号,并随应用层传入的调用参数信息一起进入内核。为了截获系统调用,我们必须获得系统调用列表在内核内存空间的地址。在2.4内核的版本中,系统调用列表符号是导出的,因此在写LKM模块时可以很容易获得。对于2.6以后的内核,该符号不再被导出,系统调用列表符号的地址可以从System.map文件中或者/proc/kallsysms中读取。除此之外,还可以使用一种通过IDT表获得系统调用列表的方法,如图3-2所示:图3-2使用IDT获取系统调用表系统调用本质上是由系统产生的软中断,其对应的中断处理函数可以通过IDT表查询得到,在系统调用中断处理函数的基础上,再通过二进制指令代码搜索,就能获得系统调用表的地址。在内核空间中获得了系统调用表的地址后,可以通过下面的步骤来设置系统调用13
劫持函数:voidHijackSystemCall(syscall_table,syscall_index){original_syscall=syscall_table[syscall_index];//保存原来的系统调用syscall_table[syscall_index]=my_syscall;//设置为自定义的劫持函数}以上修改将会使得每当系统接收来自应用程序的系统调用请求时,自定义的劫持函数会替代原系统调用函数执行。在自定义的劫持函数代码中,可以再去选择是否调用原来的系统调用,或者调用完原来的系统调用后,再选择是否对其调用结果信息进行更改,从而达到检测和监控的目的。事实上,这也是包括Honeynet项目在内的蜜罐技术研究正在使用的系统监控方法。通过劫持操作系统调用来进行文件操作截获和记录有下面一些不足:1)虽然系统调用处于内核空间,它也能截获到所有程序的本地文件操作,但它仍然处于较高层次,接口较简单,因此也不能直接获取与文件操作相关的细节信息,如inode节点信息中的内容;2)系统调用是应用程序和内核频繁交互的接口,通过劫持它们来进行文件操作检测和监控将会对系统性能有较大影响;3)大部分检测工具都有检查系统调用的功能,因此劫持系统调用较容易被发现。为了解决系统调用劫持对于文件操作截获的局限性,文件系统检测和监控研究领域内出现了另一种通过劫持虚拟文件系统层(VFS)调用的方法。3.1.2截获VFS调用虚拟文件系统(VFS)是现代Linux/Unix操作系统为了解决多文件系统之间的差异性并实现在一种操作系统平台上进行跨文件系统访问的机制。VFS是各种文件系统的一个抽象接口,操作系统通过它向上层提供统一的文件操作调用方式,并可以实现新的文件系统类型的扩展。图3-3显示了VFS在操作系统中的位置,我们可以看出它和真实的文件系统联系紧密。如果我们能在VFS接口层劫持和文件系统相关的调用的话,我们也就能截获并记录文件操作。关于VFS调用的劫持,我们可以参考如图3-4所描述的VFS层相关的内核数据结构。14
图3-3VFS系统框架dentry...d_inodeinodepath...mntdentrydentry...fs_structd_inodeinode......task_structrootpathdentryinode...pwdmnt......d_inodei_opfsdentry...d_opfilefiles_struct......file...fd_array[]............f_entrydentry_operationsinode_operationsf_opfile_operations......readwrite...图3-4VFS层的内核数据结构15
每一个进程都有一个task_struct结构实例,它保存着和该进程相关的所有信息,包括用户访问权限、内存布局、状态变量等,而其中和文件系统相关的两个重要变量是fs结构指针和file结构指针,他们分别指向当前进程的文件系统结构fs_struct和正在使用的文件集合结构files_struct。更进一步地,files_struct结构中存放了当前进程正在使用的文件结构数组指针,通过它我们可以访问任何一个正在使用的文件结构file,它对应于系统中的一个目录或文件节点。获得了file结构指针后,一方面我们可以通过它获得i_node进一步获取和文件相关的信息,另一方面,通过修改其f_op字段指向的文件操作函数结构中的函数指针,我们就可以截获该对文件的操作,图3-5给出了替换file_operations结构中的文件操作函数的示意图:图3-5文件操作函数替换下面描述了在LKM内部劫持VFS调用的基本过程,参数TargetPath是要被监控的文件路径,OriginalCall_out用于系统原有的VFS调用,MyCall_in用于传入自定义的劫持函数代码:voidPatchVFSCall(TargetPath,OriginalCall_out,MyCall_in){filep=filp_open(TargetPath);//通过文件路径获得文件结构指针判断返回filep的合法性;OriginalCall_out=filep->f_op->somecall;//保存原来的VFS调用函数filep->f_op->read=MyCall_in;//设置自定义的劫持函数filp_close(filep,0);//释放文件结构指针}16
上述修改使得每当发生和TargetPath路径相关的文件操作并且该操作被劫持时,我们设置的劫持函数会代替系统原有的VFS调用被执行。在自定义的劫持函数中,可以使用OriginalCall_out保存起来的系统原有VFS调用,并能进行调用前后的信息获取,以辅助完成文件操作的检测和监控功能。使用VFS调用劫持来进行文件操作截获和记录,进而辅助完成文件检测和监控功能,它克服了使用系统调用劫持的一些不足之处,相应地带来了使用系统调用劫持所不具备的优势,因此,本文在需要进行文件操作截获和记录的地方,都使用了这种方法。3.2以文件操作为核心的上下文信息全息收集在截获到文件操作之后并对其进行记录时,需要考虑的一个关键问题就是到底应该记录什么信息。比如,通过文件的创建,读写时间戳信息来进行文件的未授权访[27]问和恶意行为分析的研究主要收集的是和文件操作相关的时间信息。本文中,为了完成智能化行为分析的需要,我们必须尽可能全面地获取和文件操作相关的信息。在截获VFS调用的同时,我们能够得到一些结构的指针,见表3-1:表3-1VFS调用劫持时得到的结构指针结构名描述task_struct当前执行进程结构体fs_struct当前进程相关的文件系统信息files_struct正在使用的所有文件集file文件操作的目标文件对象结构其中file结构是作为截获文件操作时的参数得到的,而其他结构是通过文件操作的当前上下文得到。在得到上述结构指针后,我们可以通过图3-6的关系得到内核中和文件系统相关的其他数据结构:17
图3-6内核中文件系统数据结构的关系下面是对我们可以得到的文件系统中和文件属性信息相关的几个重要的数据结构:dentry目录项:存放文件路径到文件inode节点的连接信息和文件引用信息。该结构是为了从路径名定位到目标节点而实现的。inode节点:inode节点是存放文件属性信息的重要数据结构。这些属性信息包括对应文件的索引号,硬链接计数,用户和组ID,访问权限,文件大小,创建、修改、访问时间,文件在物理存储的块大小和数据指针,以及映射到内存空间的地址信息。inode节点所含的信息不包括文件名称和文件数据。superblock超级快:存放已挂载的文件系统相关信息,和底层文件系统信息对应。vfsmount挂载点:存放挂载点相关信息,如挂载处的目录项,父子挂载点等等。file文件结构:file结构描述了文件正在被当前进程使用的一些信息,如当前读写的文件偏移位置,文件打开的标识或模式等等。根据以上讨论,以及我们所要使用的分析算法需要,我们可以初步制定出下面一些需要收集的文件操作的上下文信息:执行主体:这里的执行主体是指文件操作所来自的进程信息,包括进程PID,进程命令和参数信息等。用户及权限:包括发起文件操作的用户和组以及文件的权限信息。文件路径名:文件操作的目标文件路径信息,这对于发现目标文件是否为敏感文18
件并进一步分析非常重要。时间信息:包括文件操作的时间戳和文件本身的创建、修改、访问时间信息。上面四类信息只是用于智能化行为分析的主要信息,当涉及到具体的算法细节时,可能还需要其他一些文件属性信息,如索引号,应用计数等。在后面的文件反问操纵中,我们可能还需要访问并修改文件操作的数据,因此我们需要针对不同的情况获取文件系统结构中的相关信息。3.3自适应关联规则和智能化行为分析算法在获得文件操作的上下文信息后,下一个问题就是如何根据这些上下文信息分析出当前文件操作是否是一个可疑或异常的操作,以及当前文件操作的异常程度分类,并通过这些文件操作发掘出攻击者的行为模式,以便于后续的文件访问引导和控制。目前有很多关于入侵行为分析算法方面的研究,这些研究都是从数据挖掘的角度进行入侵行为分析。目前有许多数据挖掘的相关算法被用于入侵分析和攻击行为检测中,包括序列模式挖掘,聚类分析等。然而,在选择入侵行为分析算法时,我们必须回到中间件系统本身上来。中间件截获的了相关的文件操作,在进行入侵行为分析之后,紧接着给出对应的响应,这必须是一个十分短暂的过程,否则文件系统的性能将会受到影响。此外,对于某一文件操作的行为分析应尽量和其他文件操作独立开来,否则文件操作间的相互关系将会使得中间件的分析模块更加复杂,这对于处于内核层的中间件来说并不合适。因此,我们所归纳出的最直接和有效的分析方法就是基于关联规则的入侵行为分析方法。Apriori算法是基本的关联规则算法,它经常被使用或改进,来完成从大量的操作记录项集中找出具有攻击属性的频繁操作记录项集,并从中提取出攻击行为的关联规则。利用Apriori算法进行入侵分析的最近的研究是2010年LeiLi等人提出的对Apriori关联规则算法的改进,该研究通过添加动态减小步长支持,来改善一般[28]Apriori算法的瓶颈,并证明了该方法的有效性。除了基本的Apriori算法之外,还有其他一些关联规则算法也被用于入侵行为的规则分析中。2006年,SivaS.SivathaSindhu等人将NeuroC4.5算法运用到网络入侵检测系统中进行异常分析。该算法结合了决策树模型的易理解性和神经网络的普适性特征,从网络审计数据中提出分类规则集,然后将所得的规则集运用到实时的网[29]络环境中进行网络异常检测。2007年,GuangjunSong等人在关联规则算法的基础上提出了基于一维链表的递归约减挖掘算法LRE,并同时实现了Apriori和FP-Growth19
算法,然后其建立的入侵告警分析系统模型(IAAS)下进行测试,发现LRE算法在[30]减少误报率和有效性方面优于Apriori算法和FP-Growth算法。2009年,ThanvaratKomviriyavut等人使用C4.5决策树模型和Ripper分类规则算法对经过维度删减的RLD09数据集进行测试,发现得到的IDS结果规则集可以实时检测出DoS,端口扫描等攻击,准确率高达98%以上,并且证明了该类方法对于发现未知攻击的有效性[31]。2006年,ZhaoChang将经过优化的粒子群优化算法(PSO)运用到入侵检测系统的规则提取过程中,并以实验证明该方法所提出的规则优于优化前的算法所提取[32]出的检测规则,在入侵检测时能减少误报率。关于基于规则的入侵检测分析,也有一些细节性的问题,包括如何选取记录集的特征属性,才能在决策树分类中得到[33]较好的结果规则。基于规则集的数据挖掘方法种类较多,2009年,MohammedMMazid等人分析常用的关联规则挖掘算法,通过使用分类器决策函数计算式(3.1)并在[34]实验数据的基础上,得出Apriori是一种性能和复杂度较优的算法。fy(,),xxα=α∈Λ,∀<,y>∈D(3.1)iiiiiiD是由l个以下样本组成的数据集:(x1,y1),...,(xl,yl);样本是长度为m的特征向量集;二元类yi∈{+1,-1}为目标值,Λ是一组抽象参数集。在确立了关联规则的行为分析算法,并通过挖掘得出初始的规则集以后,下一步的目的是如何保证这些规则集能够随着时间的推移而在以后的行为分析中保持正确和有效,并能随着网络环境中攻击行为趋势的不断变化而更新。容易联想到,我们的关联规则集不能一成不变,它需要动态地做出一些调整。规则集的调整应该是分析模块自动完成,这也是其自适应性的体现。关于如何让入侵行为分析算法自动调整规则集,2010年,Chenn-JungHuang等人在他们的告警相关检测模块中加入了基于2类模糊逻辑的自动调整IDS规则集生成模块,该模糊逻辑使用了偏差高斯正太分布函数(3.2)来调整内部模糊参数,使用扰动调整规则,并使用新产生的规则集作[35]为IDS检测规则,实验结果证明了规则集调整的有效性。2⎡⎤1⎛⎞xm−μ∼=A1exp⎢⎥−⎜⎟,mmm∈[],2(3.2)⎢⎥2⎝⎠σ⎣⎦事实上,学习并实时更新是动态调整入侵分析规则集的较好选择。2004年,Dae-WookKim等人就在具有检测恶意攻击的异常模块中引入了可以自我进化的学[36]习算法,并将生物免疫系统和遗传机制引入到了异常检测器中。另一方面,通过动态递增学习来调整行为分析模型中的规则集也具有其他一些好处,如每次调整只20
需要较少的计算时间,不必重新计算来获取全部的规则集,在资源使用上也更加有效。2005年,WuYang等人提出了一种基于递增规则学习的自适应在线入侵检测模型,该模型可以在不断变化的网络环境上进行自我学习并动态更改模型中的行为配[37]置,这样就能克服传统静态检测模型必须全部重新学习的的缺点。2008年,YanFu等人提出由于网络数据流会随时间改变,因此必须随着数据流的演变调整异常检测模型,并引入了混合局部异常因子(LOF)和反向传播神经网络(BPNN)的在线更[38]新框架,相比传统的静态迭代LOF更新算法,该框架花费更少的计算时间。另外,动态调整的规则集是当前网络和系统环境中攻击行为模式的实时反映,通常具有更高的准确率。2009年,XiaotaoWei等人提出了在线自适应网络异常检测模型的概念,该模型动态建立起本地本地正常模式库和攻击模式库,并能根据网络数据流实时更[39]新模式特征。同时,该在线模型具有较少的计算时间和较低的错误率。本文的攻击行为分析智能检测模块主要从规则集分析的角度对文件操作上下文进行分析,来得出攻击者行为模式的初始规则集,同时,和一般的规则集分析方法不同的是,我们给规则集加入了自适应这一特性,它能保证规则集能自动实时地随着系统中攻击活动的变化而做出调整,而为了实现自适应这一特征,我们在中间件分析的模块中加入了动态学习的机制,即随着文件操作及其上下文信息的不断增多和时间的推移,我们的分析模块将能获得更丰富的信息,这些信息将会有助于我们调整规则集,以获得更准确的分析结果。3.4用于辅助发掘攻击行为的文件访问操纵在根据规则集分析出某一初始操作为攻击者的文件操作后,中间件并不满足于此,接下来就是根据分析的结果对攻击者的文件操作进行响应的过程。一般的安全文件系统对异常文件操作的响应仅仅为拒绝访问,这对于蜜罐系统来说并不适合,如果攻击者在其文件操作被拒绝后,很可能对系统产生怀疑,进而影响攻击者下一步操作的真实性。另一方面,我们也希望能更有效地发现攻击者的攻击手段,甚至从中发掘攻击者的兴趣点和思考方式。这里我们采取一种欺骗和引诱的策略来吸引攻击者朝着暴露自身攻击行为和方式的趋势而进行攻击操作。事实上,2004年,美[40]国军方的JimYuill等人就有过类似的研究。他们将被称为蜜罐文件(honeyfiles)的入侵检测设备放置在文件服务器上,一旦有在蜜罐文件上的访问操作发生,入侵检测设备就发出报警信息。蜜罐文件系统是由文件服务器的的终端用户创建的,里面是一些类似于passwds.txt的文件,这些文件将会吸引攻击者的注意力,也是我们21
进行重点研究的对象。在找到攻击者可能关注的目标文件及操作后,为了进一步研究攻击者的具体行为模式,我们需要将攻击者吸引到我们设置的环境中来,让其在我们的环境中进行各类操作,然后记录并分析攻击者的具体操作步骤和攻击方式,图3-7示意了这一过程:图3-7将攻击者的文件操作吸引到我们设置的文件中在示意图3-7中,当我们分析出文件操作是由攻击者发出后,我们可以将原有的文件操作引入到我们事先设置的专门用于攻击者行为分析对文件目录中,即使攻击者只是访问了普通的文件夹。在我们设置的陷阱目录中,我们设置了一些用于辅助对攻击者进行下一步分析的目录和文件。比如,如果攻击者选择进入一个密钥文件目录,则其很可能是以盗取密钥为目的;如果选择进入漏洞相关目录,则很可能是要利用漏洞进行攻击;如果进入了系统配置的文件目录,则很可能是想修改配置项。这样,我们就能在不被攻击者察觉的条件下,将其引诱到我们设置的研究环境中,这在我们后面进行攻击行为分析和攻击者研究的过程中将会非常有帮助,同时也是对蜜罐价值的提升。如何将攻击者的文件操作从一个文件引导到另外一个文件,这是中间件文件访问操纵所要研究的一个重要问题,本文将这个课题称为文件访问重定向。后续的讨论中,我们会对该问题进行深入的技术研究。蜜罐系统作为一种平台,一方面,它是故意用来引诱攻击,以便进行安全研究的,因此一般情况下,蜜罐系统中较少有防护措施;另一方面,蜜罐系统同时也是一种22
资源,因此对于企图对蜜罐系统造成重大影响的攻击操作,我们需要在不引起攻击者怀疑的前提下采取必要的防护措施。作为文件访问操纵的另外一个重要问题,我们需要在攻击者所发起的带有数据处理的文件操作时,对该操作进行一些改动,这是因为我们需要处理这两个问题:1)我们需要保护系统中的某些至关重要的信息不能被泄露给攻击者;2)我们需要保护系统不因攻击者的修改受到波及,即系统不会因为攻击者对关键文件的修改而发生异常或受到危害。我们在考虑以上问题时还必须注意到作为蜜罐系统应该尽量不要使攻击者感觉到系统异常,因此我们分别提出了这两个问题的解决方案:图3-8防止重要信息被泄露图3-8中,keys文件是系统中的服务正常运行时所需的重要信息文件,其中有某些数据非常重要,我们不想让攻击者知道这些数据,然而,我们又不能直接拒绝攻击者对其进行访问,因为这样的异常可能引起攻击者的警觉,甚至可能使得攻击者无法完成后续的攻击操作,于是我们就在攻击者调用读取文件数据操作时将其拦截,修改并隐去我们不想透漏给攻击者的重要信息,同时也能让攻击者顺利地完成该文件操作。23
backdoorcmd:timer_sendinfobackdoorcmd:Xcrontab图3-9防止损害信息被写入如图3-9,和修改读取文件数据的情况类似,当攻击者向系统文件(一般是重要的系统配置文件)中写入可能对系统产生危害的数据时,我们可以在返回数据写入成功相关信息的同时,将经过修改后并不会损害系统的数据写入到文件中。考虑到攻击者可能还会反查写入的数据信息,我们并没有直接返回写入成功而不做任何写入操作,这样我们可以和前面的修改读取文件数据结合起来,才能对攻击者进行全面的而细致的诱骗,从而体现出修改文件数据在文件访问操纵过程中的优势。修改读取文件数据和修改写入写入文件数据,在本文中我们统称为文件访问的数据操纵。除了文件访问重定向和数据操纵之外,作为蜜罐文件系统系统中间件完备性的一个补充功能,我们把文件访问拒绝也加入到文件访问操纵这一关键技术中来,它的想法和实现跟前面两种操纵相比而言较为简单,只是在需要拒绝攻击者的文件访问操作时,我们给出一个看似合理的错误信息,如资源不足,文件已经被其他进程锁定等等,这样既能断开攻击者的操作链,又不至于使攻击者产生警觉。3.5用于提高蜜罐可靠性的内核级模块隐藏技术当我们的中间件进入系统并在系统中运行时,将不可避免地会在系统中产生一些痕迹,有经验的攻击者会通过分析这些痕迹发现中间件的存在,然后要么离开蜜罐24
系统,要么想法使我们的中间件失效,那么我们之前所作出的努力也将得不到预期的效果。因此,为了提高中间件在系统中的可靠性,我们必须对中间件进行隐藏。除了在进行文件访问操纵时需要考虑到中间件的隐蔽性外,中间件的隐藏模块也负责对自身进行隐藏。对中间件进行隐藏的目标是使得攻击者无法直接检查到中间件的存在。由于中间件是以可加载内核模块组件的形式在系统中工作,进程列表中将不存在中间件相关进程,中间件也无法被ps,top等进程查看命令发现,因此我们所要做的工作就是使攻击者无法使用常见的系统命令ls,lsmod等来发现我们的中间件模块文件及正在运行的中间件模块。关于如何使得在使用ls命令时特定的文件不被显示,Md.SarfarajAlamAnsari等[27]人给出过对应的解决方案:File1File2File3lsgetdents_64File1File2File3图3-10正常的ls命令执行过程图3-11隐藏文件后ls命令的执行过程25
如图3-10,正常的文件查看命令ls最终通过调用getdents_64来获取文件列表信息;如果我们能够截获getdents_64,并在调用getdents_64后对返回的信息进行操纵,修改里面的数据,那么我们就能将需要隐藏的文件File2从文件列表信息中剔除,这样在ls命令调用者看来,系统中并不存在File2文件,如图3-11。除了隐藏中间件相关的文件之外,另外一个需要隐藏的就是中间件的运行时信息。由于中间件是以可加载内核模块(LKM)的形式运行,因此当攻击者使用lsmod命令查看系统中正在运行的模块时,我们的中间件模块将会被显示出来,所以这里我们必须从lsmod命令操作的结果信息中去掉中间件模块信息。为了实现这个目的,我们可以考虑两条不同的思路:1)从lsmod命令本身进行考虑,分析lsmod命令的执行流程,找到关键的系统调用,然后对它进行像ls那样的截获和操纵,从返回的结果信息中剔除中间件模块信息;2)从模块信息在内核中的组织方式出发,分析模块信息在内核内存中存放的位置,直接改写内核内存中的模块信息,从中去掉中间件模块。下面我们分别从这两种思路出发来进行一些关键技术分析。从lsmod命令程序的角度,我们可用strace工具查看lsmod程序所完成的一些系统调用和参数,如图3-12,我们不难看出lsmod命令实际上是打开/proc/modules文件并读取其中的数据,然后使用一定的格式将其显示出来。因此,我们不难想出针对lsmod命令程序本身的解决方法:当判断是lsmod命令进程(可以通过进程的task_struct相关参数判断)时,中间件可以进行一些准备工作,当lsmod进程打开了/proc/modules文件并从中读取数据时,我们可以对读取的结果数据进行过滤处理,剔除掉和中间件模块相关的信息,以达到隐藏中间件模块信息的目标,这一过程和对ls命令的处理非常类似。图3-12lsmod命令的处理流程26
从模块信息在内存中的组织方式角度出发,Linux的内核模块数据结构是以双向循环链表的形式组织于内核内存中间的,我们的中间件内核模块和内核中其他的模块的关系是一个首尾相连的双向循环链表,如图3-13所示,那么,如果我们按照图中虚线所示将中间件模块节点信息结构从双向链表中删除,那么内核在查询模块列表信息的时候就不会发现中间件模块,这样攻击者使用lsmod命令也无法发现系统中正在运行的中间件内核模块。图3-13内核模块的双向循环链表结构3.6本章小结本章主要对蜜罐文件系统中间件所需用到的关键技术进行了深入分析。首先介绍了内核空间中的文件操作截获和记录技术,并分别对目前较常使用的系统调用劫持和虚拟文件系统VFS劫持两种方式进行原理性分析,然后进行比较,最后选择了更适合本课题的VFS劫持技术。紧接着我们对使用VFS劫持技术所能获得的上下文信息进行详细的介绍,并引入了以文件操作为核心的上下文信息全息收集的概念,全面而丰富地收集和文件操作相关的信息,作为接下来的智能化分析的信息来源。在攻击者的智能化行为分析关键技术分析中,我们主要介绍了一些基于关联规则的数据挖掘分析算法研究,和它们在入侵检测行为分析系统中的成功应用,综合考虑效率和复杂性等因素我们选取了基本的Apriori算法作为我们产生关联规则的基础算法,并加入了自适应这一特性,即我们的规则集将实时地随着文件操作数据的累积在线递增更新,以使得规则集能及时地保证检测的准确性。对于已经检测出的来自攻击者的文件操作,我们将使用文件访问操纵技术将其引入到中间件事先准备的文27
件目录中,以辅助更深层次的攻击行为分析,同时文件访问操纵技术还能在不引起攻击者对系统产生怀疑的前提下,对蜜罐系统实施一定程度的保护,使系统免受严重损害。最后,为了提高中间件在蜜罐系统中的可靠性,同时也是为了避免中间件被攻击者发现,我们引入了内核级的文件和模块信息隐藏技术,对中间件的相关文件和运行时信息进行隐藏。28
4蜜罐文件系统中间件的方案设计和实现本章将会在蜜罐文件系统中间件关键技术的基础上对中间件进行完整的设计,包括总体结构和模块设计,各模块间的数据交互,以及重要模块内部的具体算法流程。4.1蜜罐文件系统中间件总体设计图4-1蜜罐文件系统中间件的总体设计图4-1显示了蜜罐文件系统中间件的总体设计图,图中左侧为蜜罐操作系统的原有组成部分,右侧为中间件系统。基于我们上一章对蜜罐文件系统中间件关键技术的讨论,我们将中间件系统构建在内核的VFS层之上,使其在系统内核层运行。按照检测—分析—控制的设计思路,中间件主要分为四个主要功能模块:文件操作截获记录/上下文信息提取模块负责劫持来自VFS层的相关调用,并全面地对被截获文件操作进行相关联的上下文信息获取;智能行为分析模块负责处理和文件操作的相关信息,然后分析该文件操作的来源应用程序,并给出该操作的危害程度的分析结果;文件访问操纵模块负责对攻击者的文件访问操作进行引导和控制,包括文件访问重定向,文件数据操纵和文件访问拒绝;隐藏功能作为系统的一个特性支持功能,负责隐藏中间件在系统中的痕迹。图中还反映了蜜罐系统和中间件之间的交互关系,当文件操作从VFS文件系统层转入到中间件中后,首先由文件操作截获记录/上下文信息提取模块获得文件操作29
的参数数据和控制权限,该模块解析参数数据并获取和文件操作相关的上下文信息,然后将这些信息交给智能行为分析模块进行分析并得出决策,然后根据决策信息判断是否需要文件访问操纵模块进行相关处理,最终将返回数据和执行权限转交给蜜罐系统,这一系列流程可以用图4-2表示:图4-2蜜罐文件中间件对文件操作的处理流程以上是蜜罐文件系统中间件的总体框架设计和流程,在接下来的各小结中,我们将会深入到每个模块的内部,以及每个模块和其他模块的接口部分,进行更加详细的分析和设计。4.2文件操作截获记录/上下文信息提取模块设计文件操作截获记录/上下文信息提取模块是蜜罐系统进入中间件的入口模块。通过VFS调用劫持,操作系统的VFS调用例程被转入到我们的文件操作截获记录/上下文信息提取模块中,该模块由调用点开始,对各调用的参数进行解析,然后提取上下文信息,最后将这些信息交给分析模块处理,下面就对这些过程进行详细设计。30
4.2.1VFS调用劫持在知道如何进行VFS调用劫持的基础下,我们下一步需要考虑的是需要劫持哪些相关VFS系统调用,才能较为全面地截获系统中的各类文件操作。另一方面,我们需要考虑到调用劫持给中间件带来的复杂性,以及可能对系统性能产生的影响,因此也不能盲目地劫持所有VFS调用,所以我们做出了一个折中的选择,即对上层应用程序常用的一些调用进行了劫持,这些常用的VFS调用集合较为全面地反映了系统内的文件操作。表4-1显示了file_operations结构中几个常用的重要文件调用和文件操作的对应关系:表4-1文件操作调用及其操作说明调用名文件操作说明read读取文件数据write向文件写入数据readdir读取目录列表ioctl向文件设备发送控制命令mmap内存文件映射例程open文件打开函数release文件引用释放函数dir_notify目录改变通知例程表4-2显示了inode_operations结构中的几个常用的和节点相关的调用及其说明:表4-2节点操作调用及其操作说明调用名节点操作说明create创建表示文件的节点mkdir创建目录节点rmdir删除目录节点rename更改节点目录项名称这些也是蜜罐文件系统中间件主要劫持的一些VFS调用,中间件后续的参数解31
析和上下文信息提取也是基于以上调用的截获完成的。4.2.2参数解析当被截获的VFS调用进入我们自定义的劫持函数后,需要完成的第一项工作就是是参数解析。参数解析根据调用参数中的一些标志位判断操作的基本类型,比如open调用中,如果file结构中的f_flags带有O_CREAT标志项,那么该标志暗示文件是以创建的方式打开,我们就可以解析出是否有新的文件被创建;在ioctl被调用时,我们可以根据传入的参数解析出上层对文件发送了哪种控制请求和命令;在dir_notify例程被调用时,我们可以解析设置的参数来判断对目录进行了那些操作时系统会得到通知。总的来说,参数解析就是将系统执行的代码标识和对应的文件操作关联起来,为后面的行为分析进行预处理。4.2.3上下文信息提取上下文信息提取是在VFS调用和参数解析的基础上将和文件操作相关的信息合理组织起来。这些信息包括文件操作的执行主体信息、文件操作的用户和权限信息、文件的路径位置信息、操作时间信息以及具体的操作类型等。4.2.3.1执行主体信息提取文件操作的执行主体信息是以进程为单位,并以进程执行时的命令和PID号作为唯一标识,它既是文件操作的发起者,也是攻击者进行攻击活动的载体,我们对攻击者进行的行为分析最终也是以进程作为基本单位,因此进程信息是重要的文件操作上下文信息。在执行VFS调用时,内核的任务调度程序已经将进程环境切换到当前进程环境,因此我们可以很容易地通过current变量获取当前进程的task_struct指针。由于task_struct中存放了和当前进程相关变量信息,包括进程的pid,进程的命令信息comm,进程的用户和组信息等。4.2.3.2用户和权限信息提取用户和权限信息在分析文件操作的恶意性方面具有非常重要的作用,通过对文件32
操作的用户进行分析,可以判断文件操作是否来自于非正常用户;通过对文件操作类型和文件本身的权限属性进行比较,可以分析出该文件操作是否为非授权操作。文件系统中用户和权限相关的结构及其字段如4-3所示:表4-3文件系统中和用户/权限相关的数据结构和字段名数据结构字段名说明task_structuid,gid,euid,egid等等执行进程的用户和组filef_mode文件打开的权限模式filef_owner,f_uid,f_gid标识文件的所有者用户信息inodei_mode节点的权限模式inodei_uid,i_gid创建节点的用户信息4.2.3.3文件路径信息提取文件路径信息是文件操作中目标文件的重要的信息之一,它标识了文件在系统中的逻辑位置,同时,由于Linux系统文件系统是倒树形的特殊形式组织形式,这也给文件定位和查找操作的一致性带来了方便,文件路径对于我们进行攻击者的行为分析也提供了重要作用。一些系统重要文件的路径或文件名都是固定的,如/etc/passwd,/etc/shadow等,这些路径名称可以作为我们后续分析模块中的重点检查对象。另外,我们也可以通过检测文件路径来唯一地判断目标操作文件是否为规则集中预先设定的文件。由于文件名是存放在文件目录项dentry结构中,因此我们需要从dentry结构中提取文件路径,然而dentry结构中仅仅给出的是文件名信息,而不是文件的完整路径,所以这里我们需要采取另外的方法获得文件的全路径名。在每个dentry结构中,都有一个d_parent,它指向当前dentry的父dentry,一直往上,直到根目录的dentry,它的名字d_iname是“/”,其d_parent指向自己,如图4-3,图中file1的全路径即为“/home/userA/file1”。33
图4-3获取文件的完整路径4.2.3.4时间信息提取时间信息主要是指发生文件操作时的发生的时间,它同时也以创建时间戳或最后修改访问时间戳的形式存放在inode节点的属性信息中,时间信息对于攻击者行为分析的作用体现在两个方面:1)时间戳信息作为日志的一部分,对于反查和跟踪攻击有重要作用;2)操作时间序列信息对于分析攻击者的攻击行为模式有重要作用,包括攻击过程中各文件操作间的间隔时间,频度等。时间信息的来源也主要从两方面获取,一方面我们可以在每次VFS调用被劫持时获得一次蜜罐系统的本地时间,另外一方面是我们可以从每个文件的inode节点中获取该文件的创建时间,最后修改和访问时间。除了上面的一些主要的文件操作信息外,在行为分析模块中可能还需要文件类型,大小等一些辅助信息,我们会在需要时采用类似的方式获取。4.3文件操作的的智能化行为分析模块设计智能化行为分析模块的功能是进行入侵检测分析,其主要完成判断是否有攻击者进入蜜罐系统及当前的攻击类型,并根据不同的攻击类型进行危害程度评定,进而制定对攻击活动所发起的文件操作的控制决策,以便文件访问操纵模块对攻击者的文件操作进行对应的访问控制,以对攻击者进行更加深入的分析和研究。文件访问的智能化行为分析模块在截获文件操作并获得其相关信息后,对这些信息进行分析处理,并输出分析结果。这些分析结果包括:1)该文件操作是否为攻击者调用攻击进程发起的文件操作;2)该文件操作的危害等级,即可能对系统产生的危害程度;3)如何对该文件操作进行响应的决策。在第3章的讨论中,我们已经选择了规则集算法作为文件操作智能化分析模块的34
基础,它是一种最直接且有效的方法。规则集是一组条件及对应判决的集合,包括前面所涉及到的文件操作执行主体,用户权限,目标文件路径,操作时间以及操作类型(读、写、删除)等。表4-4是一个典型的规则集举例。智能化行为分析模块的实现包括三个部分:规则集初始化,规则集调整以及运用规则集完成文件操作分析。表4-4使用文件操作相关信息判定攻击行为类型的举例条件操作判决结果分类未知用户+修改/etc/crontab可能是攻击者留后门修改或删除syslog等日志文件可疑操作未知进程+扫描性质读取文件信息泄露前兆非授权用户访问文件权限提升漏洞攻击非正常时段访问(如夜间)后门或跨地域攻击......4.3.1规则集的初始化规则集初始化过程是在系统中大量的正常和异常的文件操作的基础上,提取出异常文件操作的分类规则。我们在经典的关联规则集提取算法Apriori算法的基础上完成规则集初始化这一过程。Apriori算法的思路是在从频繁1-项集逐步递增搜索一直找到频繁k-项集。为方便讨论,我们这里定义文件操作的项集如表4-5:表4-5攻击行为的文件操纵项集定义执行主体进程用户/权限文件路径操作类型时间属性攻击类型项集中前三项作为系统中的确定数据参与到Apriori算法的频繁项集生成过程中,由于时间是不断更新的值,因此不能直接参与到支持度计算,这里我们将时间进行属性分类,分为正属性和负属性,正属性表示是在蜜罐系统本地正常工作时间段(6:00~18:00),负属性表示在蜜罐系统本地正常工作时间段之外的时间段。在35
进行规则集提取时,我们合理地假设当前蜜罐系统中所发生的攻击类型是已知的,包括口令猜测攻击,更改shell启动脚本攻击,特洛伊可执行程序攻击,添加cron项作为后门攻击等等,然后分别针对发生这些攻击时的文件操作进行频繁项集生成。在生成了频繁项集后我们再通过计算频繁项集的支持度和置信度生成最终的关联规则。基于前面的思路,我们再来进行规则集提取的过程设计。现在假设在蜜罐系统中发生了多次攻击者通过FTP远程攻击的过程,我们已经得到了一些类似于表4-6的项集。我们先使用Apriori算法思路对上述的项集进行频繁项集计算。首先,我们选择最后一列攻击类型为远程FTP攻击的项集最为频繁1-项集,然后按照执行主体进程,用户/权限,文件路径,操作类型,时间属性进行频繁项集递增扩展,直到扩展到频繁k-项集。然而,一个重要的问题是,由于系统中正常文件操作对应的项集数据量较多,在我们进行频繁项集生成时,可能对攻击类型项集的支持度计数影响很大,甚至导致最后提取攻击规则集时,我们的频繁项集淹没在正常的操作项集的噪声数据中。因此,这里需要预先对项集数据进行初步处理,从发生攻击时的项集中去除系统正常运行时的项集。表4-6发生FTP远程攻击时产生的文件操作项集..................ftpdftpd/读取/home/ftpd/读文件正常时间远程FTP攻击..................ftpdftpd/读取/home/ftpd/写文件正常时间远程FTP攻击ftpdftpd/读取/home/usera/读文件异常时间远程FTP攻击..................这里我们采用了类似于做减法的机制,从系统受到攻击时产生的文件操作项集中减去系统正常运行时的项集,剩下的就是在系统正常运行基础之上新增的文件操作项集,这一点我们可以从系统运行的层面给出解释。系统正常运行时,所进行的文件操作均是系统调度进程,系统服务进程,分页交换机制产生的文件读写操作项集,这些项集在系统遭受攻击后产生的项集中数据量依然很庞大,幸运的是,这些正常操作的项集和攻击者产生的项集没有直接关联,因此我们可以对两者进行比较,然后相减。在得到上述过程后的结果项集中,大部分的项集数据都是和特定攻击类型相关的结果项集,因此接下来,我们就可以利用先前的Apriori算法进行频繁项集的搜索。36
[41]使用Apriori算法进行特定攻击类型T的频繁项集搜素算法流程如下:输入:经过噪声相减后特定攻击过程活动时产生的所有项集总和D;最小支持度阈值min_sup,这里最小支持度阈值可以根据攻击类型为T的项集来确定。输出:D中攻击类型为T的频繁项集L。1>根据min_sup寻找D中的频繁1-项集L1;2>for(k=2;Lk-1不为空集;k++){3>根据Lk-1和min_sup进行连接剪枝产生候选项集Ck;4>对于D中的每个事务t{5>找出Ck中支持t的子集Ct;6>对Ct中的每个候选项集c,c.count++;7>}8>递增频繁k-项集Lk={c∈Ck|c.count≥min_sup};9>}10>最终的频繁k-项集Lk即为所求根据Lk-1和min_sup进行连接剪枝产生候选项集Ck的子过程算法如下:输入:频繁(k-1)-项集Lk,最小支持度阈值min_sup输出:经过剪枝后的候选频繁k项集Ck1>对Lk-1中的每一个项集l1{2>对Lk-1中的每一个项集l2{3>如果(l1[1]=l2[1])∧...∧(l1[k-2]=l2[k-2])∧(l1[k-1]连接l1和l2,生成候选项集c;5>如果c是Lk-1的支持项集,则将其加入到Ck;6>}7>}}8>返回候选项集Ck判断c是否是Lk-1的支持项集的算法比较简单,只需要判断c的所有k-1项子集都属于Lk-1中。37
以上是Apriori的算法过程,这里所要做的工作就是应用该算法进行频繁项集的查找。在之前定义的包括六个项属性的项集基础上,我们按照上述算法思路在经过预处理之后的项集数据中查找频繁项集,此过程中,有几点是由于本文应用的特殊性,需要特殊注意的地方:1)由于攻击行为分析中规则的特殊性,一方面我们的规则越准确越好,另一方面我们的规则要能尽量分析出更多的文件操作记录,因此我们在查找频繁k-项集的过程中,对包括频繁2-项集到频繁k-1项集之间的频繁项集也进行了分析,以从中选出更佳的频繁项集;2)由于Apriori算法的假设之一是项集中各项是预先按字典排序的,以方便后面的连接过程,因而我们的项集在使用Apriori算法过程中需要进行调整;3)Apriori算法没有说明怎么设定最小支持度计数min_sup,因此我们这里以特定的攻击行为类型T项集出现的次数作为最小支持度计数参考,这样进行的频繁项集查找才是具有实际意义的。找到频繁项集之后,接下来需要根据频繁项集来产生规则。一般地,强规则满足支持度和置信度条件,对于置信度,我们可以根据下面的公式计算:即通过项集中存在B项时,同时存在A项的条件概率来推导出规则,这也是具有实际意义的,比如,在出现某种攻击的前提下,出现某个进程的条件概率接近于1,即该进程总在攻击发生时出现,那么我们有理由认为此进程和该攻击有关,因此也作为规则被提取出来。4.3.2规则集调整随着文件操作记录的积累,我们最初的规则集可能并不能很好的适应分析需求,比如当系统中出现了新的攻击类型,或者同种攻击类型采用了不同的攻击手段,那么使用最初的规则集可能会造成准确率降低,因此我们需要对规则集及时进行更新,这里我们采用一种增量分析的方法来进行规则更新,其思路为:一旦检测到系统中出现异常行为,无论是哪种类型的攻击,我们都记下该过程中的所有文件操作的相关项集,直至产生这些文件操作的执行主体进程及其子进程都终止。在此过程中产生的文件操作可以分为两类,一类是可以按照之前规则设定进行异常行为分类的,另一类是无法做出分类的。对于无法根据规则进行攻击类型分类的哪些文件操作,我们将其提取出来,集合在一起,适时地使用和初始化规则集相同的方法进行频繁项集查找和规则提取,然后将新产生的规则合并到之前的规则集中。38
4.3.4运用规则集分析文件操作分析是根据上面的规则集,运用分析功能中的判定逻辑,对文件操作进行敏感程度判定,图4-4显示文件操作分析判定逻辑的大体流程:图4-4文件操作分析的判定流程如果最后判定文件操作属于正常文件操作,则不进行任何处理,如果最后判定为异常文件操作,那么则依据判定的具体分类进行下一模块的文件访问操纵功能处理。4.4蜜罐文件系统的文件访问操纵模块设计文件访问操纵功能是蜜罐文件系统中间件和其他文件系统安全研究的重要区别之一,该功能也是体现蜜罐特性的一个重要方面。在智能化行为分析模块分析出文39
件操作属于攻击异常操作并对不同的攻击进行危害程度分类后,中间件将会根据不同的危害程度分类执行对应的文件访问操纵,这一过程可以表示为图4-5:图4-5根据分析出的不同攻击类型的危害程度实施对应的操纵图4-5中,根据规则集分析出的各种攻击类型被划分为可疑、恶意和危险三类,对于这三种类型的文件操作,我们分别实施三种文件访问操纵方案。对于可疑操作,它们一般是攻击者刚进入系统时的一些操作,我们希望进一步研究其攻击行为因此我们对其进行文件访问重定向,把攻击者引导到我们设置的文件目录中,然后对其兴趣点和具体攻击手段进行研究;对于攻击者的恶意操作,这类操作一般是修改系统配置,查看系统重要信息等操作,我们对这类操作进行数据操纵,防止它对系统造成危害;对于以停止系统或服务为目标的危险操作,我们将采用合理的方式拒绝响应攻击者发起的文件操作。4.4.1文件访问重定向文件访问重定向将攻击者将要或正在访问的某个文件重新定位到另外一个文件或文件夹,我们以文件打开操作为例,说明我们的设计和实现。当攻击者在攻击活动的过程中,需要打开系统中的一个文件,该文件可能是正常文件或敏感文件,当分析模块检测到该打开操作是一个可疑操作时,就将该打开操作交给文件访问操纵中的文件访问重定向子功能模块处理。该处理过程在内核中打开另一文件夹,也就是要重定位的目标文件夹,得到目标文件夹描述符的相关信息,然后在内部进行替换,使用目标文件夹的文件描述符对应的结构替换掉原来打开的文件描述符结构,40
这样,可疑操作实际上打开的是目标文件夹,后续的操作也将是基于重定位后的文件夹中进行,该过程如图4-6所示:图4-6文件访问重定向的实现机制4.4.2文件数据操纵当攻击者发起恶意文件操作,企图从系统中读取诸如密码文件等重要信息,并被分析模块分析出后,交给文件访问操纵模块处理时,文件数据操纵子功能就开始工作。此时,文件数据操纵功能先调用VFS调用中读取文件数据的相关调用,获取原始文件数据,然后在原始文件的数据基础之上进行数据更改。这一过程可以用图4-7描述:图4-7文件访问数据操纵的实现机制41
在图4-7中,如果我们按照一定的规律进行数据修改,那么我们可以将数据隐藏在看似无规律的结果数据中;另一方面,在保护系统中的重要数据不被攻击者获得的的同时,这些被修改过的无规则的返回数据对于攻击者也起到了一种迷惑作用,这也会使得攻击者采取另外的攻击方案。4.4.3文件访问拒绝在某些情况下,攻击者的恶意操作已经对系统造成的损害,如果继续让攻击者的某些文件操作顺利进行下去的话,系统将会遭受严重损失,比如攻击者试图恶意删除系统的重要启动文件,如果删除成功,系统将不能启动。在这种情况下,我们就需要采用合理的方式对攻击者的文件访问操作进行拒绝。合理的方式是指拒绝攻击者的文件操作时尽量以一种具有欺骗性质,或者转移攻击者注意的方式,而不至于使得攻击者对系统产生警觉的心理。一般地,通过返回或设置具有欺骗性质的错误代码errno,如文件以锁定,文件已删除,系统资源不足等,会具有较好的效果。图4-8是文件访问拒绝的实现示意图:图4-8文件访问拒绝的实现机制4.5蜜罐文件系统的隐蔽性功能设计在之前的讨论中,我们已经讨论过蜜罐文件系统中间件的隐蔽功能的重要性,这42
里我们将详细地说明该功能的设计和实现。中间件的隐蔽功能主要包括两个任务:1)隐藏中间件相关文件;2)隐藏中间件运行时的模块信息。下面我们分别对这两个子功能进行设计和实现。4.5.1隐藏文件在前面的关键技术中,我们已经介绍过通过劫持getdents64系统调用对文件进行隐藏的基本思路,这里我们再具体到实现该功能的流程设计中。在中间件模块加载到内核中,进行模块初始化函数调用时,我们使用之前讨论过的系统调用劫持技术对getdents64系统调用进行截获,并将该系统调用替换为我们自定义的劫持函数,同时保存系统原有getdents64调用函数的地址。下面是我们自定义的劫持函数内部流程:1>获取getdents64调用时的当前目录;2>if(当前目录是需要隐藏的中间件文件所在目录){3>对当前目录下搜索到的每一个文件{4>if(该文件是需要隐藏的中间件文件){5>跳过该文件处理,过滤掉该文件;6>}7>}8>}9>else{10>调用系统原有getdents64;11>}这样,即使我们的中间件文件还是在系统的某处,我们自己也可以对其进行读写访问,但是在上层看来,无论是对于攻击者还是普通用户,我们的中间件文件就好像在系统中消失了一样。4.5.2隐藏模块信息对于隐藏模块信息,我们可以先使用关键技术中提到的,删除模块信息链表中的43
中间件模块节点的方法,该方法的实现较为简单,其具体算法就是删除循环双链表中的一个节点的方法,只是我们在删除中间件模块信息节点时,需要将该节点指针保存起来,它在后续的使用中可能会被用到。如果我们只是使用以上一种方法进行模块信息隐藏,那么攻击者还是有可能发现系统中中间件的存在的。其原因是,/proc/modules文件中也对应地存放了系统中加载的模块信息,因此,我们必须考虑到攻击者可能通过直接读取该文件来查看模块信息,基于这点考虑,我们还需要处理对/proc/modules文件的访问。对于/proc/modules文件的数据读取访问,我们可以进行数据过滤处理,从中滤掉了中间件模块信息的部分数据,然后将结果返回给上层应用,这种方法是可行的,然而,当上层应用对文件进行分段读取时,我们的数据过滤在某些时候可能会存在一些问题,比如,所需过滤的信息数据没有包含在一次读取操作过程中,那么我们的过滤处理需要考虑分段情况。这里我们考虑到查询模块信息引起的文件操作只是对/proc/modules文件进行了读取的动作,因此我们采用了下面的方法,避免了数据过滤时复杂的分段处理:当lsmod等应用以读方式打开/proc/modules文件时,我们以/proc/modules中的内容创建一个复本,并剔除掉复本中的中间件模块信息,这里由于是对完整的复本进行数据过滤,所以不需要进行分段处理。然后我们将打开/proc/modules的文件操作使用重定向的方式引导到复本,那么通过读取/proc/modules文件获取的模块信息中将不会存在中间件模块。当模块信息查询过程结束后,我们再删除复本文件。这样既能保证复本中信息的及时性,也消除了复本被暴露可能性。4.6本章小结本章在第3章关键技术探讨的内容之上,先对蜜罐文件系统中间件进行了从总体设计,将蜜罐文件系统中间件划分为4个主要模块,包括文件操作截获记录/上下文信息提取模块,智能化行为分析模块,文件访问操纵模块和隐蔽性功能模块。在介绍完模块间的交互过程后,本章依次对上述4个功能模块进行了详细的设计,包括各模块采用的关键技术,数据表格设计,采用的算法思路以及步骤流程,并给出了部分实现细节和需要注意的问题。44
5蜜罐文件系统中间件的实验、测试和评估本实验以中间件中的各功能为基本实验单位,在给定的实验环境下,完成中间将各功能的基本原型实验,目的是验证中间件方案的正确性和可行性。5.1实验环境本实验环境的参数如表5-1所示:表5-1实验环境及参数项目参数CPU架构i386CPU主频2.5GHz内存512MB虚拟机平台VMware6.02ACE版内核版本2.6.27.18操作系统Linux在实验时,考虑到实验的简易性和安全性,作为蜜罐系统的Linux运行在虚拟机中,这可能在后面的性能测试中对数据的绝对性有一定影响,但是并不影响数据的相对性以及我们的结论,同时也不影响其他功能模块的正确性。5.2文件操作截获和记录实验文件操作截获和记录的实验是为了说明中间件的设计方案中,该模块的可行性。该实验在截获目录和文件的打开、关闭、读写操作的同时,也将其上下文信息提取出来,包括文件操作的执行进程,用户、组和文件id,文件路径,文件操作类型,时间信息等。图5-1是实验所获得的部分数据图,其中id为0表示是root用户,id为1000的是普通用户,Directory表示目标路径是文件夹,Regular表示目标路径为普通文件,R/W/X表示读/写/执行权限。45
图5-1文件操作截获记录/上下文信息提取实验结果数据5.3文件访问分析的智能性评估在文件操作截获和记录实验的基础之上,我们进行文件访问分析实验。在实验时,我们在蜜罐系统模拟恶意删除和后门攻击等带有异常文件操作的活动,然后再收集相关的文件操作信息,所收集到的信息字段和文件操作截获记录实验中的类似,只是最后需要加入我们已知的攻击类型字段,并进行一些预处理,形成我们设计中的项集。我们需要注意的是,所有通过上述实验收集到的信息,还需要进行去噪处理,即删除一些系统正常运行所产生的文件操作。对于这些文件操作信息项集,经过设计方案中的频繁项集查找,我们的频繁项集如图5-2:图5-2文件访问分析找出的频繁项集在找到频繁项集之后,我们通过计算这些频繁项集的支持度和置信度来提取出对应的关联规则,表5-2显示了上述频繁项集在攻击行为操作记录项集中的支持度和置46
信度。由于Apriori算法是基于支持度的先验概率计算,因此在某些情况下,这些频繁项集所反映出的规则可能不是完全准确的(比如图5-2中最后一条,非root用户打开了/etc/passwd文件,但该用户不具备删除此文件的权限,因此肯定不可能删除该文件),但在大多数情况下,它确实能反映出系统中各种攻击类型的特征文件操作。表5-2频繁项集的支持度和置信度频繁项集支持度置信度Evil_Deletesyslog6/160=0.03754/6=0.67Evil_Deleteauth.log6/160=0.03754/6=0.67Back_Doorcron.daily12/160=0.0755/12=0.417Back_Doorcron.weekly13/160=0.0812510/13=0.769Evil_Deletepasswd7/160=0.043751/7=0.1435.4攻击行为的文件访问操纵实验对于攻击行为的文件访问操纵,本文提出了三种方法,我们也分别进行了这三种方法的实验。5.4.1文件访问重定向图5-3文件访问重定向功能实验效果图如实验结果图5-3所示,测试目录下有两个文件filea和fileb,它们中的数据不47
同,我们现在假设攻击者要对文件filea进行访问,当启用了文件重定向功能(加载了file_redirect.ko,以下类同)后,攻击者对文件filea的访问实际被重定向到了fileb。5.4.2文件数据操纵图5-4文件数据操纵功能试验效果图如图5-4所示,它显示了文件数据操纵的实验效果。我们假设keyfile文件中存放了一些用户的密钥,在启用了文件数据操纵功能以后,如果中间件检测到对于文件数据的读取是恶意的,那么可以对其中的重要信息进行修改,再返回一些虚假信息。实验中,我们为简单起见,修改的规律简单地定义为在原来字符的ASIIC码基础上增1.5.4.3文件访问拒绝文件访问拒绝需要考虑的是,在拒绝攻击者发起的文件请求的同时,需要给出一个对攻击者具有迷惑性质的返回结果,图5-5的实验效果题显示了这一点。这里我们加入了一点条件限制,当启用了文件访问拒绝功能后,非root用户使用cat以外的应用读取keyfile文件时,访问都会失败。该限制条件仅仅是对“可以根据不同的进程,用户/权限等对攻击者进行对应的文件访问操纵”这一想法的一种验证。48
图5-5文件访问拒绝功能效果图5.5蜜罐文件系统中间件的隐蔽性测试中间件的隐藏实验包括两个部分:文件隐藏和模块信息隐藏。5.5.1文件隐藏实验图5-6文件隐藏功能效果图如图5-6所示,目录下存在3个文件,当启用了文件隐藏子模块后,再次查询文件信息时,文件File2已经被隐藏起来了。49
5.5.2模块隐藏实验为了显示出对比效果,我们这里加载了两个模块,第一个不具有模块信息隐藏功能,第二个具有模块信息隐藏功能,因此使用lsmod查看模块信息时,不能查看到后者。图5-6模块隐藏功能效果图5.6蜜罐文件系统中间件的性能测试和评估中间件的性能对于蜜罐系统具有重要意义,如果其性能太低,一方面会使系统在加载中间件模块后无法正常地运行,另一方面,对于攻击者来说,也是一个不稳定因素,这样的系统很容易被怀疑做了修改。在本文的实验部分中,我们也对中间件的总体性能进行了测试和评估。我们的测试过程是这样的,在同一个系统上,我们不做任何修改,不加载中间件,运行系统中有文件操作请求的一些基本命令,统计各命令执行所需时间;然后加载我们的中间件,对系统内核进行修改,再在相同的情况下执行一次上述的各个命令,统计各命令所需的执行时间;最后将两种情况下各命令的执行时间进行对比,如图5-7所示。需要指出的是,我们在实验室考虑到了离群点值的情况,即我们统计的结果时间是大多数情况下的平均值。50
图5-7使用中间件前后系统执行文件操作相关命令的性能对比从图5-7中可以看出,在一般情况下,我们的中间件对蜜罐文件系统本身的性能影响不是很大,图中一个例外的是du命令,它是统计目录各个文件占用磁盘空间的命令,该命令包含了频繁的文件操作调用,中间件对频繁的文件操作的处理累积起来才会对系统性能造成一定影响。因此,在一般情况下,中间件对系统性能的影响并不大,在文件操作繁忙时,其性能影响也是可以接受的。5.7本章小结本章对中间件中的各个模块功能进行了实验和测试,首先确定了测试环境,然后介绍了实验过程和效果图,并给出了部分实验的实验方法。除了对蜜罐文件系统中间件中所有主要功能进行了原型实验外,还对智能文件访问分析部分进行了测试和评估。在智能化分析规则实验中,我们提取出的某些规则可能在少数情况下造成误判,一方面,我们可以利用规则集更新过程来进行调整;另一方面,我们可以改进算法的实现,加入一些经验数据,以便取得更好的分析结果。最后,我们对整个中间件进行了性能测试,通过和正常系统的性能对比测试,我们发现中间件在提高蜜罐价值的同时,对于系统性能的影响是可接受的。51
6全文总结和展望6.1全文总结随着互联网安全问题频繁报出,寻找行之有效的发现已知和未知的安全威胁也越来越受到关注。蜜罐技术为安全研究提供了一种很好思路:对于防范网络和攻击,我们不再处于一种被动的地位,我们可以掌握主动权。本文首先介绍了当前国内外蜜罐技术的研究现状和趋势,然后以文件系统为切入点,论述了目前安全领域内对于以蜜罐技术为导向的文件系统研究的缺乏性,然后引入了本文的研究重点——基于蜜罐平台的文件系统中间件。本文以蜜罐系统作为研究平台,把握了蜜罐文件系统研究和其他类似研究的不同之处,并结合最新出现的数据分析等关键技术,提出了一个完整的蜜罐文件系统中间件模型设计,并进行了相关的论证性原型实验和评估分析。本文的工作主要有以下方面:1.总结了蜜罐技术研究的国内外发展现状和趋势,分析了安全领域内关于文件系统研究对于蜜罐技术的局限性,提出了蜜罐文件系统,并分析了蜜罐文件系统研究的特殊性,进而引出其中间件研究的必要性和意义。2.分析并整理了目前蜜罐技术研究和安全文件系统研究中的关键技术,在最新的文件系统监控技术基础上提出了文件操作的上下文全息信息收集,并将其和蜜罐文件系统中间件智能化分析结合起来。3.针对蜜罐文件系统中间件的具体应用环境,将数据挖掘中的Apriori算法应用到蜜罐文件系统中间件中,进行攻击活动中的文件操作上下文信息分析和规则提取,并提出动态调整规则集的设计思路,同时给出了运用分析出的结果规则集进行文件操作信息的异常行为分析和分类设计。4.作为蜜罐文件系统中间件研究的创新点之一,本文将文件访问操纵技术引入到蜜罐技术研究中来,使得蜜罐系统不仅能检测记录和分析攻击者的文件操作,还能根据分析结果对攻击者的文件访问操作进行包括重新定位到另一文件,更改文件操作的写入返回数据,合理拒绝访问在内的文件访问操纵,这对于引导和诱骗攻击者暴露自己的攻击方法有重要的意义,同时对于研究攻击者本身也有重要作用。该项工作也是对于蜜罐系统价值的一种提升。52
5.在深入研究各项相关技术的基础上,本文提出了一个完整的蜜罐文件系统改进方案的模型设计,即蜜罐文件系统中间件。在结合各项关键技术的基础上,本文给出了蜜罐文件系统中间件的一个完整设计方案,从文件操作截获,相关信息收集,到运用规则集算法进行攻击行为分析,再到发现异常文件操作后进行对应的引导或控制。为了避免影响到攻击者操作的真实性,中间件的隐蔽性功能也被加入到设计中。6.作为蜜罐文件系统中间件设计方案可行性的论证,本文实现了中间件的部分功能,并给出了其实验和结果分析,同时对比了加载中间件模块前后系统的文件操作的性能,并给出了中间件对系统性能影响的评估。6.2下一步工作及展望随着蜜罐技术研究的不断发展,将会出现更多关于蜜罐系统本身改进和完善的研究,而蜜罐文件系统方面的研究也将会越来越多。作为蜜罐文件系统改进和智能化相结合的研究之一,蜜罐文件系统中间件为了提升蜜罐系统的价值,已经从系统范围内的文件操作检测、智能化分析和控制、隐蔽性等多个方面做出了努力,然而,关于蜜罐文件系统,甚至就本文的中间件而言,还有更多需要改进和完善的工作,作者认为,就本文的蜜罐文件系统中间件而言,至少还有以下一些可以深入拓展和细化改进的地方:1.系统文件操作检测的全面性提升。本文中对文件操作检测是通过VFS调用劫持的方式,但考虑到复杂度等因素,只选取了系统最常用的一些调用进行劫持,在一般情况下,我们的做法不会出席太大问题,但是如果攻击者使用了自己编写的程序,并调用了一些不常用的VFS操作,那么中间件就有可能漏掉这些操作信息,这是一个需要改进的问题。2.文件操作攻击分析的准确度提高。对于文件操作的行为分析,本文采用了较常用的Apriori进行频繁项发掘和规则提取,分析过程也是基于规则的,因此不排除少数情况下可能造成误报或漏报等准确性方面的问题。一方面,我们可能需要改进我们算法的实现;另一方面,我们也可以尝试参考其他行为分析算法,寻找其他思路。3.文件访问操纵的多样性扩充。目前本文只提出了三种文件访问操纵的方法,这三种方法被应用在本文设计的中间件中,组成文件访问操纵模块,对异常文件操作进行引导和控制。然而,作者相信,随着蜜罐文件中间件系统的改进和完善,会53
有更多的文件访问操纵方法被引入,以组成更加多样化的文件访问操纵功能模块。4.中间件实现中一些细节问题的改进。本文在设计蜜罐文件系统中间件时,是从系统的层面上进行考虑,因此对于实际实现中的一些细节问题的可能没有仔细考虑,比如系统性能优化,系统稳定性等,这些问题也是下一步工作中所需解决和改进的。54
致谢在完成本篇论文的最后,我想向在两年多的研究生生活阶段中,给予我关心,支持和帮助的老师,同学,亲人和朋友致以衷心的感谢。首先,衷心感谢我的指导老师黄本雄老师和王芙蓉老师。研究生两年多的学习过程中,时常感受黄老师的教诲,他不仅在学术和专业水平上有很高造诣,更重要的是黄老师眼界开阔,能准确地把握科技界的前沿动态,和黄老师的谈话总能让人如坐春风。这里要特别感谢我的导师王芙蓉老师,王老师治学态度严谨,一丝不苟,在学术界已经累累硕果,但教导同学们时却总是态度和蔼,也经常关心同学们的学习和生活,在研究生阶段中,她也经常给予我们悉心的指导和帮助,这里再一次对王老师表示衷心的感谢。衷心感谢项目组中指导给予我指导的胡广老师,温杰博士,王君泽博士。他们专业功底扎实,对待科研项目一丝不苟,在学术上也都有独到的见解。在两年多的工作、学习和生活中,他们和我亦师亦友,衷心地感谢他们教会了很多做技术,做学问,做事,做人的道理。感谢项目组中的所有同学,包括已经毕业工作的黄毅青、胡翔磊、徐志超、王文、蒋莹莹等师兄师姐,在与他们一起工作和学习的一段时间中,我们小组气氛活跃,大家相互学习和帮助,我学到了很多东西,也收获了很多快乐。感谢项目组中08级的王舟、禹航、李文亮同学,在两年多的生活和学习中,他们给了我很多帮助,我也从他们身上学到了很多。感谢项目组中09,10级的王超、魏超、胡滨、明凯、李飞兵、马红利、殷晓君、李宇华、刘冬一、刘炜文等师弟师妹,大家在一起快乐地工作和学习,形成了良好的氛围,在成长的同时也加深了彼此的友谊。感谢通软中心所有其他项目组的老师和同学,虽然大家没有在一起工作和学习过,但工作和学习之余,彼此间也通过篮球比赛、年度中心聚会等集体活动的方式发展中心的文化。在研究生生活中,中心的老师和同学们治学严谨,科研态度一丝不苟,工作和学习之外轻松活泼,团结和睦,这些让我学到了很多知识的同时,也收获了很多快乐。最后,要特别感谢我的母亲、哥哥和奶奶,他们在给予我精神上鼓励和安慰的同时,还不时地给予我物质生活的帮助,让我顺利完成研究生学业,正是他们给了我前进的勇气和动力。再一次衷心地感谢所有支持和帮助过我的人!55
参考文献[1]BabakKhosravifar,MaziarGomrokchi,JamalBentahar.AMulti-Agent-basedApproachtoImproveIntrusionDetectionSystemsFalseAlarmRatiobyUsingHoneypot.In:ProceedingsofIEEEInternationalConferenceonAdvancedInformationNetworkingandApplicationsWorkshops(WAINA’09).Piscataway,NJ,USA:IEEE,2009.97-102.[2]NguyenAnhQuynh,YoshiyasuTakefuji.TowardsanInvisibleHoneypotMonitoringSystem.In:InformationSecurityandPrivacy:11thAustralasianConference,ACISP2006.Berlin,Germany:Springer-Verlag,2006.111-122.[3]AkihiroShimoda,TatsuyaMori,ShigekiGoto.SensorintheDark:BuildingUntraceableLarge-scaleHoneypotsusingVirtualizationTechnologies.In:Proceedings-201010thAnnualInternationalSymposiumonApplicationsandtheInternet,SAINT2010.Piscataway,NJ,USA:IEEE,2010.22-30.[4]SamuelT.King,PeterM.Chen.BacktrackingIntrusions.In:ACMTransactionsonComputerSystems.USA:ACM,2005.51-76.[5]FengZhao,Qing-HuaLi,LiJin.Anintrusion-tolerantintrusiondetectionmethodbasedonreal-timesequenceanalysis.In:Proceedingsofthe2006InternationalConferenceonMachineLearningandCybernetics.Piscataway,NJ,USA:IEEE,2006.2692-2696.[6]OlivierThonnard,JouniViinikka,CorradoLeitaetal.AutomatingtheAnalysisofHoneypotData.In:RecentAdvancesinIntrusionDetection-11thInternationalSymposium,RAID2008,Proceedings.Heidelberg,Germany:SpringerVerlag.2008.406-407.[7]HuidongJin,OlivierdeVel,KeZhangetal.KnowledgeDiscoveryfromHoneypotDataforMonitoringMaliciousAttacks.In:AI2008:AdvancesinArtificalIntelligence.21stAustralasianJointConferenceonArtificialIntelligence.Berlin,Germany:Springer-Verlag,2008.470-481.[8]Yung-ChuanLee,StephenBishop,HamedOkhravietal.InformationLeakageDetectioninDistributedSystemsusingSoftwareAgents.In:2009IEEESymposiumonIntelligentAgents(IA’09).Piscataway,NJ,USA:IEEE,2009.128-135.[9]AaronLanoy,GordonW.Romney.AVirtualHoneyNetasaTeachingResource.56
In:20067thInternationalConferenceonInformationTechnologyBasedHigherEducationandTraining.Ultimo,NSW,Australia:IEEE,2006.666-669.[10]HIOKIHirohisa.Crocus:ASteganographicFilesystemManager.In:Proceedingsofthe2ndACMSymposiumonInformation,ComputerandCommunicationsSecurity(ASIACCS’07).Broadway,NY,US:ACM,2007.344-346.[11]RajeshKumarPal,IndranilSengupta.EnhancingFileDataSecurityinLinuxOperatingSystembyIntegratingSecureFileSystem.In:2009IEEESymposiumonComputationalIntelligenceinCyberSecurity.Piscataway,NJ,USA:IEEE,2009.45-53.[12]刘金刚,李宁.Space文件系统安全可靠机制的研究与实现.空军工程大学学报(自然科学版),2008年,06期:80-84.[13]蒋增增,李兆斌,方勇.一种改进的安全文件系统模型设计.计算机安全,ComputerSecurity,2009年,08期:53-55.[14]GaspareSala,DanieleSgandurra,FabrizioBaiardi.SecurityandIntegrityofaDistributedFileStorageinaVirtualEnvironment.In:2007InternationalConferenceonComputationalIntelligenceandSecurityWorkshops,CISW2007.Piscataway,NJ,USA:IEEE,2007.58-69.[15]GlennFaden,MenloPark.MultilevelFilesystemsinSolarisTrustedExtensions.In:Proceedingsofthe12thACMSymposiumonAccessControlModelsandTechnologies(SACMAT’07).Broadway,NY,US:ACM,2007.121-126.[16]TakutoYamaguchi,ToshihiroTabata,YuichiNakamura.IntegratedAccessPermission:SecureandSimplePolicyDescriptionbyIntegrationofFileAccessVectorPermission.In:Proceedingsofthe2ndInternationalConferenceonInformationSecurityandAssurance,ISA2008.Piscataway,NJ,USA:IEEE,2008.40-45.[17]GuZhu,ZhouLiangchen,LvGuonian.TheAccessControlTechnologyofSpatialDataFilesBasedOnFileSystemFilterDriver.In:InternationalConferenceonCommunicationTechnologyProceedings,ICCT.Piscataway,NJ,USA:IEEE,2008.734-737.[18]RajeevJoshi,GerardJ.Holzmann.Aminichallenge:buildaverifiablefilesystem.In:FormalAspectsofComputing.Guildford,UK:SpringerLondon,June,2007.v19,p269-272.[19]NguyenAnhQuynh,YoshiyasuTakefuji.ANovelApproachforaFile-systemIntegrityMonitorToolofXenVirtualMachine.In:Proceedingsofthe2ndACM57
SymposiumonInformation,ComputerandCommunicationsSecurity(ASIACCS’07).Broadway,NY,US:ACM,2007.194-202.[20]AndyGalloway,GeraldLüttgen,JanTobiasMühlbergetal.Model-CheckingtheLinuxVirtualFileSystem.In:Verification,ModelChecking,andAbstractInterpretation.10thInternationalConference(VMCAI2009).Berlin,Germany:Springer-Verlag,2009.74-88.[21]KevinD.Fairbanks,ChristopherP.Lee,YingH.Xiaetal.TimeKeeper:AMetadataArchivingMethodforHoneypotForensics.In:Proceedingsofthe2007IEEEWorkshoponInformationAssurance.Piscataway,NJ,USA:IEEE,2008.114-118.[22]SudarshanS.Chawathe.EffectiveWhitelistingforFilesystemForensics.In:2009IEEEInternationalConferenceonIntelligenceandSecurityInformatics,ISI2009.Piscataway,NJ,USA:IEEE,2008.131-136.[23]JesusMolina,MichelCukier.EvaluatingFilestoAuditforDetectingIntrusionsinFileSystemData.In:Proceedings-20098thIEEEInternationalSymposiumonNetworkComputingandApplications,NCA2009.Piscataway,NJ,USA:IEEE,2009.163-170.[24]KuoZhao,QiangLi,JianKangetal.DesignandImplementationofSecureAuditingSysteminLinuxKernel.In:2007IEEEInternationalWorkshoponAnti-counterfeiting,Security,Identification.Piscataway,NJ,USA:IEEE,2007.232-236.[25]ChrisWright,CrispinCowan,StephenSmalleyetal.LinuxSecurityModuleFramework.In:USENIXSecuritySymposium,2002.17-31.[26]FedericoMaggi,MatteoMatteucci,StefanoZanero.DetectingIntrusionsthroughSystemCallSequenceandArgumentAnalysis.In:IEEETransactionsonDependableandComputing.Piscataway,NJ,USA:IEEE,2010.381-395.[27]Md.SarfarajAlamAnsari,ArijitChattopadhayay.AKernellevelVFSloggerforbuildingefficientfilesystemIntrusionDetectionSystem.In:2010InternationalConferenceonComputerandNetworkTechnology(ICCNT’10).LosAlamitos,CA,USA:IEEEComputerSociety,2010.273-279.[28]LeiLi,De-ZhangYang,Fang-ChengShen.ANovelRule-basedIntrusionDetectionSystemUsingDataMining.In:Proceedings-20103rdIEEEInternationalConferenceonComputerScienceandInformationTechnology,ICCSIT2010.Piscataway,NJ,USA:IEEE,2010.169-172.[29]SivaS.SivathaSindhu,S.Geetha,S.Subashinietal.AnActiveRuleapproachfor58
NetworkIntrusionDetectionwithNeuroC4.5Algorithm.InternationalJournalofCommunications,NetworksandSystemSciences.2008,Vol.1:314-321.[30]GuangjunSong,ZhenlongSun,XiaoyeLi.TheResearchofAssociationRulesMiningandApplicationinIntrusionAlertsAnalysis.In:SecondInternationalConferenceonInnovativeComputing,InformationandControl,ICICIC2007.Piscataway,NJ,USA:IEEE,2007.2270-2273.[31]ThanvaratKomviriyavut,PhurivitSangkatsanee,NaruemonWattanapongsakornetal.NetworkIntrusionDetectionandClassificationwithDecisionTreeandRuleBasedApproaches.In:20099thInternationalSymposiumonCommunicationsandInformationTechnology.ISCIT2009.Piscataway,NJ,USA:IEEE,2009.1046-1050.[32]ZhaoChang,WangWei-ping.AnImprovedPSO-BasedRuleExtractionAlgorithmforIntrusionDetection.In:2009InternationalConferenceonComputationalIntelligenceandNaturalComputing(CINC’09).Piscataway,NJ,USA:IEEE,2009.56-58.[33]ShinaSheen,RRajesh.NetworkIntrusionDetectionusingFeatureSelectionandDecisiontreeclassifier.In:2008IEEERegion10Conference,TENCON2008.Piscataway,NJ,USA:IEEE,2008.1-4.[34]MohammedMMazid,ABMShawkatAli,KevinSTickle.AComparisonBetweenRuleBasedandAssociationRuleMiningAlgorithms.In:Proceedingsofthe2009ThirdInternationalConferenceonNetworkandSystemSecurity(NSS’09).Piscataway,NJ,USA:IEEE,2009.452-455.[35]Chenn-JungHuang,Chin-FaLin,Ching-YuLietal.AnAdaptiveRule-BasedIntrusionAlertCorrelationDetectionMethod.In:ProceedingsFirstInternationalConferenceonNetworkingandDistributedComputing(ICNDC’10).LosAlamitos,CA,USA:IEEEComputerSociety,2010.222-225.[36]Dae-WookKim,Jae-WonYang,Kwee-BoSim.AdaptiveIntrusionDetectionAlgorithmbasedonLearningAlgorithm.In:IECON2004-30thAnnualConferenceofIEEEIndustrialEelctronicsSociety.IEEEComputerSociety,2004.2229-2233.[37]WuYang,Xiao-ChunYun,Le-JunZhang.UsingIncrementalLearningMethodforAdaptiveNetworkIntrusionDetection.In:Proceedingsof2005InternationalConferenceonMachineLearningandCybernetics.Piscataway,NJ,USA:IEEE,2005.Vol.7:3932-3936.[38]YanFu,Jun-LinZhou,YueWu.OnlineReactiveAnomalyDetectionOverStream59
Data.In:2008InternationalConferenceonApperceivingComputingandIntelligenceAnalysis,ICACIA2008.Piscataway,NJ,USA:IEEE,2008.291-294.[39]XiaotaoWei,HoukuanHuang,ShengfengTianetal.AnOnlineAdaptiveNetworkAnomalyDetectionModel.In:2009InternationalJointConferenceonComputationalSciencesandOptimization.2009.Piscataway,NJ,USA:IEEE,2009.365-368.[40]JimYuill,MikeZappe,DorothyDenningetal.Honeyfiles:DeceptiveFilesforIntrusionDetection.In:ProceedingsfromtheFifthAnnualIEEESMCInformationAssuranceWorkshop.Piscataway,NJ,USA:IEEE,2004.116-122.[41]JiaweiHan,MichelineKamber.数据挖掘概念与技术(第2版).范明,孟小峰译.北京:机械工业出版社,2007.146-180.[42]DanielP.Bovet,MarcoCesati.UnderstandingtheLinuxKernel(1stEdition).O"Reilly,2000.303-342.60
您可能关注的文档
- 闺蜜生日快乐的祝福语
- 闺蜜的生日祝福话语
- 闺蜜简短的生日祝福语
- 闺蜜过生日温馨祝福语
- 闺蜜过生日的温暖祝福语
- 闺蜜生日祝福语暖心2020
- 可爱卡通小蜜蜂模板
- 三年级语文下册第四单元14蜜蜂课件新人教版
- 三年级语文下册第四单元14蜜蜂课件新人教版20200228342
- 图中一个养有蜜蜂的容器,假设此时处于完全密封状态,悬
- 幼儿园中班优秀音乐教案《蜜蜂做工》含反思
- 幼儿园中班下学期音乐教案《小蜜蜂和小熊》
- 幼儿园中班上学期数学教案《蜜蜂飞舞》
- 中班美术课教案《小蜜蜂》含反思
- 《蜜蜂》说课稿4篇
- 幼儿园小班教案《小蜜蜂采花蜜》
- 博思堂-深圳南山集团香蜜湖项目BOX艺墅广告策略提案-15
- 风火广告-香蜜湖1号阶段执行策略