从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

admin 2025年4月6日23:15:06评论21 views字数 3712阅读12分22秒阅读模式

引言

Android 应用虚拟化技术在开发者、企业和用户的日常工作和生活中应用广泛。本文将以一款常见的安卓虚拟化开源工具——VirtualApp为例,分析其Android虚拟化的实现原理和可能存在的风险。

01

VirtualApp介绍

VirtualApp的核心目标是通过沙盒技术为开发者提供轻量级的“Android虚拟机”环境,实现在宿主应用内创建独立虚拟空间。VirtualApp的技术实现覆盖了Android的三个层次:APP层、Framework层和Native层,分别完成不同的虚拟化任务。

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患
从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

VirtualApp的核心技术是在于“欺骗”系统,一个APP想要在Android系统上运行,必须要安装后系统才会接纳。安装到VirtualApp内部的APP实际上并没有安装到系统中,而是安装在VirtualApp提供的虚拟环境中,需基于VirtualApp环境才能运行。而这个“欺骗”过程就是VirtualApp的核心技术原理,VirtualApp对于安装在其内部的应用有较高的操作权限,应用发起的进程请求及文件系统操作,都会先经过VirtualApp框架处理,再将处理后的结果返回给应用,该过程能够干扰应用原本预设的功能,控制并修改从应用中发出或传回给应用的数据信息。具体实现包括:

1.1

系统服务代理

VirtualApp的核心功能之一是系统服务拦截与代理。这一部分的功能可以理解为VirtualApp在Android系统中扮演了一个“中间人”的角色。它拦截虚拟应用对系统的请求,修改这些请求的参数,将这些请求重定向到虚拟环境中,返回虚拟化的数据,而不是真实设备的信息。通过这种方式虚拟应用无法感知自己运行在虚拟环境中,其便能够正常执行功能。

接下来通过一个具体的例子来说明VirtualApp是如何拦截和修改系统调用的。当打开VitualApp的一个界面(比如点击一个按钮跳转到新页面)时,VirtualApp会偷偷把这个界面替换成虚拟环境下安装的应用的界面。系统以为它启动的是VitualApp的界面,但实际上启动的是虚拟环境下安装的应用的界面。这样,VirtualApp就能在运行虚拟环境下安装的应用且不让系统察觉到异常。下面是实现的代码:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

想要实现上述功能,关键在于突破Android系统的应用安装验证机制。原生Android系统会对每个应用进行严格的安装状态检查,并为每个应用分配独立的运行沙箱,这种设计虽然保障了安全性,但也限制了应用多开和隔离运行的需求。VirtualApp框架为了实现这一目的会通过拦截系统调用,将请求信息的结果替换为虚拟应用所需的信息,骗过系统,让虚拟应用“伪装”成经系统检测合规的应用,并借由VirtualApp提供的环境实现多开和隔离运行。相关代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

这种机制不仅确保了虚拟应用的操作不会影响到真实系统,还为多开应用、隐私保护等功能提供了技术基础。

1.2

文件系统与资源隔离

VirtualApp的另一个核心功能是文件系统与资源隔离。这一部分的功能可以理解为VirtualApp为虚拟应用创建了一个“虚拟的存储空间”,使得虚拟应用的文件操作不会影响到真实设备的存储空间。

VirtualApp通过路径重定向和Native层拦截来实现文件系统与资源隔离。路径重定向是指将虚拟应用的文件操作路径从真实设备的路径重定向到虚拟空间内的路径。例如,当虚拟应用尝试访问/data/data/com.example.app时,VirtualApp会将其重定向到/data/data/com.virtualapp/virtual/com.example.app。相关代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

Native层拦截则是指VirtualApp在底层代码(C/C++)中拦截虚拟应用的文件操作,确保即使虚拟应用通过底层代码访问文件,也会被重定向到虚拟空间。相关代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

通过以上两个功能即可实现文件系统与资源隔离,其主要目的是保护真实系统的数据安全和隔离虚拟应用的操作。

1.3

进程模型与组件管理

VirtualApp的进程模型与组件管理功能可以理解为它为每个虚拟应用创建了一个“独立的运行环境”,使得虚拟应用能够在与宿主应用和其他虚拟应用隔离的环境中运行。VirtualApp通过ProcessBuilder创建新的进程,为每个虚拟应用分配独立的进程名。相关代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

并且使用DexClassLoader动态加载虚拟应用的APK文件,将其与宿主应用的类加载器隔离。相关代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

通过独立进程和自定义类加载器,VirtualApp确保了虚拟应用的运行不会影响到真实系统和其他应用。

02

VirtualApp

可能被恶意利用的场景

VirtualApp的强大功能使其可能被不法分子利用,用于实施各种违规甚至违法的行为:

2.1

虚拟定位与位置欺骗

虚拟定位是VirtualApp最常被滥用的功能之一。通过Hook LocationManager相关API,VirtualApp可以伪造设备的地理位置信息,欺骗基于位置的服务或应用。这种技术常被用于虚假打卡、社交诈骗等场景。例如,员工可以通过虚拟定位伪造位置,实现远程打卡,欺骗考勤系统;不法分子则可以在社交应用中伪造位置,接近受害者实施诈骗。样例代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

2.2

隐私窃取与数据泄露

VirtualApp的沙盒环境可以被滥用来窃取用户隐私数据。通过将恶意应用安装到VirtualApp的虚拟环境中,一些恶意的开发者为了获取用户信息,可以通过修改VirualApp框架的核心代码绕过Android系统的权限控制,直接访问其他应用的数据。例如窃取用户的社交账号、银行信息等敏感数据,用于非法交易或诈骗。此外,VirtualApp的文件重定向功能还可以将窃取的数据存储到开发者设置的虚拟环境路径下,避免被系统检测,进一步增加了隐私泄露的风险。样例代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

2.3

恶意软件分发与隐藏

VirtualApp的免Root Hook功能使其可以静默安装恶意应用,无需用户交互。通过将恶意应用安装到VirtualApp的虚拟环境中,不法分子可以避免恶意应用出现在系统应用列表中,从而逃避安全检测。例如,恶意软件可以通过VirtualApp分发,感染用户设备,窃取数据或实施其他恶意行为。由于VirtualApp 的虚拟环境与真实系统隔离,传统的安全软件难以检测到这些恶意应用的存在。样例代码如下图所示:

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患
从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

VirtualApp作为一款强大的Android应用虚拟化框架,通过分层拦截、进程隔离和资源虚拟化等技术,实现了多开应用、数据隔离和免Root Hook等功能。这些技术使得VirtualApp能够在未安装到真实系统的情况下,让虚拟应用正常运行,为开发者提供了强大的虚拟化解决方案。然而,技术的双刃剑效应使得VirtualApp也可能被不法分子利用,实施虚拟定位、隐私窃取、恶意软件分发等犯罪活动。这些犯罪利用方式不仅危害用户隐私和安全,也对社会的稳定和秩序构成威胁。因此,开发者在使用VirtualApp时,应遵循技术伦理,承担社会责任,确保技术被用于正途。同时,司法鉴定机构也需要探索一些新的取证方法来应对虚拟化技术带来的挑战,为案件出具一份严谨且专业的鉴定意见书。

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

奇安信集团旗下有北京、上海、西安三家司法鉴定所:北京网神洞鉴科技有限公司司法鉴定所、盘石软件(上海)有限公司计算机司法鉴定所与陕西西安洞鉴云侦声像资料司法鉴定所。其中,上海所是上海第一家通过 CNAS 认证认可的民营计算机类司法鉴定机构。三所均通过了CMA资质认定,是目前国内少数能够通过自主研发软件进行取证与分析的电子数据司法鉴定机构,具有独立的实验室场所,其中包括:案件受理区、数据恢复区、手机取证区、计算机取证区、屏蔽室、无尘工作间和物证室,并配备多种国内外先进的技术检验及辅助设备。经过多年的时间积累和发展,现拥有一批胜任鉴定工作的专业技术人员,以专业的技能和丰富的经验,来开展声像资料和电子数据司法鉴定工作。开展的鉴定服务范围包括:声像资料鉴定、电子数据司法鉴定、计算机证据固定和获取、手机终端取证与分析、数据恢复、密码破解以及涉及电子设备的民事调查等。

鉴定热线&地址:

010-56509288(北京)

北京市西城区西直门外南路26号院1号-奇安信安全中心B1

021-52658848(上海)

上海市闵行区合川路2555号科技绿洲三期五-3号楼4层

029-86196688(西安)

陕西省西安市经济技术开发区凤城二路1幢经发大厦B座10607室

原文始发于微信公众号(网络安全与取证研究):从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月6日23:15:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从VirtualApp看安卓虚拟化:虚拟化技术背后的机制与隐患https://cn-sec.com/archives/3921580.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息