虚拟机保护技术的实践与体会(上)

  • 来源:
  • 更新日期:2018-05-22

摘要:随着近年来移动互联网的飞速发展移动安全产业也进入了快速增长的阶段。通付盾秉着技术为先脚踏实地的原则围绕科研机构和学科带头人于2012年底成立了移动安全实验室,并陆续孵化了如移动应用加固、移动应用检测、移动应用监测等多项移动安全产品。

 随着近年来移动互联网的飞速发展移动安全产业也进入了快速增长的阶段。通付盾秉着技术为先脚踏实地的原则围绕科研机构和学科带头人于2012年底成立了移动安全实验室,并陆续孵化了如移动应用加固、移动应用检测、移动应用监测等多项移动安全产品。

今天移动安全实验室就带你一起体会在通付盾安全加固系列产品中已成功服务多个企业级客户的新一代虚拟机保护(VMP)技术的独到之处并进行一次针对移动应用加固VMP技术的去伪存真之旅。
20150619_8403fcf6dfb222b5192aXUt8c7bgg9Ko.jpg
何谓虚拟机保护:虚拟机软件保护技术是被动型软件保护技术的分支具体来说是添加有意义的混淆代码的一种变型使用。根据应用层级不同基本可分为硬件抽象层虚拟机、操作系统层虚拟机和软件应用层虚拟机。用于保护软件安全的虚拟机属于软件应用层虚拟机同层的虚拟机还包括高级语言虚拟机如java程序语言运行环境jvm和.net程序语言运行环境CLR,后者采用虚拟机的原因是便于移植因此编译器没有直接生成可直接在机器上执行的nativecode,而改为生成中间代码byte-code,再通过在不同机器环境下安装对应版本的虚拟机对byte-code进行解释执行从而实现跨平台运行。
用于保护软件安全的虚拟机采用类似的流程虚拟机保护软件首先会对被保护的目标程序的核心代码进行“编译”——需要注意的是,这里被编译的不是源文件而是二进制文件——并生成效果等价的byte-code然后为软件添加虚拟机解释引擎。用户最终使用软件时虚拟机解释引擎会读取byte-code并进行解释执行从而实现用户体验完全一致的执行效果。