基于.PBD技术的Anti__Bootkit优先启动的研究.docVIP

基于.PBD技术的Anti__Bootkit优先启动的研究.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PBD技术的Anti-Bootkit优先启动研究 周学海,李月锋 (中国科学技术大学,计算机系,合肥 230027) 摘 要: Bootkit是继承自Rootkit内核权限获取和自我痕迹擦除技术的Rootkit高级发展形式,对系统启动和内核准入安全提出了最新挑战。在Bootkit入侵和Anti-Bootkit的检测的攻防对抗中,能做到优先启动往往是制胜的关键;而目前主流的Anti-Bootkit/Rootkit软件由于固守传统的启动方式,很容易被Bootkit利用固有优势绕过、劫控、篡改、移除而形同虚设。我们通过反汇编并跟踪调试Windows引导执行流程,反利用Bootkit入侵思想,提出了新的利用PBD(pre-bootable driver)技术来做到优先启动的方案设计。利用该方案可以有效做到优先启动并且为Anti-Bootkit实施布控提供了可信的内核执行环境,从而为防范Bootkit借鉴了新的思维方式和技术参考。 关键词: PBD(pre-bootable driver)、Bootkit、反汇编工程、优先启动、劫控 1 、引言 Rootkit作为程序的集合,用于实现自身及系统中特定资源和活动的隐藏,破坏可信任计算机的完整性[1]。Bootkit就蜕变于Rootkit底层内核权限获取和自我痕迹擦除技术。Bootkit通过感染可引导的外设固件和关键系统文件,驻留在整个系统的启动过程,获取系统控制底层权限并且擦除自我存在痕迹,从而为网络恶意代码的进一步攻击行为提供隐蔽、可靠、持久的执行环境。 Bootkit这个概念自2005年eEye Digital安全公司的研究人员研究如何在系统启动时利用BIOS接入windows内核的BootRoot项目中被第一次提出以后,也越来越为黑客所钟爱,最近更被全球知名的杀毒厂商卡巴斯基在其年度报告中列为2008年度互联网安全的重大挑战[2]。 在Bootkit感染入侵和Anti-Bootkit检测恢复的攻防策略中,能做到优先启动往往是制胜对方的关键;而目前主流的Anti-Bootkit/Rootkit软件由于固守传统的启动方式,很容易被Bootkit利用固有优势劫控、篡改、移除而形同虚设。 本文在第2节中分析了传统的Anti-Bootkit启动方式和时机的弱点和不足,反利用Bootkit入侵思想,提出了新的利用PBD(pre-bootable driver)技术来做到优先启动的方案设计。在第3节中分析了面临的技术问题以及给出的可行解决方案,在第4节描述了设计实现以及实例验证。 2 、传统的Anti-Bootkit启动方式和时机 2011-2-2 22:44:04 上传下载附件 (22.58 KB) 图 1 Windows 引导过程执行流程 作为单纯的学术研究,我们通过反汇编并跟踪调试Windows引导执行流程,根据启动顺序还原出正常的windows引导过程如上图灰色框,以及执行流程中加载可执行模块的方式和时机如上图绿色框。 传统的Anti-Bootkit启动时机可大略总结如下四类[3]: a.可启动驱动 Osloader是预启动过程中最后一个获取引导控制权的可执行模块,由它调用使用内置的文件系统操作加载内核镜像(ntoskrnl)并切入内核(KiSystemStartup),传入的加载参数为LOADER_PARAMETER_BLOCK复杂数据结构。其中的BootDriverListHead为保存了所有可以启动的驱动路径的双向链表;在内核启动的phase1 阶段初期Phase1Initialization函数会依次调用其所指示的可启动驱动的入口函数DriverEntry,而获取执行机会。 b.Native Application 启动方式: Windows内核启动后phase1阶段的初期,调用RtlCreateUserProcess创建会话管理器进程(smss)。该进程的进程体函数最终会调用SmpExecuteImage加载HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下BootExecute指向的Native Application磁盘镜像和传入参数,切入其入口函数NtProcessStartup执行操作。由于此时可以使用NTDLL.DLL提供的原始服务(Native API) ,具有和内核同等的最高执行权限;而且内核尚未初始化完毕,此时的执行环境较为干净,往往是主流杀毒厂商例如卡巴斯基等青睐的启动点。 c.服务方式 Windows服务是在用户登陆前为拥有用户授权级进行管理的后台程序。内核启动后期创建的

您可能关注的文档

文档评论(0)

liybai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档