• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于機器學習的惡意軟件分類識別研究

      2018-03-11 09:30:58張雨薇黃迎春
      科技資訊 2018年30期
      關(guān)鍵詞:機器學習檢測技術(shù)

      張雨薇 黃迎春

      摘 要:惡意軟件的日益增長是對網(wǎng)絡(luò)世界最大的威脅,基于簽名的檢測對于惡意軟件檢測率較低,局限性大,因此提出基于機器學習的惡意軟件檢測技術(shù)來代替?zhèn)鹘y(tǒng)的簽名檢測。根據(jù)沙箱中提取軟件的特征類型包括注冊表和API函數(shù)調(diào)用,并量化數(shù)據(jù),使用機器學習的模型對此數(shù)據(jù)進行分類識別,并取得了較好的分類效果。

      關(guān)鍵詞:惡意軟件 檢測技術(shù) 機器學習 特征類型

      中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2018)10(c)-000-03

      惡意軟件對網(wǎng)絡(luò)世界的威脅不斷增長。根據(jù)Mcafee實驗室的一份報告,Mcafee實驗室引入了4000萬新的惡意軟件樣本。2015年第一季度惡意軟件庫,帶來了總數(shù)高達4億的惡意軟件[1]?;诤灻麢z測技術(shù)的惡意軟件檢測依賴于在樣本中發(fā)現(xiàn)的存儲在數(shù)據(jù)庫中的簽名。然而,提取這些樣本的勞動量很大,基于簽名掃描技術(shù)正在努力跟上我們今天看到的惡意軟件的快速增長。如果簽名庫更新的不及時,就不能夠及時地檢測惡意軟件。因此研究采用機器學習模式的方法,通過對惡意軟件的特征類型進行訓練,學習惡意軟件的特性,以增強對于惡意軟件檢測的精度和速度。

      1 惡意軟件檢測方法描述

      目前,對于惡意軟件檢測方面的研究主要有兩種類型的惡意軟件檢測方法,即靜態(tài)特性檢測和動態(tài)特性測。靜態(tài)特性檢測是指在不運行程序的前提下,對惡意軟件的執(zhí)行文件的PE頭文件或者特定字符串進行檢測,如二進制n-gram和opcode序列;李陽對于PE文件的組織結(jié)構(gòu)進行分析,來對木馬病毒進行識別[2];陳勤等人對PE頭文件進行分析,檢測軟件是否加殼[3];樊震等人通過分析PE文件結(jié)構(gòu)中的異常值,運用樸素貝葉斯支持向量機等算法對進行病毒檢測[4];相對于動態(tài)特性檢測是指在運行程序的情況下,針對運行后產(chǎn)生的行為特征如DNS請求、訪問文件和修改注冊表,調(diào)用API函數(shù)等行為。屈亞鑫對于現(xiàn)有的程序行為捕獲技術(shù)進行了研究,運用機器學習的分類算法對木馬程序進行識別[5]。

      蘇璞睿提出一種基于進程行為的異常檢測模型,來判斷進程的行為是否異常[6];盡管靜態(tài)特性檢測惡意軟件有它的優(yōu)勢,但仍然容易受到包裝和加密的樣本攻擊。將機器學習模型應(yīng)用于惡意軟件的行為特性檢測中,就不那么容易受到包裝和加密的影響。

      2 惡意軟件分類識別

      2.1 特征提取

      對于惡意軟件的特征主要選擇了注冊表,動態(tài)鏈接庫,API函數(shù)調(diào)用特征,來對惡意軟件進行識別。

      2.1.1 注冊表

      大多數(shù)惡意軟件都會在特定位置增加、修改特定的鍵值與更改文件的關(guān)聯(lián)程序等方法在固定的位置來修改注冊表或通過注冊為定時任務(wù)、利用注冊表鍵值來實現(xiàn)自動運行,還有一些惡意程序會通過修改注冊表鍵值,并造成任務(wù)管理器無法啟動。

      2.1.2 API函數(shù)調(diào)用

      API是操作系統(tǒng)為應(yīng)用程序提供的服務(wù)性接口,應(yīng)用程序在完成文件讀寫、網(wǎng)絡(luò)訪問以及其他重要資源的訪問時都會調(diào)用API。惡意程序在實現(xiàn)某個特征功能時同樣會調(diào)用功能相似的API函數(shù),因此通過提取API函數(shù)調(diào)用序列特征來識別惡意程序行為是一種有效的方法。

      本文對注冊表項和API函數(shù)這兩類惡意軟件特征分別來對惡意軟件進行識別。所有這些數(shù)據(jù)都以文本的形式存在,在模型訓練之前,首先將文本數(shù)據(jù)進行量化。

      選擇術(shù)語頻率(TF)方法,它為每個術(shù)語分配唯一的ID,并計算每個文檔中術(shù)語的出現(xiàn)。每個單項的發(fā)生頻率被認為是一個特征。通過為每個文檔創(chuàng)建一個特征向量,不在文檔中的術(shù)語由0表示,并將所有的向量組合成一個矩陣,得到一個表示數(shù)據(jù)集中所有特征的矩陣。在數(shù)據(jù)集上應(yīng)用術(shù)語頻率方法,獲得了19532個注冊表特性和38096個API函數(shù)調(diào)用特性。

      2.2 特征選擇

      在產(chǎn)生訓練模型之前,必須減少特征提取階段產(chǎn)生的特征數(shù)量,以避免過度擬合。為此,本文采用詞頻-逆文檔頻率算法 (TF-IDF)。TF-IDF重新權(quán)衡特征集,為所有文檔中出現(xiàn)頻率較低的詞條賦予更高的權(quán)重。在大多數(shù)文檔中出現(xiàn)的特性提供了較少的樣本信息,因此從數(shù)據(jù)集中刪除的安全性更高。IDF的計算結(jié)果如下:

      (1)

      其中是包含t的樣本個數(shù),N是樣本的總數(shù)。在計算了一個詞條的IDF分數(shù)之后,通過將詞條頻率乘以IDF分數(shù),將權(quán)重賦給這個詞條。通過為語料庫中的每個詞條分配一個權(quán)重,來創(chuàng)建模型分類的數(shù)據(jù)集。在訓練的每個機器學習模型中測試不同數(shù)量的特征,從而找到訓練特定模型時要選擇的最優(yōu)特征數(shù)。

      2.3 模型訓練

      本文采用Scikit-learn中的機器學習方法進行特征選擇和模型訓練。

      我們采用以下方法進行模型的分類訓練。

      (1)支持向量機。

      (2)隨機梯度下降。

      (3)決策樹。

      (4)K近鄰。

      (5)伯努利樸素貝葉斯。

      (6)多項式樸素貝葉斯。

      以下是每個模型的簡要描述。

      (1)支持向量機:支持向量機(SVM)是有監(jiān)督的機器學習模型,該模型是對空間中表示數(shù)據(jù)點的特征向量的訓練。它用一個盡可能寬的超平面將數(shù)據(jù)點從不同的類中分離出來。新的數(shù)據(jù)點根據(jù)它們所屬的超平面的側(cè)面進行分類。在訓練SVM時,我們需要確定的第一個參數(shù)是核類型,它以線性函數(shù)、多項式函數(shù)、徑向基函數(shù)或sigmoid函數(shù)的形式出現(xiàn)。在多項式核的情況下,也測試了不同程度的多項式。最后,為了確定最佳的懲罰值,需要確定懲罰項的幾個參數(shù)值。

      (2)隨機梯度下降:隨機梯度下降(SGD)是一種用于最小化目標損失函數(shù)的優(yōu)化方法。SGD的工作原理是通過模型參數(shù)調(diào)整最小化底層分類器的誤差來工作。在Scikit學習中,SGD可以用來優(yōu)化生成線性SVM的損失函數(shù),用于邏輯回歸的對數(shù)損失函數(shù)。

      (3)決策樹:決策樹的分類器將特征映射到類標簽,其中樹的內(nèi)部節(jié)點代表特征,樹葉代表類標簽。通過遞歸將特征集分割成更小的子集來學習樹,直到每個子集代表一個類標簽為止。當一個新的數(shù)據(jù)點被分類時,它從根節(jié)點開始,根據(jù)哪個特征最能代表數(shù)據(jù)點,沿著一條路徑到其中一個葉子。

      (4)k近鄰:最簡單的機器學習模型之一,k近鄰(KNN)根據(jù)距離數(shù)據(jù)點最近的k個鄰居的大多數(shù)類對新的數(shù)據(jù)點進行分類。k的值被用作KNN的輸入,可以修改以產(chǎn)生更精確的分類器。此外,權(quán)重可以分配給鄰居,因為相鄰的鄰居有較高的權(quán)重。

      (5)伯努利樸素貝葉斯和多項式樸素貝葉斯:伯努利樸素貝葉斯(BernoulliNB)和多項式樸素貝葉斯(多項式)是兩個相似的分類器,但是有著細微的差別。伯努利(BernoulliNB)用于描述伯努利分布之后的數(shù)據(jù)。貝葉斯定理應(yīng)用于以出現(xiàn)頻率為特征的多項式分布數(shù)據(jù)。BernoulliNB和多項式都應(yīng)用貝葉斯定理,假設(shè)其特征是獨立的。

      3 分析與結(jié)果

      本文通過VirusShare[7]和XHeaven[8]網(wǎng)站上采集的惡意軟件樣本,其中包括500個惡意樣本和200個良性樣本,并將樣本感染主機,采用cuckoo[9]沙箱自動對樣本進行分析。Cuckoo沙箱用VirusTotal[10]掃描每個樣本,并將結(jié)果保存在報告中。通過惡意軟件樣本和良性軟件的報告,我們采用不同的機器學習模型方法對其進行分類識別。其模型的分類識別的精確度如下所示:

      (2)

      如果TP是真正的陽性,TN是真實的否定,F(xiàn)P是假陽性,而FN是假陰性。此外,AUROC的計算方法是,首先繪制出所有正負片的真值,然后再計算出所產(chǎn)生的曲線下的面積。表1和表2分別總結(jié)了所有模型在準確性和AUROC評分的結(jié)果。

      4 結(jié)語

      惡意軟件對于當前世界存在巨大的威脅,每年會產(chǎn)生大概4000萬個惡意軟件,基于簽名的靜態(tài)檢測技術(shù)已經(jīng)不能適應(yīng)時代的步伐,本文采用內(nèi)存中的惡意軟件的動態(tài)行為特征,采用機器學習的模型對數(shù)據(jù)進行訓練,識別,并取得了較好的實驗結(jié)果。

      參考文獻

      [1] McAfee Labs,“Threat report,”[EB/OL].Available:http://www.mcafee.com/us/resources/reports/rp-quarterly-threat-q1-2015.pdf.

      [2] 李陽.基于PE文件的加殼檢測與木馬識別技術(shù)[D].廣西大學,2014.

      [3] 屈亞鑫.反木馬系統(tǒng)中程序行為分析關(guān)鍵技術(shù)研究與實現(xiàn)[D].北京郵電大學,2014.

      [4] 陳勤,黃劍軍,褚一平,等.基于帶權(quán)歐拉距離的PE文件殼檢測技術(shù)[J].計算機工程與科學,2010,32(7):1-3,7.

      [5] 樊震,楊秋翔.基于PE文件結(jié)構(gòu)異常的未知病毒檢測[J].計算機技術(shù)與發(fā)展,2009,19(10):160-163.

      [6] 蘇璞睿,馮登國.基于進程行為的異常檢測模型[J].電子學報,2006(10):1809-1811.

      [7] Virus Share[EB/OL].http://www.virusshare.com.

      [8] XHeaven[EB/OL].http://www.XHeavean.com.

      [9] Cuckoo[EB/OL].http://www.cuckoo.com.

      [10] virustotal在線沙箱[EB/OL].http://www.virustotal.com.

      猜你喜歡
      機器學習檢測技術(shù)
      基于詞典與機器學習的中文微博情感分析
      基于機器學習的圖像特征提取技術(shù)在圖像版權(quán)保護中的應(yīng)用
      食品安全檢測技術(shù)研究現(xiàn)狀
      基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
      時代金融(2016年27期)2016-11-25 17:51:36
      公路工程試驗檢測存在的問題及措施
      價值工程(2016年30期)2016-11-24 16:39:03
      煤礦機電產(chǎn)品檢測技術(shù)
      前綴字母為特征在維吾爾語文本情感分類中的研究
      科教導刊(2016年26期)2016-11-15 20:19:33
      鍋爐檢測應(yīng)用壓力管道無損檢測技術(shù)的分析
      基于支持向量機的金融數(shù)據(jù)分析研究
      淺談現(xiàn)代汽車檢測技術(shù)與安全管理
      科技視界(2016年20期)2016-09-29 12:55:31
      黑水县| 五莲县| 昌宁县| 从江县| 平南县| 柞水县| 凤阳县| 枣强县| 即墨市| 通州市| 苍山县| 广灵县| 兴安盟| 依兰县| 明光市| 公主岭市| 苏尼特左旗| 舟山市| 乌拉特前旗| 稷山县| 天全县| 沙湾县| 大足县| 扶风县| 西吉县| 泸州市| 沐川县| 金堂县| 麻江县| 灯塔市| 灵台县| 中方县| 阿鲁科尔沁旗| 长白| 潍坊市| 内丘县| 夏邑县| 芷江| 高清| 奉贤区| 玉林市|