4案例分析:使用HBSP保护软件-Andrewcmuedu.DOC

4案例分析:使用HBSP保护软件-Andrewcmuedu.DOC

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4案例分析:使用HBSP保护软件-Andrewcmuedu

HBSP:商用操作系统硬件虚拟化透明保护框架 于淼, 俞培杰, 高尚 , 林芊, 朱旻, 戚正伟, 管海兵 上海交通大学软件学院, 上海市 200240 摘 要: 现代商用操作系统代码量大且很复杂,这就使得基于主机的安全工具不能在恶意软件的威胁之下提供足够的安全保障。当前软件保护的要点在于如何有效保护软件,同时又可以从不可信的操作系统中隐藏保护器。本文将描述一个可用于软件保护的轻量级高可配置透明框架HBSP(Hypervisor Based Software Protector)。它基于硬件虚拟化技术和内存隐藏策略,HBSP完全生存于操作系统管理空间之外。一系列性能分析及实验表明,HBSP可以在未修改的Windows XP上保护应用程序,对已有应用程序的总体性能开销仅为0.25%。 关键词: 硬件虚拟化;轻量级透明软件保护;商用操作系统;内存隐藏;HBSP 简介 当前,商用操作系统广泛应用于家庭休闲、学校教育、政府办公等各个场合,并负责运行各种各样的软件。然而由于设计与硬件的限制,大多数商用操作系统不能提供充足的访问安全和软件保护,于是几乎所有的商业软件都需要自己实现自我保护模块,从而增加了软件设计复杂度以及开发成本。 常用的软件保护方法可以归为两类[1]:一种是通过往二进制映像中插入代码实现静态或动态代码验证,利用程序的固有特性来识别程序,比如水印技术和软件胎记技术[2,3];另一种更为实用的方法则需要硬件的支持[18]。在这种方法中,目标程序被分成不同的部分并在不同的协处理器上以加密的方式运行。 然而,目标应用程序受攻击的风险依旧存在,原因如下:首先,硬件架构决定了系统的保护能力是有限的。硬件架构中定义了特权级代码拥有访问全系统资源的能力,用户模式代码只能访问这些资源中的一部分19]。因此,当恶意代码或者分析工具运行于特权级时,就没有更高级别的运行模式可以阻止其活动。其次,操作系统中或多或少。在一个典型的操作系统中,内核和第三方驱动包含了数百万行代码硬件虚拟化技术的流行新的软件保护方案。包括通过分离恶意代码和操作系统,使之运行于不同虚拟机(也称客户机)上的方法来构建可信执行环境展示了一个用于软件保护的透明外部的方法。与先前方法不同,修改已有操作系统或者添加额外硬件,甚至已有应用程序和操作系统之间的控制流也维持不变。HBSP使用Intel VT技术了一个居于操作系统之外的透明的执行环境,内存隐藏策略(Memory-Hiding Strategy)使得Hypervisor隐藏于私有内存区域。Hypervisor可以透明运行于商业操作系统之下,同时监控目标应用程序的状态。:介绍HBSP的设计目标。第三部分框架的实现引入内存隐藏策略时遇到的挑战。第四部分详细描述了利用HBSP开发的软件保护器示例。关于如何将其应用于默认配置的Windows XP系统和性能评价在第五部分中讨论。第六部分展示相关工作,最后总结。我们旨在引入一种新的软件保护手段,它能够存在于操作系统外部,透明的监管操作系统和应用程序的行为,同时又易于采用。因此我们建造了轻量级的HBSP,它包含如下优点:动态安装/卸载Hyperviso 图1 HBSP架构图 HBSP的主体架构包含三层(如图1所示):平台相关层、HBSP结构层和第三方Hypervisor层。Hypervisor开发者在前两层的帮助下实现软件保护相关逻辑,并放入第三方Hypervisor层中。本节将详细描述每层的作用和实现时所遇到的挑战,HBSP的具体使用将在第四部分中展现。 平台相关层第三方Hypervisor层 图2 基于HBSP的Hypervisor启动/卸载过程图 尽管一个典型的Hypervisor可以同时支持多个虚拟机,当前HBSP被设计为只支持单一虚拟机。无论支持虚拟机数量多少,HBSP提供了一个软件保护的新思路,它引入了额外的一个保护层,同时不需要修改已有硬件和操作系统。 HBSP控制流 硬件虚拟化技术的支持使得HBSP能够作为虚拟机和真实物理硬件间的管理器而存在。仅考虑存在单一虚拟机的情况,任何时刻,整个系统会运行于下列三种上下文中的一个:虚拟机应用程序(Ring3)、虚拟机操作系统内核(Ring0/1)、Hypervisor(VMM)。Hypervisor感兴趣的事件以及不应该在虚拟机中处理的事件都会陷入并激活Hypervisor。随后,Hypervisor在处理完事件后移交控制权回虚拟机。 如图3所示,虚拟机用户模式指令和内核模式指令都可以使硬件产生#VMEXIT事件并陷入到Hypervisor当中。比如,当一个客户应用程序执行CPUID指令时,硬件产生一个#VMEXIT事件,同时激活Hypervisor来处理这个事件(迁移1)。Hypervisor读取#VMEXIT R

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档