項目回顧之二:PhoneProtector 基於Android平台的手機隱私保護系統


      繼上一篇博文《項目回顧之一:PlanBetter時間管理軟件(基於Android平台)》之后,開始着手這篇博文的編寫。

說在前面的

    首先,我想簡單介紹一下這個項目的背景。項目名字有點長,叫做“PhoneProtector: 基於Android平台的手機隱私保護系統”。不理解的人可能會覺得是不是博主有點腦殘,直接叫PhoneProtector不就好了。嗯,其實我也覺得取這么長的名字有點多余,但是這個項目為2012年全國大學生信息安全競賽的參賽項目,名字至少要體現一點深度吧。除了完成一個項目以外,還需要寫一篇競賽作品報告。這個競賽作品報告有點類似於論文,我們寫了正好100頁,洋洋灑灑2萬多字的文檔。先前都以為寫好文檔才是王道(當然作品也做得很認真,不含糊),連導師看完報告后覺得進決賽肯定沒問題,可惜,這個項目出乎我們的意料沒有進入決賽。后來,組長說可能是這個項目的名字不夠霸氣,如果把前面的"PhoneProtector"去掉可能會更有影響力,當然這只是玩笑話罷了。背景就介紹這么多。

 

項目需求

    這個作品是基於這么一種需求而制定的。我們在日常生活中可能會經常碰到這樣的情況: 在上班時,發現手機落在家中;下班回家后,發現手機落在了工作場所;在上課,手機落在寢室中等等,甚至更嚴重的是,手機丟失了。當遇到這些情況時,手機不在自己身邊,除了無法使用之外,更重要的一點是擔心手機隱私被泄漏。雖然Android手機平台自帶有這樣的保護措施,如屏幕手勢加鎖或者密碼加鎖,但是大多數用戶不會考慮用這種功能,因為它在一定程度上阻礙了用戶對手機的正常使用。因此,一旦手機遠離了自己,甚至丟失或被盜之后,想再采取安全措施就已經太遲了。而且當手機丟失以后,最重要的不是手機本身,而是手機內的隱私信息,包括聯系人信息,短信內容以及貯存在SD卡上的數據信息,一旦這些信息被別有用心的人利用,后果將不堪設想。簡單來說,就是對手機丟失后的一種補救措施。
 
市場調研
      事實上,在我們構思從這個需求入手的時候,市場上已經有解決這類需求的應用出現了。例如著名的安全公司諾頓就出了一款Norton Security for android,它里邊提供了一個功能就可以解決這個問題,通過設備遠程鎖定或數據清除。諾頓官方是這樣介紹這個功能的:
      If your phone is lost or stolen, you can use another phone or program to send text message to your phone.Each text message should consist of an action word(lock or wipe) and a code of your choice. (For example, "wipe code123")
      也就是說,就是在安裝這款軟件的時候,你要設置一個用來“加鎖或格式化”設備的密碼,如果你的手機丟了,那么用別人的手機發一條短信過去給手機加鎖或者格式化,短信格式為“lock/wipe 密碼”。但是這款軟件有很多缺陷,比如別人撿到你的手機后就把這款應用卸載了,那你發短信就不起作用了;假如別人把你的卡換了怎么辦?假如你加鎖或格式化手機后,又在某一天拾到了你的手機,但是密碼你又忘記了,你該怎么辦?重刷系統?可能你會覺得本來丟手機的概率就很小了,發生這類情況的概率又是更小了,但是我們不排除這類情況出現的可能性。受到 Murphy's Law的啟發,既然有這類情況發生的可能性,我們就有必要提出解決方案。當然,有的手機廠商在制造手機的時候,就把這類功能定制到了手機硬件和操作系統中,例如HTC sense,印象中是可以通過電腦的客戶端查到手機的GPS位置。但本作品是面向所有Android用戶的,不依賴於具體的手機硬件和操作系統。
 
作品特性  
      本作品的主要特性在於:
    1. 即使在手機不在身邊的情況下,也能為手機用戶提供最方便和迅速的隱私信息保護手段。方便是指用戶可以利用SMS短信向手機發送操作指令,而迅速是指系統可快速執行用戶指令和返回有用信息。
 
     2. 防護的全面性,一旦系統鎖定手機,除非輸入正確的口令,否則無法獲取用戶隱私信息。
 
    3. 系統本身的健壯性。獨創Android進程間通信方式,通過守護進程機制來增強系統的抗擊打能力,一般的手機應用可以輕松的被刪除或卸載,然而,除非輸入正確的口令,否則本系統將與用戶的隱私信息一起存在於手機上,並正常工作。
 
     4. 數據的安全性,本系統涉及到的用戶數據被存儲在數據庫中,而且敏感數據(比如密碼)經過加密之后才存入數據庫中,而非明文存儲,因此更安全。
 
     5. 交互的友好性,無論是遠程操作還是直接操作,針對每一種操作都會返回相應的信息提示,如果失敗,也會根據情況返回失敗信息。
 
系統功能
  本系統主要功能有短信遠程操控、手機加鎖解鎖、手機當前位置信息獲取、聯系人信息備份、手機個人信息格式化、系統模式切換、用戶信息設置和修改、SIM卡檢測以及系統自保護。
   
下面對這些功能做具體介紹:

1.短信遠程操控:當本系統處於保護模式時,系統激活后台程序部分,監控SMS短信內容,如果短信內容符合系統定義格式,則進行相應的操作,支持的操作有:鎖定系統、獲取當前位置信息、聯系人信息備份以及手機個人信息清空,包括聯系人、短信以及SD卡數據。這些操作都是通過利用普通的SMS短信來實現,無需特殊的數據傳輸。
 
    短信的格式為:[ PH 鎖定密碼 操作碼 ]
 
   操作碼分為01,02,03。01是鎖定手機,02為備份聯系人,03為格式化個人信息。03操作指令只有在信任號碼發出的時候才會生效,否則被轉為01操作。當操作碼不正確的時候,默認轉為01操作。每次短信操作時,只能使用一個號碼,即忽略其他號碼的短信。

2.手機加鎖解鎖:用戶可以通過給本機發送短息,遠程將手機加鎖,加鎖之后,除非輸入解鎖口令,否則本系統可以保證其他的一切操作都無法使手機解除鎖定。本系統鎖定模塊的抗破壞性較強,可以防御一般的惡意解除手段,包括SIM卡替換、SD卡替換以及關機重啟等。在手機被鎖定后,鎖定界面只能進行:輸入解鎖密碼、撥打發送鎖定短信的號碼和接聽來電這三個操作。
 
    用戶正確輸入解鎖口令后,系統解除手機鎖定。系統保留一個信任號碼,若用戶忘記密碼,則可以向信任號碼發送短信,來獲取密碼。

3.當前位置信息獲取:當系統被遠程鎖定之后,系統會向來信號碼返回鎖定完成確認以及手機當前位置信息。

4.聯系人信息備份:當手機丟失之后,對手機用戶來說,最重要的就是聯系人數據。無論手機是否被鎖定,用戶都可以將聯系人信息備份至郵箱內。不同的是,正常使用情況下,用戶通過系統主界面來執行備份,而當手機丟失或被盜后,用戶可以通過短信遠程執行聯系人備份。

5.手機個人信息格式化:即清空手機上貯存的個人信息,包括聯系人、通話記錄、短信記錄、SD卡數據(如下圖)。由於本操作是不可逆操作,一旦用戶執行,信息將永久地被刪除,因此為了防止該操作被濫用,本系統要求只有信任號碼發送的該操作指令才能被執行,否則任何其他的號碼發送的該指令將被轉成鎖定指令。


6.系統模式切換:本系統共有兩種模式供用戶切換,分別為普通模式和保護模式,在普通模式下,系統只開啟保護手機功能,而不開啟自保護功能,系統也可以被用戶正常卸載和刪除。而在保護模式下,系統在后台啟動監控服務,開啟保護措施,當接收到執行指令時,就執行指令,包括備份聯系人、鎖定手機、格式化信息等,此時,本系統開啟防卸載和數據刪除功能(即系統自保護功能),應付企圖使系統異常工作的動作。
 
7.用戶信息設置和修改:由於本系統的工作依賴於用戶的信息,具體的信息包括:鎖定密碼、解鎖密碼、信任號碼以及電子郵箱。系統在每次運行的時候,檢測這些信息是否完整,如果不完整則跳轉到信息設置界面,直到用戶輸入完整信息。在信息修改界面中,用戶可以輸入相應的密碼來修改這些信息。
 
8.密碼找回:當忘記密碼的時候,用戶可以通過該功能找回密碼,該功能向信任號碼發送一條包含密碼的短信,用戶也可以選擇將密碼發送到郵箱中,為防止此功能被濫用,系統設定每兩次密碼找回動作之間的時間間隔必須大於10分鍾。
正常情況下,用戶可以找回鎖定密碼和解鎖密碼,而當手機被鎖定時,只能找回解鎖密碼。之所以這樣設定,是在鎖定情況下盡量減少與外界的數據交互。
 
9.SIM卡檢測:應對手機SIM卡被非法替換或卸下的情況,如果開機時檢測到SIM卡被替換,則調用鎖定模塊將手機鎖定。
 
10.系統自保護:這是本作品的創新點之一。一般的手機防護應用,都可以通過系統的任務管理器輕松的卸載和數據清空,但是本系統如果處於安全模式下,就不會被輕易改動,不可以被停止、卸載和清空數據,增加了系統本身的魯棒性和實用性。
 
系統結構

   上圖即為本系統結構圖,系統分為前台界面與后台保護服務,用戶可以在前台界面執行相應的功能,例如模式切換、修改信息、聯系人備份、密碼找回等,后台保護服務主要有三個子系統,分別是手機鎖定子系統、短信處理子系統以及防御子系統。

   前台界面與后台服務之間有數據交互,如密碼找回需要通過短信處理系統來進行短信操作。手機鎖定子系統負責將手機鎖定,防止陌生人非法使用手機,短信處理子系統負責處理與短信有關的操作,包括短信攔截,發送短信,讀取短信內容等,防御子系統負責系統本身的自保護,應對外界對本系統惡意的破壞,包括卸載、刪除、強制停止以及清空數據等。

  遠程手機可以通過發送SMS短信與系統進行交互,通過包含密碼來執行相應的指令,如鎖定、備份以及格式化等,在進行聯系人信息備份時,系統需要通過數據交換,將聯系人信息數據發送至郵件服務器。


最后傳幾張本軟件的截圖上來
1. 安裝PhoneProtector,設置鎖定密碼、解鎖密碼、信任號碼和電子郵箱

歡迎界面 設置加鎖密碼 設置解鎖密碼 設置信任號碼和郵箱

 

2. 設置完成后提示安裝保護程序

提示安裝保護程序 安裝保護程序 安裝完成 安裝完成


3. 主程序和保護程序主界面

主程序  保護程序  主程序

 

4. 主程序關閉保護模式后,主程序和保護程序界面顯示

關閉保護模式  關閉保護模式 

 

5. 發送加鎖短信,出現鎖屏界面

發送鎖屏短信 手機鎖屏 解鎖失敗 手機鎖屏-來電顯示

注:解鎖失敗次數超過10次,“解鎖鎖定”按鈕會被禁用

 

短信回復

 

6. 關於

關於  關於



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM