Android平臺軟件異常行為檢測系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種Android平臺軟件異常行為檢測系統(tǒng),屬于智能移動終端技術(shù)領(lǐng)域。本系統(tǒng)包括相互連通的Android移動終端和軟件行為監(jiān)測數(shù)據(jù)庫;Android移動終端包括內(nèi)核Hook模塊、數(shù)據(jù)分析模塊和Hook日志模塊;內(nèi)核Hook模塊包括依次交互的System_server進(jìn)程、libbind.so庫和ioctl函數(shù),實現(xiàn)內(nèi)核Hook信息的提取;數(shù)據(jù)分析模塊包括資源監(jiān)測進(jìn)程、狀態(tài)監(jiān)測進(jìn)程、數(shù)據(jù)分析引擎和數(shù)據(jù)處理進(jìn)程,對軟件行為異常的界定寫入。本發(fā)明具有超前性、準(zhǔn)確性和綜合性,不僅結(jié)合動態(tài)檢測和靜態(tài)檢測的優(yōu)點,通過對敏感API接口函數(shù)的Hook,有效的檢測app軟件的異常行為,有效統(tǒng)計軟件的操作系統(tǒng)行為特征。
【專利說明】
Andro i d平臺軟件異常行為檢測系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于智能移動終端技術(shù)領(lǐng)域,尤其涉及一種Android平臺軟件異常行為檢測系統(tǒng)?!颈尘凹夹g(shù)】
[0002]近年來,隨著移動互聯(lián)網(wǎng)的快速發(fā)展和智能手機(jī)生產(chǎn)成本的下降,很多PC功能也慢慢往手機(jī)端迀移,智能手機(jī)功能變得更強(qiáng)大,如移動辦公、電子支付、車載導(dǎo)航等,智能移動終端軟件的數(shù)量已遠(yuǎn)遠(yuǎn)超出傳統(tǒng)PC上應(yīng)用軟件的數(shù)量。相對于PC來說,智能終端更貼近用戶,漸漸成為人們工作、生活中不可或缺的一部分。Android和1S占據(jù)了移動智能終端操作系統(tǒng)的重要的份額。
[0003]與1S上的應(yīng)用軟件相比較,目前Android應(yīng)用軟件的數(shù)量和用戶數(shù)量已占據(jù)了絕對優(yōu)勢。由于Android陣營通過采用開放性策略,在其普及率越來越高的同時,也成為了黑客和惡意軟件攻擊的重要目標(biāo),Android平臺安全問題不容忽視。
[0004]軟件檢測是Android平臺安全防護(hù)最重要的手段,目前智能終端軟件檢測技術(shù)大致可分為靜態(tài)檢測和動態(tài)檢測:靜態(tài)檢測在不運(yùn)行目標(biāo)軟件的情況下,需要通過反編譯等手段抽取程序的代碼片段、 API函數(shù)、語義邏輯等靜態(tài)特征進(jìn)行檢測。該方法的特點是檢測速度快、誤報率低,檢測效果取決于惡意軟件特征碼庫的全面性。當(dāng)惡意軟件數(shù)量大、變種多時,將使征碼庫迅速膨脹,在占據(jù)較大存儲空間的同時,也會增大檢索的復(fù)雜度。而且容易受程序加殼等因素影響,無法應(yīng)對經(jīng)過混淆和多態(tài)技術(shù)處理的惡意軟件,無法檢測未知惡意軟件。
[0005]動態(tài)檢測是指先將待檢測的軟件在終端上安裝并運(yùn)行,然后通過使用軟件的各個功能來檢測該軟件對系統(tǒng)資源的使用情況。這些資源可以包括是否有擅自聯(lián)網(wǎng)情況、是否有包括聯(lián)系人等敏感信息的獲取、是否未經(jīng)提示請求發(fā)送短信內(nèi)容、是否未經(jīng)提示請求上傳和下載文件等通過軟件運(yùn)行來檢測軟件是否符竊密、吸費(fèi)、非法內(nèi)容傳播等異常行為。但動態(tài)監(jiān)測過程需要在移動終端不斷運(yùn)行一個監(jiān)測程序,將造成移動終端電量等資源的迅速耗盡,在一定程度上影響用戶體驗。另一方面,也在一定程度上造成用戶對隱私泄露等方面的擔(dān)憂。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的就在于克服現(xiàn)有技術(shù)的存在的缺點和不足,提出了一種Android平臺軟件異常行為檢測系統(tǒng),為Android平臺上軟件運(yùn)行環(huán)境提供了安全保證。
[0007]實現(xiàn)本發(fā)明目的的技術(shù)方案是:結(jié)合靜態(tài)檢測和動態(tài)檢測的特點,結(jié)合數(shù)據(jù)分析、行為監(jiān)測和Hook日志等信息有效地識別軟件異常行為,并支持異常行為提供有效的查詢及界定,為Android智能終端使用提供安全保障。
[0008]具體地說,Android平臺軟件異常行為檢測系統(tǒng)(簡稱系統(tǒng))本系統(tǒng)包括相互連通的Android移動終端和軟件行為監(jiān)測數(shù)據(jù)庫;Andro id移動終端包括內(nèi)核Hook模塊、數(shù)據(jù)分析模塊和Hook日志模塊;內(nèi)核Hook模塊包括依次交互的System_server進(jìn)程、libbind.so庫和1ctl函數(shù),實現(xiàn)內(nèi)核hook信息的提?。粩?shù)據(jù)分析模塊包括資源監(jiān)測進(jìn)程、狀態(tài)監(jiān)測進(jìn)程、數(shù)據(jù)分析引擎和數(shù)據(jù)處理進(jìn)程;資源監(jiān)測進(jìn)程和狀態(tài)監(jiān)測進(jìn)程分別與數(shù)據(jù)分析引擎交互,數(shù)據(jù)分析引擎和數(shù)據(jù)處理進(jìn)程交互, 對軟件行為異常的界定寫入;1ctl函數(shù)和數(shù)據(jù)分析模塊交互,完成數(shù)據(jù)傳輸;數(shù)據(jù)分析引擎分別與Hook日志模塊和監(jiān)測數(shù)據(jù)庫交互,完成軟件行為特征的查詢及日志寫入;數(shù)據(jù)處理進(jìn)程分別與Hook日志模塊和軟件行為監(jiān)測數(shù)據(jù)庫交互,對軟件行為特征進(jìn)行界定,將軟件行為寫入Hook日志模塊,將界定的軟件行為寫入軟件行為監(jiān)測數(shù)據(jù)庫中。
[0009]本發(fā)明具有下列優(yōu)點和積極效果:①超前性:本發(fā)明是Hook敏感API檢測的方法相結(jié)合的方法,提高軟件異常檢測的效率。[〇〇1〇]②準(zhǔn)確性:越來越多的app惡意軟件不僅僅停留在應(yīng)用層面,更多的開始在應(yīng)用框架層甚至內(nèi)核層做一些惡意操作;這些新出現(xiàn)的惡意軟件對病毒分析系統(tǒng)提出了新的需求;對敏感API函數(shù)接口 Hook,能夠監(jiān)測出app軟件的惡意行為操作。
[0011]③綜合性:本發(fā)明不僅結(jié)合動態(tài)檢測和靜態(tài)檢測的優(yōu)點,通過對敏感API接口函數(shù)的Hook,有效的檢測app軟件的異常行為,通過對軟件的異常行為的處理;用戶可以通過檢測Hook日志的方法或查詢行為特征數(shù)據(jù)庫,有效統(tǒng)計軟件的操作系統(tǒng)行為特征?!靖綀D說明】
[0012]圖1是本系統(tǒng)的結(jié)構(gòu)方框圖;圖2是Android binder通信機(jī)制示意圖。
[0013]其中:100 — Android移動終端,110 一內(nèi)核Hook模塊,111—System_server 進(jìn)程,112—libbind.so庫,113一1ctl 函數(shù);120—數(shù)據(jù)分析模塊,121—資源監(jiān)測進(jìn)程,122—狀態(tài)監(jiān)測進(jìn)程,123—數(shù)據(jù)分析引擎,124—數(shù)據(jù)處理進(jìn)程;130—Hook日志模塊。[〇〇14]200—軟件行為監(jiān)測數(shù)據(jù)庫。
[0015]英譯漢l、H〇〇k技術(shù):鉤子技術(shù),實際上是一種處理消息的程序段,通過調(diào)用,將其載入系統(tǒng)。
[0016]2、Andr〇id:是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。[〇〇17]3、i0S:由蘋果公司開發(fā)的移動操作系統(tǒng),是一個與硬件分離的軟件體系結(jié)構(gòu)?!揪唧w實施方式】
[0018]下面結(jié)合附圖和實施例詳細(xì)說明:1、總體如圖1,本系統(tǒng)包括相互連通的Android移動終端100和軟件行為監(jiān)測數(shù)據(jù)庫200; Android移動終端100包括內(nèi)核Hook模塊110、數(shù)據(jù)分析模塊120和Hook日志模塊130; 內(nèi)核Hook模塊110包括依次交互的System_server進(jìn)程111、libbind.so庫112和1ctl 函數(shù)113,實現(xiàn)內(nèi)核hook信息的提??;數(shù)據(jù)分析模塊120包括資源監(jiān)測進(jìn)程121、狀態(tài)監(jiān)測進(jìn)程122、數(shù)據(jù)分析引擎123和數(shù)據(jù)處理進(jìn)程124;資源監(jiān)測進(jìn)程121和狀態(tài)監(jiān)測進(jìn)程122分別與數(shù)據(jù)分析引擎123交互,數(shù)據(jù)分析引擎123和數(shù)據(jù)處理進(jìn)程124交互,對軟件行為異常的界定寫入; 1ctl函數(shù)113和數(shù)據(jù)分析模塊120交互,完成數(shù)據(jù)傳輸;數(shù)據(jù)分析引擎123分別與Hook日志模塊130和監(jiān)測數(shù)據(jù)庫200交互,完成軟件行為特征的查詢及日志寫入;數(shù)據(jù)處理進(jìn)程124分別與Hook日志模塊130和軟件行為監(jiān)測數(shù)據(jù)庫200交互,對軟件行為特征進(jìn)行界定,將軟件行為寫入Hook日志模塊130,將界定的軟件行為寫入軟件行為監(jiān)測數(shù)據(jù)庫200中。
[0019]2、功能塊 l)Android移動終端100 (1)內(nèi)核Hook模塊110內(nèi)核Hook模塊110的工作流程:①利用ptrace系統(tǒng)函數(shù),將Shel lcode程序注入到System_server進(jìn)程111, ptrace提供了一種父進(jìn)程可以控制子進(jìn)程運(yùn)行,它主要用于實現(xiàn)斷點調(diào)試;②利用ptrace系統(tǒng)函數(shù),執(zhí)行Shellcode中的代碼:Shellcode實際是一段代碼(也可以是填充數(shù)據(jù)),是利用了系統(tǒng)的特定漏洞的代碼,可以獲取更高的權(quán)限;Shellcode經(jīng)常是作為數(shù)據(jù)發(fā)送給受攻擊系統(tǒng)的;③Shel lcode的代碼在System_server進(jìn)程111中運(yùn)行,功能是調(diào)用Hook共享庫;④Hook共享庫的功能是對System_server進(jìn)程111中的libbind.so庫112中調(diào)用的 1ctl函數(shù)113進(jìn)行功能劫持,將劫持?jǐn)?shù)據(jù)進(jìn)行輸出重定向,輸出至數(shù)據(jù)分析模塊130進(jìn)行數(shù)據(jù)解析,并將處理結(jié)果寫入Hook日志模塊130和軟件行為監(jiān)測數(shù)據(jù)庫200。
[0020]內(nèi)核Hook模塊110工作機(jī)理:近來手機(jī)惡意軟件不僅僅停留在應(yīng)用層的操作,已經(jīng)開始向應(yīng)用框架層甚至內(nèi)核層做一些惡意操作,這樣對于檢測軟件難度提出了更高的挑戰(zhàn);內(nèi)核Hook模塊110就是通過Hook 內(nèi)核層驅(qū)動函數(shù)的API接口,對系統(tǒng)進(jìn)程進(jìn)行監(jiān)測;利用ptrace系統(tǒng)函數(shù),將Shellcode程序注入到System_server進(jìn)程111;執(zhí)行Shel lcode中的代碼,Shel lcode的代碼在System_ server進(jìn)程111中運(yùn)行,功能是調(diào)用Hook共享庫;Hook共享庫將劫持?jǐn)?shù)據(jù)進(jìn)行輸出重定向, 輸出至數(shù)據(jù)分析模塊120進(jìn)行數(shù)據(jù)解析,并將處理結(jié)果寫入Hook日志模塊130和軟件行為監(jiān)測數(shù)據(jù)庫200。[〇〇21](2)數(shù)據(jù)分析模塊120數(shù)據(jù)分析模塊120的工作流程:①接收內(nèi)核Hook模塊110發(fā)送的數(shù)據(jù);②數(shù)據(jù)分析模塊120對步驟①中所接收的數(shù)據(jù)進(jìn)行分類解析,系統(tǒng)資源:讀取IMEI或頂S1、發(fā)送短信、撥打電話、讀取GPS信息、連接攝像頭服務(wù)和連接錄音服務(wù);系統(tǒng)狀態(tài):讀寫系統(tǒng)數(shù)據(jù)庫信息;③數(shù)據(jù)分析引擎120對步驟②解析的數(shù)據(jù)與軟件行為監(jiān)測數(shù)據(jù)庫200中app的權(quán)限做對比,將處理數(shù)據(jù)處理后,按app名稱、操作時間、類型、次數(shù)及內(nèi)容寫入Hook日志模塊130和軟件行為監(jiān)測數(shù)據(jù)庫200;④根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理進(jìn)程124對軟件行為做處理統(tǒng)計,并對軟件行為與軟件行為監(jiān)測數(shù)據(jù)庫200的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi)有明顯異常,生成異常報告寫入Hook日志模塊130中;⑤根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理模塊對軟件行為做處理統(tǒng)計,并對軟件行為與軟件行為監(jiān)測數(shù)據(jù)庫200的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi),沒有明顯異常,生成日志報告寫入Hook日志模塊130中。[〇〇22]數(shù)據(jù)分析模塊120的工作機(jī)理:數(shù)據(jù)分析模塊120主要是對接收的軟件操作系統(tǒng)Hook數(shù)據(jù)進(jìn)行解析的作用;接數(shù)據(jù)分析模塊120對數(shù)據(jù)進(jìn)行分類解析,按系統(tǒng)資源和系統(tǒng)狀態(tài)解析分類;系統(tǒng)資源包括讀取頂EI 或頂S1、發(fā)送短信、撥打電話、讀取GPS信息、連接攝像頭服務(wù)和連接錄音服務(wù);系統(tǒng)狀態(tài)包括讀寫系統(tǒng)數(shù)據(jù)庫信息;數(shù)據(jù)分析引擎123對數(shù)據(jù)行為監(jiān)測數(shù)據(jù)庫200中app的權(quán)限做對比, 將處理數(shù)據(jù)處理后,按app名稱、操作時間、類型、次數(shù)及內(nèi)容解析,并將處理結(jié)果寫入Hook 日志模塊130和行為監(jiān)測數(shù)據(jù)庫200;根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理進(jìn)程124對軟件行為做處理統(tǒng)計,并對軟件行為與軟件行為監(jiān)測數(shù)據(jù)庫(200) 的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi)有明顯異常,生成異常報告寫入Hook日志130中;根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理進(jìn)程124對軟件行為做處理統(tǒng)計,并對軟件行為與數(shù)據(jù)分析模塊120的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi)沒有明顯異常,生成日志報告寫入Hook日志130中。
[0023](3)Hook 日志模塊 130Hook日志模塊130的工作流程:選用本地日志,主要是數(shù)據(jù)處理進(jìn)程124完成對軟件行為界定后,基于統(tǒng)計結(jié)論,如果軟件行為異常,則將異常信息生成異常報告寫入Hook日志模塊130中;如果軟件行為正常, 則將軟件行為生成日志報告寫入Hook日志模塊130中。[〇〇24] Hook日志模塊130的工作機(jī)理:Hook日志模塊130和行為監(jiān)測數(shù)據(jù)庫200為系統(tǒng)行為記錄模塊,主要是在完成數(shù)據(jù)處理后,將按app名稱、操作時間、類型、次數(shù)及內(nèi)容寫到數(shù)據(jù)庫中,統(tǒng)計某些時段用戶使用某種協(xié)議的次數(shù)、流量、安全統(tǒng)計和界定的目的;對界定后的結(jié)果,如果軟件行為異常,則將異常信息生成異常報告寫入Hook日志模塊130中;如果軟件行為正常,則將軟件行為生成日志報告寫入Hook日志模塊130中。[〇〇25]2)軟件行為監(jiān)測數(shù)據(jù)庫200軟件行為監(jiān)測數(shù)據(jù)庫200的工作流程:軟件行為監(jiān)測數(shù)據(jù)庫200為數(shù)據(jù)庫模塊,主要是完成數(shù)據(jù)的存儲,將按app名稱、操作時間、類型、次數(shù)及內(nèi)容寫到數(shù)據(jù)庫中,統(tǒng)計某些時段用戶使用某種協(xié)議的次數(shù)、流量,達(dá)到安全統(tǒng)計和界定的目的。[〇〇26]軟件行為監(jiān)測數(shù)據(jù)庫200的工作機(jī)理:對軟件的異常行為特征做了界定,當(dāng)android移動終端對軟件行為特征,結(jié)合Hook日志模塊130做分析時,為數(shù)據(jù)庫提供實時查詢,并支持?jǐn)?shù)據(jù)分析模塊120的處理結(jié)果的實時寫回。[〇〇27]3、工作原理1)系統(tǒng)原理系統(tǒng)的目的是從Android系統(tǒng)獲取軟件操作信息,識別app軟件異常行為。[〇〇28]Android移動終端100的內(nèi)核Hook模塊110,在獲取權(quán)限的情況下,將Shellcode代碼注入System_server進(jìn)程111,通過Hook的動態(tài)鏈接庫libbind.so庫112中導(dǎo)入1ctl函數(shù) 113,將Android的系統(tǒng)操作信息發(fā)送至數(shù)據(jù)分析模塊120;數(shù)據(jù)分析模塊120對應(yīng)用程序行為的監(jiān)控包括:讀取MEI或IMS1、發(fā)送短信、撥打電話、讀取或者寫入系統(tǒng)數(shù)據(jù)庫、讀取GPS 信息、連接攝像頭服務(wù)和連接錄音服務(wù);系統(tǒng)操作信息經(jīng)由資源監(jiān)測進(jìn)程121和狀態(tài)監(jiān)測進(jìn)程122分析處理,發(fā)送至數(shù)據(jù)分析引擎123,數(shù)據(jù)處理進(jìn)程124,結(jié)合軟件行為監(jiān)測數(shù)據(jù)庫 200,對系統(tǒng)狀態(tài)信息進(jìn)行處理,并寫入Hook日志模塊130。
[0029] 2)Android binder通信機(jī)制原理:如圖2,Android Binder是一種進(jìn)程間通信機(jī)制。系統(tǒng)的各個遠(yuǎn)程service對象都是以 Binder的形式存在的,而這些Binder有一個管理者,那就ServiceManager,要Hook這些服務(wù),當(dāng)然要從ServiceManager下手。在Android系統(tǒng)的Binder機(jī)制中,由一系統(tǒng)組件組成,分別是Client、Server、Service Manager和Binder驅(qū)動程序,其中Client、Server和Service Manager運(yùn)行在用戶空間,Binder驅(qū)動程序運(yùn)行內(nèi)核空間。Binder就是一種把這四個組件粘合在一起的粘結(jié)劑了,其中,核心組件便是Binder驅(qū)動程序了,Service Manager提供了輔助管理的功能,Client和Server正是在Binder驅(qū)動和Service Manager提供的基礎(chǔ)設(shè)施上, 進(jìn)行Client-Server之間的通信。把這種Hook系統(tǒng)服務(wù)的機(jī)制稱之為Binder Hook,因為本質(zhì)上這些服務(wù)提供者都是存在于系統(tǒng)各個進(jìn)程的Binder對象。[〇〇3〇](l)Client、Server和Service Manager實現(xiàn)在用戶空間中,Binder驅(qū)動程序?qū)崿F(xiàn)在內(nèi)核空間中;(2)Binder驅(qū)動程序和Service Manager在Android平臺中已經(jīng)實現(xiàn),開發(fā)者只需要在用戶空間實現(xiàn)自己的Client和Server;(3)Binder驅(qū)動程序提供設(shè)備文件與用戶空間交互,Client、Server和Service Manager通過1ctl文件操作函數(shù)與Binder驅(qū)動程序進(jìn)行通信;(4)Client和Server之間的進(jìn)程間通信通過Binder驅(qū)動程序間接實現(xiàn);(5)Service Manager是一個守護(hù)進(jìn)程,用來管理Server,并向Client提供查詢Server 接口的能力。
【主權(quán)項】
1.一種Android平臺軟件異常行為檢測系統(tǒng),其特征在于:本系統(tǒng)包括相互連通的Android移動終端(100)和軟件行為監(jiān)測數(shù)據(jù)庫(200);Android移動終端(100)包括內(nèi)核Hook模塊(110)、數(shù)據(jù)分析模塊(120)和Hook日志模塊 (130);內(nèi)核Hook模塊(110)包括依次交互的System_server進(jìn)程(111)、libbind.so庫(112)和 1ctl函數(shù)(113),實現(xiàn)內(nèi)核hook信息的提??;數(shù)據(jù)分析模塊(120)包括資源監(jiān)測進(jìn)程(121)、狀態(tài)監(jiān)測進(jìn)程(122)、數(shù)據(jù)分析引擎 (123)和數(shù)據(jù)處理進(jìn)程(124);資源監(jiān)測進(jìn)程(121)和狀態(tài)監(jiān)測進(jìn)程(122)分別與數(shù)據(jù)分析引 擎(123)交互,數(shù)據(jù)分析引擎(123)和數(shù)據(jù)處理進(jìn)程(124)交互,對軟件行為異常的界定寫 入;1ct 1函數(shù)(113 )和數(shù)據(jù)分析模塊(120 )交互,完成數(shù)據(jù)傳輸;數(shù)據(jù)分析引擎(123)分別與Hook日志模塊(130)和監(jiān)測數(shù)據(jù)庫(200)交互,完成軟件行 為特征的查詢及日志寫入;數(shù)據(jù)處理進(jìn)程(124)分別與Hook日志模塊(130)和軟件行為監(jiān)測數(shù)據(jù)庫(200)交互,對 軟件行為特征進(jìn)行界定,將軟件行為寫入Hook日志模塊(130),將界定的軟件行為寫入軟件 行為監(jiān)測數(shù)據(jù)庫(200)中。2.按權(quán)利要求1所述的一種Android平臺軟件異常行為檢測系統(tǒng),其特征在于內(nèi)核 Hook模塊(110 )的工作流程:@利用口1^3〇6系統(tǒng)函數(shù),將311611〇0(16程序注入到378丨6111_861^61'進(jìn)程(111)41:抑06提 供了一種父進(jìn)程可以控制子進(jìn)程運(yùn)行,它主要用于實現(xiàn)斷點調(diào)試;②利用ptrace系統(tǒng)函數(shù),執(zhí)行Shellcode中的代碼:Shellcode實際是一段代碼,是利用了系統(tǒng)的特定漏洞的代碼,可以獲取更高的權(quán)限;Shellcode經(jīng)常是作為數(shù)據(jù)發(fā)送給受攻擊系統(tǒng)的;③Shel lcode的代碼在System_server進(jìn)程(111)中運(yùn)行,功能是調(diào)用Hook共享庫;④Hook共享庫的功能是對System_server進(jìn)程(111)中的1 ibbind ? so庫(112)中調(diào)用的 1ctl函數(shù)(113)進(jìn)行功能劫持,將劫持?jǐn)?shù)據(jù)進(jìn)行輸出重定向,輸出至數(shù)據(jù)分析模塊(130)進(jìn) 行數(shù)據(jù)解析,并將處理結(jié)果寫入Hook日志模塊(130)和軟件行為監(jiān)測數(shù)據(jù)庫(200)。3.按權(quán)利要求1所述的一種Android平臺軟件異常行為檢測系統(tǒng),其特征在于所述的 數(shù)據(jù)分析模塊(120)的工作流程是:①接收內(nèi)核Hook模塊(110 )發(fā)送的數(shù)據(jù);②數(shù)據(jù)分析模塊120對步驟①中所接收的數(shù)據(jù)進(jìn)行分類解析,系統(tǒng)資源:讀取IMEI或 頂S1、發(fā)送短信、撥打電話、讀取GPS信息、連接攝像頭服務(wù)和連接錄音服務(wù);系統(tǒng)狀態(tài):讀寫 系統(tǒng)數(shù)據(jù)庫信息③數(shù)據(jù)分析引擎(120)對步驟②解析的數(shù)據(jù)與軟件行為監(jiān)測數(shù)據(jù)庫(200)中app的權(quán)限 做對比,將處理數(shù)據(jù)處理后,按a卯名稱、操作時間、類型、次數(shù)及內(nèi)容寫入Hook日志模塊 (130)和軟件行為監(jiān)測數(shù)據(jù)庫(200);④根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理進(jìn)程124對軟件行 為做處理統(tǒng)計,并對軟件行為與軟件行為監(jiān)測數(shù)據(jù)庫(200)的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi) 有明顯異常,生成異常報告寫入Hook日志模塊(130)中;⑤根據(jù)操作的形成行為特征數(shù)據(jù)庫,在app軟件的操作中,數(shù)據(jù)處理模塊對軟件行為做 處理統(tǒng)計,并對軟件行為與軟件行為監(jiān)測數(shù)據(jù)庫(200)的數(shù)據(jù)做對比,如在統(tǒng)計時間內(nèi),沒 有明顯異常,生成日志報告寫入Hook日志模塊(130)中。4.按權(quán)利要求1所述的一種Android平臺軟件異常行為檢測系統(tǒng),其特征在于所述的 Hook日志模塊(130)的工作流程是:選用本地日志,主要是數(shù)據(jù)處理進(jìn)(124)完成對軟件行為界定后,基于統(tǒng)計結(jié)論,如果 軟件行為異常,則將異常信息生成異常報告寫入Hook日志模塊(130)中;如果軟件行為正 常,則將軟件行為生成日志報告寫入Hook日志模塊(130)中。5.按權(quán)利要求1所述的一種Android平臺軟件異常行為檢測系統(tǒng),其特征在于軟件行 為監(jiān)測數(shù)據(jù)庫200的工作流程是:軟件行為監(jiān)測數(shù)據(jù)庫(200)為數(shù)據(jù)庫模塊,主要是完成數(shù)據(jù)的存儲,將按app名稱、操作 時間、類型、次數(shù)及內(nèi)容寫到數(shù)據(jù)庫中,統(tǒng)計某些時段用戶使用某種協(xié)議的次數(shù)、流量,達(dá)到 安全統(tǒng)計和界定的目的。
【文檔編號】G06F21/56GK105956474SQ201610323750
【公開日】2016年9月21日
【申請日】2016年5月17日
【發(fā)明人】保永武, 陸浩, 葛振希
【申請人】武漢虹旭信息技術(shù)有限責(zé)任公司