一種基于深度學習的惡意代碼檢測方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于深度學習的惡意代碼檢測方法及系統(tǒng),該方法包括:通過提取代碼中特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量;通過提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量;在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。該方法采用深度學習中的半監(jiān)督訓練學習模型,用大規(guī)模的無標記的集合代碼樣本進行訓練,可以節(jié)省標注大量樣本的時間;且該模型能對實現(xiàn)對已知惡意代碼的準確判斷和未知惡意代碼的準確預測。
【專利說明】
一種基于深度學習的惡意代碼檢測方法及系統(tǒng)
技術領域
[0001]本發(fā)明涉及移動終端應用領域,尤其涉及一種基于深度學習的惡意代碼檢測方法及系統(tǒng)。
【背景技術】
[0002]隨著惡意代碼爆炸性增長,惡意代碼成為個人、企業(yè)信息泄露的最大原因,所以對惡意代碼在運行之前被檢測出來很有必要。目前有比較成熟的惡意代碼檢測技術,主要有基于簽名、基于特征碼、基于啟發(fā)式等等方法。
[0003]基于簽名的惡意檢測方法,對各種惡意代碼生成一個標記,并利用這些標記構建一個惡意代碼數(shù)據(jù)庫。這種方法能快速的檢測出一段代碼是否為惡意代碼,對數(shù)據(jù)庫中已有樣本種類檢驗準確率很高,是很多商業(yè)殺毒軟件采取的主要方式。
[0004]但是這種方法存在以下的缺點:對惡意代碼的標記有些需要領域?qū)<疫M行人工提取;一個新的惡意代碼可能不包括任何已知的特征,只能檢測已有的惡意代碼,不能檢測出新種類的惡意代碼;這種方法使得特征庫不斷增加,這需要用戶不斷更新惡意代碼數(shù)據(jù)庫,特征庫的樣本會越來越大,會影響檢測的速度和系統(tǒng)的性能。
[0005]有鑒于此,現(xiàn)有技術有待改進和提尚。
【發(fā)明內(nèi)容】
[0006]鑒于現(xiàn)有技術的不足,本發(fā)明目的在于提供一種基于深度學習的惡意代碼檢測方法及系統(tǒng),從而解決了現(xiàn)有技術中需要對惡意代碼進行標注的繁瑣及不能檢測出新種類的惡意代碼的問題。
[0007]本發(fā)明的技術方案如下:
一種基于深度學習的惡意代碼檢測方法,其中,所述方法包括:
步驟A、提取訓練集合中代碼的特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量;
步驟B、提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量;
步驟C、在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。
[0008]所述基于深度學習的惡意代碼檢測方法,其中,所述步驟A具體包括:
Al、選取惡意代碼和正常代碼作為訓練集合;
A2、提取訓練集合中代碼的操作碼序列的變長N-gram作為特征;
A3、采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征;
A4、根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量。
[0009]所述基于深度學習的惡意代碼檢測方法,其中,所述步驟C具體包括:
Cl、通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值;
C2、將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型進行運算;
C3、輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼。
[0010]所述基于深度學習的惡意代碼檢測方法,其中,
所述待測代碼為惡意代碼或者正常代碼;
所述訓練集合中的代碼為無標簽樣本。
[0011]所述基于深度學習的惡意代碼檢測方法,其中,
所述步驟A之前還包括:
AO:對訓練集合中代碼樣本進行查殼、脫殼處理,并提取相關操作碼。
一種基于深度學習的惡意代碼檢測系統(tǒng),其中,包括:
訓練集合模塊,用于提取訓練集合中代碼的操作碼序列的變長N-gram作為特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量;
待測代碼模塊,用于提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量;
惡意代碼檢測模塊,用于在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。
[0012]所述基于深度學習的惡意代碼檢測系統(tǒng),其中,所述訓練集合模塊具體包括: 代碼選取單元,用于選取惡意代碼和正常代碼作為訓練集合;
特征提取單元,用于提取訓練結合代碼中操作碼序列的變長N-gram作為特征;
有效特征單元,用于采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征;
特征向量單元,用于根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量。
[0013]所述基于深度學習的惡意代碼檢測系統(tǒng),其中,所述惡意代碼檢測模塊具體包括: 訓練單元,用于通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值;
檢測單元,用于將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型進行運算;
輸出結果單元,用于輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼。
所述基于深度學習的惡意代碼檢測系統(tǒng),其中,
所述待測代碼為惡意代碼或者正常代碼;所述訓練集合中的代碼為無標簽樣本。
[0014]所述基于深度學習的惡意代碼檢測系統(tǒng),其中,還包括:
預處理單元,用于對訓練集合中代碼樣本進行查殼、脫殼處理,并提取相關操作碼。 有益效果:本發(fā)明提出了一種基于深度學習的惡意代碼檢測方法及系統(tǒng),采用大規(guī)模的無標記的惡意代碼樣本集合進行訓練,相對于傳統(tǒng)的監(jiān)督學習模型可以節(jié)省標注大量樣本的時間;用變長N-gram作為惡意代碼特征提取方法,能夠提取相關的不同長度的有效特征,彌補了定長N-gram可能拆分有意義特征的缺陷;該深度學習方法,能夠訓練出一個泛化能力比較強的模型,能夠?qū)σ阎臀粗膼阂獯a進行準確的預測判斷。
【附圖說明】
[0015]圖1為本發(fā)明的基于深度學習的惡意代碼檢測方法的流程圖。
[0016]圖2為本發(fā)明的基于深度學習的惡意代碼檢測方法的實施過程圖。
[0017]圖3為本發(fā)明的面向惡意代碼檢測的深度置信網(wǎng)絡的原理圖。
[0018]圖4為本發(fā)明的基于深度學習的惡意代碼檢測系統(tǒng)的功能原理框圖。
【具體實施方式】
[0019]本發(fā)明提供了一種基于深度學習的惡意代碼檢測方法及系統(tǒng),為使本發(fā)明的目的、技術方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]深度學習的方法可以從大量的惡意代碼和正常代碼數(shù)據(jù)中學習到有效的信息,形成區(qū)別惡意代碼與正常代碼的標準,代碼進入系統(tǒng)時通過訓練過的分類器進行分類,從而判斷為惡意代碼或者正常代碼。該深度學習過程主要包括訓練階段和檢測階段,在訓練階段應該選擇某些已有的代碼作為訓練集合進行訓練,在檢測階段則將待測代碼進行分類。該方法所對應的系統(tǒng)即為面向惡意代碼檢測的深度置信網(wǎng)絡模型。
[0021]如圖1所示,為本發(fā)明中基于深度學習的惡意代碼檢測方法的流程圖,該方法包括以下步驟:
步驟S100、提取訓練集合中代碼的特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量。
[0022]當移動終端處于惡意代碼檢測模式下時,首先應對已有的代碼進行訓練,得出一個通過訓練得出的分類器,步驟SlOO即是深度學習算法實現(xiàn)惡意代碼檢測方法的訓練階段中訓練集合的特征向量提取過程。選取惡意代碼和正常代碼的訓練集合,提取該訓練集合中所有代碼樣本的特征,并在所有得到的特征中選取有效特征,可以對每個訓練樣本的特征是否包含這些有效特征進行判斷,在此基礎上構成第一布爾特征向量,該特征向量在訓練階段進入網(wǎng)絡置信網(wǎng)絡模型,最后得到一個經(jīng)過訓練的分類器,該分類器可以供深度網(wǎng)絡學習。
[0023]所述訓練集合可以不斷更新,允許增量學習,還可通過采集新的訓練集合進行有效的實時訓練;
步驟S200、提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量。
[0024]當完成該惡意代碼檢測系統(tǒng)的訓練階段后,則對待測代碼進行分類檢測,對待測代碼進行與訓練階段相同的代碼樣本特征的提取過程,并對待測代碼的特征是否包含訓練階段的有效特征進行判斷,在此基礎上構成第二布爾特征向量,該特征向量在檢測階段進入網(wǎng)絡置信網(wǎng)絡模型。
[0025]步驟S300、在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。
[0026]所述深度置信網(wǎng)絡,由多層受限玻爾茲曼機疊加之后加上一層分類層組成的一種深層次的神經(jīng)網(wǎng)絡。待測代碼的第二布爾特征向量進入面向惡意代碼檢測的深度置信網(wǎng)絡時,通過訓練過的分類器進行分類,最后輸出該待測代碼的標簽,從而判斷待測代碼為惡意代碼或者正常代碼。
[0027]該檢測模式下的所有操作是基于代碼,因此在此步驟SlOO之前還應
選取惡意代碼和正常代碼作為訓練集合,并且對訓練集合中代碼樣本進行查殼、脫殼處理。
[0028]軟件的殼即為一段專門負責保護軟件不被非法修改或反編譯的程序。軟件被選取為訓練集合中代碼樣本時,為了更方便對代碼進行分析,必須進行查殼和脫殼處理,查殼是找到具有保護功能的軟件,脫殼即是運用脫殼工具將上述找到的軟件中負責保護軟件不被非法修改或反編譯的程序進行處理。將脫殼后的軟件作為訓練集合中代碼樣本,并提取操作碼。
[0029]進一步,對步驟SlOO進行更加詳細的說明,該步驟可以結合圖2進行解釋:
S11、選取惡意代碼和正常代碼作為訓練集合。
[0030]深度置信網(wǎng)絡模型為半監(jiān)督訓練學習模型,選取惡意代碼和正常代碼作為訓練集合,所述訓練集合中代碼為無標記代碼,采用大規(guī)模的無標簽的惡意代碼為集合樣本進行訓練,相對于傳統(tǒng)的監(jiān)督學習模型可以節(jié)省大量標注樣本的時間。
[0031]代碼是通過靜態(tài)語義分析,無需運行惡意代碼,可以獲取代碼的全部信息,使得分析的結果相對較全面。且基于語義分析,不針對專門的某個惡意程序,對于已知和未知的代碼均能有效檢測。
[0032]S12、提取訓練集合中代碼的操作碼序列的變長N-gram作為特征。
[0033]將操作碼序列的變長N-gram作為特征。N-gram是由一個長度為N的滑動窗口收集的一系列重疊的子字符串,每次滑動一個窗口的單元長度;變長N-gram是一串有意義的連續(xù)字節(jié)序列,它的長度是不固定的。用變長N-gram作為代碼特征提取方式,提取代碼中操作碼序列的變長N-gram作為特征,能夠提取相關的不同長度的特征,彌補了定長N-gram可能拆分有意義的特征的缺陷,防止某些特征的缺失。待測代碼同樣采取變長N-gram的特征提取方式。
[0034]S13、采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征。
[0035]當完成訓練集合中所有代碼的特征提取后,對這些特征進行有效特征的選取。采用加權信息增益的特征選擇方法,該方法通過計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列,選取前面若干個作為有效特征。所述特征選擇方法還可以為互信息方法、開方擬和檢驗方法、文檔頻率方法等。
[0036]S14、根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量。
[0037]對該訓練集合中每個訓練樣本代碼的特征是否包含所述有效特征進行判斷,在此基礎上構成第一布爾特征向量,該特征向量在訓練階段進入網(wǎng)絡置信網(wǎng)絡模型,最后得到一個經(jīng)過訓練的分類器,該分類器可以供深度網(wǎng)絡學習。
[0038]進一步,對步驟S300進行更加詳細的說明:
S31、通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN(深度置信網(wǎng)絡)無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值。
[0039]如圖3所示,在訓練階段所述第一布爾特征向量輸入時,該原始訓練集的特征向量隱式的存在于RBM(受限波爾茲曼機)模塊的第一層中,并進行RBM模式的調(diào)用,先自下而上的逐層無監(jiān)督訓練RBM,對輸入特征向量通過識別模式自底向上轉換,到最頂層得到一個輸入特征向量的表示,再進行從上而下的生成模型的轉換,重構出輸入特征向量。選取RBM的層數(shù)為N層,RBM層數(shù)的確定是根據(jù)實驗效果來確定的。
[0040]深度置信網(wǎng)絡在進行RBM預訓練之后,輸入數(shù)據(jù)和重構數(shù)據(jù)的誤差達到了閾值要求。此時網(wǎng)絡權值對每個RBM是最優(yōu)的,但是對于整個DBN網(wǎng)絡的權值并未達到最優(yōu),在由可見層向頂層隱藏層傳遞時,DBN會產(chǎn)生額外的錯誤和信息,因此必須進行整個DBN的反饋微調(diào),以此來保證整個網(wǎng)絡的精度要求。
[0041 ] 精度微調(diào)主要經(jīng)過兩個過程:DBN無監(jiān)督反饋調(diào)節(jié)和BP反饋調(diào)節(jié)。
[0042]DBN無監(jiān)督反饋調(diào)節(jié)過程,通過降低調(diào)節(jié)輸入特征與重構的輸入特征向量的誤差,不斷的調(diào)節(jié)權值,從而使生成模型可以重構出具有較低誤差的原樣本。
[0043]BP反饋調(diào)節(jié)是有監(jiān)督過程,以樣本原始類標和目標輸出之間的誤差進行BP反饋微調(diào),調(diào)節(jié)整個網(wǎng)絡層數(shù)的權值。對輸入特征向量經(jīng)過網(wǎng)絡得到目標輸出,與樣本原始類標進行對比,不斷降低樣本原始類標與目標輸出之間的誤差來微調(diào)網(wǎng)絡參數(shù),優(yōu)化整個面向惡意代碼檢測的深度置信網(wǎng)絡模型。
[0044]S32、將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型; 將待測代碼的特征向量應用于上述練習所得出的深度置信網(wǎng)絡,該檢測階段和訓練階段是共享網(wǎng)絡權值的。在訓練階段結束后,網(wǎng)絡的參數(shù)固定,用相同的網(wǎng)絡把測試的特征向量輸入。
[0045]S33、輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼。
所述待測代碼可以為惡意代碼或者正常代碼,根據(jù)上述深度置信網(wǎng)絡輸出待測代碼的標簽。如果待測代碼為惡意代碼,則輸出惡意代碼的標簽;反之,則輸出正常代碼的標簽。
[0046]由上可見,為本發(fā)明所述的一種深度學習的惡意代碼檢測方法的實施例,基于上述方法實施例,本發(fā)明還提供了一種深度學習的惡意代碼檢測系統(tǒng),如圖4所示,所述系統(tǒng)包括:
訓練集合模塊210,用于提取訓練集合中代碼的操作碼序列的變長N-gram作為特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量;具體如上所述。
[0047]待測代碼模塊220,用于提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量;具體如上所述。
[0048]惡意代碼檢測模塊230,用于在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡,在檢測階段向同樣參數(shù)的所述深度置信網(wǎng)絡中輸入第二布爾特征向量進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼;具體如上所述。
[0049]進一步的所述基于深度學習的惡意代碼檢測系統(tǒng),其中,所述訓練集合模塊具體包括:
代碼選取單元,用于選取惡意代碼和正常代碼作為訓練集合;具體如上所述。
[0050]特征提取單元,用于提取訓練結合中代碼的操作碼序列的變長N-gram作為特征;具體如上所述。
[0051]有效特征單元,用于采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征;具體如上所述。
[0052]特征向量單元,用于根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量;具體如上所述。
[0053]進一步的所述基于深度學習的惡意代碼檢測系統(tǒng),其中,所述惡意代碼檢測模塊具體包括:
訓練單元,用于通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值;具體如上所述。
[0054]對構建的深度置信網(wǎng)絡模型進行詳細的講解,如圖3所示,該深度置信網(wǎng)絡模型中包括三大模塊:RBM模塊、DBN反向調(diào)節(jié)模塊、BP反饋調(diào)節(jié)模塊。
[0055]RBM模塊,由多層受限玻爾茲曼機(RBM)疊加之后加上一層分類層組成。
[0056]DBN反向調(diào)節(jié)模塊,包括共軛梯度MINIMIZE模塊和par_der模塊,調(diào)用共軛梯度M1TMIZE模塊負責優(yōu)化微調(diào)權值,調(diào)用par_der模塊用于計算輸入數(shù)據(jù)與重構數(shù)據(jù)誤差關于權值的偏導數(shù)。
[0057]BP反饋調(diào)節(jié)模塊,主要包括MIN頂IZE模塊和CG_PAR_DER模塊,
調(diào)用共軛梯度MINIMIZE模塊負責優(yōu)化微調(diào)權值,調(diào)用CG_PAR_DER模塊用于計算原始類標與目標輸出誤差關于權值偏導數(shù)。
[0058]檢測單元,用于將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型進行運算;具體如上所述。
[0059]輸出結果單元,用于輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼;具體如上所述。
[0060]所述基于深度學習的惡意代碼檢測系統(tǒng),其中,
所述待測代碼為惡意代碼或者正常代碼;所述訓練集合中的代碼為無標記樣本。
[0061]所述基于深度學習的惡意代碼檢測系統(tǒng),其中,還包括:
預處理模塊,用于對訓練集合中代碼樣本進行查殼、脫殼處理,并提取相關操作碼;具體如上所述。
[0062]綜上所述,本發(fā)明公開的一種基于深度學習的惡意代碼檢測方法及系統(tǒng),用變長N-gram作為惡意代碼特征提取方法,能夠提取相關的不同長度的有效特征,彌補了定長N-gram可能拆分有意義特征的缺陷;選取深度置信網(wǎng)絡作為深度學習方法,深度置信網(wǎng)絡為半監(jiān)督學習模型,可以采用大規(guī)模未標記的樣本集合進行訓練,相對于傳統(tǒng)的監(jiān)督學習模型節(jié)省標記大量樣本的時間;該深度學習方法,能夠訓練出一個泛化能力比較強的模型,能夠?qū)σ阎臀粗膼阂獯a進行準確的預測判斷。
[0063]應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。
【主權項】
1.一種基于深度學習的惡意代碼檢測方法,其特征在于,包括: 步驟A、提取訓練集合中代碼的特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量; 步驟B、提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量; 步驟C、在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。2.根據(jù)權利要求1所述基于深度學習的惡意代碼檢測方法,其特征在于,所述步驟A具體包括: Al、選取惡意代碼和正常代碼作為訓練集合; A2、提取訓練集合中代碼的操作碼序列的變長N-gram作為特征; A3、采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征; A4、根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量。3.根據(jù)權利要求1所述基于深度學習的惡意代碼檢測方法,其特征在于,所述步驟C具體包括: Cl、通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值; C2、將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型進行運算; C3、輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼。4.根據(jù)權利要求1所述基于深度學習的惡意代碼檢測方法,其特征在于, 所述待測代碼為惡意代碼或者正常代碼; 所述訓練集合中的代碼為無標簽樣本。5.根據(jù)權利要求1所述基于深度學習的惡意代碼檢測方法,其特征在于,所述步驟A之前還包括: AO:對訓練集合中代碼樣本進行查殼、脫殼處理,并提取相關操作碼。6.一種基于深度學習的惡意代碼檢測系統(tǒng),其特征在于,包括: 訓練集合模塊,用于提取訓練集合中代碼的操作碼序列的變長N-gram作為特征并選取有效特征,根據(jù)訓練樣本代碼是否包含有效特征構成第一布爾特征向量; 待測代碼模塊,用于提取待測代碼的特征,根據(jù)待測代碼是否包括訓練階段的有效特征,構成第二布爾特征向量; 惡意代碼檢測模塊,用于在訓練階段輸入第一布爾特征向量構建深度置信網(wǎng)絡模型,在檢測階段將第二布爾特征向量輸入所述深度置信網(wǎng)絡模型進行運算,根據(jù)所述模型輸出的結果判斷待測代碼是否為惡意代碼。7.根據(jù)權利要求6所述基于深度學習的惡意代碼檢測系統(tǒng),其特征在于,所述訓練集合模塊具體包括: 代碼選取單元,用于選取惡意代碼和正常代碼作為訓練集合; 特征提取單元,用于提取訓練集合中代碼的操作碼序列的變長N-gram作為特征; 有效特征單元,用于采用加權信息增益的特征選擇方法,計算出每個特征對應的加權信息增益,并按照加權信息增益的降序排列選取有效特征; 特征向量單元,用于根據(jù)每個訓練樣本代碼是否包含所述有效特征,構成第一布爾特征向量。8.根據(jù)權利要求6所述基于深度學習的惡意代碼檢測系統(tǒng),其特征在于,所述惡意代碼檢測模塊具體包括: 訓練單元,用于通過訓練集合的第一布爾特征向量構建深度置信網(wǎng)絡模型,對所述深度置信網(wǎng)絡模型進行DBN無監(jiān)督反饋調(diào)節(jié),最后對模型進行優(yōu)化微調(diào)權值的BP反饋調(diào)節(jié),確定模型的權值; 檢測單元,用于將待測代碼的第二布爾特征向量輸入同樣權值的所述深度置信網(wǎng)絡模型進行運算; 輸出結果單元,用于輸出待測代碼的標簽,所述標簽標記出是否為惡意代碼。9.根據(jù)權利要求6所述基于深度學習的惡意代碼檢測系統(tǒng),其特征在于, 所述待測代碼為惡意代碼或者正常代碼; 所述訓練集合中的代碼為無標簽樣本。10.根據(jù)權利要求6所述基于深度學習的惡意代碼檢測系統(tǒng),其特征在于,還包括: 預處理模塊,用于對訓練集合中代碼樣本進行查殼、脫殼處理,并提取相關操作碼。
【文檔編號】G06F21/56GK106096415SQ201610482502
【公開日】2016年11月9日
【申請日】2016年6月24日
【發(fā)明人】楊衛(wèi)國, 呂文玉, 何震宇
【申請人】康佳集團股份有限公司