基于動態激活及行為監測的Android惡意代碼檢測裝置和方法
【專利摘要】一種基于動態激活及行為監測的Android惡意代碼檢測裝置和方法,該裝置控制手機終端自動安裝與啟動準備檢測的應用,自動激活應用的行為,同時在應用運行的整個過程中,實時監控手機終端包括文件訪問、短信發送、網絡連接及其流量、系統資源占用和硬件資源訪問等多個信息,檢測惡意代碼進行的惡意行為,并生成檢測報告提供給用戶,完成對所檢測的應用的行為的動態檢測。該裝置設有三個組成模塊:應用行為動態激活模塊、應用行為實時監控模塊和檢測結果分析處理模塊。其創新特點是:利用軟件交互技術完成對應用中所有控件和界面的操作,動態激活所有應用的行為,在完成自身功能基礎上,對應用實現全功能覆蓋的自動監控檢測,且確保檢測的全面性和完整性。
【專利說明】基于動態激活及行為監測的Android惡意代碼檢測裝置和方法
【技術領域】
[0001]本發明涉及一種Android應用惡意行為的檢測技術,確切地說,涉及一種基于動態激活及行為監測的Android惡意代碼檢測裝置和方法,屬于信息安全中的應用安全的【技術領域】。
【背景技術】
[0002]目前,針對Android惡意應用程序進行檢測分析的技術,國內外已經研究多年,常見的檢測工具有:DroidRange、TaintDroid和AppInspector等,下面分別對這些工具進行簡介:
[0003]DroidRanger總結了十種已知的Android惡意軟件的行為特征和兩種啟發式規貝U,用來檢測未知的應用程序。該方法可以快速地檢測出已知惡意行為,但其對于新出現的應用程序則大多采用人工分析方式,故檢測結果存在一定滯后。
[0004]TaintDroid是一個系統級的動態實時分析工具,采用動態數據流分析方法,監控應用程序的后臺數據流,以期發現應用可能存在的惡意行為。
[0005]AppInspector是采用動態分析方法,可以自動生成輸入,并在程序執行過程中記錄日志,通過分析記錄的日志信息來檢測應用程序當中是否存在惡意行為。該工具依賴于特定的觸發條件,但是其對于如何觸發邏輯較為復雜的應用程序的惡意行為,存在明顯的不足。
[0006]目前,對Android應用程序惡意行為的檢測方法主要有下述兩種:
[0007](A)按照病毒查殺的方式進行檢測:通過分析源程序或者反匯編后的程序的語法、結構、過程和接口等,對關鍵函數、關鍵變量的控制流和數據流進行追蹤,再與惡意應用程序的行為規則進行分析匹配,分析檢查程序中的敏感行為和惡意行為。該方法除了能夠發現已知的惡意應用程序以外,還能通過一系列惡意特征行為發現可疑的惡意樣本,以供深度分析,進一步研究確認基于對象的智能識別技術。
[0008]按照病毒查殺的方式是對Android應用程序可能存在的惡意行為進行靜態檢測、提取特征,再與應用程序的惡意行為規則進行特征匹配。這種方法嚴重依賴于一個惡意行為規則庫:只有已經被發現并加入該規則庫的惡意行為才能被檢測出來,而對于尚未添加入惡意行為規則庫的新型惡意行為,就無法使用特征匹配技術進行甄別;只能根據已有的經驗和知識,采用人工分析方式,因此檢測結果存在一定的滯后期。
[0009](B)采用動態監控的方法,動態、實時地監控應用程序的執行,并對該應用程序與外部環境的交互進行檢測,然后,采用動態數據流的分析方法,監控應用程序的后臺數據流,以期發現該應用可能存在的惡意行為。
[0010]采用動態監控的方法是通過動態實時監控應用程序的執行過程,以及檢測該應用與其外部環境的交互。但應用程序通常都是基于給定腳本執行的,即程序的執行順序步驟被寫進腳本。然而,大多數惡意行為往往比較隱蔽,其執行依賴于特定的觸發條件。如何發覺觸發邏輯較為復雜的惡意行為,該方法同樣存在明顯的不足。
[0011]目前Android應用程序的安全問題得到越來越多的關注。Android應用可能存在的安全威脅(包括后臺自動聯網、自動收發短信和訪問用戶隱私文件等)也非常多,嚴重損害了用戶利益。因此,業內科技人員非常關心如何解決Android應用程序的這些安全威脅,并將其作為一項研發的焦點課題。
【發明內容】
[0012]有鑒于此,本發明的目的是提供一種基于動態激活及行為監測的Android惡意代碼檢測裝置及其檢測方法,本發明是一種自動化的檢測工具,通過控制手機終端,能夠自動安裝與啟動準備檢測的應用,自動激活應用的行為,同時對手機終端進行實時監控,并在應用運行的整個過程中,從文件訪問、短信發送、網絡連接及其流量、系統資源占用和硬件資源訪問等多方面信息進行終端監控,檢測發現惡意代碼進行的惡意行為。
[0013]為了達到上述目的,本發明提供了一種基于動態激活及行為監測的Android惡意代碼檢測裝置,其特征在于:所述檢測裝置控制手機終端自動安裝與啟動準備檢測的應用,自動激活應用的行為;同時在應用運行的整個過程中,實時監控該手機終端包括文件訪問、短信發送、網絡連接及其流量、系統資源占用和硬件資源訪問的信息,檢測惡意代碼進行的惡意行為,并生成檢測報告提供給用戶,完成對所檢測的應用的行為的動態檢測;設有應用行為動態激活模塊、應用行為實時監控模塊和檢測結果分析處理模塊共三個組成模塊:其中:
[0014]應用行為動態激活模塊,負責對待檢測的Android應用自動完成應用的安裝、啟動和運行,乃至卸載;且在運行過程中,自動激活應用的操作行為,以便對其行為執行后臺監控,再將應用的執行結果發送給檢測結果分析處理模塊;設有:安裝啟動單元、自動化運行單元和截圖分析單元共三個組件;
[0015]應用行為實時監控模塊,負責根據對常見的入侵操作過程以及Android操作系統工作原理的分析,從各種系統調用中甄別可能產生惡意行為的系統調用函數并重寫,且增加監控功能后,被推送到手機終端,使其在完成動態激活應用行為的同時,對手機終端進行實時監控;還在應用程序自動運行的整個過程中,分別監控該手機終端文件是否被訪問、網絡連接及其流量、短信發送、系統資源占用和硬件資源訪問的多種信息,檢測惡意代碼是否產生惡意行為;再把應用行為的監控結果送到檢測結果分析處理模塊;設有下述六個組件:文件監控單元、聯網監控單元、短信發送監控單元、系統資源占用監測單元、硬件資源訪問監控單元和內核-用戶接口單元;
[0016]檢測結果分析處理模塊,負責分別接收應用行為動態激活模塊提交的截圖和從截圖中識別的文本,以及應用行為實時監控模塊提交的各種監控記錄文件,然后進行分析并生成檢測報告;設有文本及記錄分析單元和報告生成單元。
[0017]為了達到上述目的,本發明還提供了一種采用本發明基于動態激活及行為監測的Android惡意代碼檢測裝置的檢測方法,其特征在于:在Android應用自動運行過程中,利用自動操作應用中的所有控件及其界面,動態激活該應用的各種行為,同時啟動后臺監控這些行為,并對運行過程中提取的界面文本內容與后臺行為的監控記錄進行分析匹配,生成該應用的安全檢測報告,以供用戶查閱;所述方法包括下列操作步驟:
[0018]步驟1,預處理:查找、確定并重寫可能存在惡意行為的系統調用程序,在添加監控功能后,將該系統調用程序推送到手機終端;
[0019]步驟2,安裝啟動:利用數據線,將手機終端連接到電腦后,啟動并運行所述Android惡意代碼檢測裝置,應用行為動態激活模塊的安裝啟動單元就將待檢測的Android應用自動推送到手機終端,然后安裝并啟動該Android應用程序;
[0020]步驟3,動態激活:應用行為動態激活模塊的自動化運行單元循環獲取當前界面上所有控件屬性,針對每個控件解析出其坐標值,并生成相應的腳本;再利用腳本執行工具執行這些腳本,模擬人工點擊應用程序界面控件,完成對該應用行為的動態激活,將生成的截圖和文本一起提交給檢測結果分析處理模塊;
[0021]步驟4,后臺監控:應用行為動態激活模塊的各個監控單元開啟預先推送到手機終端的、采集終端文件是否被訪問、網絡連接及其流量、短信收發、系統資源占用和硬件資源訪問多種信息的各個監控單元,對動態激活的應用行為進行監控,生成相應的監控記錄,再提交給檢測結果分析處理模塊;
[0022]步驟5,文本及記錄分析:檢測結果分析處理模塊中的文本及記錄分析單元對步驟3和4分別提供的截圖與文本以及行為監控記錄文件進行解析,再將分析結果提交給報告生成單元;
[0023]步驟6,生成報告:對步驟5提供的分析結果進行匯總整合,生成最終的檢測報告。
[0024]本發明的創新技術特點和優點是:
[0025](I)在對應用進行檢測的過程中,通過與手機終端的通信獲取控件數據流,并對該數據流進行解析,自動獲取控件的絕對坐標值,生成python腳本。
[0026](2)執行腳本,利用軟件交互技術完成對應用程序中所有控件和界面的操作,動態激活所有應用的行為,實現對應用進行全功能覆蓋的檢測,確保檢測的全面性和完整性。
[0027](3)對Android系統內核進行重新編譯,再根據對常見的入侵操作過程以及操作系統的工作原理的深入分析,甄別可能產生惡意行為的系統調用函數,并重寫之,以使其在完成自身功能的基礎上增加監控功能,利用hook技術實現對這些系統調用的劫持和記錄,從而使得該檢測裝置能夠實現對應用中的各種行為的監控。
[0028]總之,本發明檢測裝置能夠自動安裝與啟動應用,并自動激活應用的行為,再對這些應用行為進行實時監控,以及記錄可能的惡意行為和生成監控報告,從而完成對所檢測的應用的行為的動態檢測。
【專利附圖】
【附圖說明】
[0029]圖1是本發明基于動態激活及行為監測的Android惡意代碼檢測裝置結構組成示意圖。
[0030]圖2是本發明Android惡意代碼檢測裝置檢測方法的操作步驟流程方框圖。
[0031]圖3是本發明Android惡意代碼檢測裝置中內核-用戶通信實現過程示意圖。
【具體實施方式】
[0032]為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明作進一步的詳細描述。
[0033]本發明是基于動態激活及行為監測的Android惡意代碼檢測裝置,該裝置是控制手機終端自動安裝與啟動準備檢測的應用,自動激活應用的行為;同時在應用運行的整個過程中,實時監控該手機終端包括文件訪問、短信發送、網絡連接及其流量、系統資源占用和硬件資源訪問的信息,檢測惡意代碼進行的惡意行為,并生成檢測報告提供給用戶,完成對所檢測的應用的行為的動態檢測。
[0034]參見圖1,介紹本發明Android惡意代碼檢測裝置中的三個組成模塊:應用行為動態激活模塊、應用行為實時監控模塊和檢測結果分析處理模塊:
[0035](一 )應用行為動態激活模塊:負責對待檢測的Android應用自動完成應用的安裝、啟動和運行,乃至卸載;且在運行過程中,自動激活應用的操作行為,以便對其行為執行后臺監控,再將應用的執行結果發送給檢測結果分析處理模塊。設有:安裝啟動單元、自動化運行單元和截圖分析單元共三個組件,這些組件的功能說明如下:
[0036]安裝啟動單元,用于通過數據線,將手機終端連接到電腦,并確保兩者之間能夠正常傳遞信息后,安裝并啟動應用。
[0037]自動化運行單元,用于與手機終端進行套接字Socket通信,獲取并解析控件數據流信息,從數據流信息中解析出坐標數據,利用這些坐標數據計算得到控件絕對坐標,自動化生成觸摸腳本、輸入腳本、截圖腳本和返回腳本并執行之,模擬人工點擊應用,動態激活應用的行為。
[0038]截圖分析單元,用于在應用運行過程中不斷獲取當前界面的截圖,并使用設定的圖片識別方法解析截取的圖片,獲取該圖片的文本內容,一起提交到檢測結果分析處理模塊中的文本及記錄分析單元。
[0039](二)應用行為實時監控模塊:負責根據對常見的入侵操作過程以及Android操作系統工作原理的深入分析,從各種系統調用中甄別可能產生惡意行為的系統調用函數并重寫,且增加監控功能后,被推送到手機終端,使其在完成動態激活應用行為的同時,對手機終端進行實時監控。還在應用程序自動運行的整個過程中,分別監控該終端文件是否被訪問、網絡連接及其流量、短信發送、系統資源占用和硬件資源訪問的多種信息,檢測惡意代碼是否產生惡意行為。再把應用行為的監控結果送到檢測結果分析處理模塊。設有下述六個組件:文件監控單元、聯網監控單元、短信發送監控單元、系統資源占用監測單元、硬件資源訪問監控單元和內核-用戶接口單元。這六個組件的功能介紹如下:
[0040]文件監控單元,用于捕獲用戶在配置文件中規定的需要監控的文件,然后對這些文件實施監控:將測試過程中任何惡意應用對該被監控文件的讀寫操作都進行存儲備案,再傳遞給內核-用戶接口單元。
[0041]聯網監控單元,用于監測應用程序對網絡通道的操控情況,實時監測手機終端的上網流量,甄別利用網絡收發惡意數據信息的行為,并監測和記錄非用戶行為的數據流量的流失信息,再將上述信息傳遞給內核-用戶接口單元。
[0042]短信發送監控單元,用于監測應用程序對短信通道的操控情況,甄別發送/接收惡意短信的行為,并監控并記錄后臺偷發短信行為,再將上述信息傳遞給內核-用戶接口單元。
[0043]系統資源占用監測單元,用于監測應用程序對系統中軟硬件資源的占用情況,包括應用程序在監測過程中各個采樣時間使用的CPU、內存和閃存的硬件信息,甄別和記錄破壞系統運行環境的惡意行為,再將上述信息傳遞給內核-用戶接口單元。
[0044]硬件資源訪問監控單元,因應用使用手機終端硬件實現的功能都是通過內核中的硬件驅動程序完成的,故該單元用于監控手機終端中的各種硬件驅動程序的調用,從而監控并記錄相應的應用操作行為,再將該信息傳遞給內核-用戶接口單元。
[0045]內核-用戶接口單元,用于將所述各個監控單元傳送來的各種監控信息傳遞到用戶態的程序中,保存為相應的監控報告,再提交給檢測結果分析處理模塊。
[0046](三)檢測結果分析處理模塊:負責分別接收應用行為動態激活模塊提交的截圖和從截圖中識別的文本,以及應用行為實時監控模塊提交的各種監控記錄文件,然后進行分析并生成檢測報告;設有兩個組件:文本及記錄分析單元和報告生成單元。這兩個組件的功能說明如下:
[0047]文本及記錄分析單元,用于對來自應用行為動態激活模塊的截圖和文本與敏感詞數據庫中的內容進行匹配,檢測應用的文本中是否存在敏感信息并記錄之,再提交到報告生成模塊;同時對來自應用行為實時監控模塊的各種監控記錄文件進行解析,也將解析結果提交到報告生成單元。
[0048]報告生成單元,用于對文本及記錄分析單元的分析結果進行匯總整合,生成最終的檢測報告,以供用戶查閱。
[0049]本發明基于動態激活及行為監測的Android惡意代碼檢測裝置的檢測方法,是在Android應用自動運行過程中,利用自動操作應用中的所有控件及其界面,動態激活該應用的各種行為,同時啟動后臺監控這些行為,并對運行過程中提取的界面文本內容與后臺行為的監控記錄進行分析匹配,生成該應用的安全檢測報告,以供用戶查閱。
[0050]參見圖2,介紹本發明基于動態激活及行為分析的Android應用程序惡意行為檢測裝置的下列具體操作步驟:
[0051]步驟1,預處理:查找、確定并重寫可能存在惡意行為的系統調用程序,在添加監控功能后,將該系統調用程序推送到手機終端。該步驟I包括下列操作內容:
[0052](11)由于原始內核不支持將用戶程序動態加載到系統內核中,故從android官方網站獲取相應版本的Iinux內核源碼并重新編譯后,使得內核文件支持動態加載和卸載用戶程序。
[0053](12)根據對常見的入侵操作的過程以及Android操作系統工作原理的分析,甄別可能產生惡意行為的下述各種系統調用函數:sys_open、sys_close、sys_mkdir_、sys_write、sys_rename和sys_rmdir,再重寫上述各種系統調用函數,生成新的系統調用程序,使其在完成自身功能基礎上增加監控功能。
[0054](13)將重寫的系統調用程序推送到終端操作系統,使之監控各自對應的系統調用行為;一旦發現調用行為就立即劫持與記錄,用于生成監控記錄文件。
[0055]參見圖3,介紹該步驟(13)的具體操作內容:將增加監控功能的系統調用程序推送到手機終端后,開啟監控。當發現應用在對增加監控功能的系統調用程序進行調用時,內核監控程序就自動記錄該調用行為,然后通過一種在內核與用戶應用程序之間進行雙向數據傳輸的方式Netlink socket將信息傳遞給用戶態的程序中,保存為相應的監控報告。
[0056]步驟2,安裝啟動:利用數據線,將手機終端連接到電腦后,啟動并運行本發明Android惡意代碼檢測裝置,應用行為動態激活模塊的安裝啟動單元就將待檢測的Android應用自動推送到手機終端后,安裝并啟動該Android應用程序。
[0057]步驟3,動態激活:應用行為動態激活模塊的自動化運行單元循環獲取當前界面上所有控件屬性,針對每個控件解析出其坐標值,并生成相應的腳本。再利用腳本執行工具執行這些腳本,模擬人工點擊應用程序界面控件,完成對該應用行為的動態激活,將生成的截圖和文本一起提交給檢測結果分析處理模塊。該步驟3包括下列操作內容:
[0058](31)獲取控件絕對坐標:應用行為動態激活模塊中的自動化運行單元與手機終端進行Socket通信,獲取并解析控件數據流信息,從中提取控件坐標值的屬性信息;因為應用程序的控件都是規則圖形,再根據其橫縱坐標X1和Y1值及控件的高度height和寬度
width,利用下述兩個公式
【權利要求】
1.一種基于動態激活及行為監測的Android惡意代碼檢測裝置,其特征在于:所述檢測裝置控制手機終端自動安裝與啟動準備檢測的應用,自動激活應用的行為;同時在應用運行的整個過程中,實時監控該手機終端包括文件訪問、短信發送、網絡連接及其流量、系統資源占用和硬件資源訪問的信息,檢測惡意代碼進行的惡意行為,并生成檢測報告提供給用戶,完成對所檢測的應用的行為的動態檢測;設有應用行為動態激活模塊、應用行為實時監控模塊和檢測結果分析處理模塊共三個組成模塊:其中: 應用行為動態激活模塊,負責對待檢測的Android應用自動完成應用的安裝、啟動和運行,乃至卸載;且在運行過程中,自動激活應用的操作行為,以便對其行為執行后臺監控,再將應用的執行結果發送給檢測結果分析處理模塊;設有:安裝啟動單元、自動化運行單元和截圖分析單元共三個組件; 應用行為實時監控模塊,負責根據對常見的入侵操作過程以及Android操作系統工作原理的分析,從各種系統調用中甄別可能產生惡意行為的系統調用函數并重寫,且增加監控功能后,被推送到手機終端,使其在完成動態激活應用行為的同時,對手機終端進行實時監控;還在應用程序自動運行的整個過程中,分別監控該手機終端文件是否被訪問、網絡連接及其流量、短信發送、系統資源占用和硬件資源訪問的多種信息,檢測惡意代碼是否產生惡意行為;再把應用行為的監控結果送到檢測結果分析處理模塊;設有下述六個組件:文件監控單元、聯網監控單元、短信發送監控單元、系統資源占用監測單元、硬件資源訪問監控單元和內核-用戶接口單元; 檢測結果分析處理模塊,負責分別接收應用行為動態激活模塊提交的截圖和從截圖中識別的文本,以及應用行為實時監控模塊提交的各種監控記錄文件,然后進行分析并生成檢測報告;設有文本及記錄分析單元和報告生成單元。
2.根據權利要求1所述的裝置,其特征在于:所述應用行為動態激活模塊中的各個組件的功能如下: 安裝啟動單元,用于通過數據線,將手機終端連接到電腦,并確保兩者之間能夠正常傳遞信息后,安裝并啟動應用; 自動化運行單元,用于與手機終端進行套接字Socket通信,獲取并解析控件數據流信息,從數據流信息中解析出坐標數據,利用這些坐標數據計算得到控件絕對坐標,自動化生成觸摸腳本、輸入腳本、截圖腳本和返回腳本并執行之,模擬人工點擊應用,動態激活應用的行為; 截圖分析單元,用于在應用運行過程中不斷獲取當前界面的截圖,并使用設定的圖片識別方法解析截取的圖片,獲取該圖片的文本內容,一起提交到檢測結果分析處理模塊中的文本及記錄分析單元。
3.根據權利要求1所述的裝置,其特征在于:所述應用行為實時監控模塊中的各個組件的功能如下: 文件監控單元,用于捕獲用戶在配置文件中規定的需要監控的文件,然后對這些文件實施監控:將測試過程中任何惡意應用對該被監控文件的讀寫操作都進行存儲備案,再傳遞給內核-用戶接口單元; 聯網監控單元,用于監測應用程序對網絡通道的操控情況,實時監測手機終端的上網流量,甄別利用網絡收發惡意數據信息的行為,并監測和記錄非用戶行為的數據流量的流失信息,再將上述信息傳遞給內核-用戶接口單元;短信發送監控單元,用于監測應用程序對短信通道的操控情況,甄別發送/接收惡意短信的行為,并監控并記錄后臺偷發短信行為,再將上述信息傳遞給內核-用戶接口單元;系統資源占用監測單元,用于監測應用程序對系統中軟硬件資源的占用情況,包括應用程序在監測過程中各個采樣時間使用的CPU、內存和閃存的硬件信息,甄別和記錄破壞系統運行環境的惡意行為,再將上述信息傳遞給內核-用戶接口單元; 硬件資源訪問監控單元,因應用使用手機終端硬件實現的功能都是通過內核中的硬件驅動程序完成的,故該單元用于監控手機終端中的各種硬件驅動程序的調用,從而監控并記錄相應的應用操作行為,再將該信息傳遞給內核-用戶接口單元; 內核-用戶接口單元,用于將所述各個監控單元傳送來的各種監控信息傳遞到用戶態的程序中,保存為相應的監控報告,再提交給檢測結果分析處理模塊。
4.根據權利要求1所述的裝置,其特征在于:所述檢測結果分析處理模塊中的各個組件的功能如下: 文本及記錄分析單元,用于對來自應用行為動態激活模塊的截圖和文本與敏感詞數據庫中的內容進行匹配,檢測應用的文本中是否存在敏感信息并記錄之,再提交到報告生成模塊;同時對來自應用行為實時監控模塊的各種監控記錄文件進行解析,也將解析結果提交到報告生成單元; 報告生成單元,用于對文本及記錄分析單元的分析結果進行匯總整合,生成最終的檢測報告,以供用戶查閱。
5.一種采用權利要求1所述的基于動態激活及行為監測的Android惡意代碼檢測裝置的檢測方法,其特征在于:在Android應用自動運行過程中,利用自動操作應用中的所有控件及其界面,動態激活該應用的各種行為,同時啟動后臺監控這些行為,并對運行過程中提取的界面文本內容與后臺行為的監控記錄進行分析匹配,生成該應用的安全檢測報告,以供用戶查閱;所述方法包括下列操作步驟: 步驟1,預處理:查找、確定并重寫可能存在惡意行為的系統調用程序,在添加監控功能后,將該系統調用程序推送到手機終端; 步驟2,安裝啟動:利用數據線,將手機終端連接到電腦后,啟動并運行該Android惡意代碼檢測裝置,應用行為動態激活模塊的安裝啟動單元就將待檢測的Android應用自動推送到手機終端后,安裝并啟動該Android應用程序; 步驟3,動態激活:應用行為動態激活模塊的自動化運行單元循環獲取當前界面上所有控件屬性,針對每個控件解析出其坐標值,并生成相應的腳本;再利用腳本執行工具執行這些腳本,模擬人工點擊應用程序界面控件,完成對該應用行為的動態激活,將生成的截圖和文本一起提交給檢測結果分析處理模塊; 步驟4,后臺監控:應用行為動態激活模塊的各個監控單元開啟預先推送到手機終端的、采集終端文件是否被訪問、網絡連接及其流量、短信收發、系統資源占用和硬件資源訪問多種信息的各個監控單元,對動態激活的應用行為進行監控,生成相應的監控記錄,再提交給檢測結果分析處理模塊; 步驟5,文本及記錄分析:檢測結果分析處理模塊中的文本及記錄分析單元對步驟3和4分別提供的截圖與文本以及行為監控記錄文件進行解析,再將分析結果提交給報告生成單元; 步驟6,生成報告:對步驟5提供的分析結果進行匯總整合,生成最終的檢測報告。
6.根據權利要求5所述的方法,其特征在于:所述步驟I包括下列操作內容: (11)由于原始內核不支持將用戶程序動態加載到系統內核中,故從android官方網站獲取相應版本的Iinux內核源碼并重新編譯后,使得內核文件支持動態加載和卸載用戶程序; (12)根據對常見的入侵操作的過程以及Android操作系統工作原理的分析,甄別可能產生惡意行為的下述各種系統調用函數:sys_open、sys_close、sys_mkdir_、sys_write、sys_rename和sys_rmdir,再重寫上述各種系統調用函數,生成新的系統調用程序,使其在完成自身功能基礎上增加監控功能; (13)將重寫的系統調用程序推送到終端操作系統,使之監控各自對應的系統調用行為^ 一旦發現調用行為就立即劫持與記錄,用于生成監控記錄文件。
7.根據權利要求6所述的方法,其特征在于:所述步驟(13)包括下列操作內容:將增加監控功能的系統調用程序推送到手機終端后,開啟監控;當發現應用在對增加監控功能的系統調用程序進行調用時,內核監控程序就自動記錄該調用行為,然后通過一種在內核與用戶應用程序之間進行雙向數據傳輸的方式Netlink socket將信息傳遞給用戶態的程序中,保存為相應的監控報告。
8.根據權利要求5所述的方法,其特征在于:所述步驟3包括下列操作內容: (31)獲取控件絕對坐標:應用行為動態激活模塊中的自動化運行單元與終端進行Socket通信,獲取并解析控件數據流信息,從中提取控件坐標值的屬性信息;再根據其橫縱坐標X1和Y1值及控件的高度height和寬度width,利用下述兩個公式+^ψ?-
? J' I和K = K計算得到控件的絕對坐標(χ2,Y2),以供生成腳本使用; (32)生成并執行腳本:自動化運行單元根據控件絕對坐標值和設定的腳本編寫規范生成包括觸摸、輸入、截圖和返回的腳本并執行之,模擬人工點擊應用界面的控件,完成對應用行為的動態激活; (33)截圖并識別圖片:在應用程序的運行過程中,自動化運行單元不斷獲取運行過程中的當前界面的截圖,并將其提交給截圖分析單元;截圖分析單元使用設定的圖片識別方法解析該截圖,獲取該截圖的文本內容,再將文本和截圖一起提交給檢測結果分析處理模塊中的文本及記錄分析單元。
9.根據權利要求5所述的方法,其特征在于:所述步驟4中,應用行為實時監控模塊中的各個監控單元執行下述一項或多項操作內容,且下述各項操作內容的先后時序都是隨機的: (41)文件監控:文件監控單元捕獲用戶在配置文件中寫入要監控的隱私文件,并對這些文件進行監控;因系統對文件的監控是對在配置文件中用戶設定的隱私文件是否被調用實施監控,任何應用程序對受監控文件的讀寫操作都將記錄在手機終端中的文件監控日志文件中;故文件監控的具體內容包括:惡意應用進程標志、惡意動作方式和監控時間; (42)聯網監控:聯網監控單元監測應用程序對網絡通道的操控情況,并實時監測其上網流量,甄別利用網絡發送/接收惡意數據信息的行為,還對非用戶行為的數據流量流失進行監測和記錄;聯網監控操作包括:采用廣播截獲機制、流量文件監控或系統API調用截獲方式來監控應用后臺的惡意聯網與耗費流量的行為,并記錄到聯網監控行為日志文件中;具體內容包括:惡意應用進程標志、聯網方式、耗費的流量和數據包的信息; (43)短信發送監控:短信發送監控單元監測應用程序對短信通道的操控情況,甄別發送/接收惡意短信信息的行為;_過捕獲系統短信API調用行為來監控偷發短信的行為,并將上述信息都記錄于短信監控行為日志文件中;監控的具體內容包括:惡意應用進程標志、短信目的地址、短信內容和發送時間; (44)系統資源占用監控:系統資源占用監控單元監控和記錄系統應用程序對系統中軟硬件資源的占用情況;監控的具體內容包括:在監測過程中,系統應用程序在每個采樣時間對CPU、內存和閃存的使用情況,并記錄于系統資源占用監控行為日志文件中; (45)硬件資源訪問監控:由于系統應用是調用手機終端硬件來實現其具體功能,而對手機終端硬件的調用是通過內核中的硬件驅動程序實現的;故硬件資源訪問監控單元對手機終端中的各種硬件驅動程序的調用實施監控,用于獲取訪問硬件資源行為的信息;監控的具體內容包括:SD卡、藍牙、攝像頭和麥克風的硬件訪問記錄,并記錄到硬件資源訪問監控日志文件中。
【文檔編號】G06F21/56GK104182688SQ201410424250
【公開日】2014年12月3日 申請日期:2014年8月26日 優先權日:2014年8月26日
【發明者】徐國愛, 張淼 申請人:北京軟安科技有限公司