分享

【仿真技术】在手机云数据取证中的应用

 平淡水的平凡 2017-03-22

来源:美亚柏科手机取证大师(ID:Mobile_Forensics)

 为了解决手机取证系统难以提取手机应用的云端数据的问题,建立了手机仿真取证系统。手机仿真取证系统在专用取证设备上运行仿真器,模拟手机运行环境,运行并登录手机应用程序,进行云端数据的浏览和分析。通过手机仿真取证系统,能够提取QQ聊天历史记录,查询微信红包等互联网金融交易的详细信息。

该文已被中文核心期刊计算机科学收录黄加红,刘晓宇,曹荣鑫,霍丽霞.仿真技术在手机云数据取证中的应用[J].计算机科学,2016,43(12A):181-182

 第一作者黄加红,现为美亚柏科手机取证研发中心副主任工程师,主要研究移动智能终端电子取证技术,在本文中详细阐述了手机仿真系统概念、应用及其作用。

随着移动智能终端的广泛普及和移动互联网应用技术的迅猛发展,人们传统的生活、交往、消费方式发生了巨大变化。但同时也为一些犯罪分子提供了新的犯罪手段和空间。在侦破这类案件时,往往需要运用手机取证技术搜集犯罪证据。公安、司法部门进行手机取证、司法鉴定的过程中,除了手机内部数据外,还经常需要对云端数据进行信息提取。手机仿真取证系统可以通过模拟手机运行环境提取云端数据。


手机仿真取证系统

根据国际标准化组织(ISO)标准中的《数据处理词汇》部分的名词解释,“仿真”(Simulation)即是用另一数据处理系统,主要是用硬件来全部或部分地模仿某一数据处理系统,以致于模仿的系统能像被模仿的系统一样接受同样的数据,执行同样的程序,获得同样的结果。仿真技术最开始被应用在计算机取证中,获取传统计算机取证系统所无法得到的“动态数据”,包括目标对象的工作环境、主机操作轨迹、网络操作轨迹、加密数据明文、帐户/口令明文等一系列电子证据。

手机取证系统同样存在无法获取手机中动态数据,即那些保存在云端数据的问题。而随着云技术和移动互联网的发展,手机应用数据保存在云端是未来发展趋势。因此,通过仿真技术动态提取手机云端数据则显得更加重要、甚至无法替代。

手机系统仿真是手机取证中的一种新兴技术,与计算机仿真系统类似,通过在专用设备上建立仿真器,“拷贝”原有手机运行环境、数据及应用程序,实现在仿真系统登录应用后,进行云端数据的浏览和分析。仿真过程中也可实时抓取应用程序的通讯数据,分析应用程序的行为特征。

Android手机仿真解析及应用

手机仿真器就是通过在专用取证设备中仿真手机运行环境。手机仿真器能够足够逼近手机真实运行环境,至少对于应用程序来说与在手机上的运行环境没有差别。这样当在手机仿真器中加载应用程序及对应的数据之后,能够保证应用程序可以像在手机上一样正常运行。

具体地,对Android手机的仿真来说,目前市面上Android仿真器软件种类繁多,如:Android官方仿真器、Bluestacks、Genymotion和Andy等等,每个Android仿真器有其各自特点,但都不能尽善尽美,需要根据实际情况对不同Android仿真器进行选择。本文将基于Android官方仿真器来介绍手机仿真取证系统。

Android官方手机仿真器主要由于手机仿真器程序-emulator.exe、虚拟机内核-kernel、虚拟机根文件系统镜像-ramdisk.img、虚拟机系统文件镜像-system.img和虚拟机用户文件镜像-userdata.img五个部分组成,其中仿真器程序和虚拟机内核是独立开源代码项目,其他部分可从Android开源项目-AOSP中编译生成。

手机仿真器程序主要是包含对手机硬件模拟,比如:cpu、keyboard、gps和modem等等;虚拟机内核主要是增加一些支持仿真器的特殊驱动,比如:qemutrace和qemupipe等等;虚拟机根文件系统镜像(ramdisk.img)也包含一些配合虚拟机内核运行的参数配置;虚拟机系统文件镜像主要是些Android系统层面文件(包含内置一些系统应用),这个镜像内容决定虚拟机的模拟的Android版本;虚拟机用户文件镜像最开始基本为空一个文件系统,在虚拟机第一次启动过程中生成相应文件(类似手机第一次开机或恢复手机出厂设置)。

根据上述内容可知,手机仿真主要过程其实就把手机应用数据加载到虚拟机用户文件镜像的过程,主要有以下三种方式:

 先启动虚拟机,之后通过adb install向虚拟机安装一个agent,再由手机仿真应用程序发送数据到虚拟机上的agent,最后再由agent通过Android系统的API把数据导入虚拟机Android系统,这种方法主要运用在联系人,短信和通话记录导入;

 先启动虚拟机,之后通过adb install安装手机应用到虚拟机,再通过adb push命令把手机应用数据上传到虚拟机data分区对应目录,最后修改相应的配置参数,比如:uid、gid和permission等等,这种方法主要运用在第三方应用;上述两种加载数据方法最主缺点速度慢,效率低,也容易出错;

 在启动虚拟机之前,根据手机数据直接修改虚拟机用户文件镜像,对比前两种方式,在虚拟机运行过程中减少应用安装和数据加载过程,加快虚拟机运行速度,同时也提高数据加载的效率和准确性。

仿真技术在手机取证中具体方法主要有两种:

 手机在线仿真:提取手机应用数据进行在线仿真,通过仿真器查看手机应用的数据,进行调查分析并可以实现截图取证,这样能够保留原有手机数据的完整性、有效性。

 手机镜像离线仿真:手机在提取镜像后归还,通过手机仿真系统,可以加载镜像进行离线仿真。通过仿真器上查手机应用的数据,进行调查分析并可以实现截图取证。

仿真在取证手机云数据的作用

仿真技术在取证手机云数据的重要作用主要体现在以下几个方面:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多