羅永宏 王劍 馮超
【 摘 要 】 針對Android手機丟失或被有意竊取后所導(dǎo)致的敏感隱私信息泄露等安全隱患,提出并設(shè)計了一種基于Android廣播機制和后臺監(jiān)聽技術(shù)的手機防盜軟件,實現(xiàn)智能手機短信遠程管理功能。不僅能夠?qū)κ謾C通訊錄、通話記錄、短信和內(nèi)存卡信息通過調(diào)用相關(guān)函數(shù)進行遠程獲取或刪除,而且能夠?qū)Ρ槐I手機進行GPS定位和靜音監(jiān)聽。文章首先介紹該軟件系統(tǒng)的總體功能結(jié)構(gòu),然后詳細分析各模塊的具體設(shè)計方案,并在模擬器和真機兩種測試環(huán)境下對手機防盜軟件進行安全測試。實驗測試結(jié)果表明:該軟件設(shè)計合理有效,能夠?qū)崿F(xiàn)預(yù)期功能,具有良好的實用性。
【 關(guān)鍵詞 】 Android;廣播機制;后臺監(jiān)聽;防盜追蹤;隱私銷毀
【 中圖分類號 】 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 引言
隨著移動互聯(lián)網(wǎng)時代的到來,移動終端設(shè)備不再僅僅作為簡單的通信工具使用,移動通信技術(shù)的不斷成熟使得功能強大,用戶體驗良好的智能手機成為人們?nèi)粘I钪蝎@取信息的主要設(shè)備,而Android手機以其開放的平臺環(huán)境、簡單易用和豐富的應(yīng)用功能得到了廣大用戶的認可與喜愛。人們使用智能手機不再單是打電話、發(fā)短信、上網(wǎng)瀏覽信息、觀看視頻、聊天娛樂、購物導(dǎo)航,很多用戶已習(xí)慣于將支付寶密碼、銀行卡密碼、網(wǎng)絡(luò)登錄密碼、重要日程提醒、視頻照片、個人日記等敏感隱私信息保存在手機中,因此智能手機一旦丟失被竊,不僅將帶來個人財產(chǎn)的損失,還會導(dǎo)致嚴重的隱私泄露風險,可能引起親戚朋友上當受騙,對用戶個人及親戚朋友的生活和工作產(chǎn)生不良影響。根據(jù)諾頓2015年最新發(fā)布的《Android智能手機安全調(diào)查》顯示,85%的受害者對手機丟失被盜束手無策,超過50%的受害者對因手機丟失而引起的個人隱私泄露心存顧慮。因此,為廣大Android手機用戶開發(fā)一套實用性強、安全可靠的手機防盜軟件具有重要的現(xiàn)實意義與使用價值。
為了達到此目的,本文提出并設(shè)計了一種基于Android平臺的手機防盜安全軟件,利用Android廣播機制,通過短信遠程控制,可實現(xiàn)手機丟失后的防盜追蹤和隱私信息銷毀功能,提高了智能手機安全性,以保障手機用戶的個人隱私和財產(chǎn)安全。
2 系統(tǒng)總體設(shè)計
2.1 Android手機防盜追蹤機制
根據(jù)軟件功能要求和Android系統(tǒng)特性,手機防盜安全軟件在手機上運行時,首先需檢測是否為首次在該手機上運行。若是第一次運行,則需初始化設(shè)置,首先注冊登錄用戶名和密碼,再設(shè)定一個安全號碼,設(shè)置完成后自動啟動手機防盜功能,同時保存手機SIM卡信息、登錄用戶名和密碼以及安全號碼。若不是第一次運行,則需輸入用戶名和密碼登錄軟件,用戶名和密碼輸入正確即進入軟件設(shè)置,可關(guān)閉手機防盜功能或重新設(shè)定登錄用戶名和密碼以及修改安全號碼;用戶名和密碼輸入錯誤三次,軟件退出登錄界面,后臺繼續(xù)正常運行防盜功能。
開啟手機防盜功能后,軟件會監(jiān)聽手機開機啟動,同時在后臺實時監(jiān)聽手機接收到的短信。在手機每次開機時檢測當前手機用戶SIM卡信息,并與數(shù)據(jù)庫中保存的初始SIM卡信息相比對來判斷是否為合法手機用戶。SIM卡信息相同,說明為合法手機用戶,不做任何操作;SIM卡信息不同,說明SIM卡已替換,用戶手機被盜,軟件將自動向安全號碼手機發(fā)送包含當前手機SIM卡及GPS位置信息的報警短信,為用戶找回被盜手機提供線索。當程序后臺監(jiān)聽檢測到合法手機用戶通過安全號碼手機向被盜手機發(fā)送的指令代碼短信時,自動截獲并解析短信內(nèi)容得出相應(yīng)指令,若短信內(nèi)容與預(yù)設(shè)指令代碼不同,繼續(xù)執(zhí)行后臺短信監(jiān)聽功能;如果短信內(nèi)容與預(yù)設(shè)指令代碼匹配,則自動執(zhí)行相應(yīng)指令,銷毀手機數(shù)據(jù)信息以保證用戶隱私安全,也可用于手機用戶尋回被盜手機。
手機防盜安全軟件系統(tǒng)流程如圖1所示。
2.2 系統(tǒng)功能結(jié)構(gòu)
本軟件基于Android平臺廣播機制,利用遠程控制和后臺監(jiān)聽技術(shù)可保護被盜手機用戶敏感隱私信息免于泄露,并為找回被盜手機提供一定線索,由系統(tǒng)管理和防盜安全兩部分組成。系統(tǒng)管理部分包括初始化設(shè)置和登錄驗證模塊,防盜安全部分包括開機SIM卡檢驗、后臺短信監(jiān)聽、隱私信息銷毀和防盜追蹤模塊。
手機防盜安全軟件系統(tǒng)功能結(jié)構(gòu)如圖2所示。
3 系統(tǒng)模塊實現(xiàn)
3.1 初始化設(shè)置模塊
初始化設(shè)置模塊的主要功能是讓手機用戶在首次使用系統(tǒng)時注冊登錄用戶名和密碼以及設(shè)定安全號碼,并與初始SIM卡信息共同保存。Android系統(tǒng)平臺提供了五種存儲數(shù)據(jù)的方式,分別是SharedPreferences類存儲、文件存儲、SOLite數(shù)據(jù)庫存儲、ContentProvider存儲和網(wǎng)絡(luò)存儲。由于SharedPreferences適于存儲小數(shù)據(jù)量信息,因此本程序采用SharedPreferences保存用戶注冊的登錄用戶名和密碼、設(shè)定的安全號碼和初始SIM卡信息。
3.4 后臺短信監(jiān)聽模塊
后臺短信監(jiān)聽模塊的主要功能是在后臺實時不間斷地監(jiān)聽被盜手機接收到的短信,在捕獲系統(tǒng)短信廣播后,提取并解析短信內(nèi)容,并判斷發(fā)送手機號碼是否為已設(shè)置的安全號碼。若是則將短信內(nèi)容與遠程控制代碼相匹配,手機自動執(zhí)行對應(yīng)安全操作。
Android手機在接收到短信時會發(fā)送系統(tǒng)全局廣播,此時所有擁有與發(fā)送Intent相匹配的IntentFilter的已注冊BroadcastReceiver,會調(diào)用自身onReceive()方法進行處理。因此本模塊注冊一個SMSReceived BroadcastReceiver廣播接收器,通過專門監(jiān)聽系統(tǒng)廣播事件“android.provider.Telephony.SMS_RECEIVED”以獲取手機接收到的短信內(nèi)容。
在Android手機中,系統(tǒng)會將接收到的短信封裝成pdu格式,一條短信就是一個通過byte[]數(shù)組創(chuàng)建的SmsMessage對象,而一個byte[]數(shù)組就是一個Object對象。然后所有的短信信息都放在intent中,因此可以通過提取該Intent來獲取短信相關(guān)信息,實現(xiàn)后臺短信監(jiān)聽。
3.6 防盜追蹤模塊
防盜追蹤模塊的主要功能是在手機被盜后,軟件自動將當前手機的SIM卡和GPS位置信息發(fā)送給已設(shè)定的安全號碼手機,以便用戶找回被盜手機,必要時還可開啟靜音監(jiān)聽功能并獲取當前手機最新通話記錄,為尋回被盜手機提供一定線索。
3.6.1 GPS定位
3.6.2 靜音監(jiān)聽
靜音監(jiān)聽的實現(xiàn)基于手機基本功能即撥打電話,其屬于手機底層服務(wù)。首先向Intent對象加入“ACTION_CALL”動作,再調(diào)用Uri.parse()方法將待撥打手機號碼發(fā)送給系統(tǒng)自帶的撥打電話模塊,最后以startActivity()方法啟動撥號功能,實現(xiàn)通過撥打電話進行靜音監(jiān)聽。
3.6.3 獲取最新通話記錄
Android“沙箱”的本質(zhì)是為了實現(xiàn)不同應(yīng)用程序和進程之間的相互隔離,即在默認情況下,應(yīng)用程序沒有權(quán)限訪問系統(tǒng)資源或其它應(yīng)用程序的資源。每個APP和系統(tǒng)進程都被分配唯一并且固定的User Id,這個uid與內(nèi)核層進程的uid對應(yīng)。每個APP在各自獨立的Dalvik虛擬機中運行,擁有獨立的地址空間和資源。運行于Dalvik虛擬機中的進程必須依托內(nèi)核層Linux進程而存在,因此Android使用Dalvik虛擬機和Linux的文件訪問控制來實現(xiàn)沙箱機制,任何應(yīng)用程序如果想要訪問系統(tǒng)資源或者其它應(yīng)用程序的資源,都必須在自己的manifest文件中聲明權(quán)限或者共享uid。
手機防盜軟件要獲取最新通話記錄,必須訪問電話簿等其它應(yīng)用程序的文件,因此為突破Android沙箱機制實現(xiàn)不同應(yīng)用程序下的數(shù)據(jù)交互,本模塊借助ContentResolver類,以ContentProvider方式訪問手機通話記錄,再返回Cursor對象。
4 系統(tǒng)功能測試
為了進一步驗證和測試手機防盜安全軟件的相關(guān)功能,分別搭建模擬器和真機兩種測試環(huán)境。模擬器測試環(huán)境以Android 4.4版本模擬器作為測試平臺,真機測試環(huán)境采用Android 4.4版本的華為榮耀6智能手機。
4.1 聯(lián)系人信息刪除功能
模擬器測試平臺上,主控手機發(fā)送銷毀指令代碼短信至被控手機,被控手機后臺截獲并成功解析出短信內(nèi)容后,自動清空模擬器中聯(lián)系人數(shù)據(jù)。聯(lián)系人信息銷毀前后被控手機模擬器狀態(tài)如圖3所示。
4.2 GPS定位功能
安全號碼手機發(fā)送指令代碼短信至被控手機,開始獲取GPS位置信息功能的測試,可接收到被控手機自動回復(fù)的當前GPS經(jīng)緯度信息。GPS定位功能測試結(jié)果如圖4所示。其中Longitude表示經(jīng)度信息,Latitude表示緯度信息,經(jīng)緯度信息合在一起即可知被盜手機當前所處確切位置,為失主尋回丟失手機提供一定的位置線索。
4.3 靜音監(jiān)聽功能
安全號碼手機發(fā)送指令代碼短信至被盜手機,使其自動向監(jiān)聽手機回撥電話,監(jiān)聽手機點擊接聽按鈕即可進行正常監(jiān)聽,點擊掛斷按鈕則可結(jié)束監(jiān)聽。靜音監(jiān)聽功能測試流程如圖5所示,其中從左到右依次為電話撥出、電話呼入、電話接通和通話結(jié)束三個狀態(tài),通過上述四個步驟即完成一次完整的靜音監(jiān)聽過程。
4.4 獲取最新通話記錄功能
主控手機向受控手機發(fā)送指令代碼,以短信形式獲取其當前最新通話記錄。獲取通話記錄功能測試結(jié)果如圖6所示。其中左側(cè)為被控端,右側(cè)是監(jiān)控端。測試結(jié)果表明,該手機防盜軟件能成功獲取被盜手機最新通話記錄。
5 結(jié)束語
本文介紹了手機防盜安全軟件的總體功能結(jié)構(gòu)和防盜追蹤流程,詳細分析了各功能模塊的具體實現(xiàn)方法,并在模擬器和真機兩種測試環(huán)境下對手機防盜軟件進行安全測試。實驗測試結(jié)果表明:該軟件設(shè)計合理有效,能夠?qū)崿F(xiàn)針對被盜手機的防盜追蹤和隱私信息銷毀的預(yù)期功能,具有良好的實用性,對提高智能手機安全性,保障用戶個人隱私及財產(chǎn)安全具有重要意義。
參考文獻
[1] 邵長恒. Android熱門應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2013.
[2] 康海燕,樊揚.基于Android手機智能防火墻的研究與設(shè)計[J].北京信息科技大學(xué)學(xué)報(自然科學(xué)版),2014,(02):36-40.
[3] 閆梅,彭新光.基于Android安全機制的權(quán)限檢測系統(tǒng)[J].計算機工程與設(shè)計,2013,(03):854-858.
[4] 裘詠霄,臧麗娜.淺談手機信息安全[J].才智,2014,(15):302.
[5] 谷瓊,李杰,龔雄興.基于Android智能手機的隱私管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2014,(01):260-263.
[6] 李淑民.Android手機隱私泄露研究[J].軟件,2015,(02):69-72.
[7] 李淑民. Android智能手機隱私泄露機制及防范方法研究[D]. 北京交通大學(xué),2015.
[8] 丁艷會,郝俊壽.基于Android系統(tǒng)的個人云安全存儲系統(tǒng)設(shè)計與實現(xiàn)[J].黑龍江科技信息.2014,(01):156.
[9] 謝景明. Android移動開發(fā)教程[M].北京:人民郵電出版社, 2013.
[10] 張亞杰.基于Android平臺的移動終端應(yīng)用程序的研究與開發(fā)[D]. 鄭州大學(xué), 2013.
[11] 周雯.Android廣播監(jiān)聽機制的兩種實現(xiàn)方法[J].現(xiàn)代計算機.2013,(16):48-49.
[12] 王國輝. Java開發(fā)實戰(zhàn)[M].北京:清華大學(xué)出版社,2013.
[13] 達西. Android應(yīng)用開發(fā)入門經(jīng)典[M].北京:人民郵電出版社,2012.
[14] 張晟.基于Android的GPS應(yīng)用系統(tǒng)的研究與開發(fā)[J].信息通信,2015,(01):116.
[15] 南秦博,慕德俊,侯艷艷.基于Android平臺的手機防盜安全軟件設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2015,(04):46-49.
[16] 李興華. Android開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學(xué)出版社, 2012.
作者簡介:
羅永宏(1992-),男,漢族,四川瀘州人,畢業(yè)于國防科學(xué)技術(shù)大學(xué),碩士,在讀生;主要研究方向和關(guān)注領(lǐng)域:移動互聯(lián)網(wǎng)安全。
王劍(1975-),男,漢族,畢業(yè)于國防科學(xué)技術(shù)大學(xué),博士,國防科學(xué)技術(shù)大學(xué)研究生院信息網(wǎng)絡(luò)安全教研室,副教授;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)空間安全。
馮超(1983-),男,漢族,畢業(yè)于國防科學(xué)技術(shù)大學(xué),博士,國防科學(xué)技術(shù)大學(xué)研究生院信息網(wǎng)絡(luò)安全教研室,講師;主要研究方向和關(guān)注領(lǐng)域:軟件安全。