基于Android平台手机防盗软件的设计与实现

2016-05-14 22:34罗永宏王剑冯超
网络空间安全 2016年4期

罗永宏 王剑 冯超

【 摘 要 】 针对Android手机丢失或被有意窃取后所导致的敏感隐私信息泄露等安全隐患,提出并设计了一种基于Android广播机制和后台监听技术的手机防盗软件,实现智能手机短信远程管理功能。不仅能够对手机通讯录、通话记录、短信和内存卡信息通过调用相关函数进行远程获取或删除,而且能够对被盗手机进行GPS定位和静音监听。文章首先介绍该软件系统的总体功能结构,然后详细分析各模块的具体设计方案,并在模拟器和真机两种测试环境下对手机防盗软件进行安全测试。实验测试结果表明:该软件设计合理有效,能够实现预期功能,具有良好的实用性。

【 关键词 】 Android;广播机制;后台监听;防盗追踪;隐私销毁

【 中图分类号 】 TN926-34; TP311 【 文献标识码 】 A

【 Abstract 】 For sensitive private information leaks and other security risks after Android phones are lost or stolen intentionally, a mobile phone anti-theft software based on Android broadcast mechanism and backstage monitoring technology was designed, a function of smart phone SMS remote control was realized. The system can remotely obtain or delete the contacts、call records、short message and information in memory card, acquire the GPS position and execute the mute monitoring for the stolen mobile phone. The overall functional structure of the software system is firstly introduced, and the specific design scheme of each module is analyzed in detail. The mobile phone anti-theft software was tested on simulator and real mobile phone condition. The tested results show that the software is effective, can achieve anticipative functions, and has good practical value.

【 Keywords 】 android; broadcast mechanism; backstage monitoring; anti-theft tracking; privacy destruction

1 引言

随着移动互联网时代的到来,移动终端设备不再仅仅作为简单的通信工具使用,移动通信技术的不断成熟使得功能强大,用户体验良好的智能手机成为人们日常生活中获取信息的主要设备,而Android手机以其开放的平台环境、简单易用和丰富的应用功能得到了广大用户的认可与喜爱。人们使用智能手机不再单是打电话、发短信、上网浏览信息、观看视频、聊天娱乐、购物导航,很多用户已习惯于将支付宝密码、银行卡密码、网络登录密码、重要日程提醒、视频照片、个人日记等敏感隐私信息保存在手机中,因此智能手机一旦丢失被窃,不仅将带来个人财产的损失,还会导致严重的隐私泄露风险,可能引起亲戚朋友上当受骗,对用户个人及亲戚朋友的生活和工作产生不良影响。根据诺顿2015年最新发布的《Android智能手机安全调查》显示,85%的受害者对手机丢失被盗束手无策,超过50%的受害者对因手机丢失而引起的个人隐私泄露心存顾虑。因此,为广大Android手机用户开发一套实用性强、安全可靠的手机防盗软件具有重要的现实意义与使用价值。

为了达到此目的,本文提出并设计了一种基于Android平台的手机防盗安全软件,利用Android广播机制,通过短信远程控制,可实现手机丢失后的防盗追踪和隐私信息销毁功能,提高了智能手机安全性,以保障手机用户的个人隐私和财产安全。

2 系统总体设计

2.1 Android手机防盗追踪机制

根据软件功能要求和Android系统特性,手机防盗安全软件在手机上运行时,首先需检测是否为首次在该手机上运行。若是第一次运行,则需初始化设置,首先注册登录用户名和密码,再设定一个安全号码,设置完成后自动启动手机防盗功能,同时保存手机SIM卡信息、登录用户名和密码以及安全号码。若不是第一次运行,则需输入用户名和密码登录软件,用户名和密码输入正确即进入软件设置,可关闭手机防盗功能或重新设定登录用户名和密码以及修改安全号码;用户名和密码输入错误三次,软件退出登录界面,后台继续正常运行防盗功能。

开启手机防盗功能后,软件会监听手机开机启动,同时在后台实时监听手机接收到的短信。在手机每次开机时检测当前手机用户SIM卡信息,并与数据库中保存的初始SIM卡信息相比对来判断是否为合法手机用户。SIM卡信息相同,说明为合法手机用户,不做任何操作;SIM卡信息不同,说明SIM卡已替换,用户手机被盗,软件将自动向安全号码手机发送包含当前手机SIM卡及GPS位置信息的报警短信,为用户找回被盗手机提供线索。当程序后台监听检测到合法手机用户通过安全号码手机向被盗手机发送的指令代码短信时,自动截获并解析短信内容得出相应指令,若短信内容与预设指令代码不同,继续执行后台短信监听功能;如果短信内容与预设指令代码匹配,则自动执行相应指令,销毁手机数据信息以保证用户隐私安全,也可用于手机用户寻回被盗手机。

手机防盗安全软件系统流程如图1所示。

2.2 系统功能结构

本软件基于Android平台广播机制,利用远程控制和后台监听技术可保护被盗手机用户敏感隐私信息免于泄露,并为找回被盗手机提供一定线索,由系统管理和防盗安全两部分组成。系统管理部分包括初始化设置和登录验证模块,防盗安全部分包括开机SIM卡检验、后台短信监听、隐私信息销毁和防盗追踪模块。

手机防盗安全软件系统功能结构如图2所示。

3 系统模块实现

3.1 初始化设置模块

初始化设置模块的主要功能是让手机用户在首次使用系统时注册登录用户名和密码以及设定安全号码,并与初始SIM卡信息共同保存。Android系统平台提供了五种存储数据的方式,分别是SharedPreferences类存储、文件存储、SOLite数据库存储、ContentProvider存储和网络存储。由于SharedPreferences适于存储小数据量信息,因此本程序采用SharedPreferences保存用户注册的登录用户名和密码、设定的安全号码和初始SIM卡信息。

3.4 后台短信监听模块

后台短信监听模块的主要功能是在后台实时不间断地监听被盗手机接收到的短信,在捕获系统短信广播后,提取并解析短信内容,并判断发送手机号码是否为已设置的安全号码。若是则将短信内容与远程控制代码相匹配,手机自动执行对应安全操作。

Android手机在接收到短信时会发送系统全局广播,此时所有拥有与发送Intent相匹配的IntentFilter的已注册BroadcastReceiver,会调用自身onReceive()方法进行处理。因此本模块注册一个SMSReceived BroadcastReceiver广播接收器,通过专门监听系统广播事件“android.provider.Telephony.SMS_RECEIVED”以获取手机接收到的短信内容。

在Android手机中,系统会将接收到的短信封装成pdu格式,一条短信就是一个通过byte[]数组创建的SmsMessage对象,而一个byte[]数组就是一个Object对象。然后所有的短信信息都放在intent中,因此可以通过提取该Intent来获取短信相关信息,实现后台短信监听。

3.6 防盗追踪模块

防盗追踪模块的主要功能是在手机被盗后,软件自动将当前手机的SIM卡和GPS位置信息发送给已设定的安全号码手机,以便用户找回被盗手机,必要时还可开启静音监听功能并获取当前手机最新通话记录,为寻回被盗手机提供一定线索。

3.6.1 GPS定位

3.6.2 静音监听

静音监听的实现基于手机基本功能即拨打电话,其属于手机底层服务。首先向Intent对象加入“ACTION_CALL”动作,再调用Uri.parse()方法将待拨打手机号码发送给系统自带的拨打电话模块,最后以startActivity()方法启动拨号功能,实现通过拨打电话进行静音监听。

3.6.3 获取最新通话记录

Android“沙箱”的本质是为了实现不同应用程序和进程之间的相互隔离,即在默认情况下,应用程序没有权限访问系统资源或其它应用程序的资源。每个APP和系统进程都被分配唯一并且固定的User Id,这个uid与内核层进程的uid对应。每个APP在各自独立的Dalvik虚拟机中运行,拥有独立的地址空间和资源。运行于Dalvik虚拟机中的进程必须依托内核层Linux进程而存在,因此Android使用Dalvik虚拟机和Linux的文件访问控制来实现沙箱机制,任何应用程序如果想要访问系统资源或者其它应用程序的资源,都必须在自己的manifest文件中声明权限或者共享uid。

手机防盗软件要获取最新通话记录,必须访问电话簿等其它应用程序的文件,因此为突破Android沙箱机制实现不同应用程序下的数据交互,本模块借助ContentResolver类,以ContentProvider方式访问手机通话记录,再返回Cursor对象。

4 系统功能测试

为了进一步验证和测试手机防盗安全软件的相关功能,分别搭建模拟器和真机两种测试环境。模拟器测试环境以Android 4.4版本模拟器作为测试平台,真机测试环境采用Android 4.4版本的华为荣耀6智能手机。

4.1 联系人信息删除功能

模拟器测试平台上,主控手机发送销毁指令代码短信至被控手机,被控手机后台截获并成功解析出短信内容后,自动清空模拟器中联系人数据。联系人信息销毁前后被控手机模拟器状态如图3所示。

4.2 GPS定位功能

安全号码手机发送指令代码短信至被控手机,开始获取GPS位置信息功能的测试,可接收到被控手机自动回复的当前GPS经纬度信息。GPS定位功能测试结果如图4所示。其中Longitude表示经度信息,Latitude表示纬度信息,经纬度信息合在一起即可知被盗手机当前所处确切位置,为失主寻回丢失手机提供一定的位置线索。

4.3 静音监听功能

安全号码手机发送指令代码短信至被盗手机,使其自动向监听手机回拨电话,监听手机点击接听按钮即可进行正常监听,点击挂断按钮则可结束监听。静音监听功能测试流程如图5所示,其中从左到右依次为电话拨出、电话呼入、电话接通和通话结束三个状态,通过上述四个步骤即完成一次完整的静音监听过程。

4.4 获取最新通话记录功能

主控手机向受控手机发送指令代码,以短信形式获取其当前最新通话记录。获取通话记录功能测试结果如图6所示。其中左侧为被控端,右侧是监控端。测试结果表明,该手机防盗软件能成功获取被盗手机最新通话记录。

5 结束语

本文介绍了手机防盗安全软件的总体功能结构和防盗追踪流程,详细分析了各功能模块的具体实现方法,并在模拟器和真机两种测试环境下对手机防盗软件进行安全测试。实验测试结果表明:该软件设计合理有效,能够实现针对被盗手机的防盗追踪和隐私信息销毁的预期功能,具有良好的实用性,对提高智能手机安全性,保障用户个人隐私及财产安全具有重要意义。

参考文献

[1] 邵长恒. Android热门应用开发详解[M].北京:电子工业出版社,2013.

[2] 康海燕,樊扬.基于Android手机智能防火墙的研究与设计[J].北京信息科技大学学报(自然科学版),2014,(02):36-40.

[3] 闫梅,彭新光.基于Android安全机制的权限检测系统[J].计算机工程与设计,2013,(03):854-858.

[4] 裘咏霄,臧丽娜.浅谈手机信息安全[J].才智,2014,(15):302.

[5] 谷琼,李杰,龚雄兴.基于Android智能手机的隐私管理系统的设计与实现[J].计算机应用与软件,2014,(01):260-263.

[6] 李淑民.Android手机隐私泄露研究[J].软件,2015,(02):69-72.

[7] 李淑民. Android智能手机隐私泄露机制及防范方法研究[D]. 北京交通大学,2015.

[8] 丁艳会,郝俊寿.基于Android系统的个人云安全存储系统设计与实现[J].黑龙江科技信息.2014,(01):156.

[9] 谢景明. Android移动开发教程[M].北京:人民邮电出版社, 2013.

[10] 张亚杰.基于Android平台的移动终端应用程序的研究与开发[D]. 郑州大学, 2013.

[11] 周雯.Android广播监听机制的两种实现方法[J].现代计算机.2013,(16):48-49.

[12] 王国辉. Java开发实战[M].北京:清华大学出版社,2013.

[13] 达西. Android应用开发入门经典[M].北京:人民邮电出版社,2012.

[14] 张晟.基于Android的GPS应用系统的研究与开发[J].信息通信,2015,(01):116.

[15] 南秦博,慕德俊,侯艳艳.基于Android平台的手机防盗安全软件设计与实现[J].现代电子技术,2015,(04):46-49.

[16] 李兴华. Android开发实战经典[M].北京:清华大学出版社, 2012.

作者简介:

罗永宏(1992-),男,汉族,四川泸州人,毕业于国防科学技术大学,硕士,在读生;主要研究方向和关注领域:移动互联网安全。

王剑(1975-),男,汉族,毕业于国防科学技术大学,博士,国防科学技术大学研究生院信息网络安全教研室,副教授;主要研究方向和关注领域:网络空间安全。

冯超(1983-),男,汉族,毕业于国防科学技术大学,博士,国防科学技术大学研究生院信息网络安全教研室,讲师;主要研究方向和关注领域:软件安全。