一、GPS定位和LBS基站定位是手机定位数据主要来源
在IOS、Android的智能设备当中,很多应用都会定位用户当前所在位置,如天气预报、城市问候语、地图软件、社交软件等,这些应用大都采用GPS和LBS基站进行定位,当然还有的采取是WiFi、A-GPS、GPS-one等进行定位。手机定位数据在应用的本地App位置中有所保存,有些也可能保存到应用云服务器上。针对手机取证而言,主要从本地App文件中提取地理位置信息。
二、5种常见手机定位数据源及分析方法
GPS定位和LBS基站定位是手机定位数据主要来源,根据不同手机应用,具体又表现为多种不同形式手机数据源,以下为5种常见手机定位数据源及分析方法:
1.简易xml
针对简易xml,通过字段名可以清晰分析出经度\纬度及时间信息。如图1所示,msc.lat即纬度= 30.572313,msc.lng即经度= 104.06245,location_last_update即时间,1459495885804是Unix时间戳,转化为UTC时间为2016/4/1 15:31:25。
【图1:简易xml】
2.App日志文件
txt .log .ini等APP日志文件里的日志数据具有一定格式,检索定位数据可以采用一定算法的正则表达式。如图2所示,GPS定位数据中的atitude = 30.570579即为纬度,longitude = 104.063774即经度,时间为2015/7/15 17:46:20。
【图2:App日志文件】
3.Android设备log.log日志
log.log日志为Android特有的设备日志,含有基站定位数据。其中,CellIdentityGsm开头的字段就是指基站信息。如图3所示,CellIdentityGsm字段内容中mMcc表示国家代码(中国的国家代码是460)、Mnc标识网络类型(移动的代码是1,联通的代码是0)、mLac标识基站的位置区域码、mCid标识基站编号。
备注:CellIdentityGsm代表是移动基站信息,如果是联通基站信息则字段名为CellIdentityWcdma。
【图3:Android设备log.log日志】
4.DB数据库
DB数据库在IOS和Android应用大量采用,DB数据库文件用来存储App运行所需基本参数及运行中用户设置需要保存的数据。如图4所示,打开一个记录定位数据的DB数据库文件,loc字段为location缩写即含有位置信息的加密数据,time字段为Unix时间戳,经过一定的解密算法可以获取其中具体纬度、经度信息。
【图4:DB数据库】
5.媒体文件
我们平时在用手机拍照或录制视频时可以设置是否保存当前位置,设置保存后拍摄的JPG 、MP4 、MOV等媒体文件属性中,就保存有拍摄时定位数据(如图5)。
【图5:来自iPhone拍摄的JPG媒体文件】
三、 如何利用第三方平台对定位点数据进行进一步解析和地图展示
通过以上对手机定位数据源进行提取和分析,可以得到手机定位点数据(其中,GPS定位数据结构为:时间、经度、纬度;基站数据结构为:时间、国家代码、网络号码、基站号,位置区域码)。针对这些手机定位点数据,通过第三方定位数据查询平台,如Google位置服务、百度位置解析API、LBS数据仓库、Haoservice、聚合数据等,可以对这些手机定位点数据进行进一步解析和地图展示。
备注:其中Google位置服务需结合VPN使用,百度API当前只能解析国内的位置信息,聚合数据等第三方专业数据接口供应商采用付费解析的方式解析。
下面,我们将以前面解析图1、图2、图3得到的3个定位点数据①GPS 点[时间2016/4/1 15:31:25,经度104.06245,纬度30.572313];②GPS点 [时间2015/7/15 15:31:25,经度104.063774,纬度30.570579] ;③基站点[时间2015/4/29 14:14:34,国家代码460,网络号码0,基站号37341,位置区域码33067]为例,介绍几种利用第三方平台进行进一步解析和地图展示的方法:
1、API接口方式(针对GPS定位点)
针对①GPS 点[时间2016/4/1 15:31:25,经度104.06245,纬度30.572313],可以利用百度地图API进行展示,其中formatted_address字段就是具体的街道位置(如图6)。
备注:利用百度地图API需要申请ak,这种方式适合后台程序调用API
【图6:百度地图API接口】
2、网站结合地图方式(针对GPS定位点)
针对②GPS点 [时间2015/7/15 15:31:25,经度104.063774,纬度30.570579],可以采取网站结合地图方式进行展示。打开经纬度查询网站(http://www.gpsspg.com/maps.htm),在搜素栏中输入具体的经度、纬度,具体的街道位置便在地图上显示出来(如图7)。
备注:这种方式适合定位数据量小,需要快速获得定位点具体位置时使用。
【图7:网站结合地图方式】
3、解析基站定位点数据
针对③基站点[时间2015/4/29 14:14:34,国家代码460,网络号码0,基站号37341,位置区域码33067],可以利用第三方基站查询平台进行查询。这里,我们使用第三方查询平台“LBS数据仓储”进行查询,打开网址(http://api.cellocation.com/cell.html),在地图上方的输入框中填入基站点数据信息,查询即可看到该基站所在的具体街道位置和经纬度信息(如图8)。
【图8:利用LBS数据仓储获取基站定位点街道位置】
结语:本期,数据恢复四川省重点实验室科研人员介绍了从IOS/Android手机常见数据源提取分析定位点数据,再到利用第三方平台进行进一步解析和展示的全过程。目前,此方法已成功应用到效率源“MTF 手机可视化行踪取证系统”中,并实现了软件全自动检索、提取、解析、地图展示等功能,大大提升了工作效率。