本發明涉及計算機安全領域,尤其是一種惡意程序行為特征庫構建方法及裝置。
背景技術:
隨著個人電腦和手機的廣泛應用,信息安全日益成為現代社會重要的研究方向。對惡意程序的檢測手段也從單純的靜態特性值檢測,發展到對惡意程序動態行為的檢測。惡意程序動態檢測主要通過提取程序的行為,與已知的惡意行為特征庫進行對比。而目前構建惡意行為特征庫主要是靠人工對惡意程序進行分析,主要采用特征字符串或特征關鍵字匹配技術,通過抽取關鍵特征字組成特征字庫,針對被檢測樣本進行掃描,一旦在其內發現有特定特征字,即表明被檢測樣本歸屬該特征字所代表的病毒種類。此方法運行速度快、誤報頻率低、但需要不斷的對特征字進行更新擴充。同時無法檢測新型惡意程序,舊型惡意程序變種也可以通過調整指令序列等方法躲避基于匹配的檢測。隨著惡意程序的變種能力日益增強,新的惡意程序的產生速度加快,靠人工分析來構建惡意程序的行為特征庫的方式就顯得效率十分低下。
技術實現要素:
本發明所要解決的技術問題是:針對現有技術存在的問題,提供一種惡意程序行為特征庫構建方法及裝置。本發明通過機器自動提取行為,并按照行為的惡意值排序來自動構建惡意程序行為特征庫,能夠極大的提高惡意程序的行為提取效率,減少人工參與的程度。
本發明采用的技術方案如下:
一種惡意程序行為特征庫構建方法包括:
步驟1:收集樣本文件,并標注樣本文件是惡意文件還是正常文件,形成樣本文件集;
步驟2:將樣本文件集的第n個樣本文件放到沙箱運行,提取出樣本文件運行時的行為操作,每個行為操作包括:樣本文件類型、行為操作類型、行為操作名稱、行為操作的附加參數;將第n個樣本文件的行為操作加入行為列表中,并根據該樣本文件是惡意文件還是正常文件對該樣本文件行為進行標記,獲得第n個樣本文件的行為操作;
步驟3:重復步驟2,獲得樣本文件集中n個樣本文件的行為操作;然后對所有樣本文件的行為操作進行相似行為操作的合并;
步驟4:計算行為的惡意值=tf*idf*vf;其中tf為每條行為出現的頻率;ldf為每條行為的逆向樣本頻率;vf為計算行為的惡意頻率數,根據行為的惡意值進行排序,確定惡意行為特征,構建惡意程序行為特征庫。
進一步的,所述步驟3中對所有樣本文件的行為操作進行相似行為操作的合并具體過程是:
步驟31:將行為操作列表中相同行為操作類型劃分在同一列表中,然后在每個列表中根據行為操作名稱判斷行為操作所述的文件類型是否一致,若一致,則執行步驟32;否則,不合并;
步驟32:判斷行為操作的附加參數是否相似,若相似,則合并行為操作;否則,不合并。
進一步的,當行為操作類型是網絡類型時,則不對行為操作類型的附加參數值進行比較,比較行為操作的名稱是否一致即可,若行為操作名稱一致,則相似,進行合并行為操作;否則,不合并。
進一步的,所述步驟32行為操作的附加參數相似判斷依據是:多個行為操作的附加參數中至少有一個參數相似;
若行為操作類型是文件類型時,比較所操作的文件目錄和文件類型是否一致;若是注冊表類型:比較目標鍵路徑是否一致;若行為操作類型是進程、內存或系統類型時,比較所有的附加參數值是否一致;若行為操作類型是網絡類型時,不對附加參數值進行比較,即如果是網絡類型的行為操作,只比較行為操作的名稱是否一致即可。
進一步的,所述計算行為的惡意值=tf*idf*vf具體過程是:
步驟41:統計相似行為操作合并前,所有的行為操作出現的總次數之和m;
步驟42:計算每條行為出現的頻率tf=該行為出現總次數/m;
步驟43:計算每條行為的逆向樣本頻率ldf:
ldf=log(樣本文件總數)/包含該行為的樣本數)
步驟44:計算行為的惡意頻率數vf:
vf=該行為出現在惡意文件中的次數/該行為出現總次數;
步驟45:計算行為的惡意值=tf*idf*vf。
一種惡意程序行為特征庫構建裝置包括:
樣本文件集裝置,用于收集樣本文件,并標注樣本文件是惡意文件還是正常文件;
樣本文件的行為操作提取裝置,用于將樣本文件集的第n個樣本文件放到沙箱運行,提取出樣本文件運行時的行為操作,每個行為操作包括:樣本文件類型、行為操作類型、行為操作名稱、行為操作的附加參數;將第n個樣本文件的行為操作加入行為列表中,并根據該樣本文件是惡意文件還是正常文件對該樣本文件行為進行標記,獲得第n個樣本文件的行為操作;最終獲得樣本文件集中n個樣本文件的行為操作;
相似行為操作合并裝置,用于對所有樣本文件的行為操作進行相似行為操作的合并;
惡意程序行為特征庫構建裝置,用于計算行為的惡意值=tf*idf*vf,根據行為的惡意值進行排序,確定惡意行為特征,
進一步的,所述相似行為操作合并裝置對所有樣本文件的行為操作進行相似行為操作的合并具體過程是:
將行為操作列表中相同行為操作類型劃分在同一列表中,然后若每個列表中根據行為操作名稱判斷行為操作所述的文件類型一致,若一致,判斷行為操作的附加參數是否相似,若相似,則合并行為操作;否則,不合并;若每個列表中根據行為操作名稱判斷行為操作所述的文件類型不一致,不合并。
進一步的,當行為操作類型是網絡類型時,則不對行為操作類型的附加參數值進行比較,比較行為操作的名稱是否一致即可,若行為操作名稱一致,則相似,進行合并行為操作;否則,不合并。
進一步的,所述行為操作的附加參數相似判斷依據是:多個行為操作的附加參數中至少有一個參數相似;
若行為操作類型是文件類型時,比較所操作的文件目錄和文件類型是否一致;若是注冊表類型:比較目標鍵路徑是否一致;若行為操作類型是進程、內存或系統類型時,比較所有的附加參數值是否一致;若行為操作類型是網絡類型時,不對附加參數值進行比較,即如果是網絡類型的行為操作,只比較行為操作的名稱是否一致即可。
比如讀寫文件操作,其附加參數為所操作的文件的全路徑名,只比較操作文件的文件目錄名和文件類型是否一致;如果是注冊表的行為操作,其附加參數有目標鍵路徑和目標鍵值兩個參數,只比較目標鍵路徑這一個附加參數值是否一致。
進一步的,所述計算行為的惡意值=tf*idf*vf具體過程是:
統計相似行為操作合并前,所有的行為操作出現的總次數之和m;
計算每條行為出現的頻率tf=該行為出現總次數/m;
計算每條行為的逆向樣本頻率ldf:
ldf=log(樣本文件總數/包含該行為的樣本數)
計算行為的惡意頻率數vf:
vf=該行為出現在惡意文件中的次數/該行為出現總次數;
步驟45:計算行為的惡意值=tf*idf*vf。
綜上所述,由于采用了上述技術方案,本發明的有益效果是:
與現有通過大量人工分析木馬病毒的行為,提取出木馬病毒行為的共性,而形成的惡意程序行為特征庫不同,本發明主要通過樣本行為提取沙箱技術、樣本的操作行為惡意度計算方法、操作行為相似度計算方法這幾個關鍵技術特征,實現了惡意行為特征庫通過機器自動構建。
附圖說明
本發明將通過例子并參照附圖的方式說明,其中:
圖1本發明原理框圖。
圖2是本發明流程圖。
圖3是相似行為操作合并裝置工作流程圖。
具體實施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
實施例一:比如收集了3個樣本,樣本A和樣本B都是惡意文件,樣本C是正常文件。將樣本集放到沙箱中運行得到每個樣本的行為操作列表如下:
樣本A行為操作列表1:
樣本B行為操作列表2:
樣本C行為操作列表3:
合并相似的操作行為得到所有的操作行為列表4如下:
統計所有的行為操作出現的總次數之和m=5
計算每個行為操作的惡意程度值
按照惡意程度值進行排序得到以下惡意行為特征列表
本發明并不局限于前述的具體實施方式。本發明擴展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。