摘要:詞向量和循環神經網絡(Recurrent Neural Network,RNN)能夠識別語義和時序信息,在自然語言識別方面中取得了巨大成功。同時,代碼運行時產生的API調用序列也反映了代碼的真實意圖,因此我們將之應用于惡意代碼識別中,期望在取得較高正確率的同時減少人工提取和分析代碼特征工作。然而仍然存在三個問題:1)不少惡意代碼故意通過隨機混合調用敏感API和非敏感API破壞正常的上下文,對這兩種API同等對待可能產生漏報;2)為盡可能全面收集代碼行為,代碼運行期間產生的API序列長度較長,這將導致RNN學習時間過長;3)經典RNN常用的softmax分類函數泛化能力不強,準確率有待提高。為了解決上述問題,本文提出了一種基于分片RNN(Sliced Recurrent Neural Network,SRNN)的敏感高效的惡意代碼行為檢測架構SEMBeF。在SEMBeF中,我們提出了一種安全敏感API權重增強的敏感詞向量算法,使得代碼表示結果既包含上下文信息又包含安全敏感權重信息;我們還提出了一種SGRU-SVM網絡結構,通過并行計算大幅降低了因代碼API調用序列過長引起的訓練時間過長的問題,提高了檢測正確率;最后針對樣本平衡和網絡模型超參數選擇問題進行了優化,進一步提高了檢測正確率。本文還實現了SEMBeF驗證系統,實驗表明,與其他基于經典詞向量和RNN的深度學習方法以及常用的機器學習方法相比,SEMBeF不僅檢測正確率最高,訓練效率也得到了顯著提升。其中,檢測正確率和訓練時間分別為99.40%和210分鐘,與傳統RNN相比,正確率提高了0.48%,訓練時間下降了96.6%。