- 15.21 MB
- 2022-06-16 12:36:43 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
摘要摘要嵌入式系统应用已渗入到工业、军事、日常生活等各个领域。随着嵌入式系统应用的普遍化和网络技术的不断发展,嵌入式网络应用将成为嵌入式系统应用的发展趋势。嵌入式网络的存在,必须要考虑网络安全方面的问题。嵌入式系统本身资源有限,无法存储和运行大型的安全工具。而且网络安全技术多是被动的防御技术,对攻击者了解不足,更无法应对层出不穷的未知攻击。蜜罐是一种主动防御技术,它不会直接给网络安全带来帮助,只是收集攻击者攻击的相关信息并分析这些信息,来研究攻击者常用的攻击方式和系统所存在的漏洞,间接的为网络安全带来帮助。随着嵌入式网络应用的广泛性,本文在嵌入式网络环境下应用蜜罐技术。本文在分析研究嵌入式网络安全及蜜罐技术的基础上,提出嵌入式蜜罐和嵌入式蜜网的思路。通过对几种典型蜜罐产品的比较,本文选择虚拟蜜罐Honeyd作为嵌入式环境下的研究对象。在分析研究Honeyd的框架结构及关键技术的基础上,对蜜罐Honeyd在嵌入式系统上进行移植,并在蜜罐移植的基础上提出对蜜罐的扩展设想。最后在嵌入式网络环境下对蜜罐进行部署并测试分析,实验结果表明,嵌入式蜜罐对嵌入式网络安全起到保护作用。关键词:嵌入式系统;嵌入式网络;蜜罐;Honeyd-3-
摘要AbstractTheapplicationoftheembeddedsystemhasfilteredintoindustry,militaryaffairsandsomeotherdailylifedomains.Withthegeneralizationoftheembeddedsystemandthedevelopmentoftheembeddedsystem,networkandtheInternettechnology,theembeddednetworkwillbecomethetrendoftheapplicationoftheembeddedsystem.Withtheexistenceoftheembeddednetwork,wemusttakeattentiontothesecurity.Duetothelimitationoftheresourcesoftheembeddedsystem,itcan’tsaveandcirculatelarge-scalesecurityfacilities.Exceptthis,networksecuritytechnologiesareexcessivelypassivedefence,whichknowslittleaboutattackers,nottomentionthatitcanhandletheendlessunknownattacks.Honeypotisanactivedefensetechnology.Itwon’tbringhelptothenetworksecuritydirectly,whichjustcollectstheinformationoftheattackersandanalyzesit.Bydoingthis,thenitdosomeresearchestofindtheattackingmethodsandloopholesinthesystem,soitcanalsodomuchhelptothenetworksecurity.Withtheuniversalityoftheapplicationoftheembeddednetworks,theapplicationofthehoneypottechnologyintheembeddedsystemenvironmentisdesignedinthispaper.Thispaperwillfirstlyintroducethecharacteristicoftheembeddednetworksecurityandthehoneypottechnologyandthentaketheembeddedhoneypotandembeddedhoneynetintothought.Inseveraltypesoftypicalhoneypotproducts,thepaperchosevirtualhoneypotHoneydastheresearchobjectintheembeddedsystemenvironment.OnthebaseofanalysisofthecriticaltechnologyandgeneralframeoftheHoneyd,transplantitintotheembeddedsystem,andthenproposetheextensionscheme.Atlast,thehoneypotisdeployedandtestedintheembeddednetworkenvironment,andtheresultshowsthatembeddedhoneypotplaysaprotectiveeffectontheembeddednetworksecurity.Keywords:Embeddedsystem;EmbeddedNetword;Honeypot;Honeyd-3-
目录目录摘要IAbstractII第1章绪论11.1研究背景及意义11.2蜜罐技术研究现状21.3研究内容及论文结构3第2章嵌入式网络安全及蜜罐技术52.1嵌入式网络安全52.1.1嵌入式系统52.1.2嵌入式网络62.1.3嵌入式网络安全威胁72.1.4嵌入式网络安全技术82.2蜜罐技术102.2.1蜜罐的概念及分类102.2.2蜜罐的特点122.2.3典型蜜罐产品132.3嵌入式蜜罐142.4本章小结15第3章Honeyd框架结构及关键技术研究163.1Honeyd的框架结构163.1.1配置数据库173.1.2数据包分配器173.1.3协议管理183.1.4特征引擎183.1.5可选路由183.2关键技术193.2.1虚拟路由拓扑193.2.2指纹匹配203.2.3网络数据收集213.2.4记录日志223.2.5数据分析223.3本章小结22第4章嵌入式系统上Honeyd的移植及扩展234.1移植环境234.1.1硬件环境234.1.2软件环境234.2Honeyd的移植244.2.1建立编译环境254.2.2编译基本库文件264.2.3编译Honeyd27-3-
目录4.2.4交叉编译依赖文件284.2.5安装Honeyd324.3Honeyd的扩展方案334.3.1协议扩展334.3.2指纹扩展334.3.3其它扩展344.4本章小结34第5章系统部署及测试分析355.1蜜罐的部署355.1.1面向阻止的部署355.1.2面向检测的部署365.1.3面向响应的部署365.1.4面向研究的部署365.2嵌入式网络环境下蜜罐的部署及配置365.2.1嵌入式蜜罐的部署375.2.2嵌入式蜜罐的配置375.3蜜罐系统的启动395.4系统测试415.4.1连通性测试415.4.2操作系统识别测试425.4.3模拟服务测试435.4.4路由拓扑测试455.5数据分析455.6本章小结46结论47参考文献48附录50攻读硕士学位期间发表的学术论文51致谢52-3-
CONTENTSCONTENTSAbstract(Chinese)IAbstract(English)IIChapter1Introduction11.1Researchbackgroundandsignification11.2ResearchstatusofHoneypottechnology21.3Researchcontentsandpaperstructure3Chapter2Embeddednetworksecurityandhoneypottechnology52.1EmbeddedNetworksecurity52.1.1Embeddedsystem52.1.2EmbeddedNetwork62.1.3SecuritythreatsaboutEmbeddedNetwork72.1.4Embeddednetworksecuritytechnology82.2Honeypottechnology102.2.1Conceptandclassificationofhoneypot102.2.2Characteristicsofhoneypot102.2.3Typicalhoneypotproducts132.3Embeddedhoneypot142.4Summary15Chapter3Studyonarchitectureandkeytechnologyofhoneyd163.1Architectureofhoneyd163.1.1Configurationdatabase173.1.2Packetdispatcher173.1.3Services183.1.4Personalityengine183.1.5Routing183.2Keytechnologyofhoneyd193.2.1Virtualroutingtopology193.2.2Fingerprint203.2.3Networkdatacollection213.2.4Recordedlog223.2.5Dataanalysis223.3Summary22Chapter4Thetransplantandexpansionofhoneydbaseonembeddedsystem234.1Transplantenvironment234.1.1Hardwareenvironment234.1.2Softwareenvironment234.2Transplantofhoneyd244.2.1Buildingcompilingenvironment254.2.2Compilebasiclibraries26-3-
CONTENTS4.2.3Compilehoneyd274.2.4Cross-compilingrelyonlibraries284.2.5InstallationHoneyd324.3Expansionplanofhoneyd334.3.1Protocolexpansion334.3.2Fingerprintexpansion334.3.3Combinedwithothertechnologyapplicationexpansion344.4Summary34Chapter5Testandanalysisbaseonsystemdeployment355.1Deploymenthoneypot355.1.1Thedeploymentfacetoprevent355.1.2Thedeploymentfacetodetection365.1.3Thedeploymentfacetoresponse365.1.4Thedeploymentfacetoresearch365.2DeploymentandconfigurationofhoneypotforEmbeddednetwork365.2.1DeploymentofEmbeddedhoneypot375.2.2ConfigurationofEmbeddedhoneypot375.3Thestartingofhoneypotsystem395.4Systemtest415.4.1Connectivitytest415.4.2Operatingsystemidentification425.4.3Simulationtestservice435.4.4Networktopologytest455.5Dataanalysis455.6Summary46Conclusion47References48Thelistattached50Publishedpapersduringtheperiodofmaster51Acknowledgement52-3-
第1章绪论第1章绪论本章介绍了本文的研究背景及意义,嵌入式网络安全及蜜罐技术的研究现状,以及本文的研究内容和论文整体结构安排。1.1研究背景及意义嵌入式系统应用广泛渗入到工业、军事、日常生活等各个领域。从人们生活中使用的照相机、手机、PDA、电视、电冰箱、空调等民用电子与通信产品中,打印机、扫描仪等办公电子产品,工业控制所用控制设备,到导弹、卫星通信、潜艇等军用的控制核心,都与嵌入式系统应用有着密切的关系。互联网在经历过以“大型主机”、“服务器和PC机”、“手机和移动互联网终端(MID)”为载体的三个发展阶段后,将逐步迈向以嵌入式设备为载体的第四阶段,称之为“嵌入式互联网”。在即将到来的第四阶段中,嵌入式设备的应用将真正让互联网无处不在,人们不论是在工作、娱乐、学习甚至休息的时候,都能24小时的与互联网保持连接。据世界上最大的半导体公司英特尔公司预计,嵌入式互联网的快速崛起将到2011年时孕育出价值100亿美元,并预测,到2015年将新增150亿个嵌入式计算设备与互联网的连接[1]。可见,嵌入式网络是嵌入式系统发展的必然趋势,如果能有效利用,将为社会创造巨大的财富。嵌入式设备网络化后,一方面受到网络系统的影响,另一方面,由于系统自身的脆弱性,使得网络安全问题凸现出来,直接影响到嵌入式网络的发展。嵌入式系统网络同计算机网络一样,同样也存在着网络安全问题,同样会受到病毒侵入、数据截获、破坏数据、身份盗取等侵害。同时,由于嵌入式系统自身设备体积小、资源有限以及功能相对单一,因而,它的网络安全有自身的特点。嵌入式网络的安全问题关系到嵌入式系统今后的发展及应用前景。为了嵌入式网络的发展,必须促使更多的人力和物力投入到嵌入式网络安全工作中来。目前。嵌入式网络安全采用的主要技术有SSL/TLS技术、IPSec技术、VPN技术等。在国内外的一些期刊文献中已有很多对嵌入式网络安全的研究。例如,毕良军提出在嵌入式设备IP层结合IPsec安全机制与防火墙技术,建立IP层的新的嵌入式系统的安全机制[2]。IPSec可连续或递归应用在路由器、防火墙、主机和通信链路上,实现端到端的安全、虚拟专用网络和安全隧道技术[3]。宋文功在嵌入式网络安全性问题研究的基础上,将IPsec和SSL协议整合,提出一个嵌入式系统安全模型的解决方案[4]。匡晋湘研究了-3-
第1章绪论网络化嵌入式系统的安全机制,提出了一个以IPSec为基础,建立在IP层的网络化嵌入式系统安全机制[5]。杜皎等提出建立嵌入式网络安全设备的安全架构,并构建多层次的抗缓冲区溢出攻击机制[6]。由上述可见,目前对嵌入式网络安全的研究已经比较深入,但大多使用的是被动安全机制,使用主动安全防御技术的比较少。为了能更多的捕获攻击者对嵌入式网络的攻击的信息,分析嵌入式网络存在的安全问题,改善嵌入式网络的安全,应与主动安全防御技术配合使用,以更好的保证嵌入式网络安全。1.2蜜罐技术研究现状蜜罐技术作为一种新兴的网络安全技术,已经得到国内外众多安全人士的关注和研究。目前,研究蜜罐技术的组织机构有:蜜网项目组(Honeynetprojeet)、蜜网研究联盟(HoneynetResearchAlliance)。蜜网项目组是由众多志愿者组成的致力于提高网络安全的非盈利性组织,它的目的是提高人们的网络安全意识、提供必要的网络安全知识、提供该组织开发的开源的工具软件。蜜网研究联盟是由各个研究蜜罐的组织组成的,它独立于蜜网项目组,拥有自己的组织结构。它的目的是:共享各个成员组织的研究、开发、部署蜜罐的相关技术及研究成果,并且完全免费向外界公布这些成果。蜜网项目组于2000年6月成立。1999年至2001年,主要在蜜罐理论的验证以及蜜罐系统模型的试验,提出了概念证明性的第一代蜜网技术架构。2002年至2004年,对第一代蜜网技术进行了发展,主要对数据控制、数据捕获、数据分析方面研究,提出了第二代蜜网技术框架,并开发了其中的关键部件——HoneyWall和Sebek。在2004年推出了集成部署第二代蜜网所需的所有数据控制和捕获工具的一张自启动光盘(名为Eeyore)。2004年至2005年,蜜网项目组主要集中开发Kanga中央管理服务器,能够将各个研究团队部署蜜网所获得的数据集中上传,并提供攻击趋势分析功能。2005年5月,蜜网项目组发布了HoneyWallRoo光盘以及Sebek3.0版,在Roo版本中,提供了一个基于Web界面的非常友好的数据辅助分析工具Walleye,使蜜网技术更加完整,Roo的发布标志着蜜网技术进入了第三代[7]。面对不断改进的黑客技术,蜜罐又出现了动态蜜罐(ActivateHoneypots)、蜜场(Honeyfarm)、分布式蜜网、无线蜜网等技术[8]。为了对目前互联网的安全威胁进行更全面的分析,扩大对攻击者的欺骗,又出现了三种新的蜜罐技术:应用层蜜罐技术[9](HoneyApp)、客户端蜜罐技术[10-13](HoneyClient)和蜜标技术[14](Honeytoken)。我国对蜜罐技术的研究比较晚,2001年国家自然科学基金信息安全项目正式对蜜罐技术立项研究。从2002年起,我国学者对蜜网技术进行广泛的研究。最具代表性的是北京大学计算机科学技术研究所的“狩猎女神”项目,-3-
第1章绪论2004年9月份启动,12月份在互联网上依照第二代蜜网技术部署了蜜网。2005年2月份被接收成为世界蜜网研究联盟的成员,成为国内第一支参与该联盟的团队。于2005年9月发布了网络环境感知工具N-Eyev0.1,于2006年12月发布了HoneyBow恶意代码捕获工具[15]。在国内外的一些期刊文献中也有很多对蜜罐技术的研究。以本文所选用的产品型蜜罐Honeyd为例。NielsProvos提出了采用虚拟蜜罐Honeyd来检测和阻断网络蠕虫的防范框架[16];高为民将网络诱骗技术、主机诱骗技术及动态配置技术结合,提出了基于虚拟蜜罐Honeyd的网络入侵诱骗模型,并设计一个基于蜜罐的网络安全系统[17];官凌青提出对虚拟蜜罐Honeyd进行扩展,通过主动获取指纹信息,让Honeyd去读取这些信息并返回给攻击者[18,19];江森林提出用Honeyd来诱测网络蠕虫,并对Honeyd的源代码及关键技术代码作详细分析[20]。上述对蜜罐Honeyd的研究都是针对Linux平台的研究。毛胜利提出在Vmware上实现蜜罐技术,设计了在Vmware上实现蜜罐的结构[21]。应用于Windows系统的Honeyd程序也已经出现,其开发者为MikeDavis,最新版本为WindowsportsforHoneyd1.5c[22]。目前,尚未发现蜜罐技术在嵌入式平台上的应用研究,只在少数文献中提到嵌入式网络安全可以用蜜罐技术和蜜网技术来实现,但并未对其深入研究[23]。相信,随着嵌入式网络应用的广泛性和嵌入式网络安全问题的不断凸现,在嵌入式网络环境下使用蜜罐技术将为嵌入式网络安全起到很大的作用。1.3研究内容及论文结构本文主要针对嵌入式网络发展趋势和嵌入式网络面临的安全问题,结合嵌入式系统的特点,对嵌入式网络安全进行分析研究,重点研究了主动安全防御机制的蜜罐技术;结合嵌入式系统和蜜罐技术特点,提出了嵌入式蜜罐的思路;实现了在嵌入式平台上对蜜罐的移植,构建了一个嵌入式蜜罐,并提出了几点扩展方案;对嵌入式蜜罐在嵌入式网络环境下进行部署,验证部署的嵌入式蜜罐是否有效、功能是否达到预期目标,对部署的系统进行实验验证,并对实验结果进行分析。本文的结构安排如下:第1章介绍本文的研究背景及意义、嵌入式网络安全及蜜罐技术的研究现状,最后介绍本文的研究内容及论文各章节安排。第2章简要介绍嵌入式系统的概念,分析嵌入式网络安全威胁及防御技术,重点介绍了蜜罐技术,最后提出嵌入式蜜罐的概念。第3章分析研究蜜罐Honeyd的框架结构及采用的关键技术。第4章简要介绍Honeyd移植的环境,详细介绍Honeyd移植的过程及移植过程中出现的问题并对其分析解决,最后对移植后的Honeyd提出扩展方案。第5章分析蜜罐的部署位置,对移植后的Honeyd进行部署,-3-
第1章绪论为验证移植、部署的蜜罐的正确性,对其进行测试分析。在论文最后对本文进行总结,并提出了未来进一步研究的内容和方向。-3-
第2章嵌入式网络安全及蜜罐技术第2章嵌入式网络安全及蜜罐技术本章主要对嵌入式网络安全及蜜罐技术进行研究。首先介绍嵌入式系统的概念、特点,分析嵌入式网络的应用、嵌入式网络安全威胁及嵌入式网络安全技术;接着介绍蜜罐的概念、分类、特点及典型蜜罐的分类,最后提出嵌入式蜜罐和嵌入式蜜网的思想。2.1嵌入式网络安全2.1.1嵌入式系统嵌入式系统(EmbeddedSystem)是以应用为中心、以计算机技术为基础、软硬件可裁减,适用于对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。目前,嵌入式系统带来的工业年产值已超过了一万亿美元,嵌入式系统不仅在民品上而且在军事装备上也得到了广泛地应用。嵌入式系统的体系结构一般可分成四个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件,如图2.1所示。图2.1嵌入式系统结构图Fig.2.1Embeddedsystemstructure嵌入式系统应用于特定环境下,是一种专用的计算机系统。嵌入式系统与通用计算机系统相比所具有以下特点[24]:(1)系统专用性强嵌入式系统通常是面向特定应用的。嵌入式处理器与通用型CPU的最大不同在于嵌入式处理器大多工作在为特定用户群设计的系统中,它通常都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密。-51-
第2章嵌入式网络安全及蜜罐技术在对嵌入式系统的硬件和软件进行设计时必须重视效率,去除冗余,针对用户的具体需求,对系统进行合理配置,才能达到理想性能。(1)系统实时性高实时系统指对外来事件能在限定的时间内作出反应的系统。嵌入式系统中的相当一部分是实时系统。高实时性是对这些系统的基本要求。(2)系统资源有限嵌入式系统为了达到结构紧凑、坚固可靠和尽可能降低系统成本的目的,其存储容量和CPU的处理速度都比较有限。(3)多种技术结合嵌入式系统是将先进的计算机技术、半导体技术、电子技术及机械技术与各个行业的具体应用相结合的产物。这一点就决定了它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。通用计算机系统虽然也离不开上述这些技术,但它们相互结合的紧密程度不及嵌入式系统。(4)硬件与软件的互相依赖性强嵌入式系统的专用性决定了其硬件与软件的相互依赖性很强。两者应共同进行设计,以求达到共同实现预定功能的目的,并满足性能、成本和可靠性方面的要求。归纳嵌入式系统的几个特点如下:①软硬件一体化,集计算机技术、微电子技术和行业技术为一体;②需要操作系统支持,代码小,执行速度快;③专用紧凑,用途固定,成本敏感;④可靠性要求高;⑤多样性,应用广泛,种类繁多。2.1.2嵌入式网络随着嵌入式技术和通信技术的发展,二者之间已呈现出更多的融合趋势:一方面嵌入式设备被更多地连接到互联网上,成为互联网接入终端;另一方面这些设备之间也越来越多地实现了互联互通。嵌入式系统应用到各种行业,覆盖航空、航天、交通、网络、电子、通讯、金融、智能电器、智能建筑、仪器仪表、工业自动控制、数控机床、掌上型电脑、智能IC卡、第二代身份证验证、公共交通收费系统、医药系统以及军事等等各种领域。目前最值得关注的嵌入式产品市场如下[1]:(1)网络设备:随着下一代Internet的研发成功和投入使用,必然要有更多更强的嵌入式网络设备和产品面世,这意味着巨大的嵌入式网络设备和产品市场需求。嵌入式系统也在向无线网络发展,它有望部署到住宅及商用建筑自动化、工业设备监测-51-
第2章嵌入式网络安全及蜜罐技术以及其他无线传感和控制应用中。(1)家庭信息网络:家用电器已经开始向数字化和网络化发展,电视机、微波炉、数字电话等都将嵌入微处理机通过家庭网关与Internet连接,构成家庭信息网络。不论是高度集成的智能数字终端,还是各类数字融合产品,都离不开嵌入式系统的支持,嵌入式系统是家庭信息网络、IT融合的重要技术基础。(2)交通电子设备:汽车智能驾驶设备、汽车模拟驾驶器、汽车喷油泵调试台、轮船智能驾驶设备等都面临更新换代,而这类新型设备都离不开嵌入式系统。因此,嵌入式系统在交通指挥系统、高速公路收费监控、汽车自导航、GPS车载终端、电子警察和汽车检测中的将会拥有良好的市场前景。(3)移动计算设备:移动计算设备包括手机、PDA、掌上电脑等各种移动设备。中国拥有最大规模的手机用户,而掌上电脑或PDA由于易于使用、携带方便、价格便宜,未来几年将在我国得到快速发展。同时使用掌上电脑或PDA上网,人们可以随时随地获取信息,PDA与手机已呈现融合趋势。(4)测控仪器仪表:测控仪器仪表种类繁多,而新型的测控仪器仪表无一不是嵌入式系统。此外,在工控和仿真领域,嵌入式设备也早已得到广泛应用。中国的工业生产需要完成智能化、数字化改造,而智能控制设备、智能仪表、自动控制等,这些都为嵌入式系统提供了巨大的市场。从以上目前值得关注的嵌入式产品可以看出,嵌入式产品的应用都与网络联系在一起,嵌入式网络具有巨大的发展空间和应用前景。2.1.3嵌入式网络安全威胁嵌入式网络面临的安全威胁多种多样,它与一般的计算机网络所遇到的安全威胁有类似之处。嵌入式网络的应用领域比较广泛,在不同的应用中,所面临的安全威胁有不同程度的差异。本小节对嵌入式网络一般的安全威胁分析如下。(1)欺骗:是指攻击者装扮成一个合法用户非法地访问受害者的资源以获取某种利益或达到破坏的目的。在没有安全机制的TCP/IP网络中,自下而上的地址标识即MAC地址、IP地址、TCP端口号都是通过明文传输,而且,对于这些地址标识的修改又出人意外的简单。因此在同一网段上任何用户所采用的监听和仿冒都是隐藏的危险。(2)嗅探:是指攻击者通过对传输介质的监听非法地获取传输的信息。在嗅探过程中,将网卡设置成混杂模式就可以接收信道中所有的广播信息、用户口令、信用卡号、电子邮件等机密信息。攻击者只需要接入以太网上的任一节点进行监听,就可以捕获这个以太网上的所有数据包,通过对这些数据包进行解码、重组分析,就能窃取关键信息,从而会给用户和系统带来极大的损失。(3)冒充:-51-
第2章嵌入式网络安全及蜜罐技术就是一个实体假装成另一个不同的实体。冒充常与某些别的主动攻击形式一起使用,特别是消息的重演与篡改。例如,鉴别序列能够被截获,并在一个有效的鉴别序列发生之后被重演。特权很少的实体为了得到额外的特权可能使用冒充装扮成具有这些特权的实体。(1)重演:当一个消息或部分消息为了产生非授权效果而被重复传送时出现重演。例如,一个含有鉴别信息的有效消息可能为另一个实体所重演,目的是鉴别它自己(把它当作其它实体)。(2)拒绝服务:当一个实体不能执行它的正当功能,或它的动作妨碍了别的实体执行它们的正当功能的时候便发生服务拒绝。这种攻击可能是一般性的,比如一个实体抑制所有的消息,也可能是有具体目标的,例如一个实体抑制所有流向某一特定目的端的消息,如安全审计服务。这种攻击可以是对通信业务流的抑制,如本例中所述,或产生额外的通信业务流。也可能制造出试图破坏网络操作的消息,特别是如果网络具有中继实体,这些中继实体根据从别的中继实体那里接收到的状态报告来作出路由选择的决定。2.1.4嵌入式网络安全技术为了解决嵌入式网络面临的各种威胁与攻击,用到各种嵌入式网络安全技术。嵌入式网络安全一般采用的安全技术如图2.3所示[23]。图2.2嵌入式网络安全技术Fig.2.2Embeddednetworksecuritytechnology(1)加密技术-51-
第2章嵌入式网络安全及蜜罐技术加密技术是一种最基本的安全技术,目的是保护数据、文件、口令以及其它信息在网上安全传输。按照收发双方密钥是否相同,可把常用的加密算法分为对称加密和非对称加密两种。在对称加密算法中,收发双方使用相同的密钥。对称加密算法有保密强度高、加密速度快等优点,但其密钥必须通过安全的途径传送,密钥的分发是一个比较复杂的问题。在非对称加密算法中,收发双方使用的密钥互不相同,而且几乎不可能由加密密钥推导出解密密钥。比较著名的公开密钥算法有RSA、ECC、背包密码等,其中以RSA算法应用最为广泛。加密技术最终将被集成到系统和网络中,如在下一代IPV6协议中就内置了加密支持。(2)防火墙技术防火墙是内部网与外网之间实施安全防范的系统,可以认为是一种访问控制机制,用于确定哪些内部服务允许外部访问,以及允许哪些外部服务访问内部。该技术是目前用得较多的一种安全技术。防火墙大多放在网关上,因此在上网的嵌入式设备上使用非常方便,效果也很好,并可以减轻嵌入式产品自身的安全设计负担。但是,防火墙存在一些防火墙本身不能防范的安全威胁,如防火墙不能防范不经过防火墙的攻击。另外,防火墙很难防范来自于网络内部的攻击以及病毒的威胁。(3)身份认证技术身份认证是任何一个安全的设备所必需的组成部分,它是指用户向系统出示自己身份证明的过程。身份认证必须做到准确无误地将对方辨认出来,同时还应提供双向认证,即互相证明自己的身份。身份认证机制主要有传统口令机制、Shadow口令机制,采用挑战、应答机制的强制用户认证机制和数字签名等。其弱点是用户的认证信息在传输和存储过程中可能被破解、窃取和盗用。(4)访问控制技术访问控制是在保障授权用户能获得所需资源的同时拒绝非授权用户的安全机制,在用户通过身份认证后,访问控制机制将根据预先设定的规则对用户访问某项资源进行控制,只有规则允许时才能访问,规则不符合则拒绝访问。访问控制的目的是为了限制访问主体对访问客体的访问权限。访问控制一般包括自主访问控制(DiscretionaryAccessControl,DAC)、强制访问控制(MandatoryAccessControl,MAC)和基于角色的访问控制(RoleBasedAccessControl,RBAC)三种类型。访问控制一般被集成到应用程序和系统软件内。它的弱点是可能会被攻击者绕过,安全策略也可能出现漏洞。以上四种是通常采用的安全技术,还有一些主动安全技术,如下:(5)虚拟专用网技术(VirtualPrivateNetwork,VPN)虚拟专用网(VPN)是在两台计算机之间建立一条专用连接,通过附加的安全隧道、加密和密钥管理、用户认证和访问控制等技术实现与专用网类似的安全性能,达到在公共网络上建立虚拟的逻辑网络,从而安全传输私有的重要数据的目的。其网络使用简单、方便、灵活,采用虚拟专线形式和隧道加密技术,安全性比普通的接入线路要高。VPN的关键技术性安全大体都是建立在三原体(加密、封装、身份验证)之上的,将这三种混合在一起相互利用又可以组合成多种安全技术,如:SSL/TLS、隧道技术。IPSec是最为流行的并被采用最广泛的VPN技术,使其在没有任何基础安全设施的环境中加密数据流从而形成信息安全隧道[25]。(6)入侵检测入侵检测系统(IDS,IntrusinonDetection-51-
第2章嵌入式网络安全及蜜罐技术System)是网络安全防护体系的重要组成部分。IDS是一种主动的网络安全防护措施,它从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。常见的入侵检测系统可分为主机型和网络型。主机型入侵检测系统往往以系统日志、应用程序日志等作为数据源,保护的一般是所在的系统。网络型入侵检测系统的数据源则是网络上的数据包,担负着保护整个网段的任务。弱点是可能漏报和误报,自身也可能被入侵攻击。(6)蜜罐和蜜网技术蜜罐是一种主动防御技术,它没有任何业务上的用途,其价值就是吸引攻击者对其进行非法的使用。蜜罐技术本质上是一种对攻击者进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务及信息诱使攻击者对其攻击,减少对实际系统造成的安全威胁。蜜网技术实质上仍是一种蜜罐技术,但它与传统的蜜罐技术相比具有两大优势:首先,蜜网是一种高交互型的用来获取广泛的安全威胁信息的蜜罐,高交互意味着蜜网是用真实的系统、应用程序以及服务来与攻击者进行交互;其次,蜜网是由多个蜜罐以及防火墙、入侵检测系统、自动报警、辅助分析等一系列系统和工具所组成的一整套体系结构,这种体系结构创建了一个高度可控的网络,使得安全研究人员可以控制和监视其中的所有攻击活动,从而去了解攻击者的攻击工具、方法和动机[26]。2.2蜜罐技术2.2.1蜜罐的概念及分类(1)蜜罐的概念“蜜网项目组”的创始人LanceSpitzner给出了对蜜罐的权威定义:“蜜罐是一种安全资源,其价值在于被扫描、攻击和攻陷[27]。”这个定义表明蜜罐并无其它实际作用,因此所有流入/流出蜜罐的网络流量都可能预示了扫描、攻击和攻陷。蜜罐的核心价值就在于对这些攻击活动进行监视、检测和分析。(2)蜜罐的分类根据不同的分类标准可以对蜜罐技术进行不同的分类,下面讨论常见的两种分类方式:根据产品设计的目的分类和根据交互度分类。①根据设计目的分类根据蜜罐设计的目的可以分为产品型蜜罐和研究型蜜罐[27]。产品型蜜罐是为了减轻受保护组织将受到的攻击威胁,检测并对付恶意攻击者。它有助于减轻组织或环境中存在的风险,为系统及网络的安全保障提供特定的价值。在阻止安全方面,它采取欺骗和威慑技术。在检测方面,由于蜜罐的简洁性,它能有效地解决检测所面临的错报、漏报和数据整合的三大问题。在响应方面,-51-
第2章嵌入式网络安全及蜜罐技术蜜罐能够帮助解决提供反抗能力面临的数据污染的难题。研究型蜜罐是为了研究和获取攻击信息。研究型蜜罐通过提供一个了解计算机威胁的平台,在信息收集方面提供了广泛的价值。通常研究型蜜罐并不能减少组织的风险,但可以应用所了解的信息,诸如如何改进、检测和反应。如果组织试图改善其产品环境的安全性,就要考虑容易实现和维护的产品型蜜罐。如果组织感兴趣的是了解更多的威胁,则要考虑使用研究型蜜罐。①根据交互度分类按照交互度的不同,可以把蜜罐分为:低交互度蜜罐、中交互度蜜罐和高交互度蜜罐[27,28],这三种不同的交互度也可以说是蜜罐在被入侵程度上的不同,但三者之间没有明确的分界。低交互度蜜罐一般仅模拟操作系统和某些网络服务,一般设计简单且功能少,容易安装、配置、部署和维护。它仅仅在一些特定的端口上模拟了少量的服务,攻击者与它的交互也被限于预指定的服务。在低交互度蜜罐中攻击者不能攻击真实的系统,只能与蜜罐虚拟出来的服务打交道,因此大大减少了风险[29]。中交互度蜜罐为攻击者提供的交互能力比低交互度的蜜罐多些,它们能够预期一些活动,并且可以提供一些低交互度蜜罐所无法给予的响应。通常要花费更多的时间去安装和配置。与低交互度蜜罐相比它的部署和维护是一个更为复杂的过程。这种类型蜜罐必须要进行日常维护,以应对新的攻击。由于它具有较大的复杂度,所以出错的风险也相应增大,另一方面它可以收集到更多攻击者的信息。高交互度蜜罐不再是提供模拟的服务,而是提供一个实际操作系统,入侵者与一个真实存在的系统打交道。这样的一个系统被攻击的可能性大大提高,从而可以收集到更多、更丰富的入侵者的信息。然而,面临的风险也大大增加。高交互度蜜罐的安装和配置是极为困难和耗时,它的开发和维护都较复杂。使用哪种交互度的蜜罐取决于所要实现的目标。表2-1中从多个方面总结了不同交互级别间的权衡。这些范畴有助于判断何种级别的交互度最适合自己所在的组织。表2.1三种不同交互度的蜜罐对比Table2.1Comparisonbetweenthreedifferentinteractiondegree低交互度蜜罐中交互度蜜罐高交互度蜜罐所受威胁的程度低中高信息收集少中多运行难度低低高开发难度低高较高维护时间低低很高-51-
第2章嵌入式网络安全及蜜罐技术2.2.2蜜罐的特点相对于其他安全工具,蜜罐也有自己的优点和缺点[28]。本小节将分别讨论蜜罐的优缺点。(1)蜜罐的优点①使用简单。相对于其他安全措施,蜜罐最大的优点就是简单。蜜罐不涉及到任何特殊的计算,不需要保存特征数据库,也不需要进行配置的规则库。某些蜜罐特别是研究型蜜罐可能会复杂一些。但是所有的蜜罐都只有一个简单的前提:如果有人连接到蜜罐,就将他检测出来并记录下来。越简单就越可靠,而其他较为复杂的安全工具则要面对包括错误的配置、系统崩溃和失效在内的多种威胁。②资源占用少。蜜罐仅对那些尝试与自己建立连接的行为进行记录和响应,仅捕获进入系统的所有数据,因而,不会发生数据溢出和资源耗尽的情况。很多蜜罐都是模拟的服务,不会为攻击者留下可乘之机,成为攻击者进行其他攻击的跳板。因此,蜜罐并不像其他的安全设备(如防火墙和IDS探测器等)那样需要昂贵的硬件设备支持。用户所需做的是将一台没有多少用处的旧机器放置在网络中,静静等待蜜罐收集到的结果。③数据价值高。蜜罐收集的数据不多,但是它们收集的数据通常都带有非常有价值的信息。安全防护中最大的问题之一是从成千上万的网络数据中寻找自己所需的数据。运用蜜罐,用户可以快速地找到自己所需的确切信息。比如,Honeynet组织平均每天可以收集1~5MB的数据。这些数据都具有很高的研究价值,用户不仅可以获知各种网络行为,还可以了解进入系统的攻击者做了哪些动作。(2)蜜罐的缺点同其他安全措施一样,蜜罐也有不足之处,蜜罐不能完全取代其他安全机制,在实际应用中应将它与其他安全机制一同使用,以增强网络和系统的安全性。现将蜜罐的缺点总结如下:①数据收集面狭窄。蜜罐最大的缺点就是它仅仅可以检测到那些对它进行攻击的行为。如果攻击者闯入蜜罐所在的网络并攻击了某系统,如果这些行为的对象并不是蜜罐的主机,蜜罐对这些行为一无所知。如果攻击者辨别出用户的系统为蜜罐,它就会避免与该系统进行交互并在蜜罐没有发觉的情况下潜入用户所在的组织。②给使用者带来风险。蜜罐可能为用户的网络环境带来风险。蜜罐一旦被攻陷,就可以用于攻击、潜入或危害其他的系统或组织。不同的蜜罐可能带来不同的风险,某些蜜罐仅带来很小的风险,另一些蜜罐则为攻击者提供完整的平台进行新的攻击。蜜罐越简单,所带来的风险就越小。③指纹识别。指纹识别是蜜罐的另外一个缺点,尤其是许多商业蜜罐。“指纹-51-
第2章嵌入式网络安全及蜜罐技术识别”指的是由于蜜罐具备一些特定的预期特征或者行为,因而能够被攻击者识别出其真实身份的情况。譬如,某个蜜罐可能会设计用于模拟一台NTIIS的Web服务器,但是该蜜罐也会具备一些能够识别出其为一台UnixSolaris服务器的特征。这种矛盾的身份就可以充当蜜罐的一种签名。指纹识别对于研究型蜜罐而言,其风险性更大些。2.2.3典型蜜罐产品蜜罐可以模拟具有一个或多个攻击弱点的主机系统,为攻击者提供一个易于被攻击的目标。蜜罐中所有的假终端和子网都经过精心设计,以吸引攻击者的攻击。蜜罐监视攻击者的行径,收集相关的数据。现有的蜜罐产品很多,类别覆盖从商业到研究,从低交互度蜜罐到高交互度蜜罐,从单个蜜罐系统到复杂的蜜网。下面对典型的蜜罐产品作简单介绍[26]:(1)BackOfficerFriendly(BOF)BackOfficerFriendly通常称作BOF,它是一种免费的、低交互度的蜜罐。主要用于检测攻击的产品型蜜罐,其优点在于它易于安装、配置和维护;可运行在任何基于Windows或者Unix的平台上,包括大部分桌面系统或笔记本系统;由于其简捷性,故带来的风险小。但它仅能对7个端口的服务进行模拟,而无法对指定端口进行定制,因而增加了指纹识别的可能性,没有对任何远程的日志、预警或配置远程功能。(2)SpecterSpecter是一种商用的、低交互度的产品型蜜罐,其主要价值在于检测。它在阻止方面也具有价值——欺骗或威慑攻击者。它易于安装、配置和部署,而且可以模拟众多的服务,可以监视14个端口。但它的预编程模拟服务只限于与已知行为间的交互,IP栈和所模拟操作系统间的差异会导致指纹识别,信息收集方面主要限于事务信息和攻击与7种模拟服务间的交互。(3)HoneydHoneyd是由NielsProvos创建的一种很强大的、具有开放源代码的蜜罐,运行在UNIX系统上的,可以同时模拟400多种不同的操作系统和上千种不同的计算机。Honeyd是遵循GNUGeneralPublicLicense的开源软件,目前也有一些商业公司使用这个软件。其最初面向的是类Linux操作系统,可以运行在BSD、Solaris、GNU/Linux等操作系统上,由NielsProvos开发和维护。最新版本是2007年5月27日发布的Honeyd1.5c[29]。Honeyd能在网络层次上大量虚拟蜜罐的软件,它具有下列属性[30]:①Honeyd是一种后台进程,它产生的蜜罐是由后台进程所模拟。②Honeyd与攻击者进行交互时可以通过插件的形式载入相应的脚本来运行,这些脚本可以模拟相应的服务,以增加与攻击者交互的深度和欺骗攻击者的能力,从而能更好的获取攻击信息。-51-
第2章嵌入式网络安全及蜜罐技术①Honeyd具有相应的指纹匹配机制,能欺骗攻击者的指纹工具。②Honeyd可以模拟任何路由拓扑结构,可以配置等待时间和丢包率。③Honeyd能在网络层次虚拟大量的蜜罐,这些蜜罐之间可以是松散的集合,也可以组成严密的网络体系,从而构成一个虚拟的蜜罐网络。Honeyd是一种配置蜜罐的工具,它属于低交互级别的蜜罐软件。Honeyd运用了指纹匹配技术和虚拟网络模拟技术,在攻击者的探测面前,Honeyd所模拟出来的蜜罐能够有效地进行伪装。(2)自制蜜罐自制蜜罐完全取决于希望其完成的工作、系统的资源及最适合使用的技术。自制蜜罐的丰富性只会受到安全专家本身想象力的限制。可以设计低交互度蜜罐,如端口监视,用于捕获恶意攻击和载荷,根据它们所模拟的服务或者只是接收的连接,具体的实现会不同。其价值在于提供研究功能、获取存在于计算机世界里的威胁情报。也可以设计一种中等交互度的解决方案,其部署和实现更为复杂。(3)ManTrapManTrap是一种商用的高交互度蜜罐。它可以使用内置的的嗅探器检测任意端口上的活动,为攻击者提供了一个完全的操作系统进行交互,经由内核空间捕获所有的攻击者活动,包括诸如SSH之类的加密流量,有日志记录功能,远程功能,包括email预警以及远程管理,是一种企业级解决方案。由于它是一种高交互度的蜜罐,意味着攻击者具有利用系统危害其他系统或组织的可能,攻击者可能会对其访问的ManTrap牢笼进行指纹识别或者突破,而且它受限于Solaris操作系统。(4)HoneynetHoneynet是一种高交互度的蜜罐。它创建了一种高可控环境的架构。任何系统或应用都可置于Honeynet中,具有很好的灵活性;它对已知或未知的工具与战术都有广泛的数据捕获能力,适合于众多的组织和环境。但Honeynet的部署及维护所需的资源比较复杂,高交互性的功能引入了攻击者使用系统攻击、损害或摧毁其他系统或组织的风险,其中有些不成熟的技术会带来引入错误的风险。由上述对典型蜜罐产品分析可知,蜜罐Honeyd是一种源代码开放的、免费的、低交互度的蜜罐,本文选择Honeyd作为研究对象。2.3嵌入式蜜罐嵌入式蜜罐(EmbeddedHoneypot,EH)可以理解为是在嵌入式设备上专门配置安装的蜜罐,由此,只用一个嵌入式设备就可以把蜜罐系统搭建起来。本文选用虚拟蜜罐Honeyd作为研究对象,将其编译成能在嵌入式环境下运行的-51-
第2章嵌入式网络安全及蜜罐技术文件(具体过程见第四章)。嵌入式蜜网的概念与蜜网的概念相对应,它与蜜网的不同在于它是由多个嵌入式蜜罐组成的网络。嵌入式网络由于其相对计算机网络安全机制上的特殊性,可受到的攻击更广泛,系统更脆弱,面临的安全威胁更大。除了不断研究和采用强大的访问控制、防火墙、入侵检测、加密技术等,增强嵌入式网络监控和安全管理之外,还需要收集、分析和研究嵌入式网络攻击者的攻击手段和工具以获得更多的信息,帮助更好的保护嵌入式网络。蜜罐是一种主动防御技术,在嵌入式网络环境下配置嵌入式蜜罐就是最为有效的方法之一。任何安全技术都不能防御所有的攻击者,都有其缺点。嵌入式蜜罐也不例外,它也有可能被恶意利用,从而被攻击者所利用。有关如何识别蜜罐也有人做过针对性的研究[31]。蜜罐与反蜜罐技术之间的斗争将会是一个长期的过程。作为一种在网络环境中探测和监视攻击者行为的系统,配置嵌入式蜜罐的功能主要体现在四个方面:(1)通过搭建一个或多个易嵌入式蜜罐,诱使攻击者入侵,同时记录攻击次数、攻击手段和最易被攻击的系统等统计信息,以保护嵌入式网络;(2)体积小,便于携带,可以根据用户的需求方便放置嵌入式蜜罐;(3)简单廉价,容易管理;(4)将攻击者拖延在蜜罐上,消耗攻击所造成的破坏程度,从而间接保护真正的嵌入式网络。2.4本章小结本章主要分析了嵌入式网络安全和蜜罐技术两方面内容。首先介绍嵌入式系统及嵌入式网络,分析嵌入式网络存在的安全威胁和嵌入式网络采用的安全技术;对蜜罐技术进行重点研究,从不同方面对蜜罐进行分类,分析蜜罐具有的特点,并对几种典型的蜜罐产品进行分析。在分析嵌入式网络安全和蜜罐技术的基础上,提出嵌入式蜜罐和嵌入式蜜网的思想。-51-
第3章Honeyd框架结构及关键技术研究第3章Honeyd框架结构及关键技术研究本章首先分析Honeyd的框架结构,并对各个组件进行研究;接着分析Honeyd用到关键技术,并对用到的主要关键技术进行研究。3.1Honeyd的框架结构Honeyd结构由以下几个部件组成:配置数据库、数据包分配器、协议管理器、服务处理单元、特征引擎和可选路由部分[16],Honeyd的框架结构如图3.1所示。图3.1Honeyd框架结构Fig.3.1HoneydframeworkHoneyd启动后以守护程序的形式存在于Honeyd主机上。当Honeyd守护程序接收到发往某一个虚拟蜜罐的数据包时,首先通过数据包分配器对该数据包进行处理,检查IP包的长度,修改包的校验和。目前,Honeyd响应的是最主要的三种互联网协议:TCP、UDP和ICMP,其他协议的数据包在被记入日志后会被悄悄丢弃。其他请求的处理主要依赖于特征引擎的配置。在处理数据包之前,分配器会查询配置数据库以查找到一个符合目标地址的蜜罐配置。如果不存在特定配置,系统会采用默认的配置样本。给定配置后,数据包和相应的配置会被转交给相应的协议管理器处理。-51-
第3章Honeyd框架结构及关键技术研究除了可以建立到本地服务的连接外,Honeyd还支持网络连接的重定向。这种重定向可以是静态的,也可以是与网络连接的四个参数相关(源地址与源端口,目标地址与目标端口)。重定向可以将一个到虚拟蜜罐上的服务连接请求转发到一台真实服务器运行的服务进程。在发送数据到外部网络之前,数据包将送到特征引擎处理。特征引擎会修改数据包的内容,使得数据包看上去和从指定配置操作系统的网络栈发出的相一致[26,28]。下面将分别对Honeyd框架结构的组成部件做如下介绍。3.1.1配置数据库配置数据库实际上是一个二进制的配置文件。配置语言是一种上下文无关文法,可以设置虚拟网络、操作系统和服务。Honeyd可以将一个服务脚本绑定到一个网络端口上,该脚本可以是一个标准的shell脚本,来模拟某一个服务。配置文件中包含所有虚拟蜜罐以及虚拟网络拓扑的配置。每一个配置文件首先用一个create命令建立,然后使用add和set命令进一步地具体说明和配置,使用setpersonality命令,为所创建的系统指派一个特征。可以为该系统所支持的网络协议选择缺省的动作,像block、reset或open。如果缺省值被设置成open,指定协议的所有端口都处于监听状态;数值reset指示关闭该协议所有端口;block指出丢弃所有前往该协议的数据包。add命令用于添加服务并将服务脚本绑定到某一个端口上。最后使用bind命令为所配置的系统指派一个IP地址[32]。下面是配置文件的一个例子。createlinux//创建linux操作系统样本setlinuxpersonality"Linux2.4.7(X86)"//设置该样本的Nmap指纹setlinuxdefaulttcpactionreset//设置缺省的TCP动作setlinuxdefaultudpactionreset//设置缺省的UDP动作addlinuxtcpport21"shusr/local/scripts/unix/wuftpd.sh"//设置系统监听到21端口,并且调用脚本wuftpd.sh处理对该端口的访问addlinuxtcpport80"shusr/local/scripts/unix/apache.sh"//设置系统监听到80端口,并且调用脚本apache.sh处理对该端口的访问addlinuxtcpport25open//打开TCP25端口addlinuxtcpport110open//打开TCP110端口bind10.0.1.12linux//设置该虚拟系统绑定的地址上面的配置文件配置了一个Linux样本,开放了四个端口:21/TCP、80/TCP、25/TCP和110/TCP。21号端口和80端口绑定了两个脚本,当有攻击对这两个端口访问时就调用所绑定的信息,并绑定一个IP地址为10.0.1.12到该配置文件。由此可以看出,添加新的系统、修改已存在的系统都非常容易实现。3.1.2数据包分配器-51-
第3章Honeyd框架结构及关键技术研究数据包分配器是负责将数据包分配给相应的协议处理器部件。当获取到一个数据包时,数据包分配器首先计算该数据包的长度并进行验证,然后读取配置数据库,查找与数据包目的地址相对应的配置。如果配置存在,则根据数据包传输层的协议类型把该数据包分配给特定的协议处理器,否则就使用一个缺省的配置。3.1.3协议管理协议管理模块是模拟特定服务的部件,包括以下两部分。①ICMP协议管理支持ICMP请求。通常在默认的模式下,所有的蜜罐配置都响应ECHO请求和目的地址不可达信息。通过修改配置数据库中的配置,也可以改变ICMP响应的行为。②对于TCP和UDP包,Honeyd可以建立到任意服务的连接。这些服务是外部的应用程序,可以通过标准输入输出来接收和输出数据。不同于为每个连接创建一个新进程,Honeyd支持子系统和内部服务,子系统是一个运行在某个虚拟蜜罐名称空间下的应用程序,子系统的特定应用是在相应的虚拟蜜罐实例化的时候创建的。一个子系统可以绑定端口、接收连接和创建网络连接。子系统是作为外部进程运行的,而内部服务则是一个Honeyd内部运行的Python的脚本。内部服务要求的资源比子系统更少,但只能接收连接,不能创建连接[33]。目前,已有Python在arm-linux下的移植,但是对Python移植仍有些问题,有些Python的模块文件不能正常插入,例如,time、socket和operator等模块。本文在对Honeyd移植时未考虑用Python脚本的应用程序。Honeyd包含一个简单的TCP状态机。三次握手的建立和FIN或RST的拆卸能被很好地支持,但是拥塞窗口管理的支持还不是很完全。UDP数据包被直接的送到应用中去。当Honeyd框架接收到一个属于关闭端口的UDP数据包后,如果个性化配置中没有设置禁止,它将发送一个目的端口不可达信息的ICMP报文。3.1.4特征引擎对Honeyd来说,在被指纹识别的时候不被暴露出来是非常重要的。为使虚拟蜜罐在被探测的时候像真实主机一样,Honeyd模拟给定操作系统的网络栈行为,称之为虚拟蜜罐的“特征”。不同的虚拟蜜罐可以被赋予不同的“特征”。“特征引擎”特征化虚拟蜜罐的网络栈行为的方法就是:在每个发送出去的数据包的协议头中进行适当的修改,使得数据包符合指纹识别软件预期的操作系统的特征。Honeyd利用Nmap指纹库作为TCP和UDP连接个性化的参考,利用Xprobe指纹库作为ICMP连接个性化的参考。3.1.5可选路由-51-
第3章Honeyd框架结构及关键技术研究Honeyd通过路由部件实现虚拟网络拓扑结构。目前,Honeyd只支持有根树网络拓扑结构。在这种网络结构中,树根是数据包进入虚拟网络的关节点,中间节点代表一个虚拟路由器,每一条边则是一个可选路由,具有等待时间和包丢失等特性,而叶子节点则代表一个网络。当Honeyd接收到一个数据包时。就从根结点开始传输数据包。直到找到拥有目的IP地址的网络。而在传输的过程中,路由部件会计算包丢失和等待时间以决定是否丢弃该数据包,且对包传输中的每一次路由转换,路由部件都对数据包中的TTL值减1操作。当TTL值减为0时,路由部件会发送一个ICMP超时数据包。3.2关键技术3.2.1虚拟路由拓扑Honeyd能够模拟特定的虚拟路由拓扑。通常,虚拟路由拓扑是由数据包进入而确立的一棵树。树的每一个内部节点表示一个路由器,每一条边包含数据包的延迟和丢失等特性。终端节点对网络进行响应。Honeyd框架支持多出口并行存在,根据网络空间的需要选择出口路由器。当Honeyd接收到一个数据包时,它找到正确的路由树入口并且进行遍历,从根开始,直到找到数据包上的目的地址所在的终端。当一个路由接收到一个数据包后,将作以下的处理:直接交付给目的地址;如果不能直接交付给目的地址,将交付给下一个路由器,由它进行转交;如果找不到目的地址则丢弃数据包。数据包在每条边上的延迟的累计结果决定了是否要丢弃数据包和数据包在传送的过程中延迟多久。当遍历每一个路由器时,Honeyd框架同样要消耗TTL。如果TTL达到0,Honeyd就返回一个超时信息的ICMP数据包到源地址[34]。对于虚拟蜜罐网络来说,可以整合物理系统到虚拟蜜罐网络中去,当Honeyd接收到一个给真实系统的数据包时,它将遍历整个拓扑直到找到一个路由器能把这数据包交付到真实主机所在的网络,为了找到系统的硬件地址,有必要的话还要发送一个ARP请求,然后把数据包封装在以太网帧中。同样的,当一个真实的系统通过Honeyd框架的相应虚拟路由发送给蜜罐ARP请求时,Honeyd也要响应。图3.2为虚拟蜜罐拓扑的一种形式。-51-
第3章Honeyd框架结构及关键技术研究图3.2虚拟蜜罐路由拓扑Fig.3.2Virtualhoneypotroutertopology3.2.2指纹匹配为了在被探测的时候表现得跟真实的系统一样,虚拟蜜罐要模拟给定操作系统的网络栈行为,这是虚拟蜜罐的一部分特征。不同的特征能被设计成不同的虚拟蜜罐。特征引擎通过改变协议数据包头部来匹配特定的操作系统,从而表现出相应的网络协议栈行为,这一过程称为指纹匹配[35]。Honeyd运用Nmap的指纹数据库作为TCP/UDP行为特征的参考;用Xprobe指纹数据库作为ICMP行为的参考[36,37]。下面用NMAP提供的指纹信息来改变蜜罐网络栈的特征为例来进行说明[38]:FingerprintIRIX6.5.15monSGI02Tseq(Class=TD%gcd=<104%SI=ifconfigserver192.168.0.17④烧写zImage到RAM,执行命令如下:blob>tdownloadkernel⑤烧写zImage到flash,执行命令如下:blob>flashkernel(3)Arpd交叉编译Honeyd不具备识别非存在系统,它要依赖于另一个程序:实用工具Arpd[45]-51-
第4章嵌入式系统上Honeyd的移植及扩展。Arpd是由DugSong开发的用于识别非存在系统,它将所有发往这些系统的连接转发给Honeyd的一种工具,其所使用的方法叫ARP欺骗。对于Honeyd而言,ARP欺骗指将非存在系统的IP地址与Honeyd相绑定的情况。最终的结果是无论非存在系统的IP地址是什么,实际的包都会发给Honeyd。一旦Honeyd接收了包,它就会承担起所针对的受害者的IP地址并与获攻击者进行交互的任务。Arpd是一个小的守护程序,它能够侦听对未使用IP所作的请求并作出回应。利用Arpd和Honeyd的协作,可以用虚拟蜜罐在产品网络中利用未分配的IP地址空间。如果在局域网中有DHCP服务器存在,在判断一个IP是否被使用的时候,Arpd要和DHCP服务器进行交互以确定一个IP是否分配。可以从下面站点下载Arpd软件:http://www.citi.umich.edu.u/provos/honeyd/arpd-0.2.tar.gz。对Arpd交叉编译执行命令及出现结果如下:[root@localhostlocal]#tar–xzvfarpd-0.2.tar.gz[root@localhostlocal]#cdarpd[root@localhostarpd]#./configure--host=arm-linux……arm-linux-gcc-DHAVE_CONFIG_H-I.-I.-I.-I/usr/local/include-I/usr/local/include-I/usr/local/include-I/usr/local/include-carpd.carpd.c:Infunction`arpd_send":arpd.c:268:error:syntaxerrorbeforestringconstantarpd.c:Infunction`arpd_lookup":arpd.c:285:error:syntaxerrorbeforestringconstantarpd.c:294:error:syntaxerrorbeforestringconstantarpd.c:297:error:syntaxerrorbeforestringconstantarpd.c:Infunction`arpd_recv_cb":arpd.c:426:error:syntaxerrorbeforestringconstantmake:***[arpd.o]Error1从上面执行结果可以看出,arpd.c函数中有一些字符串常量类型错误,针对以上错误,本文修改arpd.c文件中的268/285/294,295/297/426,427行将_FUNCTION_作为syslog函数的一个参数,把引号内的“_FUNCTION_”删除,然后再编译安装。执行如下命令:[root@localhostarpd]#make&makeinstall以上步骤已经完成Honeyd在Linux平台上对所需的库文件的交叉编译。此时对Honeyd编译执行结果如下:[root@localhosthoneyd-1.0]#make……/up-techpxa270/arm-linux-tools/gcc-3.4.6-51-
第4章嵌入式系统上Honeyd的移植及扩展-glibc-2.3.6/arm-linux/bin/../lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld:cannotfind-lncursescollect2:ldreturned1exitstatusmake[2]:***[honeydctl]Error1make[2]:Leavingdirectory`/usr/local/honeyd/honeyd-1.0make[1]:***[all-recursive]Error1make[1]:Leavingdirectory`/usr/local/honeyd/7honeyd/honeyd-1.0make:***[all]Error2从上面执行结果可以看出,Honeyd编译时找不到ncurses库文件。实际上,Honeyd需要多个库文件的支持。只是在PC平台下其它库文件已存在,可以直接对其调用编译。由于嵌入式系统的资源有限,很多库文件在嵌入式系统下并不存在。需要生成实验平台下Honeyd所依赖的其它库文件才能实现对Honeyd的移植安装。根据在移植Honeyd过程中出现缺少库文件的问题,以下是对Honeyd所依赖的其它库文件进行简单介绍和交叉编译过程。(3)libdnsres和readline交叉编译LibdnsresDNS反向解析函数,它依赖于Pcre。Pcre为一个Perl的资料库,包含perl的正规表达式。readline是用户使用bash时的命令行操作,用户在命令行中输入指令、修改指令等操作都可以归到readline范畴。使用readline可以极大的方便命令行的编辑。本文选用libpcre、libdnsres和readline版本分别是:libpcre-4.1-1、libdnsres-0.1a和readline-5.2,可以分别从以下站点下载:http://www.pcre.org/http://www.monkey.org/~provos/libdnsres-0.1a.tar.gzhttp://ftp.gnu.org/gnu/readline/下载后,分别进入相应目录对其解压并编译安装,对libpcre的安装过程执行及出现结果如下:[root@localhostlibpcre-4.1-1]#./configure--host=arm-linux[root@localhostlibpcre-4.1-1]#make……/bin/sh./libtool--mode=linkarm-linux-gcc--no-undefined-g-O2-I.-I.-odftablesdftables.oarm-linux-gcc--no-undefined-g-O2-I.-I.-odftablesdftables.o./dftables>./chartables.c/bin/sh:line1:./dftables:cannotexecutebinaryfilemake:***[chartables.c]Error126对libpcre交叉编译时,结果显示dftables不能执行二进制文件。由于生成的dftables文件是在PC机下执行的,故在实验平台下无法执行。解决方法是:生成本地dftables复制到实验平台下,改变实验平台下的dftables的时间touch–mdftables,注意不执行makeclean,直接执行编译和安装命令(make&makeinstall)命令-51-
第4章嵌入式系统上Honeyd的移植及扩展,可以实现对libpcre安装。对libdnsres和readline的交叉编译执行命令如下:[root@localhostfilename]#./configure--host=arm-linux[root@localhostfilename]#make[root@localhostfilename]#makeinstall(3)libedit和ncurses交叉编译libedit是一个提供命令行编辑以及历史纪录功能的函数库。ncurses是一个管理应用程序在字符终端屏幕显示的函数库。本文所选用libedit和ncurses的版本分别是libedit-1.1.2.1和ncurses-5.2,可以分别从以下站点下载:http://www.thrysoee.dk/editline/http://www.gnu.org/software/ncurses/对于libedit的安装比较简单,执行配置文件./configure--host=arm-linux,并且修改生成的Makefile文件的编译器CC=arm-linux-gcc,再执行make&makeinstall编译安装。对于ncurses交叉编译的过程如下:[root@localhostlocal]#tar-xzvfncurses-5.2.tar.gz//解压ncurses文件[root@localhostlocal]#cdncurses-5.2[root@localhostncurses-5.2]#CC=arm-linux-gcc./configure--host=arm-linux--with-shared[root@localhostncurses-5.2]#makeHOSTCC=gccCXX=arm-linux-c++[root@localhostncurses-5.2]#makeintsall通过以上步骤,完成了Honeyd在本实验平台下所依赖的库文件安装。4.2.5安装Honeyd本小节主要完成对Honeyd移植的最后工作。前四小节建立了目标平台编译环境,并对Honeyd所依赖文件的交叉编译,对修改编译器后的Honeyd直接执行编译安装命令就可以实现对其安装,编译安装命令如下:[root@localhosthoneyd-1.0]#make[root@localhosthoneyd-1.0]#makeinstallHoneyd移植完成。需要说明的是,针对不同的嵌入式平台所包含的库文件可能不同,Honeyd所需要安装的依赖文件也不同,即使相同的嵌入式平台,平台内核的配置也可能不同。Honeyd移植的过程,为Honeyd在其他嵌入式系统上的移植提供了思路和方法。Honeyd移植的成功,为Honeyd在嵌入式系统下运用提供了基础作用。-51-
第4章嵌入式系统上Honeyd的移植及扩展4.3Honeyd的扩展方案Honeyd移植成功后,为了达到更好的迷惑性和诱骗性,可以对移植后的Honeyd进行扩展。本文对Honeyd的扩展思路主要从协议扩展、指纹扩展和与其它技术结合使用方面考虑,如图4.5所示。图4.5Honeyd的扩展Fig.4.5TheexpansionofHoneyd图4.5显示了Honeyd移植后的三种扩展思路,下面分别对这三种扩展方案进行简单描述。4.3.1协议扩展Honeyd只能响应主要的三种互联网协议:TCP、UDP和ICMP,其他协议的数据包在被记入日志后被丢弃。互联网中还包括其他很多种协议,例如,IGMP、ICMPv6等。Honeyd仅仅对TCP、UDP和ICMP协议进行响应远远达不到很好的欺骗效果。根据现有Honeyd软件只能对有限协议响应的不足,本文提出对互联网中其他协议的模拟扩展。Honeyd软件的程序设计采用的模块化设计,留有很多接口,可以实现对所需模块的添加或删除。可以根据嵌入式系统常用的协议或目前正在发展的协议,编写对这些协议进行模块,使Honeyd能够对其响应,达到更好的欺骗性。4.3.2指纹扩展Honeyd采用Nmap和Xprobe指纹数据库作为TCP、UDP和ICMP行为的参考。从Honeyd软件的源代码分析可知,在2007年5月发行的最新版本Honeyd-1.5c与2005年1月发行的Honeyd-1.0版本采用相同的指纹数据库。也就是说在近几年对蜜罐Honeyd的研究和发展过程中,Honeyd所采用的指纹没有改变。为了能让Honeyd模拟更多的主机,就要获取更多的操作系统指纹。随着越来越多的操作系统的出现和扫描工具Nmap和Xprobe的发展,可以获得更多的操作系统指纹。在嵌入式网络环境下对蜜罐指纹的配置,可优先考虑选用安全性高的操作系统的指纹。当攻击者对嵌入式网络攻击扫描时,发现有的-51-
第4章嵌入式系统上Honeyd的移植及扩展操作系统类型为安全性高的、不易攻击类型,攻击者有可能知难而退,从而达到对嵌入式网络保护的目的。当然这只是从攻击者心理方面分析配置样本时所选用的指纹,对暴力攻击则无济于事。4.3.3其它扩展任何一种安全技术都不能防御所有的攻击,只有与其他安全技术配合使用才能达到更好的效果,蜜罐技术也不例外。嵌入式蜜罐可以与入侵检测、防火墙等安全技术配合使用。入侵检测技术在安全领域被广泛地研究和利用,由于嵌入式系统的资源有限,可以选用简单的入侵检测系统与嵌入式蜜罐配合使用。Snort是一个免费的网络入侵检测系统,并且具有良好的性能,将其用于蜜罐系统可以满足所需要的功能。因此对于蜜罐系统来讲Snort是一个很好的选择。为了防止攻击者对蜜罐系统的破坏,造成蜜罐系统瘫痪,可以使用嵌入式防火墙来保护蜜罐系统。嵌入式防火墙可以配置成允许任何连接进入到几个虚拟蜜罐中,但是严格控制到系统本身的访问。嵌入式防火墙配置涉及到嵌入式系统中很多的硬件和软件配置,由于篇幅限制,本文并未对嵌入式防火墙配置作详细介绍,具体参考文献[46]。上述三种Honeyd的扩展设计方案,分别从协议、指纹和与其他技术配合使用的方面考虑。在使用过程中,可以根据不同的安全需求选择合适的扩展方案,当然也可以将这三种方案结合使用。本文只提出三种可能的扩展方案,并未对其具体实现。4.4本章小结本章首先简单介绍了Honedy的移植环境;接着建立移植Honedy所需的编译环境;在对Honedy所依赖的库文件交叉编译的基础上,完成了对Honedy在实验平台下的移植,并对Honedy移植过程中出现的问题进行分析解决,最后对移植后的Honeyd提出了扩展设计思想。-51-
第5章系统部署及测试分析第5章系统部署及测试分析本章首先对蜜罐的部署分析研究,接着在嵌入式网络环境下部署蜜罐,最后对部署的蜜罐进行测试分析。5.1蜜罐的部署要使一个蜜罐有效,必须将其部署在正确的位置。部署蜜罐的位置由部署蜜罐的目标决定。如果目标是为了检测突破防线的攻击者,可以将蜜罐部署在防火墙后的内部网上。如果目标是研究每天有多少攻击企图,可以将蜜罐部署在防火墙的外面,这样,蜜罐可以检测对系统漏洞的所有攻击行为。一般说来,大多数产品型蜜罐部署在组织的安全防线后面。部署在内部网或高风险网络上的蜜罐可以提供最高的价值,如DMZ。对蜜罐的部署位置通常有四种情况如图5.1所示。根据蜜罐对网络安全所起的作用不同,蜜罐部署可分为:面向阻止的部署、面向检测的部署、面向响应的部署和面向研究的部署[26],下面对这几种部署方式简要分析。图5.1部署蜜罐的不同位置Fig.5.1Deploythedifferentpositionofhoneypot5.1.1面向阻止的部署阻止型蜜罐是为了欺骗或阻止攻击者,部署在DMZ或内部网(如图5.1-51-
第5章系统部署及测试分析蜜罐B或蜜罐C)上能发挥最大的作用,主要用来欺骗或阻止那些成功穿越防火墙的攻击者。蜜罐A在防火墙外部,攻击者如果发现蜜罐A并试图与其交互,如果交互成攻,则更多的攻击者会发现系统,从而进行更多的攻击。一般面向阻止的蜜罐部署在外围防线之后或内网上。5.1.2面向检测的部署如果希望使用蜜罐来检测攻击或其他未授权的活动,蜜罐应部署在防火墙或安全线之后。为了进行检测,应将蜜罐部署在内网或高风险的网络上,如DMZ(如图5.1蜜罐B和蜜罐C)。如果将蜜罐放在防火墙前面(如蜜罐A),能够检测到很多攻击,但检测到的攻击太多,令管理员无所适从,会降低蜜罐的作用。5.1.3面向响应的部署响应型蜜罐的价值是提供成功攻击的信息,镜像的是用户的产品型系统的功能和表现。响应型蜜罐与阻止型和检测型蜜罐很类似,同样也是要部署在安全防线后面才能发挥最大的作用。响应型蜜罐应该部署在与它们正在镜像的产品型系统相同的位置。(如图5.1蜜罐B)如果产品型号Web服务器被攻击了,该响应型号蜜罐同样会遭到攻击,可以使用它来收集信息,以对攻击做出反应。把响应型蜜罐部署在防火墙之前(如图5.1蜜罐A)很容易被来自Internet的攻击所伤。大多数对服务器的攻击将目标定在DMZ网上,这样的攻击看不到部署在内网上的蜜罐C。响应型蜜罐只有部署在它们镜像的系统附近才有发挥最大的作用。5.1.4面向研究的部署研究型蜜罐用来收集关于威胁的信息。一旦研究型的蜜罐被攻击,它会被用来攻击其他的非蜜罐系统,特别是临近的其他组织的系统。所有的研究型蜜罐都需要某种形式的数据控制,如部署在防火墙后。对研究型蜜罐而言,蜜罐D在实现数据控制方面设置的最好。在该情况下可以建立一个防火墙规则库,允许任何来自Internet的系统攻击研究型蜜罐D,不允许研究型蜜罐D攻击其他系统,这就要求防火墙阻断由研究型蜜罐启动的所有出境连接。由以上四种不同的蜜罐部署位置,可以根据部署蜜罐的目的自行配置部署。5.2嵌入式网络环境下蜜罐的部署及配置本节主要对移植后蜜罐Honeyd在嵌入式网络环境下部署和配置。由5.1节蜜罐部署位置的分析可知,可以根据希望蜜罐实现的目的放在网络的任何位置。近来的研究表明,80%的攻击都是通过网络内部的入侵,把蜜罐部署在嵌入式网络内部是非常必要的。本文主要考虑在嵌入式网络环境内部部署蜜罐。-51-
第5章系统部署及测试分析5.2.1嵌入式蜜罐的部署嵌入式蜜罐的部署是指在嵌入式网络内部部署一个嵌入式蜜罐,嵌入式蜜罐部署结构图如图5.2所示。图5.2嵌入式蜜罐部署结构图Fig.5.2StructuraldigramofEmbeddedHoneypotdeployment从图5.2显示可以看出,嵌入式蜜罐部署在嵌入式网络内部,配置的蜜罐主机的IP地址为10.0.0.1,蜜罐主机所虚拟的网络拓扑如图5.2中右边虚线框内的网络拓扑:两个路由器,路由器1(IP为10.0.0.100)和路由器2(IP地址为10.0.1.100);四个虚拟蜜罐。具体蜜罐的网络拓扑配置详见5.2.2节。5.2.2嵌入式蜜罐的配置为了验证部署的嵌入式蜜罐系统,首先对嵌入式蜜罐进行配置,蜜罐配置如下。蜜罐主机(一个嵌入式设备)被连接到真实的嵌入式网络环境中,为其分配的IP地址为10.0.0.1。所有实现虚拟蜜罐系统的软件都将运行该嵌入式设备下。图5.2右边虚线框图部分显示出要模拟的虚拟网络拓扑结构。虚拟蜜罐宿主机的IP地址为10.0.0.1,实验用的攻击机的IP地址为10.0.0.17,攻击机与虚拟蜜罐宿主机处于同一个网段。从这个网段通过一个IP地址为10.0.0.100的路由器(路由器1)模拟一个地址空间为10.0.1.0/24的网络,在这个网段中包括两个虚拟蜜罐:虚拟蜜罐1(10.0.1.11)和虚拟蜜罐2(10.0.1.12)。从这个网段通过一个IP地址为10.0.1.100的路由器(路由器2)又增加了另一个地址范围为10.1.0.0/16的网络,在此网络中分布了两个蜜罐虚拟蜜罐3(10.1.0.11)和虚拟蜜罐4(10.1.0.12)。Honeyd支持一个完全网络拓扑(包括路由)的创建,它可以模拟不同类型和品牌的路由器。下面主要讨论Honeyd的虚拟网络拓扑的配置。为了模拟这个网络,首先建立一个Cisco路由器配置样本并将其绑定在10.0.0.100和10.0.1.100两个IP地址上:-51-
第5章系统部署及测试分析###Cisco路由器createroutersetrouterpersonality"Cisco7206runningIOS11.1(24)"setrouterdefaulttcpactionresetaddroutertcpport23"perl/usr/local/scripts/cisco/router-telnet.pl"bind10.0.0.100routerbind10.0.1.100router路由器1(10.0.0.100)是物理网络到虚拟网络的入口点,可用“routeentry”配置命令指定这个入口点:routeentry10.0.0.100network10.0.0.0/16上面配置行通知Honeyd路由器10.0.0.100是前往虚拟网络10.0.0.0/24的入口点。10.0.0.0/24网络可经过路由器1直接可达。“routelink”配置命令可指定哪个网络是直接可达的,不需要更进一步的跳步(hop)。本文设计的虚拟网络中配置行如下所示:route10.0.0.100link10.0.0.0/24上面的第一个IP地址是路由器1的IP地址。在link关键字后所指定的网络地址定义哪个网络直接可达。使用多个link命令就可以将多个子网直接连接到一个路由器上。从图5.2中可以看出,在第一个虚拟网络10.0.1.0/24添加了一个IP地址为10.0.1.100的路由器2,因此从这个网络中又分离出另一个网络。这个新的网络地址范围是10.1.0.0/16。这样,需要首先在配置文件加入一个新的网关(路由器2)。使用“routeaddnet”命令添加一个新的网关,命令格式如下:route10.0.0.100addnet10.1.0.0/1610.0.1.100上面的配置命令行指出10.0.0.100(路由器1)可以通过网关10.0.1.100(路由器2)到达网络10.1.0.0/16。第一个IP地址是路由器1的IP地址,最后一个IP地址是新的网关的IP地址,所指定的地址范围是通过新的网关可达的网络的地址范围。在添加了路由器2之后,需要明确指定哪些IP地址可从路由器2直接可达。可使用路由link命令做到这点。在配置的网络中,10.1.0.0/16子网由路由器2直接可达。因此可采用下面的命令格式:route10.0.1.110link10.1.0.0/16综上所述,配置文件通过三类配置行的组合可以模拟出复杂的网络拓扑。即:使用“routeentrynetwork”配置行指出进入虚拟网络的入口;使用“routelink”配置行指出从网关直接可达的网络;使用“routeaddnet”配置加入到达另一个子网的网关。Honeyd虚拟网络拓扑通过下面的配置命令行实现:-51-
第5章系统部署及测试分析routeentry10.0.0.100network10.0.0.0/16route10.0.0.100link10.0.0.100/32route10.0.0.100addnet10.1.0.0/1610.0.1.100route10.0.0.100link10.0.1.0/24route10.0.1.100link10.1.0.0/16从中可以看出使用routeaddnet命令可以更详细地描述路由器1和路由器2之间的网络连接特性。附录中honeyd1.conf为本文实验用到完整的Honeyd的配置文件。5.3蜜罐系统的启动本节主要介绍蜜罐系统的启动过程及在嵌入式设备下运行Honeyd应注意的事项。(1)建立日志文件建立Honeyd的日志文件的过程如图5.3所示。图5.3建立日志文件Fig.5.3Setupthejournaldocument图5.3是建立开发板上Honeyd日志文件的过程,从图中可以看出建立了两个日志文件,honeyd.log记录蜜罐受攻击的每一步过程,server.log记录对模拟服务的攻击信息。(2)更改脚本信息Honeyd是用脚本来模拟服务的,脚本内指定了该脚本所存在的路径及记录日志的路径。根据建立日志文件的路径和脚本所存放的路径修改相应的脚本信息。在实验过程中,为了调试的方便,把开发板下的/mnt/nfs目录挂载到虚拟机/usr/local目录下,实现/usr/local目录下的内容与/mnt/nfs目录下的内容共享。挂载命令:[root@intel/]#mount-onolock192.168.0.140:/usr/local/mnt/nfs用到的脚本要注意路径的修改。例如,把目录/usr/local/honeyd/scripts下的msftp.sh文件的DATFILES修改为:DATFILES=”/mnt/nfs/scripts/dat/msftp.files”,否则会找不到执行文件的路径。(3)启动Honeyd-51-
第5章系统部署及测试分析在虚拟蜜罐宿主机上启动虚拟蜜罐Honeyd。Honeyd需要与Arpd配合使用,因为Honeyd没有能力将攻击引向它,它仅能够与攻击者进行交互作用。Arpd监视未被使用的IP空间,将攻击引向Honeyd蜜罐,用于ARP欺骗。因此,要同时执行Arpd和Honeyd程序。为了便于执行,可以将Arpd和Honeyd的启动命令写在脚本程序start-arpd.sh和strat-honeyd.sh中,分别执行两个脚本程序启动两个守护程序。在终端中执行:./start-arpd.sh./start-honeyd.sh实现对Arpd和Honeyd的启动。其中启动Honeyd的命令脚本如图5.4所示:图5.4Honeyd的启动脚本Fig.5.4ThestrartingscriptofHoneyd其中参数选项内容如下:-f读取Honeyd的配置文件;-p指定Nmap指纹识别库文件;-x指定xprobe指纹识别库文件,其中xprobe决定了Honeyd如何对ICMP的指纹识别工具进行动作;-a指定Nmap指纹识别库的关联文件;-l将Honeyd记录的数据包和日志写入指定的日志文件中;-s将Honeyd记录的服务层日志写入到指定的服务日志文件中。最后的10.0.1.11-10.0.1.1210.1.0.11-10.1.0.1210.0.0.10010.0.1.100指出了Honeyd所监测的IP地址段,即Honeyd只对这个段的IP进行响应。Arpd及Honeyd的启动如图5.5。-51-
第5章系统部署及测试分析图5.5Arpd及Honeyd的启动Fig.5.5StrartingarpdandHoneyd从图5.5标记处可以看出,运行Arpd正在监听所配置网段,Honeyd已经在后台开始运行。(4)启动TCPdump蜜罐的数据捕获可以用蜜罐系统活动日志,还可以用嗅探器TCPdump捕获网络数据包。TCPdump是根据使用者的定义对网络上的数据包进行截获分析的工具。TCPdump工具在本实验平台上不存在,要想使用此工具,需要生成arm-linux环境下的TCPdump。可以从站点http://www.tcpdump.org下载tcpdump-1.0.0.tar.gz,解压并对其交叉编译安装。若截获到达主机为10.0.1.11的数据包,执行结果如图5.6所示。图5.6TCPdump执行结果Fig.5.6ExecutingresultsofTCPdump从图5.6可以看出,TCPdump正在监听10.0.1.11的eht0端口。5.4系统测试本文实验主要对图5.2配置的蜜罐进行测试,测试的配置文件详见附录。本实验主要从功能上对配置的蜜罐进行测试,即从蜜罐模拟的连通性、操作系统类型、模拟的服务和路由拓扑四方面测试。5.4.1连通性测试在实验攻击机10.0.0.17上用ping命令测试蜜罐的连通性,测试IP为10.1.0-51-
第5章系统部署及测试分析.12的虚拟蜜罐,测试结果如图5.7所示。图5.7连通性测试Fig.5.7Connectivitytest从图5.7测试结果可以看出,虚拟蜜罐10.0.1.12与网络是连通的,达到连通性的测试目的。5.4.2操作系统识别测试实验攻击机10.0.0.17利用Nmap工具对虚拟蜜罐4(10.1.0.12)的操作系统类型和端口开放情况进行扫描,扫描结果如图5.8所示。图5.8Nmap10.1.0.12主机结果Fig.5.8ResultsofNmap10.1.0.12host由图5.8可以看出,Nmap对虚拟蜜罐4(10.1.0.12)的操作系统类型和端口开放扫描结果是:虚拟蜜罐4(10.1.0.12)的操作系统类型为Linux2.4.7(X86),开放的端口有21/TCP、25/TCP、80/TCP和110/TCP。测试结果与配置的虚拟蜜罐相一致,达到预期测试结果。为了进一步验证实验结果,选用不同网段的其他虚拟蜜罐进行测试,测试结果如图5.9所示。-51-
第5章系统部署及测试分析图5.9Nmap10.0.1.11主机结果Fig.5.9ResultsofNmap10.0.1.11host从图5.9可以看出,在不同网段对虚拟蜜罐的操作系统类型和开放端口的扫描结果与配置文件相符。从图5.8和5.9的测试结果可以看出,虚拟蜜罐在对指纹识别和端口开放扫描方面起到欺骗性,达到预期部署蜜罐的目的。5.4.3模拟服务测试本节主要对虚拟蜜罐4(10.1.0.12)所模拟的Web服务和FTP服务进行测试。由图5.8的测试可以看出,虚拟蜜罐4开放了21号端口和80端口。由附录中对蜜罐的配置文件可知在虚拟蜜罐4的21号端口和80端口都绑定了相应的模拟服务脚本,下面分别对这两个服务测试。(1)测试模拟10.1.0.12主机的Web服务在实验攻击机10.0.0.17上访问虚拟蜜罐4(10.1.0.12)模拟的Web服务。测试结果如图5.10所示。-51-
第5章系统部署及测试分析图5.10Web服务测试结果Fig.5.10Webservicetestingresults从图5.10测试结果可以看出,对10.1.0.12的Web服务进行访问,可以访问到该蜜罐模拟的站点,达到测试的目的。可看出虚拟蜜罐10.1.0.12在模拟Web服务时起到一定的欺骗性。(1)测试模拟10.1.0.12主机的FTP服务在实验攻击机10.0.0.17上访问虚拟蜜罐4(10.1.0.12)模拟的FTP服务。测试结果如图5.11所示。图5.11FTP服务测试结果Fig.5.11FTPservicetestingresults-51-
第5章系统部署及测试分析从测试结果图5.11可以看出,当输入正确的用户名(anonmous)和密码后,可以进入Honeyd模拟FTP服务,得到与相应真实服务相同的响应。可以看出Honeyd模拟的FTP服务起到迷惑攻击者的作用。从图5.10和5.11虚拟蜜罐对Web服务和FTP服务的测试结果可以看出,虚拟蜜罐能够模拟一些服务,达到一定的欺骗效果。5.4.4路由拓扑测试路由拓扑测试主要对经过两个虚拟路由器的虚拟蜜罐4进行测试。在攻击机10.0.0.17上执行traceroute以获取从攻击机到虚拟蜜罐4的路经,执行结果如图5.12所示。图5.12路由拓扑测试Fig.5.12Routedetectingtesting从图5.12的执行结果上可以看出,从攻击机10.0.0.17到10.1.0.12,经过了两个路由器10.0.0.100和10.0.1.110。路由器10.0.0.100和10.0.1.100都是虚拟路由器。路径探测的结果与配置文件honeyd1.conf中模拟的网络拓扑一致。可见虚拟蜜罐系统可以成功地进行路由拓扑。5.5数据分析蜜罐系统一方面模拟真实的服务,向攻击者返回的信息使其感到是与真实服务交互,另一方面记录下这些攻击者对这些模拟服务的访问,使蜜罐系统管理员能够分析攻击者的行为。对蜜罐数据的收集本文采用Honeyd本身的日志和TCPdump捕获的网络数据包。(1)Honeyd的日志记录Honeyd的日志记了每一次的攻击行为。它记录了进出蜜罐的每一次连接。对虚拟蜜罐10.0.1.11进行Nmap扫描时的一部分日志记录如图5.13,日志存放在5.3节所建的/var/log/hoendy.log的文件内。-51-
第5章系统部署及测试分析图5.13Honeyd的日志记录Fig.5.13ThelogofHoneyd由图5.13可以看出,Honeyd日志记录了正在发生的攻击行为。以记录日志的3172行为例说明,2009-11-11-15:34:20是连接蜜罐的时间;tcp(6)是协议类型;S是tcp头标志;10.0.0.17是连接的源IP;10.0.0.11是目的IP;NMAPsynscan3是检测出的扫描类型。(1)TCPdump记录TCPdump的记录的部分信息如图5.14所示。图5.14TCPdump的记录Fig.5.14RecordsofTCPdump图5.14中TCPdump记录的是攻击者对虚拟蜜罐10.0.1.11的FTP服务进行访问时的记录,与所进行的FTP访问信息相符。5.6本章小结本章首先对蜜罐的部署位置分析研究,在结合蜜罐部署位置和目前内部网络受到严重攻击的现实基础上,本文选择在嵌入式网络内部部署蜜罐,并对部署的蜜罐进行配置。对部署配置的蜜罐进行测试分析,实验结果表明,蜜罐在嵌入式网络环境下能够达到迷惑和欺骗攻击者的目的,证明了本文提出的在嵌入式网络环境下使用蜜罐技术的可行性。-51-
结论结论本文针对嵌入式网络面临的安全问题,分析了嵌入式网络安全技术,主要对安全技术中的蜜罐技术进行了深入研究,提出在嵌入式网络环境下使用蜜罐技术的观点,并将蜜罐技术应用到嵌入式网络环境中。通过将蜜罐Honeyd在嵌入式Linux平台上的移植,构建了一个嵌入式蜜罐,最后对嵌入式蜜罐在嵌入式网络环境下进行部署并测试分析,成功实现了蜜罐技术在嵌入式网络环境下的应用,提高了嵌入式网络安全。本文主要工作总结如下:(1)在分析嵌入式系统的特点、嵌入式网络安全和蜜罐技术的基础上,提出嵌入式蜜罐的思想。(2)针对提出的嵌入式蜜罐的思想,实现了蜜罐Honeyd在嵌入式Linux平台下的移植,构建了一个嵌入式蜜罐。(3)在构建嵌入式蜜罐的基础上,为嵌入式蜜罐的应用提出了扩展方案。(4)为了验证嵌入式蜜罐在嵌入式网络环境下使用的可行性,在嵌入式网络环境下部署了一个嵌入式蜜罐系统,通过实验,验证了嵌入式蜜罐在嵌入式网络环境下应用的有效性,提高了嵌入式网络的安全性。本文达到了预期的目标,但还有需要进一步研究与完善的地方:(1)利用嵌入式蜜罐对各种嵌入式网络环境下的恶意软件和黑客的攻击进行研究和全面分析。(2)在嵌入式网络环境下部署多个嵌入式蜜罐,即部署嵌入式蜜网,收集更多的攻击信息。(3)本文对嵌入式蜜罐的扩展只提出扩展方案,并未对其具体实施。为了更好的利用嵌入式蜜罐,保护嵌入式网络安全,提出的扩展方案是下一步工作研究的重点。-51-
参考文献参考文献[1]赫建营.五大嵌入式市场值得关注.http://market.c114.net/584/a360617.html[EB/OL].2008[2]毕良军.基于Internet的嵌入式系统网络安全应用研究[D].合肥:合肥工业大学硕士学位论文,2002,6:33,40-44[3]Donald.C.Lee.Cisco网络增强型IP服务[M].北京:电子工业出版社,2006[4]宋文功,杨培敏.基于IPSec和SSL的嵌入式网络安全应用研究[J].微计算机信息.2007,23(8-2):37-39[5]匡晋湘.网络化嵌入式系统安全机制的研究[D].湖南大学硕士学位论文.2005.4:27-43[6]杜皎,李国辉,荆继武.以全新嵌入式网络安全设备安全构架——建立多层次抗缓冲区溢出攻击机制[J].计算机安全.2005:7-9[7]诸葛建伟.蜜罐技术的发展趋势[EB/OL]http://www.52lg.net/reports/miguanjishujiqiyingyongpeixunjiangyi-disanjiang.pdf/[8]Corey,J.AdvancedHoneypotidentificationandexploitatoin[EB/OL].http://www.phrack.org/fakes/p63/p63-0x09.txt.2004[9]JohnnyLongetal.GoogleHacking技术手册.李静译.北京:机械工业出版社,2009[10]MITREHoneyclientProjectt.http://www.honeyclient.org/trac/[EB/OL].2008[11]Honeyc[EB/OL].http://www.nz-honeynet.org/honeyc.html.[12]StriderHoneyMonkeyExploitDetection[EB/OL].http://research.microsoft.com/honeymonkey/.2009[13]WelcometoStopBandware.org[EB/OL].http://www.stopbadware.org/.2009[14]Honeytoken.http://en.wikipedia.org/wiki/Honeytoken.2008[15]Zhugejw.HoneyBow[EB/OL].http://www.honeynet.org.cn.2008[16]NielsProvos.AVirtualHoneypotFramework[EB/OL].http://www.citi.umich.edu/techreports/reports/citi-tr-03-1.pdf2003[17]高为民.基于入侵诈骗技术的网络安全系统的研究与设计[D].湖南:湖南大学工程硕士学位论文.2007:32[18]官凌青.蜜罐Honeyd的扩展设计与实现[D].西安:西安电子科技大学硕士学位论文.2007:37-38[19]官凌青,娄嘉鹏,刘莉.Honeyd的扩展设计与实现[J].北京电子科技大学学报.2006,14(4):83-85[20]江森林.蜜罐软件Honeyd的研究[D].无锡:江南大学工学硕士学位论文,2006,27[21]毛胜利.基于Vmware的蜜罐设计[J].福建电脑,2008(11):124-125[22]NetVigilanceWinHoneyd[EB/OL].http://www.netvigilance.com/winhoneyd[EB/OL].2009[23]王楠,邓依群.嵌入式Internet的实现技术与安全问题分析[J].微计算机信息,2006,22(9-2):12-13[24]沈连丰等.嵌入式系统及其开发应用[M].北京:电子工业出版社,2005,7[25]Corey,J.AdvancedHoneypotidentificationandexploitatoin[EB/OL].http://www.phrack.org/fakes/p63/p63-0x09.txt.2004[26]TheHoneynetProject[EB/OL].http://www.honeynet.org/[27]LanceSpitner.Honeypot:追踪黑客[M].邓云佳译.北京:清华大学出版社,2004-51-
参考文献[1]熊华,郭世泽等.网络安全——取证与蜜罐[M].北京:人民邮电出版社.2003,41-43,97-136[2]XinwenFu,WeiYu,DanCheng,etal.OnrecognizingVirtualHoneypotsandCountermeasures[J].The2ndIEEEInternationalSymposiumonDependable.AutonomicandSecureComputing.2006:211-218[3]NielsProvos.HoneydResearchPerformance[EB/OL].http://honeyd.org/performance.php.2004[4]郭文举.反蜜罐技术的研究与实践[D].重庆:重庆大学工学硕士学位论文.2005,10[5]NielsProvos.honeyd(8)-Linuxmanpage[EB/OL].http://linux.die.net/man/8/honeyd.2002[6]薛强,孙济洲.完善入侵检测蜜罐系统的方法[J].计算机工程,2004.(15):111-113[7]LanceSpitzner.KnowYourEnemy:WormsatWar[EB/OL].http://project.honeynet.org.,2001[8]LanceSpitzner.Honeypots:TrackingHackers.AddisonWesleyProfessional,2002[9]Fyodor.RemoteOSDetectionviaTCP/IPStackFingerprinting[EB/OL].www.nmap.org/nmap/nmap-fingerprinting-article.html,1998[10]OfirArkin,FyodorYarochkin.Xprobev2.0:A“Fuzzy”ApproachtoRemoteActiveOperatingSystemFingerprinting.www.xprobe2.org.2002:2,5[11]Nmaptechnology[EB/OL].http://www.nmap.org.2004:2,5,11[12]SmootCarl-Mitchell,JohnS.Quarterman.UsingARPtoImplementTransparentSubnetGateways.RFC.1987:4[13]S.Hanks,T.Li,D.Farinacci,P.Traina.GenericRoutingEncapsulation(GRE)[J].RFC.1994:4[14]S.Hanks,T.Li,D.Farinacci,P.Traina.GenericRoutingEncapsulationoverIPv4networks.RFC.1994:4[15]NielsProvos.Libevent–aneventnotificationlibrary[EB/OL].http://www.monkey.org/~provos/libevent.2004[16]LuisMG.tcpdump/libpcap[EB/OL].http://www.tcpdump.org/.2009[17]NielsProvos.DevelopmentoftheHoneydVirtualHoneypot[EB/OL].http://www.honeyd.org.2008[18]NielsProvos.Honeyd–NetworkRhapsodyforYou[EB/OL].http://www.citi.umich.edu/u/provos/honeyd/.2006[19]葛广超.嵌入式防火墙的研究与实现[D].南京:南京航空航天大学硕士学位论文.2006,37-39-51-
附录附录#虚拟网络拓扑的配置routeentry10.0.0.100network10.0.0.0/16route10.0.0.100link10.0.0.100/32route10.0.0.100addnet10.1.0.0/1610.0.1.100route10.0.0.100link10.0.1.0/24route10.0.1.100link10.1.0.0/16###Windowscreatewindowssetwindowspersonality"MicrosoftWindowsNT4.0SP5-SP6"setwindowsdefaulttcpactionresetsetwindowsdefaultudpactionresetaddwindowstcpport21"sh/usr/local/scripts/win32/msftp.sh"addwindowstcpport139openaddwindowstcpport137openaddwindowsudpport137openaddwindowsudpport135openbind10.1.0.11windowsbind10.0.1.11windows###Linuxcreatelinuxsetlinuxpersonality"Linux2.4.7(X86)"addlinuxtcpport21"sh/usr/local/scripts/unix/wuftpd.sh"addlinuxtcpport80"sh/usr/local/scripts/unix/apache.sh"addlinuxtcpport25openaddlinuxtcpport110opensetlinuxdefaulttcpactionresetsetlinuxdefaultudpactionresetbind10.0.1.12linuxbind10.1.0.12linux###routercreateroutersetrouterpersonality"Cisco7206runningIOS11.1(24)"setrouterdefaulttcpactionresetaddroutertcpport23"perl/usr/local/scripts/cisco/router-telnet.pl"bind10.0.0.100routerbind10.0.1.100router-51-
攻读硕士学位期间发表的学术论文攻读硕士学位期间发表的学术论文[1]杨三岭,朱文静,汪红星.基于嵌入式环境的Honeyd研究.科学技术与工程,2009(已录用、待发表)-51-
致谢致谢光阴似箭,岁月如梭,转眼两年半的研究生生活就要结束了。首先向我的导师沈勇副教授表示最诚挚的感谢和无比的敬意!他渊博的知识、丰富的实践经验、严谨的治学态度、精益求精的工作作风、对学科发展方向的敏锐眼光和对科学事业的献身精神给予了我极大的启迪和引导,他是我终生学习的榜样,并将成为我今后献身科学事业的动力。沈勇老师平易近人,在我的课程学习、研究方向、研究方法、论文写作等方面都进行了精心的指导,使本人得以顺利完成。他对我的学习严格要求,促使我对科学研究的精神、方法和内在规律有所领悟,这些收获是我今后工作的重要基础。另外,沈勇老师不仅在治学上给予我帮助,而且教我为人处事之道,使我受益匪浅。感谢所有关心教导和帮助过我的老师,感谢我的师弟师妹张海蒂、姜剑,也感谢所有帮助过我的同学,他们在我完成课题和论文期间给予了我很大的帮助。特别感谢我的家人,他们是我坚强的后盾,自始至终给予我生活和学习上无私的关怀和鼓励。尤其在我遇到困难时,他们经常鼓舞我,使我能够克服难关,顺利完成学业。在这里,我向他们致以最衷心的谢意。最后,衷心感谢为评阅本论文而付出辛勤劳动的各位专家和学者,你们在百之中抽出时间对我的论文提出了宝贵意见和批评,这对于我来说是一笔无价的财富,我将永远铭记在心。祝愿母校江苏科技大学拥有更加辉煌灿烂的明天!-51-
您可能关注的文档
- 陕西风味小吃特产——挂面(臊子面),豆腐干,油茶,棒棒馍,甘泉豆腐干,柿子醋,大荔金丝蜜枣
- 浓缩燃烧法处理糖蜜酒精废液技术
- 北京地区蜜月旅行计划书 (2)
- 纪录片《浇糖花——甜蜜的回忆》编导阐述
- 香蜜湖一号物业管理服务方案
- 年深加工30万吨糖蜜生产酵母及相关产品可行性报告
- 蜜蜂主要病虫害防治技术
- 蜂蜜的功效与感化及食用方法
- 蜂王浆花粉蜂胶蜂蜜合理搭配
- 蜂蜜含有的大量能被人体吸收的氨基酸
- 蜜蜂人工养殖-教材教材教案.doc
- 精品可研-土蜂蜜产业化基地建设及精深加工项目可行性研究报告
- 香蜜湖住宅用地项目可行性研究报告
- 蜜蜂养殖技术资料大全集科学养殖.doc
- 蜜蜂养殖技术科学养殖.doc
- 夏天蜂蜜为什么会起泡沫,白色泡沫变质了吗
- 各种蜂蜜的不同功效
- 如何正确服用蜂蜜