- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自修改技术与恶意代码的防范
1 利用虚拟机架构的监测系统
随着恶意软件静态分析技术的成熟,现代恶意软件也引入了许多新技术来隐藏其自身的逻辑,主要包括控制流模糊、指令虚拟化、自动修改代码等。
现有自修改代码监测工具往往运行在操作系统之上, 而高水平自解压恶意程序在执行前会监测当前运行环境中是否有监测程序 (包括杀毒软件) 的存在, 如果有则放弃执行解压恶意代码, 从而隐藏恶意特征, 避免暴露出自己。因此, 恶意程序和监测程序都需要在监测对方的同时, 尽可能隐藏自身。利用虚拟机架构, 可以使监测程序运行在比恶意程序高的特权级别上, 从而取得优势。然而当前利用虚拟机架构的监测技术
本文提出了一个基于虚拟机架构的自修改代码监测方法CASMonitor。该方法能够从虚拟机 (VM) 外部对VM内部指定程序的行为进行透明、动态地监控, 准确发现自修改代码的新代码生成和执行行为及其范围, 解析出原始程序的入口点, 继而进行病毒扫描等后续处理
2 高效的监测程序
PEi D
目前也出现了一些基于虚拟机架构的相关项目。Xen Introspection
Aftersight
CASMonitor较之于以上项目, 有以下优势:
(1) CASMonitor检查程序针对指定范围内存的写和执行操作, 不仅可以监测到自修改的行为, 而且可以监测到修改后代码的执行, 能自动区分代码修改和正常的数据修改。
(2) 监测写-执行的行为, 而不是针对加壳程序特点进行监测, 所以可以监测各种类型的自修改代码的执行, 而不局限于对加壳程序。
(3) 利用虚拟机机制, 监测程序在恶意程序所执行的操作系统之外, 防止恶意程序的探测。
(4) 监测加壳后的程序, 通过对代码和进程上下文的分析, 解析出原始程序的入口点。
(5) 对自修改后产生的代码提供多种处理方式, 例如调用开源病毒扫描工具Clam AV进行病毒扫描等, 在监测到恶意代码后, 可以选择及时杀死虚拟机内病毒程序, 从而防止恶意代码造成的危害。
3 设计与实现
3.1 基础知识
3.1.1 硬件辅助监控
经典虚拟机技术的必要条件之一是:敏感指令必须是特权指令
CASMonitor主要监测客户机的页异常 (#PF) 以及CR3更新, 以修改VM的内存管理状态, 从而监测自修改代码行为。另外, 还会插入虚拟异常 (#DB、#GP等) 以主动影响VM的行为。
Xen是一个开源的虚拟监控机 (VMM或Hypervisor) 。Xen向上提供可以运行操作系统的虚拟环境, 称为域 (Domain) 。因为Xen本身不提供硬件驱动和用户管理接口等部分, 而是由一个称为Dom0的特权域提供, 其他非特权域称为Dom U。Xen支持同时半虚拟化 (PV) 和全虚拟化 (HVM) 。前者需要对VM操作系统进行修改, 以配合在Xen提供的虚拟环境上运行;后者不需要修改VM操作系统, 但需要CPU的硬件虚拟化支持。CASMonitor针对全虚拟化的Windows XP SP2进行监测。
下面是对CASMonitor中用到的Xen相关组件和机制的简单介绍。
(1) libxc, hypercall, Xen Hypervisor向上层提供调用接口称为hypercall。Hypercall只能从ring1级别调用。Xen自带的libxc库提供了在用户态调用hypercall的接口。
(2) Event channel, 提供Domain间以及Domain与Hypervisor间的异步通信机制。
(3) Shared page, Dom0和Hypervisor之间可以设置共享页, 以进行数据通信。
(4) Shadow Page Table (SPT) , 即影子页表, 是Xen对HVM的内存管理机制之一。在SPT技术中, VM拥有自己的页表GPT, 并认为就是真正的页表。但实际进行的虚拟地址到机器地址的转换是通过SPT实现的。SPT存在的地址转换过程对VM透明。Xen可以通过对SPT的修改, 来间接影响VM的地址转换。
3.2 hvm的过程监测和总控制指数
如图1所示, CASMonitor由两部分组成:位于Dom0里的用户态控制部分和位于Xen Hypervisor中的监测部分。
(1) 控制部分:向用户提供控制接口, 通过libxc库, 调用hypercall, 控制监测部分 (图1中1) , 并监听监测部分的事件通知。当收到通知后 (图1中2) , 读取并分析接收的控制 (进程上下文) 和数据 (自修改代码) 信息 (图1中3) , 进行原始入口点解析或病毒扫描。
(2) 监测部分:通过截获HVM的VMExit (图1中4) , 监测HVM中指定进程的特殊行为, 主要包括#PF、CR3更新等行为, 并进行
文档评论(0)