专栏名称: 信息时代的犯罪侦查
一切行为皆有犯罪的可能性,而在信息时代,这一过程变得更加复杂或者隐晦了。本号致力于传播打击和预防犯罪的手段、方法、理念,并希望能够推动侦查犯罪的机制变革,而这需要了解方方面面的信息。
目录
相关文章推荐
FM93交通之声  ·  毒性胜砒霜!女子吃一口抢救3天,千万小心! ·  昨天  
FM93交通之声  ·  刚刚确认:今晚抵达浙江,做好准备... ·  昨天  
浙江市场监管矩阵  ·  省市场监管局召开机关干部大会贯彻落实省委新春 ... ·  昨天  
杭州日报  ·  刚刚,他哭了!冲上热搜 ·  3 天前  
51好读  ›  专栏  ›  信息时代的犯罪侦查

如何通过技术取证重现手机移动轨迹

信息时代的犯罪侦查  · 公众号  ·  · 2019-02-02 13:39

正文

案例

随笔

知识

声音

其他

编者按

即便对于最具安全意识的群体,有时也不得不开通手机GPS。App自动记录个人活动,GPS数据凡走过必留下痕迹。本文通过实验,向大家展示利用可视化地图,还原定位记录,重现使用者的移动轨迹。

文章来源:“ 中央警察大学 ”资讯密码暨建构实验室( 台湾 )。

用来记录个人运动状态的应用程序,确实会留存详细的GPS资料,若搭配相关软件,即可找出他人的活动状态。对此,本文将从Android智能手机中备份出应用程序内的GPS资料,并将其轨迹重现在地图上,进而判断是否有异常现象,以协助犯罪调查。


近年来,因为智能手机的功能与方便性迅速发展,而受到许多民众的青睐,使得许多原本仅局限于电脑的网络和电子服务,可在智能手机上顺畅运行,也因此智能手机或多或少存有公众的个人或机密资料,使其遭受到网络犯罪或网络诈欺的风险对比其他信息设备要高出许多。


若从犯罪调查的角度去思考,操作者也可能会在使用智能手机时,不经意地留存有利日后调查的存留资料(电子证据),例如通联对象的电话记录、通讯软件的对话记录、私密照片或全球定位系统(Global Positioning System,GPS)资料等。如何针对智能手机进行电子证据提取和分析,以取得有助于破案的关键电子证据,尤为重要。本文将以Android系统为主,说明如何提取Android智能手机的GPS定位数据。


相关背景知识说明


在开始说明之前,先简单介绍Android操作系统、全球定位系统(GPS)、说明何谓手机取证,简单介绍Google“我的地图”(My Maps)功能,以及会使用到那些取证工具软件。


Android操作系统


Android是开放源码的移动设备操作系统,以Linux为基础核心进行修改及新增功能,其可安装于智能手机、平板电脑、穿戴设备等行动设备,由Google主导的Open Handset Alliance持续开发并更新。


全球定位系统GPS


全球定位系统是由美国国防部(Department of Defense)所开发的,1994年正式提供服务,它使用24颗人造卫星,可以提供地球表面98%地区的定位、测速及标准时间。使用者只要持有GPS接收设备,且能接收到的卫星讯号,即可使用该服务,且无须付费。


而Android GPS是Google Play的其中一个服务,可以用来记录Android设备使用者的轨迹、所在地点。


手机取证


电子数据取证可分为电脑取证、手机取证、网络取证、资料库取证、多媒体取证、属于新兴科技之云端取证及物联网(Internet of Thing,IoT)取证等领域,且根据国际标准化组织(ISO)与国际电气技术委员会(IEC)共同提出的ISO/IEC 27037标准,电子数据取证流程又可分为电子数据证据的识别(Identification)、收集(Collection)、获取(Acquisition)以及保存(Preservation)等阶段,如图1所示。


▲图1 电子数据取证流程



手机取证流程虽因各品牌手机操作系统、传输介面等规格不尽相同,在获取电子数据证据阶段略有差异,但仍可以取得资料的种类,简单分为物理获取(Physical Acquisition)与逻辑获取(Logical Acquisition)。


所谓的物理获取,是通过专业电子数据取证设备与软件,以比特流复制方式对目标手机制作电子数据证据镜像,此方式的主要优点是可以完整复制手机内容,并且有机会恢复删除的资料或检查隐藏的档案。缺点是需要root(系统管理者)权限与较长的制作镜像时间。而逻辑获取,则使用适合的连线机制,将手机连接至取证分析主机或手机取证设备,再针对目标手机执行资料备份动作,即可取得逻辑性的文件资料。优点是处理过程速度较快且手机取证软硬件规格要求较低,缺点是无法还原已遭删除的档案(有些逻辑提取行为,也可以恢复部分删除的数据:编者注)。


Google地图之“我的地图”(My Maps)功能


Google地图可以让使用者进行地址、商家、景点等等的地点搜寻、通过街景画面查看实况或路线规划导航等功能。本文使用Google地图中的My Maps功能,可让使用者自行定义目的地及顺序,或将GPS定位点记录导入到My Maps内,结合每笔记录的时间信息,以地图方式描绘出GPS设备移动历程轨迹。取证分析人员可借此以更直观的方式辅助分析GPS记录是否有异常之处。


软件工具


这里将介绍ADB(Android Debug Bridge)和ABE(Android Backup Extractor)这两种软件工具。ADB是Android软件开发者工具套件(SDK)中的一个调试工具,使用者可通过指令介面以Linux Shell方式操作Android系统,进行资料备份、修改设定或查询设备状态信息等动作。以手机取证角度来说,ADB可直接存取Android系统底层资料,避免关键电子数据证据于使用者介面下为隐藏状态而被忽略。但预设的ADB执行权限并非root,若执行的指令或欲蒐集的资料需要root权限,则必须先进行权限提升才能执行。


而ABE是一个以Java语言编写的开源解压缩工具,适用于Windows、Linux及OS X等系统,可解开扩展名为ab的未加密文件。假设有一个没有密码保护的文件“evidence.ab”,在Windows操作系统环境下需要被解压缩成为tar文件,则应执行“java.exe –jar abe.jar unpack evidence.ab evidence.tar”这样的指令。


进行实际测试


接下来,将以实际测试的方式来说明整个操作过程。首先说明目的和做法,然后介绍实测环境,并示范解说实作过程。


实作目的及做法


本文将实操从Android智能手机中提取出App的GPS数据,并将其轨迹重现在地图上,提供取证分析人员取得可视化的电子数据证据的实务做法。


首先,步骤一:准备有GPS功能的Android智能手机,以及可用于记录运动状态的App,并测试是否可通过ADB存取App的记录档案。步骤二:实际移动并确认完成GPS轨迹记录后,再使用ADB获取手机逻辑档案。


步骤三:通过解压缩工具ABE将获取的逻辑文件(扩展名为ab)提取(Extract)成可让取证分析人员解读内容的文件,再从其中找出App里储存GPS定位资料的文件位置。

最后,导入My Maps – Google中,重现使用者在地图上的运动轨迹,借由图形可直觉判断是否有异常现象,全部实验流程如图2所示。


▲图2 实验流程示意图



实测环境与限制


可用于记录运动状态的App种类繁多,本文选择“Nike+ Run Club”、“RunKeeper”及“Endomondo”等三款较为热门的App,作为前述实验流程中测试是否可用ADB获取资料的目标。判断方式为检查App程序安装文件(Android Package,APK)中的AndroidManifest.xml设定值内容,该设定值文件为应用程序的安装相关参数,于此文件中可以找出android:allowBackup,此设定值若为0,表示无法用ADB进行备份。


以Endomondo运动App进行APK设定文件检查为例,首先从网络上下载Endomondo App的APK文件以及AAPT(Android Asset Packaging Tool)软件工具。


使用AAPT时,在命令提示符界面下可将APK文件中的AndroidManifest.xml文件取出并重新编码成文本文件,其指令及语法如图3所示,输出的文件为demo.txt。

▲图3 使用AAPT软件工具取出AndroidManifest.xml文件


然后,查看android:allowBackup的设定值,以确认是否能用ADB进行备份工作,图4是demo.txt内容,可以发现android:allowBackup的数值为0,表示无法利用ADB复制。

▲图4 查询android:allowBackup数值


用前述检查方法分析本文选择的三款热门运动App后,整理其结果如表1所示,由此得知RunKeeper App可以进行逻辑备份,因此选择RunKeeper App做为本文实操对象。


表1 运动App可否用ADB复制的检查结果


执行本文实验所使用的软件与硬件环境,分别列于表2与表3。软件工具部分,除了RunKeeper App外,其余皆安装于笔记本电脑中。


表2 软件工具版本及功能说明


表3 实验的硬件环境


执行ADB之前,手机必须开启USB调试(USB Debugging),并且需要安装手机驱动程序,以本文选用的ASUS Zenfone 2为例,应下载并安装ASUS Android ADB Interface,才能使ADB正确运作。


实操过程与结果


首先,使用ADB进行手机的逻辑提取。负责逻辑提取手机资料的笔记本电脑须先下载并解压缩SDK Platform-Tools for Windows,并于解压缩完成后的文件夹中,按住键盘〔Shift〕键再按下滑鼠右键,然后点选快速选单中的【在此处开启命令行窗口】。


开启Android智能手机中的USB调试,步骤依序为:设定→开发人员选项→开启USB调试,如图5所示,然后使用USB接线将Android智能手机与电脑连接。


▲图5 开启Android智能手机中的USB调试功能


在原先开启的命令行窗口中输入“adb shell pm list packages”,以便确认要备份的RunKeeper App其package名称为“com.fitnesskeeper.runkeeper.pro”,如图6所示,确认此名称的目的是为了只从Android智能手机中备份此一App的资料。

▲图6 执行“adb shell pm list packages”指令



在命令行窗口中输入“adb devices”,可以确认手机与电脑是否正确连接。再来要进行RunKeeper App的备份,将备份文件命名为“runkeeper.ab”并且存到“c:\”目录底下,其指令为“adb backup –apk –f c:\runkeeper.ab com.fitnesskeeper.runkeeper.pro”,如图7所示。此时,Android智能手机会出现如图8所示的画面,不输入密码且按下手机中的“备份我的资料”,手机就会开始备份指定App资料。


▲图7 进行RunKeeper App的备份


▲图8 按下“备份我的资料”开始备份


接着,通过ABE将档案输出为可检查的文件。由于ABE工具是使用Java环境所开发的,为了执行ABE必须先安装JDK,本文下载安装的版本是Java SE Development Kit 8u131 (Windows x86)。


安装完成JDK之后,再执行ABE进行解压缩,然后于ABE解压缩的文件夹底下执行命令行窗口,输入“”C:\Program Files (x86)\Java\jdk1.8.0_131\bin\Java.exe” -jar abe.jar unpack runkeeper.ab runkeeper.tar”,此指令可以将RunKeeper App的备份档runkeeper.ab提取成runkeeper.tar压缩档。


然后,从可检查的文件中找出RunKeeper App里记录GPS轨迹的数据,将runkeeper.tar压缩档进行解压缩后,即可浏览RunKeeper App的数据,从文件夹路径中“…\runkeeper\apps\com.fitnesskeeper.runkeeper.pro\db”可以找到存有GPS运动轨迹的RunKeeper.sqlite数据文件。


使用DB Browser for SQLite程序开启RunKeeper.sqlite数据文件,如图9所示,在points数据表中发现GPS运动轨迹的经纬度数据,而trips数据表中可以找到运动的开始时间以及距离(216公尺),其时间是以UNIX格式的时间数值记录的,可以通过转换工具得到通用的时间格式。将图10内的trips数据表中的start_date字段数值,进行转换,可以得到运动时间,如图11所示。







请到「今天看啥」查看全文