專利名稱:一種移動終端短信攔截型惡意代碼的檢測方法及系統的制作方法
技術領域:
本發明涉及移動終端惡意代碼檢測技術,尤其涉及在Android系統中檢測具有短信攔截行為惡意代碼的方法和系統。
背景技術:
近年來,Android系統逐漸成為智能移動終端的主要平臺之一。隨著市場占有率不斷擴大,惡意代碼也蔓延到這一系統。相關統計數據顯示,僅在2011年第一季度,國內 Android平臺就新增101個病毒以及1014款惡意軟件,累計感染超過250萬用戶。45%的病毒和惡意軟件(后文統稱為“惡意代碼”)存在惡意扣費行為,其中,超過53%的惡意扣費軟件誘騙用戶或在后臺直接向移動增值服務提供商發送業務訂閱短信,并攔截確認短信,使用戶在不知情的情況下支付業務服務費用,遭受最直接的經濟損失。因此,惡意扣費軟件, 尤其是具有短信攔截行為的惡意代碼,已經是目前Android平臺最主要也是危害最嚴重的惡意代碼類型。Android系統接收到短信時,將產生一個相關的廣播事件。一些應用程序在系統中注冊了處理這個廣播事件的接收器(Broadcast Receiver),并申明了接收短信的權限。系統會統計所有處理這個事件的接收器,根據優先級順序將事件逐一傳遞給接收器處理。例如,系統自帶的短信程序會響鈴或震動,向用戶發出收到短信的提示,并將發送號碼和短信內容展現給用戶。根據對多種惡意代碼樣本的分析,其攔截短信的方法是,注冊一個處理接收短信事件的廣播接收器,每次收到短信時,判斷短信是否符合一定的特征,例如是指定號碼發來的短信,或者短信內容中包含某些文字。當符合特征時,調用Android系統提供的 abortBroadcastO方法,中止這個廣播事件的進一步傳遞。這樣,具有更低優先級的系統自帶的短信程序就不會收到這個事件,用戶也就看不到短信了。而當短信不符合惡意代碼所設置的特征,就會繼續傳遞這個事件,不影響用戶的其他短信收發行為。對短信攔截行為的檢測和對此類惡意代碼的判定,目前主要有以下幾種方法和思路
基于對惡意代碼樣本的分析,包括靜態反編譯分析和動態行為分析。這種方法的問題是需要具有專門技能的病毒分析人員來分析和判斷,分析難度較大,效率較低;往往是一種事后補救行為,即捕獲到樣本并分析得到結論時,扣費和攔截等惡意行為已經在大量用戶的手機上發生。基于應用程序權限判斷的檢測方法,即查看應用程序是否申明了接收短信的權限,來判定是否有攔截可能。這種方法的問題在于,有的正常軟件,比如“短信管家”等系統輔助軟件,也有可能申請這一權限,從而產生錯誤的判斷,影響用戶的正常使用。本質上來看,這是一種間接檢測方法,其判斷依據并不代表惡意行為本身。基于跟蹤事件傳遞路徑的檢測方法,即修改Android系統的相關模塊,跟蹤接收短信廣播事件被處理的每一個廣播接收器,如果在不是系統自帶短信程序中該事件被中止了,則認為是被惡意攔截。但這種方法實現難度較大;而且需要修改Android系統模塊,使用時替換掉原來的模塊,可能影響系統運行的穩定性;此外,需要對廣播事件的類型進行判斷,而系統中各類廣播消息極多,額外的判斷開銷將對系統性能造成不能忽視的影響。
發明內容
針對以上不足,本發明要解決的技術問題是提供一種移動終端短信攔截型惡意代碼的檢測方法和系統,該方法和系統能夠自動運行動態監控,在攔截行為發生時就能立刻檢測到惡意代碼,檢測和判斷結果也更為精確,同時運行開銷更小,幾乎不影響系統的性能。為了解決上述技術問題,本發明提供一種移動終端短信攔截型惡意代碼的檢測方法,包括
在移動終端系統中注冊一個廣播接收器; 用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信; 經過預設的時間后,用移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;
如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。系統中注冊的這個廣播接收器,用來處理接收短信的廣播事件。進一步的,在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設
置為最聞。進一步的,廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。進一步的,用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后, 將短信傳遞給終端系統中其他的接收器進行處理。進一步的,將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信息。本發明還提供了一種移動終端短信攔截型惡意代碼的檢測系統,包括
接收單元,用于在移動終端系統中注冊一個廣播接收器,然后用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信;
對比單元,用于經過預設的時間后,將移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;
判斷單元,用于如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。進一步的,接收單元具體用于在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設置為最高。系統中注冊的這個廣播接收器,用來處理接收短信的廣播事件。進一步的,廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。
進一步的,接收單元具體還用于用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后,將短信傳遞給終端系統中其他的接收器進行處理。進一步的,還包括輸出單元,具體用于將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信息。本發明的有益效果是
本方法和系統可自動運行動態監控,不需要對應用程序進行人工的反編譯分析,在攔截行為發生時就能檢測到惡意代碼,用戶可以盡早發現問題并采取進一步有效措施,避免遭受更多的損失;
本方法和系統直接針對可能存在的短信攔截行為,僅在可能的攔截發生前和發生后進行記錄和查詢,根據對比差異來判斷,受其他因素影響極小,判定結果更精確;
本方法和系統只使用系統的常規運行機制,可以以普通應用程序的形式實現,實現難度較低;不需要修改系統的任何模塊或組件,對系統的穩定性幾乎不造成影響;不需要主動監控系統中的廣播消息,只是在每次收到短信后由系統調用,不需要判斷事件類型,運行開銷更小,幾乎不影響系統的性能;
本方法和系統對未知惡意代碼具有一定的檢出能力,可以用于手機安全廠商的后臺惡意代碼分析和判定環節之中;還可以用于個人用戶的手機終端之中,實時發現手機中是否發生短信攔截并提醒用戶,可以將被攔截的短信呈現給用戶,供用戶做進一步判斷。
為了更清楚地說明本發明或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明的一種移動終端短信攔截型惡意代碼的檢測方法流程圖2為本發明的一種移動終端短信攔截型惡意代碼的檢測方法的具體實施例流程圖; 圖3為本發明的一種移動終端短信攔截型惡意代碼的檢測系統示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發明實施例中的技術方案,并使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明中技術方案作進一步詳細的說明。本發明提供一種移動終端短信攔截型惡意代碼的檢測方法和系統,該方法和系統可用于惡意代碼的自動化檢測和判定,也可以用于用戶移動終端的實時安全保護。惡意代碼攔截短信,將使系統實際收到的短信和系統自帶短信程序呈現給用戶的短信列表出現不一致。本發明利用這種差異判斷是否存在短信攔截行為。首先介紹本發明提供的移動終端短信攔截型惡意代碼的檢測方法,具體步驟如圖 1所示,包括
S102、在移動終端系統中注冊一個廣播接收器;
在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設置為最高。系統中注冊的這個廣播接收器,用來處理接收短信的廣播事件。S102、用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信; 廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后,將短信傳遞給終端系統中其他的接收器進行處理。S103、經過預設的時間后,用移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;
S104、如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼;
將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信
肩、ο下面給出本發明一種移動終端短信攔截型惡意代碼的檢測方法的具體實施例,如圖2所示,包括
S201、注冊廣播接收器
M 7|C Android % 統白勺 android, content. BroadcastReceiver $ JJ , — yIv ^ SmsMonitor的子類,這個子類將實現系統的主要功能;
在應用程序的配置清單文件AndroidManifest. xml中,加入一個receiver節,指向 SmsMonitor,即設置廣播接收器;
為上述廣播接收器加入意圖過濾器(intent-filter),其意圖的action名稱為 android, provider. Telephony. SMS_RECEIVED,即處理接收短信的廣播事件;
將上述意圖過濾器的優先級(androichpriority)設置為2147483647 (十六進制值 0x7fffffff);
在配置清單文件中申明android, permission. RECEIVE_SMS權限。S202、接收并記錄短信
在SmsMonitor類中重載并實現onReceive ()方法,每次系統收到短信后,會調用該方法來處理接收消息的廣播事件。在其中記錄短信,具體而言
獲得當前上下文環境Bundle中的所有pdus對象,可能有一個或多個pdus對象,每個 Pdus對象對應一條短信;
通過 Android 系統的 android, telephony. SmsMessage 類的 createFromPdu ()靜態方法,從每個pdus對象中獲得實際存儲了短信的SmsMessage對象;
通過SmsMessage對象的getOriginatingAddress ()方法獲得短信的發送號碼、 getMessageBody ()方法獲得短信內容、getDisplayOriginatingAddress ()方法獲得短信發送號碼的顯示字符串、getDisplayMessageBodyO方法獲得短信內容的顯示字符串,記錄下這些內容;
開啟一個新線程,負責下一步的等待和查詢; onReceive ()方法結束并返回。S203、在上述線程中,等待5秒鐘,以便該廣播事件被所有要處理它的其他接收器處理完畢。
S204、查詢短信記錄
在上述線程中,通過Android系統提供的managedQueryO方法查詢短信。其中,第一個參數使用 Uri. parse ("content://sms/inbox〃),第二個參數使用 new String[] { "address","body" },其它參數使用null。這樣就查詢出Android系統收件箱中的所有短信,包括發送號碼和短信內容。S205、判斷短信是否在收件箱中
將S202中記錄的一條或者多條短信的發送號碼、短信內容,與S204查詢到的收件箱中的短信發送號碼、短信內容逐一進行匹配查找。當記錄下的短信與收件箱里某條短信的發送號碼和短信內容完全一致,認為匹配到。若所有記錄下的短信都能在收件箱短信中匹配到,則認為這些短信沒有被攔截, 線程退出。若存在記錄下的短信無法在收件箱短信中匹配到,則認為該短信被惡意代碼攔截,轉至S206。S206、認為手機中發生了短信攔截行為
將沒有匹配到的短信記錄到日志文件,并彈出對話框和警告信息,向用戶發出提示。在提示中,顯示記錄下的短信的發送號碼顯示字符串、短信內容顯示字符串。用戶確認后,線程退出。本發明還提供了一種移動終端短信攔截型惡意代碼的檢測系統,包括
接收單元301,用于在移動終端系統中注冊一個廣播接收器,然后用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信;
對比單元302,用于經過預設的時間后,將移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;
判斷單元303,用于如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。接收單元301具體用于在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設置為最高。系統中注冊的這個廣播接收器,用來處理接收短信的廣播事件。廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。接收單元302具體還用于用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后,將短信傳遞給終端系統中其他的接收器進行處理。本系統還包括輸出單元304,具體用于將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信息。雖然通過實施例描繪了本發明,本領域普通技術人員知道,本發明有許多變形和變化而不脫離本發明的精神,希望所附的權利要求包括這些變形和變化而不脫離本發明的精神。
權利要求
1.一種移動終端短信攔截型惡意代碼的檢測方法,其特征在于,包括在移動終端系統中注冊一個廣播接收器;用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信;經過預設的時間后,用移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。
2.如權利要求1所述的移動終端短信攔截型惡意代碼的檢測方法,其特征在于,在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設置為最高。
3.如權利要求1所述的移動終端短信攔截型惡意代碼的檢測方法,其特征在于,廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。
4.如權利要求1所述的移動終端短信攔截型惡意代碼的檢測方法,其特征在于,用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后,將短信傳遞給終端系統中其他的接收器進行處理。
5.如權利要求1所述的移動終端短信攔截型惡意代碼的檢測方法,其特征在于,將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信息。
6.一種移動終端短信攔截型惡意代碼的檢測系統,其特征在于,包括接收單元,用于在移動終端系統中注冊一個廣播接收器,然后用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信;對比單元,用于經過預設的時間后,將移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;判斷單元,用于如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。
7.如權利要求6所述的移動終端短信攔截型惡意代碼的檢測系統,其特征在于,接收單元具體用于在移動終端系統中注冊一個廣播接收器,并將廣播接收器的優先級設置為最尚ο
8.如權利要求6所述的移動終端短信攔截型惡意代碼的檢測系統,其特征在于,廣播處理函數記錄的移動終端新收到的所有短信,包括發送號碼和短信內容。
9.如權利要求6所述的移動終端短信攔截型惡意代碼的檢測系統,其特征在于,接收單元具體還用于用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信之后,將短信傳遞給終端系統中其他的接收器進行處理。
10.如權利要求6所述的移動終端短信攔截型惡意代碼的檢測系統,其特征在于,還包括輸出單元,具體用于將廣播處理函數記錄的匹配不成功的短信記錄到日志文件,并彈出對話框和警告信息。
全文摘要
本發明公開了一種移動終端短信攔截型惡意代碼的檢測方法,包括在移動終端系統中注冊一個廣播接收器;用廣播接收器的廣播處理函數記錄移動終端新收到的所有短信;經過預設的時間后,用移動終端收件箱里的所有短信與廣播處理函數記錄的所有短信逐一進行匹配;如果廣播處理函數記錄的短信與收件箱里的短信匹配不成功,則認為廣播處理函數記錄的匹配不成功的短信被惡意代碼攔截,移動終端系統中存在短信攔截型惡意代碼。本發明還公開了一種移動終端短信攔截型惡意代碼的檢測系統。本方法和系統能夠自動運行動態監控,在攔截行為發生時就能立刻檢測到惡意代碼,檢測和判斷結果也更為精確,同時運行開銷更小,幾乎不影響系統的性能。
文檔編號H04W12/12GK102291697SQ201110153498
公開日2011年12月21日 申請日期2011年6月9日 優先權日2011年6月9日
發明者李柏松, 肖新光, 肖梓航 申請人:深圳市安之天信息技術有限公司