手机取证——安卓Radio日志基站数据提取
【文章来源:效率源科技(微信号)】微信号:xiaolvyuantech
一、手机历史地理位置数据提取是手机取证必要环节
手机历史地理位置数据提取在手机取证中起着对空间的描述,是痕迹取证五大要点之一(时间、地点、人、事、物),是手机取证必不可少环节。作为移动设备,手机在使用过程中会产生较多地理数据,而这些数据的产生大都与GPS定位、基站定位、WiFi定位、A-GPS定位、GPS-one混合定位这5种手机定位技术有关。
基站定位是手机室外定位的主要方式之一,根据基站定位原理(如图1),当手机同时访问三个以上基站时,就可以获取手机当前所在地理位置的精确参数;当手机只连接一个基站时,也能说明该手机就在该基站数百米范围内。因此,通过对存储在手机中的基站信息进行提取和分析,就可以找到基站地理位置数据,进而可以判断该手机是否到过该基站附近,这对手机取证有重要意义!
【图1:基站定位原理】
二、提取Radio日志基站信息可以找到手机历史地理位置数据
智能手机Android系统拥有高效、完整的日志管理功能,在运行过程中,系统会将手机中各种动作信息记录下来,并通过分类,向各自不同的日志缓冲区,不断地写入这些记录。
Android系统日志主要包含Main、Radio、Events等日志类型,它们以循环缓冲区的形式不断记录系统日志。其中,Radio类型日志是与射频相关的日志,主要包含SIM卡信息、STK信息、无线、通话等信息,手机基站信息就存在于其中。
通过提取手机Radio日志,并对其中基站信息进行提取和解析,就可以找到基站地理位置数据,进而可以找到该手机历史地理位置数据。
三、提取方法
将Android手机通过USB线连接电脑,打开USB调试模式,启动电脑中的cmd.exe,执行命令adb logcat -b radio -v time -d,将得到当前手机中Radio日志的缓冲数据(如图2)。
【图2:Radio日志缓冲数据】
Radio日志缓冲数据中,包含有多种类型的基站信息日志。这里,介绍其中两种含基站信息日志的分析方法:
1、04-11 14:22:12.475 D/RILJ ( 1372): [3856]< RIL_REQUEST_GET_CELL_INFO_LIST [CellInfoWcdma:{mRegistered=YES mTimeStampType=oem_ril mTimeStamp=2351418272230ns CellIdentityWcdma:{ mMcc=460 mMnc=1 mLac=61723 mCid=169597624 mPsc=321} CellSignalStrengthWcdma: ss=26 ber=99}]
这条日志的标记头为RIL_REQUEST_GET_CELL_INFO_LIST,CellIdentityWcdma开头的字段指示的就是基站信息,这里CellIdentityWcdma代表是联通基站信息,如果是移动基站信息则字段名为CellIdentityGsm。CellIdentityWcdma字段的内容中mMcc表示国家代码(中国的国家代码是460)、Mnc标识网络类型(移动的代码是1,联通的代码是0),mLac标识基站的位置区域吗、mCid标识基站编号。
2、10-07 12:35:08.541 3464 3631 D RILJ : [rild] [-9744]< VOICE_REGISTRATION_STATE {1, 821e, 0000a214, 16, null, null, null, null, null, null, null, null, null, null, null}
这条日志的标记头为VOICE_REGISTRATION_STATE,其中大括号中用逗号分割的数据中包含有基站信息,如果从1开始数到第5个数据的值是null,那么这条日志记录的是移动或者联通基站,这里的0000a214表示移动联通位置区域码LAC,812e表示移动联通基站编号CID。如果从1开始数到第5个数据的值不是null,那么这条日志记录的是电信基站,其中第5个数据记录的是位置区域码SID,第9个位置记录的是电信基站编号BID,第10个位置记录的是电信本地网络编号NID。
将以上分析出的基站信息数据,通过第三方基站查询平台,如LBS数据仓库、Haoservice、聚合数据等进行查询,便可得到该基站的地理位置,进而可以判断该手机历史时间是否曾到过该基站附近。