基于安卓系统的手机防盗取证系统

2014-02-08 09:07
实验室研究与探索 2014年9期
关键词:通话记录功能测试SIM卡

浩 明

(西安邮电大学 通信与信息工程学院, 陕西 西安 710021)

0 引 言

Android是Google公司开发的基于Linux内核的开源手机操作系统[1],它已成为当前主流的手机操作系统,Android系统的开源性使其广泛应用于智能手机上,这也使得智能手机得到了迅速普及。

Android系统平台包含有基于Linux内核的操作系统、虚拟机、中间件,一些API接口,以及一些必要的应用功能[2-3]。Android整体上可以看作是由Linux、C/C++和Java所构成的开源软件系统。

Android 平台的设计使其具有很强的容错能力。Android 手机设备运行在Linux 操作系统下,这使得其上运行的Android 应用程序具有很强的安全性。每一个Android 应用程序均运行在不同的进程中,这一进程对应一个Dalvik 虚拟机的实例。基于Java 虚拟机,Dalvik 为移动设备进行了优化设计。Dalvik 虚拟机具有较小的内存占用,而且多个Dalvik 虚拟机的实例在手机设备中可以并发运行。Android 应用程序为托管代码,所以,由应用程序而导致系统崩溃的可能性很小,这也降低了设备崩溃的可能性[4-8]。

随着现在智能手机的普及, 其功能及存储容量的增加, 一方面方便了用户把更多信息放入手机中,进行管理; 另一方面也增加了手机泄密、手机隐私被窃、手机丢失后的信息欺诈的危害程度[9],手机一旦丢失将给个人隐私带来极坏的后果,威胁到了个人隐私安全。本文采用后台接收系统广播自动监听手机的技术,为用户找回手机提供了重要的线索,同时为公安人员破案提供证据。

1 Android 手机防盗追踪机制

根据Android 系统的特性和手机防盗取证功能的需求,首先,当手机用户首次运行本程序时,需注册用户名和输入密码,用户开启防盗取证功能,并设置一个安全号码后,程序将保存当前用户SIM 卡和安全号码。之后,该程序将每次监听手机开机启动,通过读取当前手机用户SIM 卡码与保存在数据库中SIM 卡码是否相同来判断是否为手机合法用户。如果相同,程序开启后台监听服务;否则,程序将以短信形式发送报警提示到指定的绑定手机上。当程序监听检测到合法用户通过安全号码回复的短信内容时,以广播机制为基础,程序实现远控仍需要一个传送指令的途径[10],这里我们以短信内容来进行相应功能的选择,本系统收到短信后通过分析得出相应指令,分别执行定时录音、加密存储并上传至邮箱,抓拍照片、加密存储并上传至邮箱,获取最新通话记录和GPS定位功能。防盗取证流程如图1所示。

受控手机开机后,本系统监听到Android系统发出的启动广播时,手机号是SIM 卡的标识[11]。系统启动开机SIM卡更换判断,首先判断SharedPreferences中是否存储了SIM卡号,如果为空,则将其保存;非空,用当前的SIM卡号与SharedPreferences中存储的SIM卡号比较,若不相等,则向绑定的手机发送一条提示信息,通知手机已更换SIM卡,被通知的手机就可以得到换卡后的手机号码。开机SIM卡验证流程图如图2所示。

BroadcastReceiver 是消息传递、响应渠道[12],本系统通过继承Service类进行后台监听,通过内部类继承BroadcastReceiver接收系统的短信广播。Android操作系统在收到短信时系统会发送广播,此时所有已注册的BroadcastReceiver检查注册时的IntentFilter(过滤器),是否与发送的Intent相匹配,匹配则调用BroadcastReceiver的onReceiver()方法进行处理。在捕获系统的短信广播之后,对短信内容进行提取,并判断是否为已设置的安全密码,如果匹配成功,将唤醒名为menu的Activity类来自动回复功能菜单,用户可以通过任何可以收发短信的手机接收我们系统发出的短信菜单,并且对菜单进行相应功能的回复操作,同时通过对标志位的更改达到调用针对功能菜单序号监听服务的目的。

对图像信息和声音信息的加密原理,借助Java自带的加密开发包,将文件以输入输出流的方式进行读取,然后在读取文件的同时对文件执行内部加密算法。为了提高执行效率,引入IO缓冲区,实现每次操纵1 kB大小的数据块。针对多媒体文件,经过计算分析,提取文件首部的固定长度的数据,通过MessageDigest类获得摘要算法的实例[13],指定摘要算法计算其摘要。同时将该摘要值转化为整型,将每次读取的文件流加上该值,将每个数据块转化为密文。这样,加密完成后的文件已不能正常读取,从而实现了对文件的加密处理。在加密完成之后,将摘要值写入特定配置文件,作为以后判断多媒体文件在传输过程中是否经过篡改的判断依据。当需要解密的时,可使用与加密相反的算法,读取摘要文件,借助摘要数据,实现对文件的解密处理。

2 Android 手机防盗取证技术的实现

2.1 录音取证功能的实现

监听拨打去电的方法是:拨打电话时,系统将广播“android.intent.action.NE-W_OUTGOING_CALL” 消 息 ,对该消息关联 Receiver即可截获到拨打电话事件。相关的权限为“android.permission.PROCESS_OUTGOING_CALLS”。

由于录音时间较长,所以我们采用另外启动一个线程来执行录音操作,将录音后的文件以.amr的格式存储到/sdcard/下,调用系统内部的加密算法进行加密并产生摘要,将处理后的加密文件和摘要共同以附件的形式发送到已绑定的邮箱内,作为以后取证和解密的备份。

核心代码如下:

Intent intent = getIntent();

String Number = intent.getStringExtra("Number");

Intent intentDial = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+Number));

startActivity(intentDial);

2.2 拍照取证功能的实现

当调用此功能时,首先初始化相机,然后调用照相方法,并判断是否已有名为MyPhotos的文件夹,若无则创建文件夹,将抓拍的照片存储到此文件夹中,然后调用加密算法,进行加密处理,并产生摘要,将处理后的加密信息和摘要以附件形式发送到绑定邮箱内。

核心代码如下:

mSurfaceView=(SurfaceView)findViewById(R.id.camera); mSurfaceView.setOnClickListener(this);

mSurfaceHolder=mSurfaceView.getHolder();

mSurfaceHolder.addCallback(this);

2.3 获取最新通话记录的实现

Android平台上的通话记录是以Content Provider的形式存储在手机上的,因此需要使用ContentResolver来查询通话记录,返回Cursor对象。

核心代码如下:

Final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI,new String[]

{

CallLog.Calls.NUMBER,

CallLog.Calls.CACHED_NAME,

CallLog.Calls.TYPE,

CallLog.Calls.DATE

},null,null,

CallLog.Calls.DEFAULT_SORT_ORDER);

cursor.getCount();

2.4 GPS定位的实现

位置服务又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供了与空间位置相关的综合应用服务。Android平台提供了位置服务的API,在开发过程中主要用到Location Manager和Location Providers两个对象[14-16]。因此通过调用系统的Location Manager 来获取地理位置等相关信息。调用GPS需要添加的权限为

核心代码如下:

LocationManager locationManager = (LocationManager)Function05GPSLocation.this.getSystemService(Context.LOCATION_S ERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,new TestLocationListen-er());

3 部分功能测试

3.1 录音取证功能测试

发送短信至受控手机,可以进行录音取证测试。取证内容将直接发送至绑定邮箱当中,供取证时下载使用。邮件显示内容如图3所示。

图3 录音取证功能邮件查看图

3.2 拍照取证功能测试

发送短信至受控手机,进行抓拍取证,取证内容将直接发送至绑定邮箱当中,供取证时下载使用。邮件显示内容如图4所示。

图4 照片取证功能邮件查询图

3.3 获取最新通话记录功能测试

发送短信至受控手机,进行获取由受控手机回复的最新通话记录信息。同时将通话记录上传至绑定邮箱。获取通话记录的测试结果如图5所示。

图5 获取最新通话记录功能测试

在邮件中接收的内容如图6所示。

3.4 GPS定位功能测试

发送短信至受控手机,可以进行GPS位置查询的测试,收到由受控手机回复的当前GPS经度纬度数据。获取GPS信息如图7所示。

图6 邮件接收图

图7 GPS定位功能测试图(监控端-受控端)

4 结 语

本文从Android的广播机制、开机对SIM卡验证,后天监听等多个角度分析了Android 手机防盗追踪机制,并针对具体的安全功能给出了详细的实现过程及核心代码,本系统为丢失手机用户找回手机提供了重要线索,具有广泛的应用前景和重要的实践意义。

[1] Ed Burnette.Android基础教程 [M].3版. 田俊静,张 波,黄湘情等,译. 北京:人民邮电出版社,2010.

[2] 靳 岩,姚尚朗.Google Android开发入门与实践[M]. 北京:人民邮电出版社,2009:3-9.

[3] 佘志龙, 陈昱勋, 郑名杰,等.Google Android SDK开发范例大全[M].2版 . 北京:人民邮电出版社,2010.

[4] Reto Meier. Android 2 高级编程[M]. 2版. 王 超译.北京:清华大学出版社, 2010.

[5] 吴亚峰,索依娜.Android核心技术与实例详解[M].北京:电子工业出版社,2010.

[6] 赵书兰.Android开发与实战[M].北京:电子工业出版社,2013.

[7] 杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.

[8] 陈 文,郭依正.深入理解Android网络编程:技术详解与最佳实践[M]. 北京:机械工业出版社,2013.

[9] 杜林锋.手机信息安全不可忽视[J].内蒙古科技与经济,2007(7):78-80.

DU Lin-feng.Mobile phone information security can not be ignored[J].Inner Mongolia Science Technology & Economy,2007(7):78-80.

[10] 李中平,邱健峰,李 璐,等.Android 手机远程控制关键技术分析[J].计算机应用与软件,2013,30(4):113-115.

LI Zhong-ping, QIU Jian-feng,Li Lu,etal. Analysing key Technologies of Android Mobile phone’s remote control[J]. 2013,30(4):113-115.

[11] 张京京,闫晓蔚,蔡建顺,等.基于Android 系统的手机隐私安全的研究与实现[J].信息网络安全,2012(5):59-63.

ZHANG Jing-jing, YAN Xiao-wei, CAI Jian-shun,etal.Android System based on Mobile Phone Privacy Information Security Research and Implementation[J]. Netinfo Security,2012(5):59-63.

[12] 蔡罗成.Android 后台监听实现机制浅析[J].信息安全与通信保密,2010(6):39-41.

CAI Luo-cheng. Discussion on Mechanism for Backstage Monitors of Android [J]. Information Security and Communication Privacy,2010(6):39-41.

[13] 张 富,江 冰,黄 佳,等.基于Android 的个人云安全存储系统[J]. 科学技术与工程,2012,27(12):7100-7108.

ZHANG Fu,JIANG Bing,HUANG Jia,etal. Android-based Personal Cloud Secure Storage System [J]. Science Technology and Engineering,2012,27(12):7100-7108.

[14] 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82-85.

LIU Sheng-qian,CHEN Li-ding,REN Zhi-gang. Research on application service based on Android mobile platform and GPS[J]. Information Technology,2012(1):82-85.

[15] 李 铮.基于Android 的位置跟踪系统设计与实现[J].承德石油高等专科学校学报,2013,15(5):33-36.

LI Zheng. Design and Implementation of Position-tracking System Based on Android Platform[J]. Journal of Chengde Petroleum College,2013,15(5):33-36.

[16] 肖 飞,乔荣爱.基于Android 的校园报警平台的设计与实现[J].计算机与现代化,2013(8):222-228.

XIAO Fei,QIAO Rong-ai. Design and Implementation of Campus Alarm System Based on Android[J]. Computer and Modemization,2013(8):222-228.

·名人名言·

没有实验,任何新的东西都不能深知。

——培根

猜你喜欢
通话记录功能测试SIM卡
法院调取公民通话记录的合宪性考察
某内花键等速传动轴八功能测试夹具设计
SIM卡防盗很关键 小喻教你如何给它“上保险”
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
分手
不用解释