System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于信息安全,特別涉及一種基于api語義增強的安卓惡意軟件檢測方法。
技術介紹
1、隨著通訊產業不斷的發展,通信網絡的不斷普及,移動智能設備飛速的進入了人們的日常生活,并不斷的改變著人們的生活方式。近年來,網絡釣魚和惡意軟件也成為了互聯網安全領域中的一個重要問題。攻擊者是具有惡意意圖的人或組織,他們的目的是在未經授權的情況下訪問、破壞或竊取計算機系統中的數據。面對如此嚴峻的android網絡空間安全形勢,各國政府及各大互聯網企業陸續采取措施防止用戶的信息泄露。移動智能設備作為通訊和上網工具,包含著眾多的隱私信息,同時它的普及也帶來了移動支付的崛起,在帶來方便的同時也帶來了巨大的安全隱患。占比最多的資費消耗和惡意扣費的軟件都嚴重威脅了用戶的財產安全。如何防止用戶遭受惡意軟件的攻擊,保護用戶的個人信息和財產安全具有重要的研究意義和實用價值。因此,惡意軟件檢測成為了互聯網安全領域的一個熱門研究方向。
2、惡意軟件檢測是安全領域非常重要的課題之一,按其發展的技術路線大致可分為兩種:第一種是基于特征碼,第二種是基于機器學習。基于特征碼的惡意軟件檢測方法基本原理是利用每個軟件特有的特征信息進行匹配。即在已知惡意軟件指定特征碼的情況下,通過與待檢測軟件的特征碼進行匹配從而檢測惡意軟件的方法。如果在已有的惡意軟件特征碼數據庫中匹配到相同的特征碼,則將目標軟件判定為惡意軟件,否則為良性軟件。隨著計算機算力的提高以及相關機器學習技術的發展,基于機器學習的惡意軟件檢測方式開始成為主流,基本于機器學習的惡意軟件檢測方法的基本原理是
技術實現思路
1、為解決以上現有技術存在的問題,本專利技術提出了一種基于api語義增強的安卓惡意軟件檢測方法,該方法包括:獲取待檢測安卓應用;對待檢測安卓應用進行靜態分析,構建待檢測安卓應用的函數調用圖;對安卓應用的函數調用圖進行優化;采取遞歸算法對優化后的函數調用圖提取對應函數的完整api上下文序列;采用訓練后的skpi-gram將完整api上下文序列映射為api特征向量,并采用k-means聚類算法將距離相近的api特征向量劃分為同一類族;將聚類后的api特征向量輸入到訓練后的圖卷積神經網絡模型,得到所述待檢測安卓應用檢測結果。
2、本專利技術的有益效果:
3、該專利技術通過采用圖卷積神經網絡對提取的函數調用圖節點優化,避免了因特征結構轉換所帶來的信息損失,并對api轉換為特征向量,將api向量間的差異作為語義距離進行聚類,提高了模型訓練的效率以及檢測結果的準確率。
本文檔來自技高網...【技術保護點】
1.一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,包括:獲取待檢測安卓應用;對待檢測安卓應用進行靜態分析,構建待檢測安卓應用的函數調用圖;對安卓應用的函數調用圖進行優化;采取遞歸算法對優化后的函數調用圖提取對應函數的完整API上下文序列;采用訓練后的Skpi-Gram將完整API上下文序列映射為API特征向量,并采用k-means聚類算法將距離相近的API特征向量劃分為同一類族;將聚類后的API特征向量輸入到訓練后的圖卷積神經網絡模型,得到所述待檢測安卓應用檢測結果。
2.根據權利要求1所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,對待檢測安卓應用進行靜態分析包括:對待檢測安卓應用的APK文件進行反編譯,得到代碼文件;對代碼文件,分析代碼文件中的函數調用指令構建函數調用圖。
3.根據權利要求1所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,對安卓應用的函數調用圖進行優化包括:采用函數圖優化的方式對函數調用圖進行簡化處理,依據API功能類別進行分類,對提取的API函數類別進行設置,保留與文件訪問以及網絡申請相關的
4.根據權利要求1所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,通過遞歸算法提取對應函數的完整API上下文序列包括:獲取API調用序列;根據API在一組調用序列中的上下文,將每個API嵌入到[0,1]k的n維向量中,得到完整API上下文序列。
5.根據權利要求1所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,對Skpi-Gram進行訓練包括:構建API調用序列中所有唯一的API組成的API詞匯表;導出與API路徑中的目標API相距之多S個API的所有相鄰API,將每個目標API與其相鄰API配對用來訓練Skip-Gram模型。
6.根據權利要求1所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,對圖卷積神經網絡模型進行訓練包括:獲取訓練樣本,所述訓練樣本分為訓練集和驗證集;將訓練集中的數據輸入到圖卷積神經網絡模型中進行訓練;測試集用于對訓練后的圖卷積神經網絡模型進行測試。
7.根據權利要求6所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,訓練集中的數據為batch、node以及feature,其中batch為單次訓練批次中輸入的圖結構數量,node為圖結構中節點的個數,feature為節點初始特征的維度。
8.根據權利要求6所述的一種基于API語義增強的安卓惡意軟件檢測方法,其特征在于,對圖卷積神經網絡模型進行測試包括:獲取測試集,將所述測試集輸入圖卷積神經網絡模型;將隱藏層得到的數據送入池化層中,得到池化層的輸出數據,全連接層會將池化層的輸出數據映射到分類數中,所述分類數分別為0和1,標簽0為良性樣本,標簽1為惡性樣本,得到測試集的分類結果;根據所述分類結果,若達到預期測試目標,則停止訓練模型,得到訓練后的圖卷積神經網絡模型;若未達到預期測試目標,則調整所述模型參數和訓練樣本的數量,重新訓練所述模型,直到達到預期測試目標,則停止訓練所述模型,得到訓練后的圖卷積神經網絡模型。
...【技術特征摘要】
1.一種基于api語義增強的安卓惡意軟件檢測方法,其特征在于,包括:獲取待檢測安卓應用;對待檢測安卓應用進行靜態分析,構建待檢測安卓應用的函數調用圖;對安卓應用的函數調用圖進行優化;采取遞歸算法對優化后的函數調用圖提取對應函數的完整api上下文序列;采用訓練后的skpi-gram將完整api上下文序列映射為api特征向量,并采用k-means聚類算法將距離相近的api特征向量劃分為同一類族;將聚類后的api特征向量輸入到訓練后的圖卷積神經網絡模型,得到所述待檢測安卓應用檢測結果。
2.根據權利要求1所述的一種基于api語義增強的安卓惡意軟件檢測方法,其特征在于,對待檢測安卓應用進行靜態分析包括:對待檢測安卓應用的apk文件進行反編譯,得到代碼文件;對代碼文件,分析代碼文件中的函數調用指令構建函數調用圖。
3.根據權利要求1所述的一種基于api語義增強的安卓惡意軟件檢測方法,其特征在于,對安卓應用的函數調用圖進行優化包括:采用函數圖優化的方式對函數調用圖進行簡化處理,依據api功能類別進行分類,對提取的api函數類別進行設置,保留與文件訪問以及網絡申請相關的核心api函數節點,對其他非核心api函數節點進行合并處理,得到所述待檢測的安卓應用的函數調用圖。
4.根據權利要求1所述的一種基于api語義增強的安卓惡意軟件檢測方法,其特征在于,通過遞歸算法提取對應函數的完整api上下文序列包括:獲取api調用序列;根據api在一組調用序列中的上下文,將每個api嵌入到[0,1]k的n維向量中,得到完整api上下文序列。
5.根據權利要求1所述的一種基...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。