999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于線程融合特征的Windows惡意代碼檢測與分析

2020-12-07 08:20:26蘆天亮杜彥輝暴雨軒
計算機工程與應用 2020年23期
關鍵詞:特征實驗檢測

周 楊,蘆天亮,杜彥輝,郭 蕊,暴雨軒,李 默

中國人民公安大學 警務信息工程與網絡安全學院,北京 100038

1 引言

惡意代碼的種類繁多,主要分為幾個大類:勒索病毒、挖礦程序、木馬、蠕蟲病毒、感染型病毒、后門程序、木馬程序等。根據國家計算機病毒應急處理中心的每月計算機病毒疫情分析[1],2019年3月發現新增病毒700余萬個,到5 月升至1 967 余萬個,到8 月更是發現新增病毒4 791萬個。花指令、計算機程序模塊化、代碼混淆等技術的發展更是大大降低了惡意代碼的制作和傳播成本。但有專家估計,這些檢測到的惡意代碼僅不到網絡上所有惡意代碼的1/2[2],有超過近50%的惡意代碼,甚至在出現后的三個月內仍然無法被檢測出來[3-4]。面對日益強大的惡意代碼生態鏈,急需更多的研究去分析惡意代碼的本質規律,用最具代表性的特點區分惡意代碼和正常樣本。

按照分析原理對惡意代碼分析方法進行分類,通常分為動態分析、靜態分析及混合式分析。靜態分析無須運行惡意代碼,在靜態環境下借助工具將二進制文件進行反匯編并對其提取行為數據,常包括函數調用名、文件結構信息、導入表、字符串、控制流等。例如,2014年Shi H B 等人[5]通過提取靜態鏈接庫信息,以構建惡意代碼樣本特征。靜態分析方法簡明、耗時少,但僅僅只能檢測已經識別到的惡意代碼,并且對于惡意代碼混淆、加殼、干擾、變形等方式束手無策,因此靜態分析存在誤報率高、檢測率低的缺陷。

動態分析恰恰能避免這些缺點,動態分析以一個虛擬環境真實運行惡意代碼樣本并收集程序執行中的所有信息,沙箱是用于此目的典型系統。在動態方法中生成的常見行為數據類型包括系統調用名稱,上下文中的參數、環境變量等。當前許多安全平臺及安全專家都使用動態特征來進行惡意代碼的分析與檢測,龔琪等人用APIs序列[6]、API調用類別特征頻繁度[7]等方法在區分勒索病毒和正常樣本時都取得了良好的效果。但此類檢測方法耗費大量的計算量及計算時間,并且在描述惡意行為的方面僅針對一類病毒,不具有普適性。

動靜態結合是將動態特征及靜態特征結合作為區分特征,Damodaran A 等人[8]在 2017 年對比了動態、靜態及混合分析三種分析方式的效果發現,基于動靜態結合的方法不一定優于純動態分析,因為動靜態分析產生特征的天然差別難以進行交叉檢驗,混淆技術雖然容易破壞操作碼序列,但如果不加入其他的針對API序列的混淆,很難對API序列產生影響。

線上惡意代碼共享庫的泛濫,代碼混淆、變形、多態等技術的出現,使惡意代碼數量以前所未有的速度暴增,靜態分析手段已無法應對。但即使改變了惡意代碼的句法結構,絕大多數惡意代碼的執行都需要基于Microsoft Windows 提供的多種API 接口,方便調用API以使用來自操作系統的服務[9],實現其惡意任務,動態分析手段可以將惡意代碼在虛擬環境中運行,抓取所有API 調用信息及參數。因此應對當前暴增的多種技術混淆、變形的惡意代碼環境,動態分析技術顯得更有優勢。

盡管惡意代碼會調用的API類別與正常程序相同,可是這些API 的調用順序及它們各自的函數返回值不同卻表示完全不同的意圖、達到完全不同的結果。因此,僅僅關注全局API 調用序列是完全不夠的,還要考慮不同API的參數、順序等因素導致不同的線程完成的功能。由此可見,動態行為特征的界定取決于所選取的行為特征及對行為特征進行的處理。Galal H S等人[9]在2016年提出基于語義的方法使用語義規則或行為判斷來深入了解惡意代碼行為,給本文提供了思路。本文先在沙箱系統內運行可執行文件,用Python腳本從.json格式的動態分析報告中抽取API調用信息,再以線程為單位將各個函數APIs以時間序列排序,抽取API在函數中的調用時序、返回值等參數,利用統計和計算兩種方法構建兩種惡意代碼特征模型。一類統計特征在API宏觀數量上概括惡意代碼行為與正常樣本的差異;另一類計算特征計算每個API 在線程內的調用情況及各個API 在所屬類別中的TF-IDF 值。將兩類特征向量化后用改進的Vec-LR 算法進行檢驗,發現此類特征模型及本文算法在區別正常樣本及惡意代碼的效果良好,能達到94.37%,而后又采用不同的樣本集將本文算法與常見殺毒軟件進行比較,發現該模型在檢測未知惡意樣本時仍然表現良好,檢測率在90%以上。

2 行為特征構建

2.1 行為特征收集

本文選用的Cuckoo沙箱[10]是一款用Python語言編寫的開源自動化惡意代碼分析系統。它可以將未知、不可信的軟件隔離執行。Cuckoo 沙箱通過虛擬網絡將Host 機 器 與 Guest 機 器 連 接 ,Guest 機 通 過 Cuckoo Agent程序來完成對Cuckoo運行的監控,Host機負責運行Cuckoo 主程序、收集分析報告。Cuckoo 可自動將所有未知軟件放在隔離環境中動態執行,并提取其運行過程中的動態行為,例如:文件行為、進程行為、網絡行為等,并且Cuckoo 沙箱能夠跟蹤記錄惡意軟件所有的調用狀況;惡意樣本文件行為:例如讀取文件、下載文件、創建新文件、修改文件或刪除文件等行為;獲取惡意軟件的內存鏡像;以PCAP 格式記錄惡意軟件的網絡流量;在惡意代碼運行過程中還能截取系統的屏幕截圖;獲取執行惡意代碼的Guest機的完整內存鏡像等。所有截取到的信息,都會以.json 文件的形式生成報告提取在Host機器中。惡意代碼樣本大小及功能不一,因此在Cuckoo 沙箱中的運行時間也不盡一致,本文選取的樣本大小在1 KB~10 MB之間,平均運行時間約為210 s。

2.2 API調用序列構建

傳統的惡意代碼研究常計算惡意代碼API 種類的調用頻率,或以全局模式構建API 調用序列,這兩種構建方式僅針對一種特征,難以描述惡意代碼的行為,并且以全局模式構建API序列,或因數據量限制而無法收集足夠多的信息,或因收集信息過多占用過大的空間及時間代價。

進程中的實際運作單位是線程,一個進程內包含一個或多個線程,且線程是CPU 調度的最小單位。進程中的線程并行執行,每條線程都是一條單一順序控制流,一個進程可并發多條線程以執行不同的任務。API調用順序以全局模式來看僅僅只能記錄API 的調用情況,而不能刻畫API 調用序列所完成的任務。API 調用均屬于一個函數線程,以線程為單位提取API 調用信息,可以提高信息提取數量級且有一定的分類性。Cuckoo沙箱生成的.json報告中單個API的調用信息包含該函數所屬的類別、函數名稱、函數操作返回值、函數運行的系統時間及其所屬線程等關鍵參數。

根據API所屬線程及時間兩個參數,可以時序地提取每個線程的所有API操作,對于API調用超過5 000的線程,按順序保留前5 000 次調用信息,將每個線程的API以系統時間進行排列。最終保留的信息如表1所示。

表1 文件調用參數

2.3 行為特征提取

若直接使用API 序列[6]作為特征,冗長的序列及序列比對會產生極大的計算量。特征頻繁度[7]計算可以解決數據過于龐大導致的計算問題,可樣本中大量打開、關閉文件等操作的調用頻繁度很高,而此類API不能代表惡意代碼的惡意行為,將會影響樣本特征區分度。因此本文將構建兩類特征:一類統計特征,以解決大量的序列造成的數據量過大的問題,并以統計方式在API調用總數上將惡意代碼與正常樣本進行區分;另一類計算特征,將計算API 調用的參數作為特征值,并計算每一類API 的TF-IDF 值,以數值的形式直觀地提高特征區分性能,借用ONE-HOT一位有效編碼的思想將TF-IDF值計算特征向量化,最后以樣本編號為主鍵合并為Data Frame形成本文的行為特征集。

2.3.1 構建統計特征

API統計特征能在API總數上粗略呈現惡意代碼及正常樣本的行為數量級差異,例如惡意代碼在調用API頻率、調用線程數量、消耗系統空間及調用參數等方面與正常樣本均有區別,統計特征能概括大部分惡意代碼及正常樣本系統操作頻度的不同。統計特征包括API調用數量、類別、線程數量、API返回值等12維統計特征如表2所示。

表2 統計特征

2.3.2 構建計算特征

(1)單個API計算特征

CPU中的最小調度單位為線程,線程中某類API的調用頻率、調用順序及返回值,能概括該線程完成的任務并反應該線程在惡意代碼操作中的重要性,例如某線程50%以上的API 都在進行讀取文件目錄及讀取文件的操作,該線程完成的任務很有可能是遍歷系統文件判斷是否處于虛擬機環境并決定下一步的任務進行。API的調用類別也能作為區分正常樣本與惡意代碼的依據之一,例如Wannacry 病毒在生成隨機加密會話密鑰或公鑰/私鑰對時調用的CryptGenKey函數,就是正常樣本里很少出現的API 種類。本文中所有正常樣本包含的API種類為310種,惡意代碼為351種。API統計特征函數返回值為0代表該函數操作正常完成,因此統計線程中該API 返回值為0 的次數及返回值為0 的次數占該API 調用次數的比率有助于分析線程內操作的執行情況及該API在線程內的重要程度。根據2.2節中構建的文件調用參數,計算得出以線程為單位的單個API計算特征如表3所示。

表3 API計算特征

(2)TF-IDF計算特征

API 對于單個線程或單個樣本的重要程度不足以作為所屬類別樣本的分類依據。而TF-IDF值可以評估單個API對于一類樣本的重要程度,表示該API的區分力。TF-IDF的主要思想是:若某一類別API在一類樣本中的調用頻率高,且在其他類別中調用頻率低,則判斷此類API具有強區分能力,適合用于樣本分類。TF-IDF值不論大小均有評判價值,TF-IDF值大則表示此類API在類別區分中具有強區分力,反之TF-IDF 值越小則表示區分力越弱。而TF-IDF 值為0 則表示此類API 未在該樣本中出現。

TF-IDF:TF*IDF,TF 表示APIi在樣本j中出現的頻率,它可表示為:

ni,j是該APIi在樣本j中的調用次數,是樣本j中API的總調用次數和。但打開文件、關閉文件這一類的API,在某些正常樣本中出現的頻數也很高,就無法將此類API 作為區分的標準,IDF 值正好能篩減這一類API,IDF表示逆向文件詞頻,即如果這一類API在正常及惡意樣本中出現頻率都極高,則該API 的IDF 值極低,反之。它可表示為:

|D|表示樣本的總數,j表示包含該API的樣本數目。某類API在一類樣本中高頻調用,且該類API在整個樣本集合中低頻調用,可以產生出高權重的TF-IDF 值。因此,TF-IDF 值的大小可以表示此類API 的重要程度,TF-IDF越大,則表示該API在類別區分中具有越好的區分度。

2.3.3 特征向量編碼

統計特征將形成12 維向量,計算特征將形成6×m維向量,其中6為表3中的5類計算特征及TF-IDF值,共6類計算特征;m表示所有樣本調用的API種類數。將統計特征及計算特征以樣本編號為唯一主鍵進行合并,將生成6m+12 維向量作為樣本特征向量。

3 Vec-LR算法

LR算法采用sigmoid函數做分類,由于該函數值域為(0,1)。因此最基本的LR分類器適合于對二分類(類0,類1)目標進行分類。函數形式為:

由式(3)可見決定函數值域的關鍵變量為Z,將Z權值化代入Logistic函數中構造出預測函數,為:

判別新樣本需要計算出一個Z值,經典的LR算法使用梯度下降函數,計算出的θ更新過程為:

式中,i表示樣本序號,j表示屬性序號,α表示步長,該公式將一直被迭代執行,直到函數值收斂。

LR 算法使用梯度下降函數進行迭代來計算θ更新,需要一個for 語句循環m次,沒有完全地實現向量化。改進的Vec-LR 算法中的Vectorization 向量化使用矩陣計算來代替for 循環。X矩陣的每一行為一個訓練樣本,而每一列為單個樣本不同的特稱取值。下面為向量化過程:

θ的更新過程可以改為:

至此α的取值變成了梯度下降的關鍵點,要確保梯度下降算法正確運行,需要保證θ在每一步迭代中都減小。α的取值判斷準則是:如果θ變小了表明取值正確,否則減小α的值。

4 實驗及結果

4.1 實驗數據及實驗環境

本文選取Windows 惡意代碼及正常樣本作為實驗對象,惡意代碼來自全球www.malware-traffic-analysis.net公開網站[11]。共收集4 000多個惡意代碼樣本,其中7類已知及1 類未知樣本;正常樣本數據集來自360 官方下載安裝包,根據樣本大小及使用比例共收集了10類軟件(例如:辦公軟件、驅動工具、圖形圖像、音頻視頻等,共計1 400 個)在投入沙箱運行之后,經過篩選留下1 100個惡意代碼樣本及1 079 個正常樣本的.json 文件,為了保證正常樣本數量和惡意代碼樣本數量平均,本文最終保留惡意代碼及正常樣本各1 000個.json文件作為實驗數據。正常樣本及惡意樣本的類別及數量如表4所示。

表4 實驗中所使用的樣本

為保證數據處理環境及沙箱運行環境互不干擾,本文將數據分析系統與沙箱環境系統分別搭在兩臺電腦上,系統環境參數如表5。

表5 實驗環境

4.2 實驗結果

4.2.1 與常見算法比較

通過上述特征提取方式,生成特征向量,轉化為Data Frame的格式,數據為:其中m為特征的維度,N=2 000 為惡意代碼樣本與正常樣本總和,yi為樣本類別,共有0(正常)、1(惡意)兩種。使用本文算法進行處理分類,并與SVM、Random Forest、Decision Tree進行比較,檢測模型的性能。評估參考值包括檢測的準確率、召回率、F1 值[12-13]、模型運行時間、分類器ROC曲線及AUC面積。

從表6中可見,以上四種分類器的準確率最低值為89.74%,通過計算得平均檢測率為91.9%。可見本文的特征選擇方法在惡意代碼與正常樣本的檢測中有良好的效果。其中Vec-LR 算法準確率最高,達到94.37%,在召回率、F1 值上,Vec-LR算法均優于其他算法,分別達到92.61%和93.57%。使用向量化代替for 循環的Vec-LR 算法在時間消耗方面也取得較好成績,為8.82 s。可見本文的模型選擇在同類分類方法中也具有良好效果。ROC曲線是比較分類器綜合性能優劣的直觀表現形式[14]。ROC 曲線越靠近坐標左上角則表示分類器的準確性越高。本文實驗中分類器的ROC曲線如圖1、圖2所示。

表6 實驗結果數據

由圖1、2可見通過檢測本文構建特征,各算法的綜合效率都較高,而所有算法中Vec-LR 算法效果最佳。ROC曲線的橫坐標表示假陽性率(False positive rate),縱坐標表示真陽性率(True positive rate),分類器ROC曲線與X軸圍成面積值為AUC,AUC面積值大小表示分類器性能的好壞,AUC 面積是常見的衡量二分類模型優劣的指標之一,可展示分類器整體性能[15]。表7 是本文實驗中的AUC面積比較。

圖1 分類器ROC曲線圖

圖2 分類器ROC曲線局部圖

表7 實驗結果ROC曲線AUC值

AUC面積充分展示了分類器的整體性能,從表7得知 Vec-LR 算法性能最佳,AUC 面積值為 0.985 6,其次為Random Forest。

4.2.2 與常見殺毒軟件比較

實驗2另取一組不與實驗1重復的Windows惡意代碼樣本。計算所有樣本在Virus Total 上的平均檢測率Rˉ ,Rˉ=M/A,其中,A為Virus Total 上所有殺毒軟件的總數,M為殺毒軟件檢測為惡意樣本的計數。從中取一組M為1 000 的未知類別惡意代碼樣本。其中Rˉ為0.2。將該組樣本使用Vec-LR進行檢測,并與殺毒軟件 McAfee、F-Port、ClamAV、Trend、Symantec 進行比較。本文算法及市面上各廠商的檢測率結果如表8 所示。通過對比發現,當Rˉ值為0.2即大多數檢測軟件無法判斷該病毒時,本文算法仍然具有較好的檢測率為92.6%,說明本文算法在應對新生或未知惡意代碼的識別上仍優于其他軟件。

表8 與常見殺毒軟件對比實驗結果

5 結束語

本文在惡意代碼分析方法中選擇了動態分析方法,使用Cuckoo 沙箱進行了細致的惡意代碼行為捕捉,在特征提取階段,本文以線程為單位,每線程抽取前5 000個API函數,保證每個樣本的特征都在萬級以上。特征處理階段,本文采用統計特征及計算特征兩類特征以最小代價捕捉惡意代碼特征。在計算特征里,本文還引用在自然語言處理性能較優的TF-IDF 值幫助概括每個API的區分能力。在分類器的構建和選擇上,本文選擇適用于二分類的LR算法,并用Vectorization向量化進行了改進,實驗的最后本文實驗獲得了較好的效果。比起之前的模型,本文在檢測惡意代碼及未知樣本中的檢測率均有提升。不足之處在于前期的沙箱運行及惡意代碼特征抽取階段耗費大量的時間。

基于本文的實驗結果,將繼續細化強化改進本文的抽取提取方式。后期將嘗試在本文基礎上對樣本進行多分類的訓練,進行深度學習算法的引入,降低實驗的時間復雜度,進一步提高實驗準確率。

猜你喜歡
特征實驗檢測
記一次有趣的實驗
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 国产精品永久免费嫩草研究院| 伊人色在线视频| 国产又黄又硬又粗| 国产精品精品视频| 福利国产微拍广场一区视频在线| 国产精品爆乳99久久| 免费看a级毛片| 国产国模一区二区三区四区| 久久无码免费束人妻| 91久久偷偷做嫩草影院免费看| 色亚洲成人| 黄色在线网| 国产在线视频导航| 久草性视频| 亚洲日韩精品综合在线一区二区| 亚洲国产精品美女| 婷婷五月在线视频| 国产成人一区在线播放| 黄色一级视频欧美| 亚洲91在线精品| 国内自拍久第一页| 国产精品亚洲欧美日韩久久| 久久福利网| 国产精品极品美女自在线网站| 欧美精品不卡| 欧美日本二区| 国产精品国产三级国产专业不| 国产午夜精品一区二区三| 在线精品欧美日韩| 亚洲中文字幕无码mv| 在线a网站| 噜噜噜久久| 国产精品开放后亚洲| 一级毛片网| 国产网友愉拍精品视频| 欧美亚洲中文精品三区| 人妻丰满熟妇AV无码区| 亚洲无码高清视频在线观看| 国产高清又黄又嫩的免费视频网站| 全免费a级毛片免费看不卡| 欧美 国产 人人视频| 精品视频福利| 天天婬欲婬香婬色婬视频播放| 国产成人亚洲无码淙合青草| 精品丝袜美腿国产一区| 五月天久久综合| 国产三级毛片| 国产欧美精品午夜在线播放| 中文字幕人妻av一区二区| 国产sm重味一区二区三区| 日本人妻一区二区三区不卡影院| 99青青青精品视频在线| 五月天在线网站| 欧类av怡春院| 成人在线欧美| 国产中文在线亚洲精品官网| 国产一级特黄aa级特黄裸毛片 | 人妻少妇乱子伦精品无码专区毛片| 91最新精品视频发布页| 四虎国产永久在线观看| 国产精品hd在线播放| 国产成人综合网| 精品无码日韩国产不卡av| 国产高颜值露脸在线观看| 色婷婷色丁香| 色亚洲激情综合精品无码视频 | 尤物特级无码毛片免费| 国产精欧美一区二区三区| 在线观看免费人成视频色快速| 亚洲国产天堂久久综合| 亚洲天堂网在线观看视频| 1769国产精品免费视频| 亚洲精品自拍区在线观看| 国产精品部在线观看| 亚洲欧美h| 无码国产伊人| 天天爽免费视频| 欧美午夜视频在线| 久久精品这里只有国产中文精品 | 亚洲福利片无码最新在线播放| 国产a v无码专区亚洲av| 国产精品成人一区二区|