亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于深度學習的安卓惡意代碼檢測系統(tǒng)及其方法

文檔序號:9453372閱讀:540來源:國知局
一種基于深度學習的安卓惡意代碼檢測系統(tǒng)及其方法
【技術領域】
[0001]本發(fā)明涉及安卓惡意代碼檢測領域,尤其涉及一種基于深度學習的安卓惡意代碼檢測系統(tǒng)及其方法。
【背景技術】
[0002]Juniper Networks最新的年度安全報告顯示,雖然移動行業(yè)還不清楚到底市場上應該有兩個,三個還是四個智能手機操作系統(tǒng),但是移動惡意軟件的編寫者們已經選擇了自己的目標,并且正蜂擁向安卓。
[0003]Android平臺是惡意軟件的“重災區(qū)”,在病毒傳播方面,第三方應用商店仍是智能移動終端病毒傳播的主要途徑,由于Android系統(tǒng)的開放性及廣泛的市場占有率,全球96%的病毒來自Android平臺。
[0004]查閱大量相關文獻可見,目前針對惡意軟件的檢測主要有兩種方法:一種是基于特征碼的檢測方法,它檢查未知軟件是否含有特征代碼庫中的惡意軟件特征代碼。該方法對壓縮、加密、變形的惡意代碼不能很好地處理,需要不斷更新查毒引擎和特征庫,不能檢測新出現(xiàn)的惡意軟件。
[0005]另一種是基于行為的檢測方法。它監(jiān)視的是程序如何活動,而不是軟件的代碼。這種方法注重惡意代碼運行過程中所表現(xiàn)出的行為特性,因此不受多態(tài)、加殼的影響,相對基于特征碼的靜態(tài)檢測方法來說具有快速、直觀的特點。通常對軟件行為的描述主要是利用應用程序編程接口(Applicat1n Programming Interface,API)調用序列、系統(tǒng)特征計數或者軟件代碼。但是這些描述方法,或者過于粗糙或者容易出現(xiàn)遺漏,往往影響了最終的分類準確率。
[0006]因此,本領域的技術人員致力于開發(fā)一種更加準確的惡意代碼檢測系統(tǒng)及其方法。

【發(fā)明內容】

[0007]有鑒于現(xiàn)有技術的上述缺陷,本發(fā)明所要解決的技術問題如何準確地檢測安卓惡意代碼。
[0008]為實現(xiàn)上述目的,本發(fā)明提供了一種基于深度學習的安卓惡意代碼檢測系統(tǒng)和檢測方法,能夠大大提高系統(tǒng)對于未知惡意代碼的甄別能力和檢測的準確性。
[0009]本發(fā)明提供一種基于深度學習的安卓惡意代碼檢測系統(tǒng),在系統(tǒng)架構方面采用Browser/Server架構,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用,又在檢測方法上取得重大突破,創(chuàng)新性地將深度學習模型引入了安卓惡意軟件檢測領域,同時結合了靜態(tài)分析和動態(tài)分析方法,提高了檢測的準確性,得到更為全面的軟件安全性分析報告。
[0010]本發(fā)明所述的一種基于深度學習的安卓惡意代碼檢測系統(tǒng),包括:
[0011]特征提取模塊,所述特征提取模塊被配置為以APK程序作為輸入,使用靜態(tài)特征提取與動態(tài)特征提取相結合的方式,輸出由O、I組成的所述APK程序的特征向量;
[0012]深度學習模塊,所述深度學習模塊被配置為使用多層感知器模型對由所述特征向量與監(jiān)督值組成的樣本集進行訓練,得到學習成熟的模型;同時以所述特征向量作為輸入,使用所述學習成熟的模型,輸出結果概率,作為所述APK程序的安全級別;
[0013]報告生成模塊,所述報告生成模塊被配置為根據所述特征向量與所述安全級別進行分析,并生成評估報告。
[0014]進一步地,所述的檢測系統(tǒng)采用瀏覽器端/服務器端架構,所述服務器端被配置為通過調用所述的特征提取模塊、深度學習模塊和報告生成模塊,進行所述學習成熟的模型的預處理和所述APK程序的檢測;所述瀏覽器端被配置為面向用戶進行上傳APK文件、搜索shal和呈現(xiàn)所述評估報告。
[0015]本發(fā)明還提供了一種基于深度學習的安卓惡意代碼檢測方法,包括以下步驟:
[0016](SI)以APK程序作為輸入,使用特征提取模塊提取所述APK程序的動態(tài)特征和靜態(tài)特征,輸出由0、I組成的所述APK程序的特征向量;
[0017](S2)使用深度學習模型進行預處理;
[0018](S3)對所述特征向量進行檢測;
[0019](S4)根據上述檢測的結果生成評估報告。
[0020]進一步地,步驟(S2)中的所述模型預處理包括以下步驟:
[0021](S2-1)采集大量的帶有正負標識的所述APK程序,其中安全的軟件帶有正標識,惡意的軟件帶有負標識;
[0022](S2-2)批量提取上述APK程序的靜態(tài)特征,得到靜態(tài)特征向量;
[0023](S2-3)批量提取上述APK程序的動態(tài)特征,得到動態(tài)特征向量;
[0024](S2-4)將上述靜態(tài)特征向量與上述動態(tài)特征向量組合成總體特征向量;
[0025](S2-5)以上述總體特征向量為輸入維度,結合步驟(S2-1)中所述APK程序對應的監(jiān)督值,組合成樣本集合;
[0026](S2-6)將上述樣本集合插入至系統(tǒng)數據庫;
[0027](S2-7)以上述系統(tǒng)數據庫作為輸入,對深度學習模型進行訓練,得到學習成熟的模型。
[0028]進一步地,步驟(S3)中所述APK程序的特征向量的檢測包括以下步驟:
[0029](S3-1)保存用戶上傳的APK程序,并生成這個APK程序的SHAl散列值;
[0030](S3-2)對于上述散列值,在系統(tǒng)數據庫中進行指紋匹配;
[0031](S3-3)如果上述匹配結果存在,則進入步驟(S3-9),否則進入步驟(S3-4);
[0032](S3-4)提取用戶上傳的APK程序的靜態(tài)特征,得到靜態(tài)特征向量;
[0033](S3-5)提取用戶上傳的APK程序的動態(tài)特征,得到動態(tài)特征向量;
[0034](S3-6)將上述靜態(tài)特征向量與上述動態(tài)特征向量組合成總體特征向量;
[0035](S3-7)將上述總體特征向量輸入至學習成熟的模型中,輸出結果概率;
[0036](S3-8)將上述總體特征向量與上述輸出結果概率插入所述系統(tǒng)數據庫;
[0037](S3-9)根據所述系統(tǒng)數據庫中記錄,解析生成安全評估報告。
[0038]進一步地,步驟(S3-4)、(S3-5)中所述的動態(tài)特征、靜態(tài)特征提取包括以下步驟:
[0039](S3-45-1)解壓縮用戶上傳的APK程序,獲取文件:AndroidManifest.xml和classes, dex ;
[0040](S3-45-2)使用 AXMLPrinter2 和 TinyXml 工具解析 AndroidManifest.xml 文件,得到上述APK程序申請的所有權限,維度為120,作為靜態(tài)特征向量的第一部分;
[0041](S3-45-3)用反匯編程序baksmali反編譯classes, dex文件,并搜索反匯編得到的源碼,獲取API的調用情況,抽象成維度為365的特征向量,作為靜態(tài)特征向量的第二部分;
[0042](S3-45-4)使用DroidBox作為動態(tài)監(jiān)測的沙盒,通過Hook安卓程序中的23個API,得到23維動態(tài)特征向量。
[0043]進一步地,所使用的深度學習模型具有如下特征:
[0044](I)采用多層反饋神經網絡和多層感知器模型相結合的方式構造整體模型;
[0045](2)采用多層反饋神經網絡處理長度不固定的動態(tài)行為序列,抽象出動態(tài)特征后再和靜態(tài)特征組合成長度固定的總體特征向量
[0046](3)采用多層感知器模型進行處理分類。
[0047]進一步地,所述多層感知器模型的參數為:
[0048]輸入:508維的特征向量,包括靜態(tài)特征和動態(tài)特征;
[0049]輸出:安全軟件的概率、惡意軟件的概率;
[0050]隱含層節(jié)點數:80 ;
[0051]隱含層到輸出層的連接權值:0.001 ;
[0052]輸出層的閾值:0.7;
[0053]學習迭代次數:1000;
[0054]學習速率:0.05。
[0055]進一步地,所述多層感知器模型采用了快速中止的方法,即在每一個迭代結束時計算驗證數據的準確度,當上述準確度不再提高時,就停止訓練,以免過度擬合。
[0056]進一步地,所述多層感知器模型采用了 5折交叉驗證作為命中率測試的方法,即將驗證數據集分為五份,輪流使用其中四份作為訓練,一份作為驗證,十次結果的均值作為命中率測試的最終結果。
[0057]與現(xiàn)有技術相比,本發(fā)明提供的基于深度學習的安卓惡意代碼檢測系統(tǒng)與檢測方法具有以下有益效果:運用深度學習模型可以自動抽取特征模式,逐層學習,確保特征的有效、合理利用,從而保證了結果的準確性。
[0058]以下將結合附圖對本發(fā)明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發(fā)明的目的、特征和效果。
【附圖說明】
[0059]圖1是本發(fā)明的一個實施例的基于深度學習的安卓惡意代碼檢測系統(tǒng)總體架構圖;
[0060]圖2是圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的模型預處理工作流程圖;
[0061]圖3是圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的APK檢測流程圖;
[0062]圖4是圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的深度學習模型圖;
[0063]圖5是圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的靜態(tài)特征提取圖;
[0064]圖6是圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的動態(tài)特征提取圖。
【具體實施方式】
[0065]如圖1所示,本發(fā)明的一個實施例的基于深度學習的安卓惡意代碼檢測系統(tǒng)包括:
[0066]特征提取模塊:以APK程序作為輸入,使用靜態(tài)提取與動態(tài)提取相結合的方式,輸出0、I組成的向量,作為APK程序的特征向量;
[0067]深度學習模塊:使用多層感知器(MLP)模型作為學習模型。一方面對特征向量與監(jiān)督值組成的樣本集進行訓練與學習,得到學習成熟的模型;另一方面以特征向量作為輸入,使用學習成熟的模型,輸出結果概率,作為APK程序的安全級別;
[0068]報告生成模塊:根據APK程序的特征向量與安全級別,進行解釋與分析,生成評估?艮胃。
[0069]采用本實施例的基于深度學習的安卓惡意代碼檢測方法包括如下步驟:
[0070](I)以APK程序作為輸入,使用特征提取模塊提取APK的動態(tài)特征、靜態(tài)特征,輸出
0、I組成的向量,作為APK程序的特征向量;
[0071](2)深度學習模型進行預處理后,對(I)所述特征向量進行檢測;
[0072](3)報告生成模塊根據(2)中的檢測結果生成詳細的APK分析報告。
[0073]圖2示出了圖1所示的基于深度學習的安卓惡意代碼檢測系統(tǒng)的模型預處理流程,步驟(2)中的模型預處理包括以下步驟:
[0074](I)采集大量的帶有正負標識的APK程序(安全軟件與惡意軟件);
[0075](2)批量提取APK程序的靜態(tài)特征,得到靜態(tài)特征向量;
[0076](3)批量提取APK程序的動態(tài)特征,得到動態(tài)特征向量;
[0077](4)組合⑵與(3)中的向量,組成總體特征向量;
[0078](5)以(4)中的總體特征向量為輸入維度,結合⑴中對應APK程序的監(jiān)督值,組成樣本集合;
[0079](6)將(5)中的樣本集合插入至系統(tǒng)數據庫;
[0080](7)以數據庫中的樣本集合作為輸入,對深度學習模型進行訓練,得到學習完畢的檢測模型。
[0081]圖3示出了圖1所示的基于深
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1