基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測_第1頁
基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測_第2頁
基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測_第3頁
基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測_第4頁
基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測

機(jī)器學(xué)習(xí)算法檢測惡意代碼天津理工大學(xué)計算機(jī)機(jī)房總共750臺電腦,由于某種原因,機(jī)房內(nèi)的電腦突然出現(xiàn)卡頓,上網(wǎng)異常等奇怪現(xiàn)象,花費一番精力后,已經(jīng)檢查了250臺計算機(jī),發(fā)現(xiàn)有些系統(tǒng)已經(jīng)感染了惡意代碼,有些則是正常的。但是還有500臺機(jī)子沒有檢查,于是王老師交代給小王一個任務(wù),現(xiàn)在想要使用一種省時可行的方案來判斷這500臺計算機(jī)是否感染了惡意代碼。情景假設(shè)惡意代碼的分析方法惡意代碼靜態(tài)分析方法惡意代碼基于代碼特征的分析方法惡意代碼常用于對執(zhí)行程序類型的惡意代碼進(jìn)行分析c語言編寫的程序中存在一條語句CreateMuetex(NULL,NULL,“MYTEST”);那么在生成的PE文件中會存在一個靜態(tài)數(shù)據(jù)“MYTEST”,通過分析PE結(jié)構(gòu)可以從靜態(tài)數(shù)據(jù)節(jié)中提取靜態(tài)數(shù)據(jù)。用C語言編寫的惡意代碼中使用下面的語句URLDownloadToFile(0,"/a.exe","c:\\a.exe",0,0)從網(wǎng)站下載可執(zhí)行程序到C盤根目錄,這個動作很有可能是進(jìn)行惡意代碼升級基于代碼語義的分析方法惡意代碼基于代碼語義的分析過程,首先使用反匯編工具對惡意代碼執(zhí)行體進(jìn)行反匯編,然后通過理解惡意代碼的反匯編程序了解惡意代碼的功能。從理論上講通過這種方法可以得到惡意代碼所有功能特征。但是,目前基于語義的惡意代碼分析方法主要還是依靠人工來完成,人工分析的過程需要花費分析人員的大量時間,對分析人員本身的要求也很高。動態(tài)分析方法惡意代碼外部觀察法惡意代碼惡意代碼作為一段程序在運行過程中通常會對系統(tǒng)造成一定的影響,有些惡意代碼為了保證自己的自啟動功能和進(jìn)程隱藏的功能,通常會修改系統(tǒng)注冊表和系統(tǒng)文件,或者會修改系統(tǒng)配置。1、通過網(wǎng)絡(luò)進(jìn)行傳播、繁殖和拒絕服務(wù)攻擊等破壞活動2、通過網(wǎng)絡(luò)進(jìn)行詐騙等犯罪活動3、通過網(wǎng)絡(luò)將搜集到的機(jī)密信息傳遞給惡意代碼的控制者4、在本地開啟一些端口、服務(wù)等后門等待惡意代碼控制者對受害主機(jī)的控制訪問跟蹤調(diào)試法惡意代碼在實際分析過程中,跟蹤調(diào)試可以有兩種方法。1.單步跟蹤惡意代碼執(zhí)行過程,監(jiān)視惡意代碼的每一個執(zhí)行步驟,在分析過程中也可以在適當(dāng)?shù)臅r候執(zhí)行惡意代碼的一個片斷,這種分析方法可以全面監(jiān)視惡意代碼的執(zhí)行過程,但是分析過程相當(dāng)耗時。2.利用系統(tǒng)hook技術(shù)監(jiān)視惡意代碼執(zhí)行過程中的系統(tǒng)調(diào)用和API使用狀態(tài)來分析惡意代碼的功能,這種方法經(jīng)常用于惡意代碼檢測。惡意代碼分析方法比較分析內(nèi)容代碼特征分析法代碼語義分析法外部觀察法跟蹤調(diào)試法隱藏功能能能加密功能能能能觸發(fā)功能能能自啟動功能能能能自主攻擊和繁殖功能能部分能破壞功能能部分能對分析人員的依賴程度低較高低高對分析環(huán)境的破壞否否大可控1、背景

機(jī)器學(xué)習(xí)是近20多年興起的一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近、凸分析、算法復(fù)雜度理論等多門學(xué)科。機(jī)器學(xué)習(xí)理論主要是設(shè)計和分析一些讓計算機(jī)可以自動“學(xué)習(xí)”的算法。即從數(shù)據(jù)中自動分析獲得規(guī)律,并利用規(guī)律對未知數(shù)據(jù)進(jìn)行預(yù)測的算法。2、機(jī)器學(xué)習(xí)算法的定義:

機(jī)器學(xué)習(xí)是一種讓計算機(jī)在沒有事先明確地編程的情況下做出正確反應(yīng)的科學(xué)。3、算法

機(jī)器學(xué)習(xí)的算法很多。讓人們困惑的是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。這里,我們從兩個方面來給大家介紹:機(jī)器學(xué)習(xí)常見算法分類匯總

機(jī)器學(xué)習(xí)常見算法分類匯總學(xué)習(xí)方式監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)機(jī)器學(xué)習(xí)算法統(tǒng)計分類回歸分析聚類關(guān)聯(lián)規(guī)則機(jī)器學(xué)習(xí)算法的主要任務(wù)是分類和回歸。分類主要應(yīng)用于離散型數(shù)據(jù),回歸主要用于預(yù)測數(shù)值型連續(xù)的數(shù)據(jù),例如擬合曲線等。

使用機(jī)器學(xué)習(xí)算法首先考慮目的,如果想要預(yù)測目標(biāo)變量,則可以選擇監(jiān)督學(xué)習(xí)算法,否則可以選擇無監(jiān)督學(xué)習(xí)算法。其次考慮數(shù)據(jù)問題,主要了解特征值是離散還是連續(xù),是否存在缺失及異常。一般來說發(fā)現(xiàn)好算法的關(guān)鍵是反復(fù)試錯的迭代過程?!稒C(jī)器學(xué)習(xí)實戰(zhàn)》決策樹KNN邏輯回歸樸素貝葉斯監(jiān)督學(xué)習(xí)算法

機(jī)器學(xué)習(xí)常見算法分類匯總神經(jīng)網(wǎng)絡(luò)隨機(jī)森林SVM監(jiān)督學(xué)習(xí)算法

機(jī)器學(xué)習(xí)常見算法分類匯總AdaBoost遺傳算法算法優(yōu)化

機(jī)器學(xué)習(xí)常見算法分類匯總K-meansBIRCHApriori無監(jiān)督學(xué)習(xí)算法

機(jī)器學(xué)習(xí)常見算法分類匯總惡意代碼檢測的發(fā)展及現(xiàn)狀惡意代碼檢測的幾個思路:1、行為特征

攻擊樹,行為:API調(diào)用,威脅指數(shù)stv(Parent)=∑sty(Child)*weight2、歸一化

惡意代碼歸一化,再進(jìn)行特征碼匹配,針對惡意代碼變形3、紋理指紋

惡意代碼映射為無壓縮灰階圖片,結(jié)合圖像分析技術(shù)分析代碼變種4、有效窗口和樸素貝葉斯有效窗口降低惡意代碼噪音,樸素貝葉斯進(jìn)行分類注釋:前三種思想主要利用了惡意代碼的特征,第四種方法核心思想認(rèn)為對惡意代碼的分類,因此采用了樸素貝葉斯,這也是近年來較為流行的方法5、機(jī)器學(xué)習(xí)算法:基本思想就是,利用數(shù)據(jù)挖掘可以從已存在的大量數(shù)據(jù)中挖掘出有意義的模式,利用機(jī)器學(xué)習(xí)可以幫助歸納出已知惡意代碼的識別知識,以此來進(jìn)行相似性搜索,幫助發(fā)現(xiàn)未知惡意代碼。實現(xiàn)基于數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的惡意代碼檢測系統(tǒng),有兩個關(guān)鍵:選擇于分類相關(guān)的特征;選擇最有效的分類器。惡意代碼有多種特征,可以通過API(AIplicationProgramInterface)函數(shù)調(diào)用序列、指令序列、PE文件頭、機(jī)器碼字節(jié)序列、字符串等特征來實現(xiàn)惡意代碼檢測。機(jī)器學(xué)習(xí)檢測惡意代碼基本框架

主要分為以下五個步驟:第一步:特征提取,可分為兩類:1、靜態(tài)特征,如字節(jié)序列,PE字符串序列等;2、動態(tài)特征,如API系統(tǒng)調(diào)用序列、文件與進(jìn)程操作等。第二步:特征處理,便于后續(xù)學(xué)習(xí)。方法主要兩類:1、不進(jìn)行任何處理,直接選擇提取的特征信息;2、利用N-gram滑動窗口,提取特征序列。第三步:特征降維,如信息增益、Relife、Fisher、SHI等。第四步:分類學(xué)習(xí),對降維處理后的數(shù)據(jù)集利用不同學(xué)習(xí)算法,如決策樹、支持向量機(jī)、貝葉斯估計等,進(jìn)行學(xué)習(xí),利用學(xué)習(xí)的分類器對測試集進(jìn)行測試。第五步:對測試集進(jìn)行分析與評估。關(guān)于惡意代碼檢測的想法

根據(jù)惡意代碼API調(diào)用序列特征生成動作曲線,多個動作曲線重合概率較多的點篩選出,這些點稱為可以動作點,將可疑動作點擬合為可疑動作曲線,根據(jù)可疑動作曲線的重合率判斷惡意代碼,利用貝葉斯算法測試。1.典型惡意代碼API調(diào)用序列2.可疑動作曲線的優(yōu)點在于相比于典型惡意代碼API,減少API序列的隨機(jī)性,進(jìn)而減少漏判誤判。關(guān)于惡意代碼檢測的想法Polymorphic(多態(tài)化)模糊流程關(guān)于惡意代碼檢測的想法

提取惡意代碼動態(tài)行為特征分析檢測基本架構(gòu)如左圖所示。

第一步:搭建運行惡意代碼的虛擬環(huán)境,便于加殼等一些處理過的惡意代碼分析。

第二步:虛擬環(huán)境中執(zhí)行惡意代碼,并提取惡意代碼動態(tài)行為語義特征。本課題選取惡意代碼執(zhí)行期間調(diào)用的API序列作為語義特征。

第三步:使用提取的語義特征進(jìn)行模型建立,即組織語義信息建立語義模型。本課題對運行API調(diào)用序列加工,抽象為代表語義特征的動作曲線。

第四步:建立模型庫,采用樸素貝葉斯進(jìn)行檢測。

注釋:后期會考慮貝葉斯計算使用MapReduce進(jìn)行并行計算優(yōu)化,提升計算效率。機(jī)器學(xué)習(xí)算法檢測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論