论文部分内容阅读
摘要:随着手机支付宝软件的不断普及,越来越多的人使用支付宝进行线上或线下的金融交易,除了提供支付功能外,支付宝还提供了第三方服务,包括出行打车、快递查询等服务,因此对支付宝的用户数据进行取证,能获取丰富的用户信息。由于对用户数据安全性的保护,支付宝中大部分重要数据都存储在云端服务器,需要登录后才能获取,因此,该文提出一种基于安卓仿真的支付宝云数据取证方法,基于智能终端设备信息及支付宝数据,定制化虚拟机环境,将智能终端中的支付宝数据迁移至虚拟机,实现免密码登录,获取用户云端服务器数据,为取证人员提供有力线索。
关键词:安卓仿真;支付宝;手机取证
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)32-0298-02
1 背景
随着移动互联网的快速发展,移动智能终端也在不断地普及。由于智能移动设备具有易携带、能联网、操作方便等特性,人们越来越多地使用这一类设备进行网络活动、社交活动、文件流转、信息传递和金融活动等,智能终端中存储着越来越重要的信息。电子证据在整治打击各类网络违法犯罪,打击网络恐怖主义,加强国际网络安全执法合作等方面均具有重要的意义[1]。
支付宝作为现在的主流支付软件,其使用已经覆盖社会的各行各业。越来越多的人,使用支付宝进行线上和线下的金融交易活动,其支付项目涵盖各种吃穿住行,账单明细甚至能反映出用户的生活轨迹。而随着支付宝第三方服务的不断丰富,诸如滴滴出行、我的快递、共享单车等服务可以在不用下载的情况下直接使用,这种服务方式越来越获得用户的青睐。因此,对支付宝的用户数据进行取证,不仅能获取交易明细,还能获取到出行记录、快递信息等重要数据,这些数据将对犯罪案件的侦破提供有效的线索。
2 支付宝取证现状
由于支付宝对用户数据的安全性保护,使得部分重要敏感数据使用了加密存储方式,即使找到支付宝的数据存储位置,仍需要对数据进行破解,因此,直接对支付宝本地数据进行取证分析,获取数据的难度大且信息有限。其次,由于支付宝版本的不断更新,数据的存储结构及加密方式有可能再次发生变化,需要重新进行数据的结构及解密分析,其分析工作有可能滞后于支付宝新版本2周左右,这将较大降低了软件版本的支持率。再者,在取证过程中,取证人员为了保护数据的完整性,会将智能终端设置为飞行模式或者对其信号进行屏蔽,而出于安全性考虑,支付宝中的部分重要数据并未保存在本地而是存储在云端服务器,只有登陆联网后,才能获取,这也为支付宝的数据取证增加了难度[2]。因此,可以通过安卓仿真的方式,将智能终端中支付宝的用户数据进行提取,并在安卓仿真机中获取云端数据。
目前,在国内外都有出现智能手机软件云端数据获取的取证软件,其中国外的UFED Cloud Analyzer和XRY Cloud产品,提供了对Facebook、Twitter等一些应用服务端数据的访问和获取,然而对于国内的支付宝应用却并不支持。国内方面也有一些公司进行了服务端数据获取方面的研究,例如美亚公司研究了使用Android Virtual Device(AVD)来进行Android系统模拟[3],虽然支持支付宝,但系统运行卡顿、访问服務不稳定、系统不兼容部分功能模块无法查看,失去了可操作性,且仅支持已获取root权限的安卓智能终端。
3 安卓虚拟机的构建
总体来说,在计算机上运行Android系统主要采用软件虚拟的手段来实现,主要方法有三种:
1)直接使用google 提供的Android开发工具中的Android Virtual Device ,也就是Android开发调试的虚拟机来模拟。AVD 使用QEMU虚拟出一套ARM硬件,将Android系统运行在该硬件基础上,效率很低,运行速度很慢,用户体验差。
2)将Android底层API接口翻译成Windows API,对PC硬件本身没有要求,在硬件兼容性方面有一定的优势。但需要翻译的Android接口数量巨大,很难面面俱到,而且存在软件翻译的开销,在性能和游戏兼容性方面欠佳。使用该技术的产品有BlueStacks。
3)通过在Windows内核底层直接插入驱动模块,创建一个完整虚拟的电脑环境运行安卓系统,加上CPU VT硬件加速,性能和兼容性都更好,但是对于电脑CPU有一定要求。
该文选用基于第三种方法的VirtualBox作为运行安卓系统的虚拟软件,使用VirtualBox新建虚拟机并安装Android x86操作系统,由于Android x86系统基于x86系统架构,对ARM版APK的支持存在兼容性问题,需要给操作系统安装libhoudini支持包,该包中包括多个so库文件,其原理在于把ARM的二进制代码转译为x86指令集,使得可以在x86的CPU上执行。
4 基于安卓仿真的支付宝云数据取证方法
该文采用基于VirtualBox模拟器[4]的仿真方式,提取智能终端中支付宝的用户数据,导入到虚拟机中,并通过相应的配置,实现用户数据的仿真以及免密码登录,获取用户的云端在线数据。具体包括以下步骤:
1)获取终端中的支付宝应用数据。在安卓智能终端中,支付宝的安装包存放路径为/data/app/com.eg.android.AlipayGphone-2.apk,软件应用数据存放路径为/data/data/ com.eg.android.AlipayGphone。通常,该路径需要安卓智能终端获取root权限才能访问,而目前市面上,大部分智能终端已经不支持获取root,因此需要通过备份的方式来获取智能终端中的支付宝数据。
2)安装支付宝。通过ADB工具,使用adb install命令,把获取的支付宝安装包安装到安卓虚拟机中。判断命令行执行结束后,是否返回Success,确保支付宝安装成功。 3)获取支付宝用户数据属性。支付宝安装成功后,通过adb shell ls -l /data/data/ com.eg.android.AlipayGphone查看文件夹所属的用户和用户组。
4)支付宝待仿真数据准备。通过adb push命令将步骤1中获取的支付宝用户数据导入到安卓虚拟机中,覆盖步骤2中安装的应用数据。修改覆盖后com.eg.android.AlipayGphone文件夹及其下所有文件的所属用户和用户组,同时,还需修改所有文件的权限,将权限修改为最高权限777。
5)开始仿真。打开安卓虚拟机的网络连接,确保网络正常,此时,打开支付宝软件,可实现免输入密码,直接登录用户的使用界面,查看用户的云端在线数据,获取相关线索,并截图。若虚拟机未联网,可离线查看支付宝的本地用户数据。
5 支付宝云端数据取证系统
基于上述的支付宝云端数据取证方法,该文开发了一款基于仿真的支付宝云端数据取证系统,系统可识别不同型号的安卓智能终端,提取终端中支付宝的用户数据,定制化配置相应的安卓虚拟机并导入获取的用户数据,最后在虚拟机中成功仿真支付宝数据。
如下图,可实现免密码登录支付宝用户界面,查看用户的账号信息,交易明细,聊天记录、行程记录以及快递信息等。由于支付宝软件内置了众多常用第三方服务,通过这些服务,能获取到支付宝用户的所有吃穿住行的相关信息,通过对这些信息的分析,很可能对犯罪案件提供有力的线索。
6 结束语
随着手机支付宝应用的不断普及,其应用已经涵盖生活中的方方面面,并逐渐成为人们支付的主流方式之一。支付宝除了提供支付功能以外,还提供了滴滴出行、快递等第三方服务,用户可以在不用下载软件的情况下直接使用这些便捷服务,因此,其使用的普及度也越來越高。由于安卓智能终端的系统版本以及支付宝的软件版本安全性的不断提高,对支付宝的取证变得越来越困难,尤其是在对智能终端的数据进行保护而对网络进行限制且无法获取支付宝用户的账号密码的情况下,能获取到的有用信息变得十分有限。
该文基于现状,提出了一种基于安卓仿真的支付宝云数据取证方法,通过提取安卓智能终端中的设备信息及支付宝数据,定制化配置基于Virtualbox的安卓虚拟机,导入提取的支付宝数据,最终实现免密码登录支付宝用户界面,获取用户的云端服务器数据。基于以上方法,该文还开发了一款基于仿真的支付宝云端数据取证系统,能有效获取支付宝用户的交易记录,账单明细,出行记录及快递信息等众多信息,为取证人员的犯罪案件侦破发挥重要作用。
参考文献:
[1] 孔攀, 蔡睿奇. Android 手机取证技术研究[J]. 网络安全技术与应用, 2018(2): 153-154.
[2] 张楠. 电子商务第三方支付存在的问题及对策研究[J]. 中国商贸, 2011(9Z): 119-120.
[3] 黄加红, 刘晓宇, 曹荣鑫, 等. 仿真技术在手机云数据取证中的应用[J]. 计算机科学, 2016, 43(B12): 181-182.
[4] 阚文枭, 黄秋兰, 陈刚. 桌面网格环境下虚拟化技术的应用研究[J]. 计算机工程, 2017, 34(3): 11-17.
【通联编辑:谢媛媛】
关键词:安卓仿真;支付宝;手机取证
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)32-0298-02
1 背景
随着移动互联网的快速发展,移动智能终端也在不断地普及。由于智能移动设备具有易携带、能联网、操作方便等特性,人们越来越多地使用这一类设备进行网络活动、社交活动、文件流转、信息传递和金融活动等,智能终端中存储着越来越重要的信息。电子证据在整治打击各类网络违法犯罪,打击网络恐怖主义,加强国际网络安全执法合作等方面均具有重要的意义[1]。
支付宝作为现在的主流支付软件,其使用已经覆盖社会的各行各业。越来越多的人,使用支付宝进行线上和线下的金融交易活动,其支付项目涵盖各种吃穿住行,账单明细甚至能反映出用户的生活轨迹。而随着支付宝第三方服务的不断丰富,诸如滴滴出行、我的快递、共享单车等服务可以在不用下载的情况下直接使用,这种服务方式越来越获得用户的青睐。因此,对支付宝的用户数据进行取证,不仅能获取交易明细,还能获取到出行记录、快递信息等重要数据,这些数据将对犯罪案件的侦破提供有效的线索。
2 支付宝取证现状
由于支付宝对用户数据的安全性保护,使得部分重要敏感数据使用了加密存储方式,即使找到支付宝的数据存储位置,仍需要对数据进行破解,因此,直接对支付宝本地数据进行取证分析,获取数据的难度大且信息有限。其次,由于支付宝版本的不断更新,数据的存储结构及加密方式有可能再次发生变化,需要重新进行数据的结构及解密分析,其分析工作有可能滞后于支付宝新版本2周左右,这将较大降低了软件版本的支持率。再者,在取证过程中,取证人员为了保护数据的完整性,会将智能终端设置为飞行模式或者对其信号进行屏蔽,而出于安全性考虑,支付宝中的部分重要数据并未保存在本地而是存储在云端服务器,只有登陆联网后,才能获取,这也为支付宝的数据取证增加了难度[2]。因此,可以通过安卓仿真的方式,将智能终端中支付宝的用户数据进行提取,并在安卓仿真机中获取云端数据。
目前,在国内外都有出现智能手机软件云端数据获取的取证软件,其中国外的UFED Cloud Analyzer和XRY Cloud产品,提供了对Facebook、Twitter等一些应用服务端数据的访问和获取,然而对于国内的支付宝应用却并不支持。国内方面也有一些公司进行了服务端数据获取方面的研究,例如美亚公司研究了使用Android Virtual Device(AVD)来进行Android系统模拟[3],虽然支持支付宝,但系统运行卡顿、访问服務不稳定、系统不兼容部分功能模块无法查看,失去了可操作性,且仅支持已获取root权限的安卓智能终端。
3 安卓虚拟机的构建
总体来说,在计算机上运行Android系统主要采用软件虚拟的手段来实现,主要方法有三种:
1)直接使用google 提供的Android开发工具中的Android Virtual Device ,也就是Android开发调试的虚拟机来模拟。AVD 使用QEMU虚拟出一套ARM硬件,将Android系统运行在该硬件基础上,效率很低,运行速度很慢,用户体验差。
2)将Android底层API接口翻译成Windows API,对PC硬件本身没有要求,在硬件兼容性方面有一定的优势。但需要翻译的Android接口数量巨大,很难面面俱到,而且存在软件翻译的开销,在性能和游戏兼容性方面欠佳。使用该技术的产品有BlueStacks。
3)通过在Windows内核底层直接插入驱动模块,创建一个完整虚拟的电脑环境运行安卓系统,加上CPU VT硬件加速,性能和兼容性都更好,但是对于电脑CPU有一定要求。
该文选用基于第三种方法的VirtualBox作为运行安卓系统的虚拟软件,使用VirtualBox新建虚拟机并安装Android x86操作系统,由于Android x86系统基于x86系统架构,对ARM版APK的支持存在兼容性问题,需要给操作系统安装libhoudini支持包,该包中包括多个so库文件,其原理在于把ARM的二进制代码转译为x86指令集,使得可以在x86的CPU上执行。
4 基于安卓仿真的支付宝云数据取证方法
该文采用基于VirtualBox模拟器[4]的仿真方式,提取智能终端中支付宝的用户数据,导入到虚拟机中,并通过相应的配置,实现用户数据的仿真以及免密码登录,获取用户的云端在线数据。具体包括以下步骤:
1)获取终端中的支付宝应用数据。在安卓智能终端中,支付宝的安装包存放路径为/data/app/com.eg.android.AlipayGphone-2.apk,软件应用数据存放路径为/data/data/ com.eg.android.AlipayGphone。通常,该路径需要安卓智能终端获取root权限才能访问,而目前市面上,大部分智能终端已经不支持获取root,因此需要通过备份的方式来获取智能终端中的支付宝数据。
2)安装支付宝。通过ADB工具,使用adb install命令,把获取的支付宝安装包安装到安卓虚拟机中。判断命令行执行结束后,是否返回Success,确保支付宝安装成功。 3)获取支付宝用户数据属性。支付宝安装成功后,通过adb shell ls -l /data/data/ com.eg.android.AlipayGphone查看文件夹所属的用户和用户组。
4)支付宝待仿真数据准备。通过adb push命令将步骤1中获取的支付宝用户数据导入到安卓虚拟机中,覆盖步骤2中安装的应用数据。修改覆盖后com.eg.android.AlipayGphone文件夹及其下所有文件的所属用户和用户组,同时,还需修改所有文件的权限,将权限修改为最高权限777。
5)开始仿真。打开安卓虚拟机的网络连接,确保网络正常,此时,打开支付宝软件,可实现免输入密码,直接登录用户的使用界面,查看用户的云端在线数据,获取相关线索,并截图。若虚拟机未联网,可离线查看支付宝的本地用户数据。
5 支付宝云端数据取证系统
基于上述的支付宝云端数据取证方法,该文开发了一款基于仿真的支付宝云端数据取证系统,系统可识别不同型号的安卓智能终端,提取终端中支付宝的用户数据,定制化配置相应的安卓虚拟机并导入获取的用户数据,最后在虚拟机中成功仿真支付宝数据。
如下图,可实现免密码登录支付宝用户界面,查看用户的账号信息,交易明细,聊天记录、行程记录以及快递信息等。由于支付宝软件内置了众多常用第三方服务,通过这些服务,能获取到支付宝用户的所有吃穿住行的相关信息,通过对这些信息的分析,很可能对犯罪案件提供有力的线索。
6 结束语
随着手机支付宝应用的不断普及,其应用已经涵盖生活中的方方面面,并逐渐成为人们支付的主流方式之一。支付宝除了提供支付功能以外,还提供了滴滴出行、快递等第三方服务,用户可以在不用下载软件的情况下直接使用这些便捷服务,因此,其使用的普及度也越來越高。由于安卓智能终端的系统版本以及支付宝的软件版本安全性的不断提高,对支付宝的取证变得越来越困难,尤其是在对智能终端的数据进行保护而对网络进行限制且无法获取支付宝用户的账号密码的情况下,能获取到的有用信息变得十分有限。
该文基于现状,提出了一种基于安卓仿真的支付宝云数据取证方法,通过提取安卓智能终端中的设备信息及支付宝数据,定制化配置基于Virtualbox的安卓虚拟机,导入提取的支付宝数据,最终实现免密码登录支付宝用户界面,获取用户的云端服务器数据。基于以上方法,该文还开发了一款基于仿真的支付宝云端数据取证系统,能有效获取支付宝用户的交易记录,账单明细,出行记录及快递信息等众多信息,为取证人员的犯罪案件侦破发挥重要作用。
参考文献:
[1] 孔攀, 蔡睿奇. Android 手机取证技术研究[J]. 网络安全技术与应用, 2018(2): 153-154.
[2] 张楠. 电子商务第三方支付存在的问题及对策研究[J]. 中国商贸, 2011(9Z): 119-120.
[3] 黄加红, 刘晓宇, 曹荣鑫, 等. 仿真技术在手机云数据取证中的应用[J]. 计算机科学, 2016, 43(B12): 181-182.
[4] 阚文枭, 黄秋兰, 陈刚. 桌面网格环境下虚拟化技术的应用研究[J]. 计算机工程, 2017, 34(3): 11-17.
【通联编辑:谢媛媛】