System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及深度學習,具體涉及一種基于ai的二進制同源樣本分析方法。
技術介紹
1、隨著深度學習的興起,基于深度學習的二進制同源樣本分析也成為了當下熱點,經大量調查與實踐,深度學習方法在樣本分類中取得顯著成績,其中的二進制同源樣本分析是指通過惡意代碼的特征,分析代碼之間的關系;在很多行業和領域都涉及樣本分析,都可以識別和歸類惡意軟件家族、檢測代碼復用、追蹤惡意軟件的演變過程以及識別未來威脅。
2、但目前使用深度學習對惡意代碼進行同源樣本分類依然存在諸多挑戰;例如,常規的方法會直接處理原始的二進制匯編指令,通過匯編指令來提取特征以及結合訓練的模型做同源樣本的分類,但是匯編指令中除了順序執行外,還涉及跳轉以及調用,這些通常以相對地址表示,直接提取特征可能無法理解語義,處理不了上下文關系,無法直接利用。
3、例如一中國專利,申請號為202311724479?.9,申請日為2023?.12?.14,專利名稱為《一種惡意代碼的同源分析方法、裝置、電子設備》的專利技術專利,其技術方案為:一種惡意代碼的同源分析方法、裝置、電子設備及存儲介質,其中,該方法包括:獲取包含惡意代碼的可執行文件;提取所述可執行文件中的匯編指令;對所述匯編指令進行代碼語義序列構建,得到匯編指令語義序列;提取所述匯編指令語義序列中的深度特征;將所述深度特征進行分類算法訓練,得到檢測模型;根據所述檢測模型對所述匯編指令進行同源分析,得到同源分析結果。
4、雖然上述專利能夠實現對惡意代碼的分析,但是該方案將二進制代碼,先轉匯編指令,再通
技術實現思路
1、為了解決上述現有技術存在的問題,本專利技術提供了能將底層語言轉為高級語言,再結合lstm模型實現更高效的標記惡意代碼特征以及同源分類的一種基于ai的二進制同源樣本分析方法。
2、為實現上述技術效果,本專利技術的技術方案如下:
3、一種基于ai的二進制同源樣本分析方法,具體步驟包括:
4、步驟一:讀取文件內容,識別出具體的加殼類型,再進行脫殼處理得到原始數據文件;
5、步驟二:將脫殼后的原始數據文件,進行反匯編,得到匯編指令代碼;
6、步驟三:將匯編指令代碼轉為中間代碼,通過自然語言大模型再將中間代碼轉為高級語言,用于惡意代碼特征標記,制作出惡意樣本數據集;
7、步驟四:對數據集中的部分惡意樣本進行預處理,再進行標簽編碼;
8、步驟五:構建一個能增強對惡意樣本特征提取能力以及檢測能力的lstm模型,將處理后的部分惡意樣本,輸入到lstm模型進行訓練;
9、步驟六:將預處理后的新的惡意樣本輸入到已經訓練完成的lstm模型,從而得出最終結果。
10、進一步的,步驟一中讀取文件內容的具體方式為打開二進制文件,逐步讀取字節,將文件內容讀取到內存中;加殼類型的具體識別方式為通過工具分析內存中的二進制數據掃描文件頭和節表;脫殼處理的具體方式為調用脫殼工具進行脫殼處理得到原始二進制數據;步驟二中反匯編的具體方式為將脫殼后的原始數據文件輸入給反匯編工具,通過反匯編工具自動化解析分析得到匯編指令代碼。
11、進一步的,步驟三中匯編指令代碼轉為中間代碼具體為:匯編指令代碼通過使用llvm工具包轉為llvm?ir代碼,llvm?ir代碼再通過提示詞模版調用自然語言大模型將llvmir代碼轉為高級語言;所述高級語言為c語言。
12、進一步的,步驟四和步驟六中預處理的具體方式為:將部分惡意樣本中的每個惡意樣本分配一個家族分類標簽,然后將惡意樣本代碼拆分為詞匯,然后進行整數編碼,把拆分的詞匯進行整數序列化,將所有整數序列填充或截斷到一樣的長度,為所有整數序列構建一個詞匯表,并為每個詞匯分配一個唯一整數id;標簽編碼的具體方式為將家族分類標簽轉為唯一整數id或者one-hot編碼。
13、更進一步的,將惡意樣本拆分為詞匯,然后進行整數編碼的具體步驟為:
14、步驟a:先進行分詞,將完整的句子拆分為單詞或字詞序列:
15、
16、式中,t1、t2和t3的含義均為拆分的單詞或字詞序列;
17、步驟b:分詞完成后,將每個拆分后的單詞或字詞序列映射到詞匯表中的id序列:
18、
19、式中,a1、a2和a3的含義均為每個分詞或字詞序列所對應的整數id;
20、步驟c:將所有整數序列填充或截斷到一樣長度的具體方式為:若,則在句子的末尾填充特殊的填充符號,使得填充后的長度為:,式中的含義為整數序列的長度,為句子的長度上限,c為填充符號;若,則截斷為長度,保留前?個詞,得到截斷后的長度為。
21、進一步的,步驟六中的最終結果為對應的各個家族的類別概率,其中家族代表apt攻擊組織;步驟六中將預處理后的新的惡意樣本輸入到已經訓練完成的lstm模型,得出最終結果的具體步驟如下:
22、步驟a1:將輸入層的整數序列通過查表操作,映射到詞向量矩陣w;
23、步驟b1:在lstm層,輸入詞向量矩陣w,通過lstm層計算得到層輸出矩陣h;
24、步驟c1:將層輸出矩陣h通過均值層取平均值,得到一個固定長度的稠密向量;
25、步驟d1:稠密向量v經過全連接層,通過激活函數最終得到類別概率向量。
26、更進一步的,所述步驟a1中詞向量矩陣w是一個v×d?的矩陣,其中?v?是詞匯表的大小,d?是詞向量的維度;給定整數序列,每個?都是一個詞匯表中的id,通過嵌入矩陣,映射為對應的詞向量,公式表示如下:
27、
28、最終,整數序列將被轉換為詞向量矩陣,其中每個詞向量,表示d維實數空間;
29、所述步驟b1中通過lstm層得到層輸出矩陣的具體步驟如下:
30、步驟a2:計算遺忘門,其具體公式如下:
31、
32、式中,與分別表示遺忘門的權重與偏置,表示在時間步的隱藏狀態向量,表示在時間步t輸入的詞向量,表示 sigmoid函數;
33、步驟b2:計算輸入門和候選記憶,其具體公式如下:
34、;
35、
36、式中,表示每個詞向量,在式中作為輸入門類別i的權重,表示輸入門的偏執,與表示候選記憶的權重與偏置,表示雙曲正切函數;
37、步驟c2:更新細胞狀態,其具體公式本文檔來自技高網...
【技術保護點】
1.一種基于AI的二進制同源樣本分析方法,其特征在于,具體步驟包括:
2.根據權利要求1所述的基于AI的二進制同源樣本分析方法,其特征在于:步驟一中讀取文件內容的具體方式為打開二進制文件,逐步讀取字節,將文件內容讀取到內存中;加殼類型的具體識別方式為通過工具分析內存中的二進制數據掃描文件頭和節表;脫殼處理的具體方式為調用脫殼工具進行脫殼處理得到原始二進制數據;步驟二中反匯編的具體方式為將脫殼后的原始數據文件輸入給反匯編工具,通過反匯編工具自動化解析分析得到匯編指令代碼。
3.根據權利要求1所述的基于AI的二進制同源樣本分析方法,其特征在于:步驟三中匯編指令代碼轉為中間代碼具體為:匯編指令代碼通過使用LLVM工具包轉為LLVM?IR代碼,LLVM?IR代碼再通過提示詞模版調用自然語言大模型將LLVM?IR代碼轉為高級語言。
4.根據權利要求1所述的基于AI的二進制同源樣本分析方法,其特征在于:步驟四和步驟六中預處理的具體方式為:將部分惡意樣本中的每個惡意樣本分配一個家族分類標簽,然后將惡意樣本代碼拆分為詞匯,然后進行整數編碼,把拆分的詞匯進行整數
5.根據權利要求4所述的基于AI的二進制同源樣本分析方法,其特征在于:將惡意樣本拆分為詞匯,然后進行整數編碼的具體步驟為:
6.根據權利要求1所述的基于AI的二進制同源樣本分析方法,其特征在于:步驟六中的最終結果為對應的各個家族的類別概率,其中家族代表APT攻擊組織;步驟六中將預處理后的新的惡意樣本輸入到已經訓練完成的LSTM模型,得出最終結果的具體步驟如下:
7.根據權利要求6所述的基于AI的二進制同源樣本分析方法,其特征在于:所述步驟a1中詞向量矩陣W是一個V×d?的矩陣,其中?V?是詞匯表的大小,d?是詞向量的維度;給定整數序列?,每個??都是一個詞匯表中的ID,通過嵌入矩陣?,映射為對應的詞向量,公式表示如下:
8.根據權利要求6所述的基于AI的二進制同源樣本分析方法,其特征在于:為了增強步驟b1中LSTM層對惡意樣本的特征提取,對LSTM層的調整包括如下具體步驟:
9.根據權利要求6所述的基于AI的二進制同源樣本分析方法,其特征在于:對步驟d1中全連接層的權重和激活函數進行調整,用于增強惡意樣本的檢測性能,其具體的調整步驟如下:
10.根據權利要求7所述的基于AI的二進制同源樣本分析方法,其特征在于:使用Softmax函數轉換為概率向量后,為了增強惡意樣本區分能力,引入加權交叉熵損失函數,其具體公式為:
...【技術特征摘要】
1.一種基于ai的二進制同源樣本分析方法,其特征在于,具體步驟包括:
2.根據權利要求1所述的基于ai的二進制同源樣本分析方法,其特征在于:步驟一中讀取文件內容的具體方式為打開二進制文件,逐步讀取字節,將文件內容讀取到內存中;加殼類型的具體識別方式為通過工具分析內存中的二進制數據掃描文件頭和節表;脫殼處理的具體方式為調用脫殼工具進行脫殼處理得到原始二進制數據;步驟二中反匯編的具體方式為將脫殼后的原始數據文件輸入給反匯編工具,通過反匯編工具自動化解析分析得到匯編指令代碼。
3.根據權利要求1所述的基于ai的二進制同源樣本分析方法,其特征在于:步驟三中匯編指令代碼轉為中間代碼具體為:匯編指令代碼通過使用llvm工具包轉為llvm?ir代碼,llvm?ir代碼再通過提示詞模版調用自然語言大模型將llvm?ir代碼轉為高級語言。
4.根據權利要求1所述的基于ai的二進制同源樣本分析方法,其特征在于:步驟四和步驟六中預處理的具體方式為:將部分惡意樣本中的每個惡意樣本分配一個家族分類標簽,然后將惡意樣本代碼拆分為詞匯,然后進行整數編碼,把拆分的詞匯進行整數序列化,將所有整數序列填充或截斷到一樣的長度,為所有整數序列構建一個詞匯表,并為每個詞匯分配一個唯一整數id;標簽編碼的具體方式為將家族分類標簽轉為唯一整數id或者one-hot編碼。
...
【專利技術屬性】
技術研發人員:嚴得榮,王偉旭,陳偉清,呂力東,
申請(專利權)人:成都數默科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。