亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于N-Gram與加權(quán)分類器集成的惡意代碼檢測(cè)

        2017-11-23 08:22:28
        關(guān)鍵詞:分類特征檢測(cè)

        ,

        (浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)

        基于N-Gram與加權(quán)分類器集成的惡意代碼檢測(cè)

        王衛(wèi)紅,朱雨辰

        (浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)

        提出網(wǎng)頁(yè)惡意腳本代碼的監(jiān)測(cè)系統(tǒng),將惡意腳本用V8引擎編譯成機(jī)器碼,用變長(zhǎng)N-Gram模型對(duì)其進(jìn)行數(shù)據(jù)處理,提取特征形成樣本訓(xùn)練集.分別與隨機(jī)森林、邏輯回歸及樸素貝葉斯等分類器組合創(chuàng)建分類模型.研究將多個(gè)經(jīng)過訓(xùn)練集訓(xùn)練的分類模型集成,提出加權(quán)分類器集成的方式,每個(gè)分類器設(shè)定不同權(quán)值.通過實(shí)驗(yàn)分析,試驗(yàn)多種分類器組合,并通過訓(xùn)練集找出最優(yōu)權(quán)值分配.通過比較單個(gè)分類器和其他集成方式,結(jié)果證明訓(xùn)練過的加權(quán)集成分類器的方式能更準(zhǔn)確地檢測(cè)網(wǎng)頁(yè)存在惡意行為的代碼,有較高的準(zhǔn)確率.

        惡意代碼;N-Gram;機(jī)器學(xué)習(xí)

        隨著Web應(yīng)用的發(fā)展,計(jì)算機(jī)和網(wǎng)絡(luò)的覆蓋面越來(lái)愈大,網(wǎng)絡(luò)在人們的生活中也成為越來(lái)越重要的一部分.它改善了人們的衣食住行,人們享受著網(wǎng)絡(luò)帶來(lái)的便利,也對(duì)網(wǎng)絡(luò)產(chǎn)生越來(lái)越多的依賴.截至2016年6月,中國(guó)的網(wǎng)民數(shù)量已經(jīng)達(dá)到7.10億,上半年增加了2 132萬(wàn)人,增長(zhǎng)率為3.1%.我國(guó)網(wǎng)絡(luò)的普及率達(dá)到51.7%,與全球平均相比,高出3.1個(gè)百分點(diǎn),和亞洲平均水平相較,超過8.1個(gè)百分點(diǎn),與2015年底相比提高1.3個(gè)百分點(diǎn)[1].人們?cè)絹?lái)越習(xí)慣網(wǎng)上支付,享受著線上支付的便捷.同時(shí),在線教育、在線政務(wù)服務(wù)以及其他線上的服務(wù)越來(lái)越多.然而不法分子在網(wǎng)絡(luò)的飛速發(fā)展中看到了可乘之機(jī).許多不法分子利用不法手段破壞網(wǎng)絡(luò)安全,謀取經(jīng)濟(jì)利益,而網(wǎng)站上存在的漏洞成為了他們攻擊的目標(biāo),網(wǎng)絡(luò)的飛速發(fā)展也為他們提供良好的溫床.黑客使用各種類型攻擊計(jì)算機(jī)和通信設(shè)施.啟動(dòng)這些攻擊的常見方法是通過惡意軟件(惡意軟件),例如蠕蟲、病毒和特洛伊木馬,它們?cè)趥鞑r(shí)可能對(duì)私人用戶、商業(yè)公司和政府造成嚴(yán)重?fù)p害.啟動(dòng)這些攻擊的常見方法是通過惡意網(wǎng)站,惡意網(wǎng)站的代碼往往包含病毒、蠕蟲或者特洛伊木馬.反病毒供應(yīng)商每天都面臨大量(數(shù)千)可疑文件.這些文件從各種來(lái)源收集,包括專用蜜罐,第三方提供程序或者用戶提交的報(bào)告文件.高效并且有效地檢查大量的文件是一個(gè)龐大的工程.對(duì)于信息安全,越來(lái)越多企業(yè)和甚至國(guó)家開始重視,特別是對(duì)惡意代碼的檢測(cè)的研究,已經(jīng)成為了信息安全研究的重點(diǎn).

        從行為分析的角度來(lái)看,現(xiàn)在的檢測(cè)方式大致分為靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè).再根據(jù)分析過程中是否考慮惡意代碼的程序語(yǔ)義可以把惡意代碼分析方法分成基于代碼特征的分析方法、基于代碼語(yǔ)義的分析方法、外部觀察法和跟蹤調(diào)試法四種.基于代碼特征的分析方法[2]和基于代碼語(yǔ)義的分析方法是常用的靜態(tài)檢測(cè)方法,而提取網(wǎng)頁(yè)特征,基于數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的檢測(cè)技術(shù)也是當(dāng)前研究的熱點(diǎn).對(duì)于網(wǎng)頁(yè)惡意代碼的檢測(cè)可以看成是對(duì)網(wǎng)頁(yè)代碼的分類,屬于惡意還是非惡意.惡意代碼檢測(cè)就是利用機(jī)器學(xué)習(xí)對(duì)代碼進(jìn)行分類.動(dòng)態(tài)檢測(cè)[3]主要是外部觀察法和跟蹤調(diào)試法.基于蜜罐技術(shù)[4]是現(xiàn)在常用的動(dòng)態(tài)檢測(cè)的方法,蜜罐顧名思義,就像是一個(gè)蜂蜜罐子,就像一個(gè)陷阱一樣引誘黑客來(lái)攻擊,然后記錄下黑客的行為,和對(duì)方的重要信息.研究人員通常會(huì)故意留下漏洞,但一切情況都處于掌握之中.蜜罐有服務(wù)器端蜜罐和客戶端蜜罐兩種.前者部署在服務(wù)器上等待黑客的攻擊,并且記錄下黑客的信息.后者模仿客戶訪問網(wǎng)站等客戶端行為,主動(dòng)出擊獲取惡意行為的信息.動(dòng)態(tài)的檢測(cè)方法能詳細(xì)地記錄信息,但是檢測(cè)速度較慢,并且部署麻煩.

        1 相關(guān)工作

        靜態(tài)分析的檢測(cè)方法是現(xiàn)在惡意代碼檢測(cè)的熱點(diǎn).付壘朋等針對(duì)混淆代碼進(jìn)行處理,先提取腳本的混淆特征,用c4.5決策樹分析腳本并且接觸混淆[5].徐青等分析大量網(wǎng)頁(yè)惡意代碼,根據(jù)url重定向、攻擊過程、混淆和基本統(tǒng)計(jì)四個(gè)方面提取特征,采用多種機(jī)器學(xué)習(xí)的分類方法進(jìn)行檢測(cè)[6].李道豐等針對(duì)跨站腳本漏洞、ActiveX空間漏洞和WebShellcode方面使用行為語(yǔ)義分析的方式,對(duì)惡意代碼進(jìn)行檢測(cè)[7].Shabtai等提出針對(duì)Opcode[8]用N-Gram提取特征,然后用機(jī)器學(xué)習(xí)的分類方法進(jìn)行檢測(cè)[9].

        在機(jī)器學(xué)習(xí)分類方法上,樸素貝葉斯是當(dāng)前常見的分類器.隨機(jī)森林分類器是當(dāng)前惡意代碼檢測(cè)中較熱的算法.賀鳴等分析多種特征選擇的方法及ALOFT等改進(jìn)特征選擇,還分析了加權(quán)、避免平滑等樸素貝葉斯算法改進(jìn)[10].盧曉勇等提出對(duì)訓(xùn)練集使用采樣技術(shù)形成多個(gè)子訓(xùn)練集,然后訓(xùn)練出多個(gè)隨機(jī)森林分類器進(jìn)行集成[11].

        根據(jù)以上研究,提出了使用V8引擎將JavaScript代碼編譯成機(jī)器碼,使用混合N-Gram提取特征值,并集成多種機(jī)器學(xué)習(xí)分類器,實(shí)現(xiàn)加權(quán)集成分類器惡意代碼檢測(cè)[12-15].

        2 研究方法

        2.1 系統(tǒng)模型

        如圖1所示,研究分三部分:第一部分惡意代碼單個(gè)分類模型和集成分類模型的訓(xùn)練,第二部分加權(quán)集成分類模型訓(xùn)練,第三部分惡意代碼分類測(cè)試.

        訓(xùn)練集分成兩類:第一類,從malware.com上下載的惡意腳本代碼,和用爬蟲軟件從惡意網(wǎng)站獲取惡意代碼,第二類從github下載正常網(wǎng)頁(yè)代碼,和用爬蟲軟件從正常安全網(wǎng)站獲取正常代碼.

        圖1 分類器加權(quán)集成模型建立流程圖Fig.1 Classifier weighted ensemble model flowchart

        2.2 變長(zhǎng)N-Gram特征提取

        N-Gram是大詞匯連續(xù)語(yǔ)音識(shí)別中常用的一種語(yǔ)言模型,該模型認(rèn)為,第N個(gè)詞的出現(xiàn)與其他任何詞都不相關(guān),只與前面N-1個(gè)詞有關(guān).這些概率可以通過直接從語(yǔ)料中統(tǒng)計(jì)N個(gè)詞同時(shí)出現(xiàn)的次數(shù)得到.常用的是二元的Bi-Gram和三元的Tri-Gram.

        使用常用的Bi-Gram對(duì)惡意代碼的樣本進(jìn)行處理,將樣本代碼處理成一個(gè)個(gè)連續(xù)的單詞{word1,word2,word3,word4,word5},經(jīng)過Bi-Gram處理后,變成特征值{[word1,word2],[word2,word3],[word3,word4],[word4,word5]}.對(duì)所有樣本處理后,獲取所有的特征值,并對(duì)每個(gè)樣本的出現(xiàn)的特征值數(shù)量進(jìn)行統(tǒng)計(jì):

        輸入:訓(xùn)練集樣本代碼train_file

        測(cè)試集樣本代碼test_file

        輸出:訓(xùn)練集特征文件trainIns_file

        測(cè)試集特征文件testIns_file

        For each train_file

        讀取代碼所出現(xiàn)的所有單詞,并統(tǒng)計(jì)相鄰的兩個(gè)出現(xiàn)的個(gè)數(shù).

        While每個(gè)樣本

        End

        混淆是在惡意代碼中常出現(xiàn)的技術(shù).被混淆的惡意代碼無(wú)法簡(jiǎn)單的使用N-Gram來(lái)提取特征.這里使用V8引擎將JavaScript代碼編譯成本地機(jī)器碼.V8是Google Chrome瀏覽器內(nèi)置的JavaScript腳本引擎.它在設(shè)計(jì)之初就以高效地執(zhí)行大型的java script應(yīng)用程序?yàn)槟康?V8的性能提升主要來(lái)自三個(gè)關(guān)鍵部分:快速屬性訪問、動(dòng)態(tài)機(jī)器碼生成和高效的垃圾收集.這里利用的就是V8引擎動(dòng)態(tài)機(jī)器碼的生成.V8引擎通過就是編譯的方式將JavaScript代碼編譯成機(jī)器碼,不會(huì)產(chǎn)生中間碼.對(duì)編譯后的機(jī)器碼用N-Gram來(lái)提取特征可以有效地避免混淆的干擾.

        固定長(zhǎng)度的N-Gram提取特征,容易將有意義的序列分開.這里利用信息增益來(lái)混合Bi-Gram和Tri-Gram的方式提取特征來(lái)避免這個(gè)問題,其表達(dá)式為

        統(tǒng)計(jì)訓(xùn)練集出現(xiàn)的所有特征值的頻率,各選取TOP500作為特征值.在對(duì)每個(gè)樣本進(jìn)行特征值統(tǒng)計(jì)時(shí),原本一個(gè)個(gè)連續(xù)的單詞{word1,word2,word3,word4,word5},經(jīng)過Bi-Gram處理或者Tri-Gram處理后,變成特征值{[word1,word2],[word2,word3],[word3,word4],[word4,word5]}或者{[word1,word2,word3],[word2,word3,word4],[word3,word4,word5],[word4,word5,word6]}.現(xiàn)在比較[word1,word2]與[word1,word2,word3],當(dāng)兩者都為特征值時(shí),比較兩者的信息增益,信息增益較高的特征值加一,另一個(gè)特征值不變.同理,比較[word2,word3]和[word2,word3,word4],直到統(tǒng)計(jì)完所有樣本,如圖2所示.

        圖2 變長(zhǎng)N-Gram提取混淆代碼特征流程圖Fig.1 Variable length N-Gram extract obfuscation code feature flowchart

        2.3 分類器

        分類簡(jiǎn)單的理解就是將一個(gè)未分類的樣本分到幾個(gè)已知的類別.分類主要分兩部分:第一部分,利用已知分類的樣本,抽象出它的特征,分析并且建立模型,即用訓(xùn)練集來(lái)訓(xùn)練分類器;第二部分,則是用訓(xùn)練好的分類器對(duì)未知的樣本,根據(jù)他們的特質(zhì),進(jìn)行分類.所以分類器是分類中的關(guān)鍵.

        樸素貝葉斯法是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類方法.樸素貝葉斯分類是一種十分簡(jiǎn)單的分類算法,樸素是指特征條件獨(dú)立,即為基于貝葉斯定理的特征條件獨(dú)立的分類算法.貝葉斯定理為

        式中:p(y|x)為在x發(fā)生的條件下,y發(fā)生的概率;p(x|y)為在y發(fā)生的條件下,x發(fā)生的概率.

        證明設(shè)a={a1,a2,a3,…,am}為一個(gè)待分類項(xiàng),而每個(gè)a為x的一個(gè)特征屬性.

        有類別集合y={y1,y2,y3,…,ym}

        計(jì)算p(y1|x),p(y2|x),p(y3|x),…,p(yn|x)

        如果p(yk|x)=max{p(y1|x),p(y2|x),p(y3|x),…,p(yn|x)}

        則x∈yk

        對(duì)于樸素貝葉斯算法可以理解為對(duì)于要分類的樣本,求該樣本出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,概率最高的分類就是該樣本的分類.

        隨機(jī)森林算法是惡意代碼檢測(cè)中常用的分類算法.隨機(jī)森林,就是用隨機(jī)的方式建立一個(gè)包含多棵決策樹的森林.由訓(xùn)練集集訓(xùn)練隨機(jī)森林,隨機(jī)地創(chuàng)建每一顆隨機(jī)樹,每棵樹之間沒有關(guān)聯(lián).對(duì)于一個(gè)待分類的樣本,由森林中的每一棵決策樹分對(duì)其進(jìn)行分類,根據(jù)輸出的類別的眾數(shù)來(lái)分類,簡(jiǎn)單地說(shuō),就是哪一類被樹最多的選擇,這一類就是該樣本的分類.

        隨機(jī)森林通過隨機(jī)有放回的抽取訓(xùn)練集的樣本,然后隨機(jī)選取一定數(shù)量的特征,用完全分裂的方式建立出決策樹.每棵樹的分類能力都不強(qiáng),但是有很強(qiáng)的多樣性.每一個(gè)樹在窄領(lǐng)域的分類能力都很強(qiáng),因?yàn)槊靠脴涠际怯缮倭刻卣髦涤?xùn)練出來(lái)的,然后多棵在不同領(lǐng)域有很強(qiáng)分類能力的樹組合起來(lái),對(duì)一個(gè)樣本進(jìn)行分類,從各自的角度對(duì)他進(jìn)行分類,最后被選擇更多的分類,就是該樣本的分類.

        2.4 集成分類器

        單個(gè)分類器有各自的優(yōu)劣,也有不同的分類準(zhǔn)確率.集成分類器就是同時(shí)使用多個(gè)訓(xùn)練好的分類器,結(jié)合各自的優(yōu)點(diǎn),對(duì)測(cè)試集進(jìn)行分類,準(zhǔn)確率往往高于使用單個(gè)分類器.用專家投票系統(tǒng)對(duì)三個(gè)分類器進(jìn)行集成.分別用訓(xùn)練集對(duì)三個(gè)分類器單獨(dú)進(jìn)行訓(xùn)練,然后對(duì)測(cè)試集進(jìn)行測(cè)試.三個(gè)訓(xùn)練好的分類器分別對(duì)單個(gè)樣本進(jìn)行分類,計(jì)算出該樣本分類的分布律.每個(gè)分類器分別根據(jù)分布律投票,投票數(shù)最高的分類為該樣本的分類:

        輸入:訓(xùn)練集特征文件trainIns_file

        使用的分類器集合Classifier[]

        測(cè)試集特征文件testIns_file

        輸出:樣本的分類結(jié)果

        For each Classifier[]

        Classifier.Build(trainIns_file)

        end

        For each testIns_file

        For each Classifier[]

        Probs[]=Classifier.distrubution(trainIns_file)

        End

        For each Classifier[]

        If Probs[1]>Probs[2]

        Vote[1]++

        Else

        Vote[2]++

        投票數(shù)最高的為該樣本分類

        End

        基于專家投票的分類器集成是最簡(jiǎn)單的集成方式,可以將多個(gè)分類器集成,結(jié)合各自的優(yōu)點(diǎn)使得分類效果更好.但是專家投票的方式也有一個(gè)問題,因?yàn)閷?duì)測(cè)試的樣本分類時(shí),每個(gè)分類器分別對(duì)其進(jìn)行分類,并對(duì)分類結(jié)果投票,所以每個(gè)分類器給出的結(jié)果都是1.但實(shí)際上,每個(gè)分類器在分類時(shí),給出的結(jié)果并不是1,因?yàn)椴⒉皇前俜职俅_定.當(dāng)某些樣本很難分辨時(shí),實(shí)際給出的結(jié)果可能兩者都很接近0.5,所以這樣的誤差就很大.為了解決這個(gè)問題,提出了根據(jù)分類的概率來(lái)集成分類器.同時(shí),因?yàn)槊總€(gè)分類器的分類效果并不同,為了解決每個(gè)分類器貢獻(xiàn)相同的問題,又引入權(quán)值.每個(gè)分類器的權(quán)值相加為1,通過訓(xùn)練獲得最好的權(quán)值分配組合,得到最終分類模型,如圖3所示.

        對(duì)單個(gè)樣本分類的過程很簡(jiǎn)單.分別用訓(xùn)練集對(duì)三個(gè)分類器單獨(dú)進(jìn)行訓(xùn)練,然后對(duì)測(cè)試集進(jìn)行測(cè)試.對(duì)每個(gè)分類器設(shè)有不同的權(quán)值,三個(gè)訓(xùn)練好的分類器分別對(duì)單個(gè)樣本進(jìn)行分類,計(jì)算出該樣本分類的分布律.將每個(gè)分類器計(jì)算出來(lái)的分布律乘以各自的權(quán)值,獲取最終概率,根據(jù)最終概率獲得分類:

        輸入:訓(xùn)練集特征文件trainIns_file

        使用的分類器集合Classifier[]

        測(cè)試集特征文件testIns_file

        輸出:樣本的分類結(jié)果

        For each Classifier[]

        Classifier.Build(trainIns_file)

        end

        For each testIns_file

        For each Classifier[]

        Probs[]=Classifier.distrubution(trainIns_file)

        End

        For each Classifier[]

        ReProbs[]=ReProbs[]+Probs[]*Weight

        End

        For each ReProbs[]

        ReProbs[i]=max(ReProbs[])

        i為分類結(jié)果

        圖3 加權(quán)分類器集成訓(xùn)練過程Fig.3 Weighted classifier ensemble training process

        2.5 機(jī)器學(xué)習(xí)的評(píng)估標(biāo)準(zhǔn)

        在機(jī)器學(xué)習(xí)中如果分類只要有兩類,那么:True positives(TP)為本身是正例并且也被分類器劃分成正;False positives(FP)為本身是負(fù)例但是被分類器劃分成正;False negatives(FN)為本身是正例但是被分類器劃分成負(fù);True negatives(TN)為本身是負(fù)例并且也被分類器劃分成負(fù).

        精確率是機(jī)器學(xué)習(xí)重要評(píng)估標(biāo)準(zhǔn).精確率是指被分為正的樣本里本身的確為正的概率,即

        準(zhǔn)確率(Accuracy)為

        精確率(Precision)和準(zhǔn)確率(Accuracy)是不一樣的.而召回率也是重要的評(píng)估標(biāo)準(zhǔn),它表示的是本身為正例的樣本有多少被正確分類了,即

        3 實(shí)驗(yàn)與分析

        實(shí)驗(yàn)數(shù)據(jù)分兩部分:惡意腳本代碼從Walmare等網(wǎng)站下載樣本,爬蟲軟件從惡意網(wǎng)站獲?。徽D_本代碼從GitHub下載,爬蟲軟件從安全網(wǎng)站獲取.

        使用的機(jī)器學(xué)習(xí)工具為Weka.Weka的全名是懷卡托智能分析環(huán)境(Waikato environment for knowledge analysis).Weka是一個(gè)可視化的機(jī)器學(xué)習(xí)工具,能更加便捷明了地對(duì)數(shù)據(jù)進(jìn)行處理、分類和聚類等,并且也集合了大量的機(jī)器學(xué)習(xí)算法.

        將所有樣本用V8引擎編譯成機(jī)器碼,機(jī)器碼包含變量名,存儲(chǔ)地址等無(wú)意義的干擾項(xiàng),排除這些干擾,僅對(duì)機(jī)器碼的操作指令使用Bi-Gram和Tri-Gram統(tǒng)計(jì)訓(xùn)練集出現(xiàn)的所有特征值的頻率,各選取TOP500作為特征值.根據(jù)信息增益對(duì)每個(gè)樣本進(jìn)行混合N-Gram統(tǒng)計(jì),獲得訓(xùn)練集.

        使用常用的分類器單獨(dú)對(duì)樣本進(jìn)行機(jī)器學(xué)習(xí),采取的是10fold訓(xùn)練,即將樣本分成十份,九份用于訓(xùn)練,剩下一份用于測(cè)試.實(shí)驗(yàn)結(jié)果表明:?jiǎn)蝹€(gè)分類器中隨機(jī)森林的精確率最高,效果最好,邏輯回歸的效果最差,如表1所示.

        表1 單個(gè)分類器分類準(zhǔn)確率Table 1 Classification accuracy of single classifier %

        如表2所示,選擇隨機(jī)森林、隨機(jī)樹和樸素貝葉斯等與隨機(jī)森林、隨機(jī)樹以及邏輯回歸為組合進(jìn)行專家投票集成.實(shí)驗(yàn)發(fā)現(xiàn)集成分類器的準(zhǔn)確率,召回率都低于隨機(jī)森林.隨機(jī)森林分類器因?yàn)閮蓚€(gè)隨機(jī)性的引入,使得隨機(jī)森林不容易陷入過擬合,具有很好的抗噪聲能力,多棵樹的專家決策使其分類作用遠(yuǎn)遠(yuǎn)強(qiáng)于其他分類器,而一人一票的專家投票使得所有分類器貢獻(xiàn)相同,分類效果反而變差,所以引入權(quán)重來(lái)提高集成效果.

        表2 不同分類器專家投票集成Table 2 Classifier expert voting integration %

        所以引入權(quán)值,對(duì)分類效果最好的三個(gè)分類器隨機(jī)森林、隨機(jī)樹和樸素貝葉斯進(jìn)行加權(quán)集成.使用測(cè)試集將最小單位設(shè)為0.01進(jìn)行試驗(yàn),實(shí)驗(yàn)結(jié)果表明在以最小單位為0.01的權(quán)值組合中,0.08,0.9,0.02的組合的分類準(zhǔn)確率最高,即隨機(jī)森林的權(quán)值為0.8,隨機(jī)樹的權(quán)值為0.03,樸素貝葉斯的權(quán)值為0.17,準(zhǔn)確率也達(dá)到了0.957,如表3所示.由表3可以看出:權(quán)值的引入,避免了所有分類器貢獻(xiàn)相同的弊端,使隨機(jī)森林分類器在分類過程中占主要作用,同時(shí)發(fā)揮了集成分類器使分類器功能互補(bǔ)的作用,提高了分類效果.

        表3 隨機(jī)森林、隨機(jī)樹和樸素貝葉斯加權(quán)集成Table 3 Random forest, random tree, naive Bayesian weighted ensemble %

        雖然引入權(quán)值來(lái)集成分類器效果上有所提升,但可以看到在這三個(gè)分類器組合中,隨機(jī)樹的權(quán)值分配非常的低,在分類過程中的貢獻(xiàn)非常的小.Weka工具中的隨機(jī)樹分類器和決策樹類似,但和決策樹相比,隨機(jī)樹并不選取所有屬性,會(huì)隨機(jī)選擇若干屬性構(gòu)建樹.在weka的實(shí)現(xiàn)中,隨機(jī)樹分類器,設(shè)置要選取的屬性數(shù)量k,對(duì)屬性無(wú)放回的抽樣,再根據(jù)信息增益選擇分裂節(jié)點(diǎn),構(gòu)建樹.這個(gè)方式和隨機(jī)森林中的單棵樹的構(gòu)建方式非常類似.所以在集成的時(shí)候,隨機(jī)樹的作用被隨機(jī)森林覆蓋,并不能更好的提升集成分類的效果.

        所以將隨機(jī)樹的分類器替換成邏輯回歸分類器重新進(jìn)行實(shí)驗(yàn).也先將最小單位設(shè)置為0.01.邏輯回歸的權(quán)值為0.12,隨機(jī)森林的為0.78,隨機(jī)樹的權(quán)值為0.1時(shí),精確率最高,達(dá)到0.96,如表4所示.

        表4 隨機(jī)森林、樸素貝葉斯和邏輯回歸加權(quán)集成Table 4 Random forest, naive Bayes, logistics weighted ensemble %

        如圖4所示,實(shí)驗(yàn)發(fā)現(xiàn):樸素貝葉斯、隨機(jī)森林和邏輯回歸這三個(gè)模型的加權(quán)組合精確率.邏輯回歸可用于概率預(yù)測(cè),也可用于分類,經(jīng)常被用于根據(jù)模型,預(yù)測(cè)在不同的自變量情況下,發(fā)生某病或某種情況的概率有多大,并且邏輯回歸不像樸素貝葉斯一樣需要滿足條件獨(dú)立假設(shè).但每個(gè)特征的貢獻(xiàn)是獨(dú)立計(jì)算的,即邏輯回歸是不會(huì)自動(dòng)幫你聯(lián)合不同的特征產(chǎn)生新特征的.同時(shí)因?yàn)橐霗?quán)重,合理的分配了三個(gè)算法的貢獻(xiàn),使得分類效果提高.

        圖4 加權(quán)集成和隨機(jī)森林ROC曲線對(duì)比圖Fig.4 Weighted ensemble and random forest ROC curve comparison chart

        將這個(gè)訓(xùn)練好的模型用于實(shí)際檢測(cè).火眼和VirusTotal是常用的在線檢測(cè)的網(wǎng)站.用戶提交待檢測(cè)文件或者網(wǎng)址,火眼是通過動(dòng)態(tài)檢測(cè),VirusTotal主要是通過靜態(tài)檢測(cè).分別從兩個(gè)網(wǎng)站下載150個(gè)樣本,并且自己用爬蟲軟件從網(wǎng)上隨機(jī)獲取300份樣本代碼.將這200份樣本分別通過加權(quán)分類器集成模型、火眼和Payload security檢測(cè).可以發(fā)現(xiàn):通過集成加權(quán)模型檢測(cè)檢測(cè)率高于Payload security的靜態(tài)檢測(cè),接近于火眼的動(dòng)態(tài)檢測(cè),如表5所示.

        表5分類器加權(quán)集成、火眼和Payloadsecurity對(duì)比結(jié)果

        Table5Classifierweightedensemble,fireeye,payloadsecuritycomparisonresults個(gè)

        4 結(jié) 論

        提出了一種對(duì)網(wǎng)頁(yè)惡意腳本代碼的靜態(tài)監(jiān)測(cè)系統(tǒng),并將惡意腳本用V8編譯成機(jī)器碼.用變長(zhǎng)N-Gram模型進(jìn)行數(shù)據(jù)處理,提取特征形成樣本訓(xùn)練集.使用訓(xùn)練集對(duì)隨機(jī)森林、邏輯回歸、樸素貝葉斯和隨機(jī)樹分類器進(jìn)行訓(xùn)練創(chuàng)建分類模型,并將其集成.實(shí)驗(yàn)比較了單個(gè)分類器、多個(gè)分類器普通集成和多個(gè)分類器加權(quán)集成,發(fā)現(xiàn)加權(quán)集成的方式能有效地提高分類準(zhǔn)確率.同時(shí)通過實(shí)驗(yàn),找到了最佳的分類器組合和最佳的權(quán)值組合.

        [1] 中國(guó)互聯(lián)網(wǎng)信息中心.CNNIC發(fā)布第38次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[J].信息網(wǎng)絡(luò)安全,2016(8):89.

        [2] 黃建軍,梁彬.基于植入特征的網(wǎng)頁(yè)惡意代碼檢測(cè)[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(S2):2208-2214.

        [3] ALAM S, HORSPOOL R N, TRAORE I, et al. A framework for metamorphic malware analysis and real-time detection[J]. Computers & security,2015,48:212-233.

        [4] 諸葛建偉,唐勇,韓心慧,等.蜜罐技術(shù)研究與應(yīng)用進(jìn)展[J].軟件學(xué)報(bào),2013(4):825-842.

        [5] 付壘朋,張瀚,霍路陽(yáng).基于多類特征的JavaScript惡意腳本檢測(cè)算法[J].模式識(shí)別與人工智能,2015(12):1110-1118.

        [6] 徐青,朱焱,唐壽洪.分析多類特征和欺詐技術(shù)檢測(cè)JavaScript惡意代碼[J].計(jì)算機(jī)應(yīng)用與軟件,2015(7):293-296.

        [7] 李道豐,黃凡玲,劉水祥,等.基于行為語(yǔ)義分析的Web惡意代碼檢測(cè)機(jī)制研究[J].計(jì)算機(jī)科學(xué),2016(8):110-113.

        [8] SANTOS I, BREZO F, BRINGAS PG, et al. Opcode sequences as representation of executables for data-mining-based unknown malware detection[J]. Information sciences,2013,231(9):64-82.

        [9] SHABTAI A, MOSKOVITCH R, FEHER C, et al. Detecting unknown malicious code by applying classification techniques on OpCode patterns[J]. Security informatics december,2012(1):1-22.

        [10] ALAM S, SOGUKPINAR I, TRAORE I, et al. Sliding window and control flow weight for metamorphic malware detection[J].

        Journal of computer virology and hacking techniques,2015,11(2):75-88.

        [11] 賀鳴,孫建軍,成穎.基于樸素貝葉斯的文本分類研究綜述[J].情報(bào)科學(xué),2016(7):147-154.

        [12] 盧曉勇,陳木生.基于隨機(jī)森林和欠采樣集成的垃圾網(wǎng)頁(yè)檢測(cè)[J].計(jì)算機(jī)應(yīng)用,2016(3):731-734.

        [13] 林冬茂.基于“寫”操作的Web安全防護(hù)系統(tǒng)的研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(2):201-204.

        [14] 嚴(yán)萍,史旦旦,錢能.計(jì)算機(jī)信息安全交換系統(tǒng)的設(shè)計(jì)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2004,32(4):23-27.

        [15] 周夢(mèng)麟,張森.一種基于自然語(yǔ)言理解的Web挖掘模型[J].浙江工業(yè)大學(xué)學(xué)報(bào),2004,32(1):97-100.

        ThemaliciousscriptcodedetectionbasedonN-Gramandweightedclassifierintegration

        WANG Weihong, ZHU Yuchen

        (College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)

        This paper proposes a static monitoring system for detecting malicious script code. In this system, malicious script code is compiled into machine code with V8 engines and theN-Gram model is used to process the machine code and the features are extracted to form the sample training set. The classification model is created by combining with random forest, logistic regression, Naive Bayes classifier respectively. In this paper, classification models which are trained in multiple training sets are integrated and a way of weighted classifier integration is proposed. Each classifier is set a different weights. Through experimental analysis, a variety of classifiers are combined and tested, and the optimal weight is found through the training set. assignment. By comparing the individual classifier and other integrated approach, the results show that the trained weighted classifiers can be more accurate to detect malicious codeand have higher accuracy.

        malicious script;N-Gram; machine learning

        2017-02-20

        王衛(wèi)紅(1969—),男,浙江臨海人,教授,研究方向?yàn)榭臻g信息服務(wù)和網(wǎng)絡(luò)信息安全,E-mail: wwh@zjut.edu.cn.

        TP301

        A

        1006-4303(2017)06-0604-06

        (責(zé)任編輯:陳石平)

        猜你喜歡
        分類特征檢測(cè)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        分類算一算
        如何表達(dá)“特征”
        不忠誠(chéng)的四個(gè)特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        中文字幕人妻系列一区尤物视频| 亚洲一区二区三区久久蜜桃| 强d乱码中文字幕熟女1000部| 久久久亚洲av午夜精品| 免费国产在线视频自拍白浆| 岳毛多又紧做起爽| 伊人99re| 日韩中文字幕一区二区高清| 日韩人妻免费一区二区三区| 一道本久久综合久久鬼色| 狠狠噜天天噜日日噜无码| 无码国产精品一区二区高潮| 中文字幕AⅤ人妻一区二区| 中文字幕一区二区三区喷水| 亚洲中文字幕久久精品品| 亚洲国产另类精品| 韩国精品一区二区三区| 免费在线观看草逼视频| 国产精品私密保养| 韩国精品一区二区三区无码视频 | 午夜dy888国产精品影院| 国产在线精品一区二区三区不卡| 99在线国产视频| 手机免费高清在线观看av| 又色又爽又黄高潮的免费视频| 亚洲成aⅴ人在线观看| 国产人成在线免费视频| 在线精品国产亚洲av蜜桃| 无码毛片视频一区二区本码| 加勒比黑人在线| 手机在线免费观看的av| 亚洲乱码日产精品一二三| 色诱久久av| 青青草视频在线观看视频免费| 欧美日韩在线视频| 亚洲学生妹高清av| 蜜桃视频中文在线观看| 国产一区二区三区久久悠悠色av| 亚洲av国产精品色午夜洪2| 亚洲无码性爱视频在线观看| 91九色国产老熟女视频|