网络安全 频道

IOS/Android GPS定位点和基站数据解析

编者按:本期,数据恢复四川省重点实验室科研人员将介绍IOS/Android手机从原始数据扫描提取到具体解析的全过程。分析常见的定位痕迹数据源和解析方式,介绍如何利用第三方位置服务商提供的GPS、基站解析服务进行进一步数据解析和地图展示。     


一、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.png

【图1:简易xml】


2.App日志文件

       txt  .log  .ini等APP日志文件里的日志数据具有一定格式,检索定位数据可以采用一定算法的正则表达式。如图2所示,GPS定位数据中的atitude = 30.570579即为纬度,longitude = 104.063774即经度,时间为2015/7/15 17:46:20。

2.png 

【图2:App日志文件】


3.Android设备log.log日志

       log.log日志为Android特有的设备日志,含有基站定位数据。其中,CellIdentityGsm开头的字段就是指基站信息。如图3所示,CellIdentityGsm字段内容中mMcc表示国家代码(中国的国家代码是460)、Mnc标识网络类型(移动的代码是1,联通的代码是0)、mLac标识基站的位置区域码、mCid标识基站编号。

       备注:CellIdentityGsm代表是移动基站信息,如果是联通基站信息则字段名为CellIdentityWcdma。

3.png

【图3:Android设备log.log日志】


4.DB数据库

        DB数据库在IOS和Android应用大量采用,DB数据库文件用来存储App运行所需基本参数及运行中用户设置需要保存的数据。如图4所示,打开一个记录定位数据的DB数据库文件,loc字段为location缩写即含有位置信息的加密数据,time字段为Unix时间戳,经过一定的解密算法可以获取其中具体纬度、经度信息。

4.png

【图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.png

【图6:百度地图API接口】



2、网站结合地图方式(针对GPS定位点)

      针对②GPS点 [时间2015/7/15 15:31:25,经度104.063774,纬度30.570579],可以采取网站结合地图方式进行展示。打开经纬度查询网站(http://www.gpsspg.com/maps.htm),在搜素栏中输入具体的经度、纬度,具体的街道位置便在地图上显示出来(如图7)。

       备注:这种方式适合定位数据量小,需要快速获得定位点具体位置时使用。 

7.png

【图7:网站结合地图方式】



3、解析基站定位点数据

       针对③基站点[时间2015/4/29 14:14:34,国家代码460,网络号码0,基站号37341,位置区域码33067],可以利用第三方基站查询平台进行查询。这里,我们使用第三方查询平台“LBS数据仓储”进行查询,打开网址(http://api.cellocation.com/cell.html),在地图上方的输入框中填入基站点数据信息,查询即可看到该基站所在的具体街道位置和经纬度信息(如图8)。 

8.png

【图8:利用LBS数据仓储获取基站定位点街道位置】


结语:本期,数据恢复四川省重点实验室科研人员介绍了从IOS/Android手机常见数据源提取分析定位点数据,再到利用第三方平台进行进一步解析和展示的全过程。目前,此方法已成功应用到效率源“MTF 手机可视化行踪取证系统”中,并实现了软件全自动检索、提取、解析、地图展示等功能,大大提升了工作效率。


特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章