本文作者:kaifamei

一種惡意軟件分類方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)

更新時(shí)間:2025-12-25 00:30:53 0條評(píng)論

一種惡意軟件分類方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)

1.本發(fā)明實(shí)施例涉及計(jì)算機(jī)安全

技術(shù)領(lǐng)域


:,尤其涉及一種惡意軟件分類方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。

背景技術(shù)


::2.惡意軟件是故意滿足惡意攻擊者有害意圖的軟件程序。近年來,隨著互聯(lián)網(wǎng)新應(yīng)用、技術(shù)的成熟,人民眾日常工作生活對(duì)互聯(lián)網(wǎng)的依賴程度越來高。犯罪分子開始在互聯(lián)網(wǎng)上而不是在現(xiàn)實(shí)世界中犯罪。犯罪分子通常使用惡意軟件對(duì)受害者機(jī)器發(fā)動(dòng)網(wǎng)絡(luò)攻擊。它旨在實(shí)現(xiàn)攻擊者的目標(biāo),這些目標(biāo)包括干擾系統(tǒng)操作、訪問計(jì)算系統(tǒng)和網(wǎng)絡(luò)資源,以及未經(jīng)用戶許可收集個(gè)人敏感信息。因此,惡意軟件通常會(huì)對(duì)主機(jī)的完整性、互聯(lián)網(wǎng)的可用性和用戶的隱私造成威脅。3.惡意軟件對(duì)全球數(shù)十億人的威脅越來越大,這使得惡意軟件分類成為網(wǎng)絡(luò)安全領(lǐng)域的一個(gè)重要問題。現(xiàn)代惡意軟件的復(fù)雜性和多樣性導(dǎo)致了當(dāng)代惡意軟件分類技術(shù)的發(fā)展,這些技術(shù)利用機(jī)器學(xué)習(xí)領(lǐng)域?qū)阂廛浖M(jìn)行分類。nataraj等人提出將惡意軟件的可執(zhí)行二進(jìn)制文件轉(zhuǎn)換為相應(yīng)的灰度圖像。根據(jù)圖像的紋理特征生成相應(yīng)的特征向量,并采用k最鄰近(k-nearestneighbor,knn)分類算法對(duì)惡意軟件進(jìn)行分類。4.然而,現(xiàn)有技術(shù)中基于機(jī)器學(xué)習(xí)的惡意代碼分類方法的檢測(cè)和分類效果不穩(wěn)定。技術(shù)實(shí)現(xiàn)要素:5.本技術(shù)提供了一種惡意軟件分類方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中對(duì)惡意軟件的檢測(cè)和分類效果不穩(wěn)定的技術(shù)問題。6.本發(fā)明第一方面提供了一種惡意軟件分類方法,包括:7.提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;8.將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;9.基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);10.基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;11.將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。12.本發(fā)明實(shí)施例提供的惡意軟件分類方法,根據(jù)待檢測(cè)惡意軟件的字節(jié)數(shù)據(jù)構(gòu)建第一灰度圖像,根據(jù)待檢測(cè)惡意軟件的操作碼構(gòu)建第二灰度圖像,將第一灰度圖像和第二灰度圖像輸入到分類模型中得到待檢測(cè)惡意軟件的分類結(jié)果,由于操作碼更能具體地表示惡意軟件的特征,通過提取惡意軟件操作碼的方式來提取惡意軟件的特征并轉(zhuǎn)換到灰度圖像上,有效提高了惡意軟件的分類精度。同時(shí)本方案集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,結(jié)合兩個(gè)方面的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,一方面使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果;另一方面提高分類模型的分類效率。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,本實(shí)施例中基于灰度圖像的分類方法,有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。13.結(jié)合第一方面,在第一方面的第一實(shí)施例中,將第一灰度圖像和第二灰度圖像輸入到分類模型中,包括:14.將第一灰度圖像和第二灰度圖像進(jìn)行拼接,形成第三灰度圖像;15.將第三灰度圖像輸入到分類模型中。16.本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于圖像自然拼接的方式,集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,結(jié)合兩個(gè)方面的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果。17.結(jié)合第一方面,在第一方面的第二實(shí)施例中,將第一灰度圖像和第二灰度圖像輸入到分類模型中,包括:18.將第一灰度圖像和第二灰度圖像分別輸入顏系統(tǒng)不同通道進(jìn)行圖像融合,形成第四灰度圖像;19.將第四灰度圖像輸入到分類模型中。20.本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于多通道的圖像組合,集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,因?yàn)閷?duì)于多通道的圖像每個(gè)通道都可以存儲(chǔ)特征,基于多通道的圖像組合相比較于單通道圖像,可以獲得更多的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果。21.結(jié)合第一方面,在第一方面的第三實(shí)施例中,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)成待檢測(cè)惡意軟件的第一灰度圖像,包括:22.提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將字節(jié)序列中的各字節(jié)分別轉(zhuǎn)換為無符號(hào)整數(shù);23.根據(jù)待檢測(cè)惡意軟件所占內(nèi)存大小,確定圖像二維尺寸;24.各字節(jié)分別對(duì)應(yīng)一個(gè)像素點(diǎn),根據(jù)各字節(jié)的無符號(hào)整數(shù)確定各像素點(diǎn)的灰度值;25.按照?qǐng)D像二維尺寸對(duì)各像素點(diǎn)依次排列,形成待檢測(cè)惡意軟件的第一灰度圖像。26.本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于圖像的惡意軟件分類方法將字節(jié)序列轉(zhuǎn)換為統(tǒng)一的無符號(hào)整數(shù),避免受字節(jié)序列符號(hào)的影響無法匹配到對(duì)應(yīng)的灰度值。同時(shí)根據(jù)惡意軟件所占內(nèi)存大小來確定圖像二維尺寸,可以避免漏掉惡意軟件中的字符特征。并且由于傳統(tǒng)的檢測(cè)和分類方法是基于一個(gè)“惡意軟件庫”來分類的,分類的時(shí)候需要將惡意軟件與惡意軟件庫中的現(xiàn)有惡意軟件做匹配,來進(jìn)行分類。隨著新的惡意軟件的出現(xiàn),需要人工的更新惡意軟件庫。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,基于圖像的惡意軟件分類方法基于機(jī)器學(xué)習(xí)的模式,提取的是同類惡意軟件的共同特征,模型訓(xùn)練好后,即可穩(wěn)定運(yùn)行,可以有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。27.結(jié)合第一方面,在第一方面的第四實(shí)施例中,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù),包括:28.確定n-gram算法滑動(dòng)窗口長度;29.基于滑動(dòng)窗口長度,采用n-gram算法統(tǒng)計(jì)操作碼序列中各操作碼的出現(xiàn)頻數(shù)。30.本發(fā)明實(shí)施例提供的惡意軟件分類方法,確定合適的n-gram算法滑動(dòng)窗口長度有助于提高惡意軟件分類精度。31.結(jié)合第一方面,在第一方面的第五實(shí)施例中,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像,包括:32.將各操作碼分別作為一個(gè)像素點(diǎn),根據(jù)各操作碼的頻數(shù)確定各像素點(diǎn)的灰度值,形成待檢測(cè)惡意軟件的第二灰度圖像。33.本發(fā)明實(shí)施例提供的惡意軟件分類方法,由于傳統(tǒng)的檢測(cè)和分類方法是基于一個(gè)“惡意軟件庫”來分類的,分類的時(shí)候需要將惡意軟件與惡意軟件庫中的現(xiàn)有惡意軟件做匹配,來進(jìn)行分類。隨著新的惡意軟件的出現(xiàn),需要人工的更新惡意軟件庫。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,基于圖像的惡意軟件分類方法基于機(jī)器學(xué)習(xí)的模式,提取的是同類惡意軟件的共同特征,模型訓(xùn)練好后,即可穩(wěn)定運(yùn)行,可以有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。同時(shí)由于操作碼更能具體地表示惡意軟件的特征,通過提取惡意軟件操作碼的方式來提取惡意軟件的特征并轉(zhuǎn)換到灰度圖像上,有效提高惡意軟件的分類精度。34.結(jié)合第一方面或上述任一實(shí)施例,在第一方面的第六實(shí)施例中,在基于操作碼的頻數(shù)構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像的步驟之后,在將第一灰度圖像和第二灰度圖像輸入到分類模型中的步驟之前,該方法還包括:35.對(duì)第一灰度圖像,和/或,第二灰度圖像進(jìn)行標(biāo)準(zhǔn)化處理,將圖像的形狀統(tǒng)一為固定大小。36.本發(fā)明實(shí)施例提供的惡意軟件分類方法,對(duì)灰度圖像進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,消除評(píng)價(jià)指標(biāo)之間的量綱影響,以解決數(shù)據(jù)指標(biāo)之間的可比性。原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級(jí),適合進(jìn)行綜合對(duì)比評(píng)價(jià),提高分類模型的分類精度。37.本發(fā)明第二方面提供了一種惡意軟件分類的裝置,包括:38.第一構(gòu)建模塊,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;39.生成模塊,用于將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;40.統(tǒng)計(jì)模塊,用于基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);41.第二構(gòu)建模塊,用于基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;42.分類模塊,用于將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。43.本發(fā)明提供的惡意軟件分類裝置中各部件所執(zhí)行的功能均已在上述任一方法實(shí)施例中得以應(yīng)用,因此這里不再贅述。44.本發(fā)明第三方面提供了一種計(jì)算機(jī)設(shè)備,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;存儲(chǔ)器,用于存放計(jì)算機(jī)程序;處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)上述第一方面提供的惡意軟件分類方法的步驟。45.本發(fā)明第四方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行如本發(fā)明第一方面提供的惡意軟件分類方法。附圖說明46.為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。47.圖1為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(一);48.圖2為本發(fā)明一實(shí)施例提供的惡意軟件匯編文件中的部分操作碼;49.圖3為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(二);50.圖4為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(三);51.圖5為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(四);52.圖6為本發(fā)明實(shí)施例提供的一種惡意軟件二進(jìn)制文件的部分字節(jié)序列;53.圖7為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(五);54.圖8為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(六);55.圖9為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(七);56.圖10為本發(fā)明一實(shí)施例提供的惡意軟件分類方法流程示意圖(八)57.圖11為本發(fā)明一實(shí)施例提供的驗(yàn)證惡意軟件分類方法精度的精度曲線(一)58.圖12為本發(fā)明一實(shí)施例提供的驗(yàn)證惡意軟件分類方法精度的精度曲線(二)59.圖13為本發(fā)明一實(shí)施例提供的惡意軟件分類裝置結(jié)構(gòu)示意圖;60.圖14為本發(fā)明實(shí)施例提供的一種惡意軟件分類方法的計(jì)算機(jī)設(shè)備結(jié)構(gòu)示意圖。具體實(shí)施方式61.為使本公開實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本公開實(shí)施例的附圖,對(duì)本公開實(shí)施例的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例是本公開的一部分實(shí)施例,而不是全部的實(shí)施例。基于所描述的本公開的實(shí)施例,本領(lǐng)域普通技術(shù)人員在無需創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本公開保護(hù)的范圍。62.除非另外定義,本公開使用的技術(shù)術(shù)語或者科學(xué)術(shù)語應(yīng)當(dāng)為本公開所屬領(lǐng)域內(nèi)具有一般技能的人士所理解的通常意義。本公開中使用的“一個(gè)”、“一”或者“該”等類似詞語也不表示數(shù)量限制,而是表示存在至少一個(gè)。“包括”或者“包含”等類似的詞語意指出現(xiàn)該詞前面的元件或者物件涵蓋出現(xiàn)在該詞后面列舉的元件或者物件及其等同,而不排除其他元件或者物件。63.此外,下面所描述的本發(fā)明不同實(shí)施方式中所涉及的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互結(jié)合。64.針對(duì)

背景技術(shù)


:中所提及的技術(shù)問題,本發(fā)明實(shí)施例提供了一種惡意軟件分類方法,如圖1所示,該方法步驟包括:65.步驟s110,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像。66.示例性地,惡意軟件是在未明確提示用戶或未經(jīng)用戶許可的情況下,在用戶計(jì)算機(jī)或其他終端上安裝運(yùn)行,從而侵犯用戶合法權(quán)益的軟件或代碼。待檢測(cè)惡意軟件可以隱藏在合法的軟件應(yīng)用程序或文件中,或者可以將其偽裝成用戶不知不覺下載的看似無害的應(yīng)用程序的軟件。示例性地,待檢測(cè)惡意軟件可以為病毒類的惡意軟件、蠕蟲類的惡意軟件、特洛伊木馬類的惡意軟件、類的惡意軟件、僵尸程序類的惡意軟件、廣告軟件類的惡意軟件等相關(guān)的惡意軟件。每種類型的惡意軟件以不同的方式影響原始受害者機(jī)器,例如破壞目標(biāo)系統(tǒng)、允許遠(yuǎn)程代碼執(zhí)行、竊取機(jī)密數(shù)據(jù)等。67.在本實(shí)施例中,待檢測(cè)惡意軟件的可執(zhí)行文件為可移植的可執(zhí)行的文件(portableexecutable,pe),pe文件是微軟windows操作系統(tǒng)上的程序文件。將待分析的pe文件轉(zhuǎn)化為二進(jìn)制流文件,然后將二進(jìn)制文件按字節(jié)進(jìn)行分割,繼而通過二進(jìn)制方式進(jìn)行轉(zhuǎn)化,將字節(jié)值從0映射到255,其中0代表黑,255代表白,其他[0,255]之間的值表示不同的灰度值,對(duì)其進(jìn)行可視化生成待檢測(cè)惡意軟件相對(duì)應(yīng)的第一灰度圖像,從而使待檢測(cè)惡意軟件的相關(guān)檢測(cè)任務(wù)轉(zhuǎn)變?yōu)榇诸悎D像的圖像識(shí)別任務(wù)。[0068]步驟s120,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件。[0069]示例性地,需要說明的是,對(duì)二進(jìn)制可執(zhí)行文件轉(zhuǎn)換得到的圖片,采用通用搜索樹(generalizedsearchtrees,gist)算法進(jìn)行特征提取,只能較好學(xué)習(xí)到二進(jìn)制可執(zhí)行文件的全局特征,缺乏局部特征的捕捉,并且直接利用二進(jìn)制可執(zhí)行文件不能很好地捕捉程序的行為特征。因此,本實(shí)施例方法為了更好地捕捉惡意軟件的特征,將該惡意軟件二進(jìn)制可執(zhí)行文件首先通過一個(gè)特殊的反匯編工具轉(zhuǎn)換為可讀性更強(qiáng)的匯編文件。[0070]示例性地,本實(shí)施例的反匯編工具采用了交互式反匯編器專業(yè)版(interactivedisassemblerprofessional)即idapro以下簡稱ida,將該惡意軟件的二進(jìn)制可執(zhí)行文件轉(zhuǎn)換為可讀性更強(qiáng)的匯編文件。使用ida反匯編pe文件得到很多信息如流程圖、函數(shù)調(diào)用圖、依賴圖等??梢愿鶕?jù)這些信息,分析惡意軟件的功能、執(zhí)行過程、內(nèi)部結(jié)構(gòu)等。本發(fā)明實(shí)施例中利用idc腳本(idc語言為ida的一種腳本引擎,它之所以叫做idc是因?yàn)樗恼Z法與c語言很相似),從反匯編的許多信息中把匯編代碼提取出來(idc腳本主要用于動(dòng)態(tài)調(diào)試ida,獲取ida運(yùn)行過程中的各種信息的代碼)。[0071]步驟s130,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù)。[0072]示例性地,一個(gè)惡意軟件程序由三個(gè)主要部分組成:bss段(blockstartedbysymbolsegment)、data段(datasegment)和text段(codesegment/textsegment)。bss段通常是程序中未初始化全局變量的存儲(chǔ)區(qū)域。data段通常是程序中初始化全局變量的存儲(chǔ)區(qū)域。text段通常是用來保存程序執(zhí)行的代碼的內(nèi)存區(qū)域。本發(fā)明實(shí)施例中只對(duì)text段的操作碼進(jìn)行特征分析。text段中的部分匯編代碼如圖2所示。[0073]如圖2所示,匯編指令由操作碼和操作數(shù)組成。操作碼用于解釋指令操作的性質(zhì)和功能。操作碼是指令中不可缺少的一部分,通常由1-2個(gè)字節(jié)組成,機(jī)器通過解碼電路識(shí)別指令。操作碼序列可以理解為計(jì)算機(jī)程序中所規(guī)定的要執(zhí)行操作的那一部分指令或字段,即指令序列號(hào)。操作碼的操作可以包括算術(shù)、數(shù)據(jù)操作、邏輯操作和程序控制。操作數(shù)用于提供有關(guān)指令中要處理的數(shù)據(jù)或數(shù)據(jù)地址的信息,包括偏移量、內(nèi)存地址、立即數(shù)和其它表示形式。[0074]該惡意軟件首先通過一個(gè)特殊的反匯編工具轉(zhuǎn)換為可讀性更強(qiáng)的匯編文件。然后從匯編文件的text段提取操作碼序列,忽略額外的可用信息(如內(nèi)存位置、寄存器等),其中,操作碼匯編文件行中的第一個(gè)非字節(jié)字。在檢索到匯編文件的text段的所有操作碼后,計(jì)算每個(gè)操作碼的頻數(shù)。[0075]步驟s140,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像。[0076]示例性地,經(jīng)統(tǒng)計(jì)各操作碼出現(xiàn)的頻數(shù),將各操作碼作為一個(gè)像素點(diǎn),各像素點(diǎn)的灰度值由各操作碼出現(xiàn)的頻數(shù)確定。如果操作碼的頻數(shù)超出灰度值的范圍,則將該操作碼對(duì)應(yīng)的像素點(diǎn)的灰度值確定為灰度值區(qū)間能夠取到的最大灰度值。[0077]步驟s150,將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0078]示例性地,本實(shí)施例中的分類模型可以選擇基于樹結(jié)構(gòu)的機(jī)器學(xué)習(xí)模型,如隨機(jī)森林分類器、極限梯度提升算法(extremegradientboosting,xgboost)分類器。也可以選擇基于卷積神經(jīng)網(wǎng)絡(luò)(convolutionalneuralnetwork,cnn)模型,如深度殘差網(wǎng)絡(luò)(deepresidualnetwork,resnet),可選resnet-50,但不限于此。[0079]基于樹結(jié)構(gòu)的機(jī)器學(xué)習(xí)模型具有以下優(yōu)點(diǎn):易于理解和解釋,特征可以是連續(xù)變量或分類變量,并且可以建立非線性模型。然而,它們也有容易過擬合和速度效率低的缺點(diǎn)。僅僅依靠單一機(jī)器學(xué)習(xí)過程的結(jié)果是不夠的。集成學(xué)習(xí)是一種集成了多個(gè)學(xué)習(xí)器的預(yù)測(cè)能力的系統(tǒng)學(xué)習(xí)方法。目的是通過組合多個(gè)基學(xué)習(xí)器的預(yù)測(cè)結(jié)果,并通過組合每個(gè)決策樹的輸出進(jìn)行預(yù)測(cè),提高單個(gè)學(xué)習(xí)器的泛化能力和魯棒性。構(gòu)成集成模型的基本學(xué)習(xí)器或模型可能來自相同的學(xué)習(xí)算法,也可能來自不同的學(xué)習(xí)算法。引導(dǎo)聚集算法(bootstrapaggregating,bagging)和提升方法(boosting)等集成學(xué)習(xí)方法被廣泛使用。隨機(jī)森林是一種基于bagging的集成學(xué)習(xí)方法,即使使用默認(rèn)參數(shù),也能產(chǎn)生出的效果。它也是最常用的算法之一,因?yàn)樗唵危梢杂糜诜诸惾蝿?wù)。xgboost是一種基于梯度提升決策樹(gradientboostingdecisiontree,gbdt)的算法,gbdt是一種基于boosting集成思想的加法模型。在訓(xùn)練過程中,使用前向分布算法進(jìn)行貪心學(xué)習(xí)。每次迭代學(xué)習(xí)一棵cart樹,以擬合前一個(gè)t-1樹的預(yù)測(cè)結(jié)果與訓(xùn)練樣本的真實(shí)值之間的殘差。對(duì)于不平衡的數(shù)據(jù)集,xgboost是一個(gè)優(yōu)選。[0080]在計(jì)算機(jī)視覺領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)得到了廣泛的應(yīng)用。cnn是模仿生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能的數(shù)學(xué)模型或計(jì)算模型,是深度學(xué)習(xí)的代表算法之一。cnn最擅長圖像處理,它可以有效地將大數(shù)據(jù)量的圖像降維為小數(shù)據(jù)量,并有效地保留圖像特征。一個(gè)典型的cnn由三部分組成:卷積層、池層和全連接層。卷積層負(fù)責(zé)從圖像中提取局部特征。池層用于大大減少參數(shù)數(shù)量(降維),以避免過度擬合。全連接層類似于用于輸出所需結(jié)果的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)部分。cnn網(wǎng)絡(luò)的層次越多,可以提取出不同層次的特征。而且,網(wǎng)絡(luò)越深,特征越抽象,提取的語義信息越多。然而,隨著網(wǎng)絡(luò)層的深入,模型的精度首先不斷提高并達(dá)到飽和。然后,隨著網(wǎng)絡(luò)深度的不斷增加,模型的精度會(huì)在一定程度上降低。resnet網(wǎng)絡(luò)通過在模型中引入殘差網(wǎng)絡(luò),解決了這種“退化現(xiàn)象”,極大地消除了神經(jīng)網(wǎng)絡(luò)訓(xùn)練深度過大的困難。[0081]本發(fā)明實(shí)施例提供的惡意軟件分類方法,根據(jù)待檢測(cè)惡意軟件的字節(jié)數(shù)據(jù)構(gòu)建第一灰度圖像,根據(jù)待檢測(cè)惡意軟件的操作碼構(gòu)建第二灰度圖像,將第一灰度圖像和第二灰度圖像輸入到分類模型中得到待檢測(cè)惡意軟件的分類結(jié)果,由于操作碼更能具體地表示惡意軟件的特征,通過提取惡意軟件操作碼的方式來提取惡意軟件的特征并轉(zhuǎn)換到灰度圖像上,有效提高了惡意軟件的分類精度。同時(shí)本方案集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,結(jié)合兩個(gè)方面的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,一方面使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果;另一方面提高分類模型的效率。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,本實(shí)施例中基于灰度圖像的分類方法,有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。[0082]作為本發(fā)明的一可選實(shí)施方式,如圖3所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0083]步驟s310,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;[0084]步驟s320,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;[0085]步驟s330,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);[0086]步驟s340,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;[0087]本實(shí)施例中,步驟s310至步驟s340與上述實(shí)施例中的步驟s110至步驟s140類似,此處不再贅述。[0088]步驟s350,將第一灰度圖像和第二灰度圖像進(jìn)行拼接,形成第三灰度圖像。[0089]示例性地,例如第一灰度圖像的尺寸為224×224,第二灰度圖像的尺寸為224×224,本實(shí)施例中的拼接方式即將一個(gè)224×224第一灰度圖像與一個(gè)224×224同類型的第二灰度圖像結(jié)合起來,形成一個(gè)新的224×448圖像,即本實(shí)施例中的第三灰度圖像。[0090]步驟s360,將第三灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0091]本實(shí)施例中,步驟s360與上述實(shí)施例中的步驟s150類似,此處不再贅述。[0092]本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于圖像自然拼接的方式,集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,結(jié)合兩個(gè)方面的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果。[0093]作為本發(fā)明的一可選實(shí)施方式,如圖4所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0094]步驟s410,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;[0095]步驟s420,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;[0096]步驟s430,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);[0097]步驟s440,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;[0098]本實(shí)施例中,步驟s430至步驟s440與上述實(shí)施例中的步驟s110至步驟s140類似,此處不再贅述。[0099]步驟s450,將第一灰度圖像和第二灰度圖像分別輸入顏系統(tǒng)不同通道進(jìn)行圖像融合,形成第四灰度圖像。[0100]示例性地,本實(shí)施例顏系統(tǒng)以rgb彩模式為例,rgb彩模式是工業(yè)界的一種顏標(biāo)準(zhǔn),是通過對(duì)紅(red,r)、綠(green,g)、藍(lán)(blue,b)三個(gè)顏通道的變化以及它們相互之間的疊加來得到各式各樣的顏的,rgb即是代表紅、綠、藍(lán)三個(gè)通道的顏,這個(gè)標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏,是運(yùn)用最廣的顏系統(tǒng)之一。紅、綠、藍(lán)三個(gè)顏通道每種各分為256階亮度,在0時(shí)最暗,而在255時(shí)最亮。當(dāng)三灰度數(shù)值相同時(shí),產(chǎn)生不同灰度值的灰調(diào),即三灰度都為0時(shí),是最暗的黑調(diào);三灰度都為255時(shí),是最亮的白調(diào)。[0101]第一灰度圖像和第二灰度圖像分別輸入紅(r)、綠(g)、藍(lán)(b)三個(gè)顏通道中的兩個(gè)通道,示例性地,例如第一灰度圖像為224×224字節(jié)圖像,第二灰度圖為相同類型的224×224操作碼圖像分別輸入到rgb的兩個(gè)通道中,另一個(gè)通道設(shè)置為0,形成新的224×224rgb圖像,即本實(shí)施例中的第四灰度圖像。[0102]步驟s460,將第四灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0103]本實(shí)施例中,步驟s460與上述實(shí)施例中的步驟s360類似,此處不再贅述。[0104]本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于多通道的圖像組合,集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,因?yàn)閷?duì)于多通道的圖像每個(gè)通道都可以存儲(chǔ)特征,基于多通道的圖像組合相比較于單通道的,可以獲得更多的特征,從而使輸入到分類模型中的灰度圖像包含有更多的惡意軟件區(qū)分性特征,使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果。[0105]作為本發(fā)明的一可選實(shí)施方式,如圖5所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0106]步驟s510,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將字節(jié)序列中的各字節(jié)分別轉(zhuǎn)換為無符號(hào)整數(shù)。[0107]示例性地,二進(jìn)制惡意軟件片段如圖6所示,兩個(gè)十六進(jìn)制數(shù)構(gòu)成一個(gè)字節(jié)。首先,將二進(jìn)制文件的每個(gè)字節(jié)依次轉(zhuǎn)換為無符號(hào)整數(shù),并將其存儲(chǔ)在向量中。向量通常的存儲(chǔ)方法是順序存儲(chǔ),每個(gè)元素在存儲(chǔ)中占用的空間大小相同,若第一個(gè)元素存放的位置是loc(k1),每個(gè)元素占用的元素大小為s,則元素ki的存放位置為:loc(ki)=loc(k1)+s×(i-1)。[0108]步驟s520,根據(jù)待檢測(cè)惡意軟件所占內(nèi)存大小,確定圖像二維尺寸。[0109]示例性地,提取待檢測(cè)惡意軟件的二進(jìn)制可執(zhí)行文件,讀取文件所占內(nèi)存大小,并根據(jù)文件所占內(nèi)存大小確定與其對(duì)應(yīng)的圖像的二維尺寸。[0110]步驟s530,各字節(jié)分別對(duì)應(yīng)一個(gè)像素點(diǎn),根據(jù)各字節(jié)的無符號(hào)整數(shù)確定各像素點(diǎn)的灰度值。[0111]示例性地,每個(gè)字節(jié)在圖像中都有確定的位置將與其對(duì)應(yīng),在其位置上對(duì)應(yīng)的灰度值根據(jù)無符號(hào)整數(shù)值的大小來確定,從0映射到255,其中0代表黑,255代表白,中間值表示其他不同灰度值。[0112]步驟s540,按照?qǐng)D像二維尺寸對(duì)各像素點(diǎn)依次排列,形成待檢測(cè)惡意軟件的第一灰度圖像。[0113]示例性地,將二進(jìn)制文件的每個(gè)字節(jié)依次轉(zhuǎn)換為無符號(hào)整數(shù),并將其存儲(chǔ)在向量中。讀取文件大小并指定圖像的大小。通過將這些向量轉(zhuǎn)換為[width,height]的2d數(shù)組,最后將2d數(shù)組可視化為[0,255]范圍內(nèi)的灰度圖像,此灰度圖像即為本實(shí)施例中的第一灰度圖像,也可稱為字節(jié)圖像。[0114]步驟s550,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件。[0115]步驟s560,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù)。[0116]步驟s570,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像。[0117]步驟s580,將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0118]本實(shí)施例中,步驟s550至步驟s580與上述實(shí)施例中的步驟s120至步驟s150類似,此處不再贅述。[0119]本發(fā)明實(shí)施例提供的惡意軟件分類方法,基于圖像的惡意軟件分類方法將字節(jié)序列轉(zhuǎn)換為統(tǒng)一的無符號(hào)整數(shù),避免受字節(jié)序列符號(hào)的影響無法匹配到對(duì)應(yīng)的灰度值。同時(shí)根據(jù)惡意軟件所占內(nèi)存大小來確定圖像二維尺寸,可以避免漏掉惡意軟件中的字符特征。并且由于傳統(tǒng)的檢測(cè)和分類方法是基于一個(gè)“惡意軟件庫”來分類的,分類的時(shí)候需要將惡意軟件與惡意軟件庫中的現(xiàn)有惡意軟件做匹配,來進(jìn)行分類。隨著新的惡意軟件的出現(xiàn),需要人工的更新惡意軟件庫。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,基于圖像的惡意軟件分類方法基于機(jī)器學(xué)習(xí)的模式,提取的是同類惡意軟件的共同特征,模型訓(xùn)練好后,即可穩(wěn)定運(yùn)行,可以有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。[0120]作為本發(fā)明的一可選實(shí)施方式,如圖7所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0121]步驟s710,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像。[0122]步驟s720,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;[0123]本實(shí)施例中,步驟s710至步驟s720與上述實(shí)施例中的步驟s110至步驟s120類似,此處不再贅述。[0124]步驟s730,基于匯編文件提取操作碼序列,確定n-gram算法滑動(dòng)窗口長度。[0125]示例性地,n-gram是一種基于統(tǒng)計(jì)語言模型的算法,經(jīng)常用于惡意軟件檢測(cè),自然語言處理等領(lǐng)域。它的基本思想是將文本里面的內(nèi)容按照字節(jié)進(jìn)行大小為n的滑動(dòng)窗口操作,形成了長度是n的字節(jié)片段序列。n為正整數(shù)。[0126]步驟s740,基于滑動(dòng)窗口長度,采用n-gram算法統(tǒng)計(jì)操作碼序列中各操作碼的出現(xiàn)頻數(shù)。[0127]示例性地,假設(shè)操作碼序列為abcdefgh,2-gram提取的操作碼特征[{ab},{bc},{cd},{de},{ef},{fg},{gh}];3-gram提取的操作碼特征[{abc},{bcd},{cde},{def},{efg},{fgh}];4-gram提取的操作碼特征[{abcd},{bcde},{cdef},{defg},{efgh}];5-gram提取的操作碼特征[{abcde},{bcdef},{cdefg},{defgh}]。當(dāng)操作碼序列足夠長時(shí),提取的操作碼特征必定會(huì)有一定數(shù)量的重復(fù)。本實(shí)施例所統(tǒng)計(jì)的操作碼的出現(xiàn)頻數(shù)即為同一操作碼重復(fù)出現(xiàn)的次數(shù)。利用n-gram進(jìn)行特征提取,可以較好的去掉一些作用不大的冗余特征,并且可以較好的獲得操作碼的局部信息。[0128]步驟s750,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像。[0129]步驟s760,將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0130]本實(shí)施例中,步驟s750至步驟s760與上述實(shí)施例中的步驟s140至步驟s150類似,此處不再贅述。[0131]本發(fā)明實(shí)施例提供的惡意軟件分類方法,由于傳統(tǒng)的檢測(cè)和分類方法是基于一個(gè)“惡意軟件庫”來分類的,分類的時(shí)候需要將惡意軟件與惡意軟件庫中的現(xiàn)有惡意軟件做匹配,來進(jìn)行分類。隨著新的惡意軟件的出現(xiàn),需要人工的更新惡意軟件庫。與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,基于圖像的惡意軟件分類方法基于機(jī)器學(xué)習(xí)的模式,提取的是同類惡意軟件的共同特征,模型訓(xùn)練好后,即可穩(wěn)定運(yùn)行,可以有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。同時(shí)由于操作碼更能具體地表示惡意軟件的特征,通過提取惡意軟件操作碼的方式來提取惡意軟件的特征并轉(zhuǎn)換到灰度圖像上,有效提高惡意軟件的分類精度。[0132]作為本發(fā)明的一可選實(shí)施方式,如圖8所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0133]步驟s810,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像。[0134]步驟s820,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件。[0135]步驟s830,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù)。[0136]本實(shí)施例中,步驟s810至步驟s830與上述實(shí)施例中的步驟s110至步驟s130類似,此處不再贅述。[0137]步驟s840,基于操作碼的頻數(shù),將各操作碼分別作為一個(gè)像素點(diǎn),根據(jù)各操作碼的頻數(shù)確定各像素點(diǎn)的灰度值,形成待檢測(cè)惡意軟件的第二灰度圖像。[0138]示例性地,每個(gè)操作碼在圖像中都有確定的位置將與其對(duì)應(yīng),在其位置上對(duì)應(yīng)的灰度值操作碼的頻數(shù)值的大小來確定,從0映射到255,其中0代表黑,255代表白,中間值表示其他不同灰度值。形成待檢測(cè)惡意軟件的第二灰度圖像。[0139]步驟s850,將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0140]本實(shí)施例中,步驟s850與上述實(shí)施例中的步驟s150類似,此處不再贅述。[0141]本發(fā)明實(shí)施例提供的惡意軟件分類方法,與傳統(tǒng)基于特征的惡意軟件檢測(cè)和分類方法相比,基于圖像的惡意軟件分類方法可以有效的減少手動(dòng)分析的人工成本,可以更高效地檢測(cè)和分類出新的惡意軟件。同時(shí)由于操作碼更能具體地表示惡意軟件的特征,通過提取惡意軟件操作碼的方式來提取惡意軟件的特征并轉(zhuǎn)換到灰度圖像上,有效提高惡意軟件的分類精度。[0142]作為本發(fā)明的一可選實(shí)施方式,如圖9所示,本發(fā)明實(shí)施例提供的惡意軟件分類方法包括:[0143]步驟s910,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;[0144]步驟s920,將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;[0145]步驟s930,基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);[0146]步驟s940,基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;[0147]本實(shí)施例中,步驟s910至步驟s940與上述實(shí)施例中的步驟s110至步驟s140類似,此處不再贅述。[0148]步驟s950,對(duì)第一灰度圖像,和/或,第二灰度圖像進(jìn)行標(biāo)準(zhǔn)化處理,將圖像的形狀統(tǒng)一為固定大小。[0149]示例性地,由于第一灰度圖像的二維尺寸和第二灰度圖像的二維尺寸與惡意軟件的二進(jìn)制可執(zhí)行文件所占內(nèi)存空間大小有關(guān),這種對(duì)應(yīng)關(guān)系的存在不可避免地導(dǎo)致不同惡意軟件的二進(jìn)制可執(zhí)行文件構(gòu)建出的灰度圖像二維尺寸不同,造成評(píng)價(jià)指標(biāo)不統(tǒng)一,在機(jī)器學(xué)習(xí)領(lǐng)域中,不同評(píng)價(jià)指標(biāo)往往具有不同的量綱和量綱單位,這樣的情況會(huì)影響到數(shù)據(jù)分析的結(jié)果,為了消除指標(biāo)之間的量綱影響,需要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,以解決數(shù)據(jù)指標(biāo)之間的可比性。原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級(jí),適合進(jìn)行綜合對(duì)比評(píng)價(jià)。所以在灰度圖像進(jìn)入分類模型之前需要將不同尺寸的灰度圖像進(jìn)行標(biāo)準(zhǔn)化處理,以便分類模型更易識(shí)別,提高分類模型的分類精度。[0150]步驟s960,將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。[0151]本實(shí)施例中,步驟s960與上述實(shí)施例中的步驟s150類似,此處不再贅述。[0152]本發(fā)明實(shí)施例提供的惡意軟件分類方法,對(duì)灰度圖像進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,消除評(píng)價(jià)指標(biāo)之間的量綱影響,以解決數(shù)據(jù)指標(biāo)之間的可比性。原始數(shù)據(jù)經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級(jí),適合進(jìn)行綜合對(duì)比評(píng)價(jià),提高分類模型的分類精度。[0153]為了驗(yàn)證上述實(shí)施例中提供的惡意軟件分類方法的性能,本發(fā)明實(shí)施例中進(jìn)行了如下實(shí)驗(yàn):[0154]1.數(shù)據(jù)集和實(shí)驗(yàn)設(shè)置[0155]1)數(shù)據(jù)集:為了驗(yàn)證提出的新圖像特征提取方法的性能,使用了kagglemicrosoftmalwareclassificationchallenge(microsoftmalwareclassificationchallenge(big2015)中使用的惡意軟件數(shù)據(jù)。表1總結(jié)了該數(shù)據(jù)集的詳細(xì)信息。該數(shù)據(jù)集全部為惡意軟件,共有10868個(gè)樣本,分為9類,包括二進(jìn)制和匯編文件。[0156]表1數(shù)據(jù)集的詳細(xì)信息[0157][0158][0159]2)實(shí)驗(yàn)設(shè)置:實(shí)驗(yàn)中使用的計(jì)算機(jī)操作系統(tǒng)是ubuntu18.04.5lts,計(jì)算機(jī)的中央處理單元是intelxeon(r)intelsilver4214cpu@2.20ghz×24。計(jì)算機(jī)的圖形處理單元是nvidiageforcertx3090。[0160]在機(jī)器學(xué)習(xí)中,選擇了隨機(jī)森林分類器和xgboost分類器,這些算法在scikit-learn(是針對(duì)python編程語言的免費(fèi)軟件機(jī)器學(xué)習(xí)庫)中實(shí)現(xiàn),采用網(wǎng)格搜索算法對(duì)超參數(shù)進(jìn)行優(yōu)化。以下結(jié)果中的多分類準(zhǔn)確度是5倍交叉驗(yàn)證得出的,訓(xùn)練集和測(cè)試集的比例為7:3。本發(fā)明實(shí)施例提出的cnn(resnet-50)模型通過tensorflow(是一個(gè)基于數(shù)據(jù)流編程的符號(hào)數(shù)學(xué)系統(tǒng),被廣泛應(yīng)用于各類機(jī)器學(xué)習(xí)算法的編程實(shí)現(xiàn))在keras(是一個(gè)由python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫,可以作為tensorflow的高階應(yīng)用程序接口,進(jìn)行深度學(xué)習(xí)模型的設(shè)計(jì)、調(diào)試、評(píng)估、應(yīng)用和可視化)中實(shí)現(xiàn)。數(shù)據(jù)集劃分為:80%的惡意軟件圖像用于訓(xùn)練,10%用于驗(yàn)證,其余10%用于測(cè)試。[0161]2.結(jié)果與結(jié)果分析[0162]1)基于惡意軟件字節(jié)圖像的多分類:在本實(shí)驗(yàn)中,從二進(jìn)制惡意軟件樣本中刪除一些無效字節(jié),例如“??”。對(duì)于字節(jié)數(shù)量不足的少量樣本,用0x00填充至相同大小。表2顯示了數(shù)據(jù)集轉(zhuǎn)換為不同字節(jié)圖像大小的分類精度。從結(jié)果可以看出,在連續(xù)采樣的情況下,逐漸增大字節(jié)圖像大小在一定程度上提高了惡意軟件家族的多分類精度,且cnn的分類效果優(yōu)于機(jī)器學(xué)習(xí)模型。[0163]連續(xù)采樣意味著,如果圖像大小為128×128,提取的惡意軟件的前128×128字節(jié)將轉(zhuǎn)換為圖像。間隔采樣是指根據(jù)每個(gè)文件的步長進(jìn)行采樣,并將其轉(zhuǎn)換為圖像。表3顯示了不同抽樣方法對(duì)分類精度的影響。在字節(jié)圖像大小相同的情況下,連續(xù)采樣明顯優(yōu)于間隔采樣。表2和表3中的結(jié)果確定字節(jié)圖像的最終大小(224×224)和采樣方法(連續(xù)采樣)。[0164]表2不同圖像大小對(duì)分類精度的影響(連續(xù)采樣)[0165][0166]表3不同采樣方法對(duì)分類精度的影響(圖像大?。?24×224)[0167]分類模型連續(xù)采樣間隔采樣隨機(jī)森林分類器0.85510.8244xgboost分類器0.92560.9003resnet-500.95210.9232[0168]2)基于惡意軟件n-gram操作碼圖像的多分類:在本實(shí)驗(yàn)中,n-gram中的n取3。為了加快模型的收斂速度,去除了一些總頻率較低的n-gram操作碼。表4顯示了數(shù)據(jù)集轉(zhuǎn)換為n-gram操作碼圖像的多分類精度。從分類結(jié)果可以看出,基于n-gram操作碼圖像的惡意軟件家族的分類效果都很好。原因是:用這種方法提取的n-gram操作碼頻率特征更明顯,更容易被分類器識(shí)別。[0169]表4基于n-gram操作碼圖像的多分類精度(圖像大小:224×224)[0170]分類模型n-gram操作碼圖像隨機(jī)森林分類器0.9786xgboost分類器0.9752resnet-500.9761[0171]3)字節(jié)圖像結(jié)合n-gram操作碼圖像的多分類,如圖10所示:[0172]方法1:將一個(gè)第一灰度圖像(224×224字節(jié)圖像)與一個(gè)第二灰度圖像(224×224同類型的n-gram操作碼圖像)結(jié)合起來,形成224×448的第三灰度圖像。[0173]方法2:將一個(gè)第一灰度圖像(224×224字節(jié)圖像)與一個(gè)第二灰度圖像(224×224同類型的n-gram操作碼圖像)放入到rgb的兩個(gè)通道中,另一個(gè)通道設(shè)置為0,形成新的224×224rgb圖像作為第四灰度圖像。表5顯示了字節(jié)圖像和n-gram操作碼圖像組合的多分類精度。當(dāng)組合圖像應(yīng)用于惡意軟件家族分類時(shí),性能明顯提高。[0174]表5基于字節(jié)圖像和n-gram操作碼圖像的多分類精度[0175]分類模型方法1方法2隨機(jī)森林分類器0.97540.9809xgboost分類器0.98740.9827resnet-500.98610.9834[0176]4)時(shí)間和內(nèi)存消耗:表6顯示了提取上述三個(gè)特征的時(shí)間和內(nèi)存消耗(所有結(jié)果均在相同的實(shí)驗(yàn)環(huán)境中進(jìn)行)。此外,雖然新的圖像特征提取比字節(jié)圖像需要更多的時(shí)間和內(nèi)存,但實(shí)驗(yàn)結(jié)果顯著改善。與n-gram操作碼圖像的時(shí)間消耗和內(nèi)存消耗相近,惡意軟件的分類效果也略有改善。[0177]表6提取特征的時(shí)間和內(nèi)存消耗[0178]特征時(shí)間(分鐘)內(nèi)存(gb)字節(jié)圖像51.030.091n-gram操作碼圖像305.3725.26兩個(gè)圖像結(jié)合354.1825.26[0179]5)resnet-50下的loss和精度曲線:圖11和圖12顯示了訓(xùn)練resnet-50(batch_size=32)網(wǎng)絡(luò)的loss和精度曲線。結(jié)果說明了新的圖像在訓(xùn)練過程中的收斂和穩(wěn)定。即使輸入模型大小不同,訓(xùn)練也保持穩(wěn)定。[0180]綜上所述,本發(fā)明中,使用了一種基于字節(jié)圖像和操作碼圖像的惡意軟件分類方法,并提出了一個(gè)由字節(jié)圖像和操作碼圖像組成的集成學(xué)習(xí)模型。在windows可執(zhí)行樣本的kaggle數(shù)據(jù)集上評(píng)估了該模型,獲得了98.61%的高精度結(jié)果。實(shí)驗(yàn)結(jié)果表明,這些圖像中的視覺紋理和模式能夠準(zhǔn)確地對(duì)惡意軟件進(jìn)行分類,兩種圖像特征組合的分類效果優(yōu)于單一圖像特征的分類效果。此外,還證明,在惡意軟件分類任務(wù)中,使用深度學(xué)習(xí)cnn模型學(xué)習(xí)的特征顯著優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)模型。[0181]圖13為本發(fā)明一實(shí)施例提供的一種惡意軟件分類的裝置,本實(shí)施例中的惡意軟件分類裝置包括:[0182]第一構(gòu)建模塊1310,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s110的描述,在此不再贅述。[0183]生成模塊1320,用于將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s120的描述,在此不再贅述。[0184]統(tǒng)計(jì)模塊1330,用于基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù)。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s130的描述,在此不再贅述。[0185]第二構(gòu)建模塊1340,用于基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s140的描述,在此不再贅述。[0186]分類模塊1350,用于將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s150的描述,在此不再贅述。[0187]作為本發(fā)明一個(gè)可選實(shí)施方式,分類模塊1350包括:[0188]第一分類子模塊,用于將第一灰度圖像和第二灰度圖像進(jìn)行拼接,形成第三灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s350的描述,在此不再贅述。[0189]第一輸入模塊,用于將第三灰度圖像輸入到分類模型中。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s360的描述,在此不再贅述。[0190]作為本發(fā)明一個(gè)可選實(shí)施方式,分類模塊1350包括:[0191]第二分類子模塊,用于將第一灰度圖像和第二灰度圖像分別輸入顏系統(tǒng)不同通道進(jìn)行圖像融合,形成第四灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s450的描述,在此不再贅述。[0192]第二輸入模塊,用于將第四灰度圖像輸入到分類模型中。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s460的描述,在此不再贅述。[0193]作為本發(fā)明一個(gè)可選實(shí)施方式,第一構(gòu)建模塊1310包括:[0194]提取子模塊,用于提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將字節(jié)序列中的各字節(jié)分別轉(zhuǎn)換為無符號(hào)整數(shù)。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s510的描述,在此不再贅述。[0195]第一確定子模塊,用于根據(jù)待檢測(cè)惡意軟件所占內(nèi)存大小,確定圖像二維尺寸。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s520的描述,在此不再贅述。[0196]第二確定子模塊,用于各字節(jié)分別對(duì)應(yīng)一個(gè)像素點(diǎn),根據(jù)各字節(jié)的無符號(hào)整數(shù)確定各像素點(diǎn)的灰度值。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s530的描述,在此不再贅述。[0197]第一構(gòu)建子模塊,用于按照?qǐng)D像二維尺寸對(duì)各像素點(diǎn)依次排列,形成待檢測(cè)惡意軟件的第一灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s540的描述,在此不再贅述。[0198]作為本發(fā)明一個(gè)可選實(shí)施方式,統(tǒng)計(jì)模塊1330包括:[0199]第三確定子模塊,用于確定n-gram算法滑動(dòng)窗口長度。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s730的描述,在此不再贅述。[0200]統(tǒng)計(jì)子模塊,用于基于滑動(dòng)窗口長度,采用n-gram算法統(tǒng)計(jì)操作碼序列中各操作碼的出現(xiàn)頻數(shù)。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s740的描述,在此不再贅述。[0201]作為本發(fā)明一個(gè)可選實(shí)施方式,第二構(gòu)建模塊1340包括:[0202]第二構(gòu)建子模塊,用于將各操作碼分別作為一個(gè)像素點(diǎn),根據(jù)各操作碼的頻數(shù)確定各像素點(diǎn)的灰度值,形成待檢測(cè)惡意軟件的第二灰度圖像。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s840的描述,在此不再贅述。[0203]作為本發(fā)明一個(gè)可選實(shí)施方式,惡意軟件分類裝置還包括:[0204]標(biāo)準(zhǔn)化模塊,用于對(duì)第一灰度圖像,和/或,第二灰度圖像進(jìn)行標(biāo)準(zhǔn)化處理,將圖像的形狀統(tǒng)一為固定大小。詳細(xì)內(nèi)容參見上述實(shí)施例中步驟s950的描述,在此不再贅述。[0205]本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,如圖14所示,該設(shè)備包括一個(gè)或多個(gè)處理器1410以及存儲(chǔ)器1420,存儲(chǔ)器1420包括持久內(nèi)存、易失內(nèi)存和硬盤,圖14中以一個(gè)處理器1410為例。該設(shè)備還可以包括:輸入裝置1430和輸出裝置1440。[0206]處理器1410、存儲(chǔ)器1420、輸入裝置1430和輸出裝置1440可以通過總線或者其他方式連接,圖14中以通過總線連接為例。[0207]處理器1410可以為中央處理器(centralprocessingunit,cpu)。處理器1410還可以為其他通用處理器、數(shù)字信號(hào)處理器[0208](digitalsignalprocessor,dsp)、專用集成電路[0209](applicationspecificintegratedcircuit,asic)、現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等芯片,或者上述各類芯片的組合。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。存儲(chǔ)器1420可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)惡意軟件分類裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器1420可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非暫態(tài)存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非暫態(tài)固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器1420可選包括相對(duì)于處理器1410遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至惡意軟件分類裝置。輸入裝置1430可接收用戶輸入的計(jì)算請(qǐng)求(或其他數(shù)字或字符信息),以及產(chǎn)生與惡意軟件分類裝置有關(guān)的鍵信號(hào)輸入。輸出裝置1440可包括顯示屏等顯示設(shè)備,用以輸出計(jì)算結(jié)果。[0210]本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,該計(jì)算機(jī)可執(zhí)行指令可執(zhí)行上述任意方法實(shí)施例中的惡意軟件分類方法。其中,存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read-onlymemory,rom)、隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)、快閃存儲(chǔ)器[0211](flashmemory)、硬盤(harddiskdrive,縮寫:hdd)或固態(tài)硬盤(solid-statedrive,ssd)等;存儲(chǔ)介質(zhì)還可以包括上述種類的存儲(chǔ)器的組合。[0212]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram),只讀存儲(chǔ)器(read-onlymemory,rom),可擦除可編輯只讀存儲(chǔ)器(erasableprogrammableread-onlymemory,eprom或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(compactdiscread-onlymemory,cdrom)。另外,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)甚至可以是可在其上打印程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。[0213]應(yīng)當(dāng)理解,本公開的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(programmablegatearray,pga),現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga)等。[0214]在本說明書的描述中,參考術(shù)語“本實(shí)施例”、“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本公開的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。在本公開描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。[0215]以上僅為本公開的較佳實(shí)施例而已,并不用以限制本公開,凡在本公開實(shí)質(zhì)內(nèi)容上所作的任何修改、等同替換和簡單改進(jìn)等,均應(yīng)包含在本公開的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12

技術(shù)特征:


1.一種惡意軟件分類方法,其特征在于,包括:提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建所述惡意軟件的第一灰度圖像;將所述待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;基于所述匯編文件提取操作碼序列,統(tǒng)計(jì)所述操作碼序列中各操作碼的頻數(shù);基于所述操作碼的頻數(shù),構(gòu)建所述待檢測(cè)惡意軟件的第二灰度圖像;將所述第一灰度圖像和所述第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。2.根據(jù)權(quán)利要求1所述的惡意軟件分類方法,其特征在于,所述將所述第一灰度圖像和所述第二灰度圖像輸入到分類模型中,包括:將所述第一灰度圖像和所述第二灰度圖像進(jìn)行拼接,形成第三灰度圖像;將所述第三灰度圖像輸入到分類模型中。3.根據(jù)權(quán)利要求1所述的惡意軟件分類方法,其特征在于,所述將所述第一灰度圖像和所述第二灰度圖像輸入到分類模型中,包括:將所述第一灰度圖像和所述第二灰度圖像分別輸入顏系統(tǒng)不同通道進(jìn)行圖像融合,形成第四灰度圖像;將所述第四灰度圖像輸入到分類模型中。4.根據(jù)權(quán)利要求1所述的惡意軟件分類方法,其特征在于,所述提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)成所述待檢測(cè)惡意軟件的第一灰度圖像,包括:提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將所述字節(jié)序列中的各字節(jié)分別轉(zhuǎn)換為無符號(hào)整數(shù);根據(jù)所述待檢測(cè)惡意軟件所占內(nèi)存大小,確定圖像二維尺寸;各字節(jié)分別對(duì)應(yīng)一個(gè)像素點(diǎn),根據(jù)各字節(jié)的無符號(hào)整數(shù)確定各像素點(diǎn)的灰度值;按照所述圖像二維尺寸對(duì)各像素點(diǎn)依次排列,形成所述待檢測(cè)惡意軟件的第一灰度圖像。5.根據(jù)權(quán)利要求1所述的惡意軟件分類方法,其特征在于,所述基于所述匯編文件提取操作碼序列,統(tǒng)計(jì)所述操作碼序列中各操作碼的頻數(shù),包括:確定n-gram算法滑動(dòng)窗口長度;基于所述滑動(dòng)窗口長度,采用n-gram算法統(tǒng)計(jì)所述操作碼序列中各操作碼的出現(xiàn)頻數(shù)。6.根據(jù)權(quán)利要求1所述的惡意軟件分類方法,其特征在于,所述基于所述操作碼的頻數(shù),構(gòu)建所述待檢測(cè)惡意軟件的第二灰度圖像,包括:將各所述操作碼分別作為一個(gè)像素點(diǎn),根據(jù)各操作碼的頻數(shù)確定各像素點(diǎn)的灰度值,形成所述待檢測(cè)惡意軟件的第二灰度圖像。7.根據(jù)權(quán)利要求1-6任一項(xiàng)所述的惡意軟件分類方法,其特征在于,在基于所述操作碼的頻數(shù)構(gòu)建所述待檢測(cè)惡意軟件的第二灰度圖像的步驟之后,在將所述第一灰度圖像和所述第二灰度圖像輸入到分類模型中的步驟之前,所述方法還包括:對(duì)所述第一灰度圖像,和/或,第二灰度圖像進(jìn)行標(biāo)準(zhǔn)化處理,將圖像的形狀統(tǒng)一為固
定大小。8.一種惡意軟件分類的裝置,其特征在于,包括:第一構(gòu)建模塊,提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建所述惡意軟件的第一灰度圖像;生成模塊,用于將所述待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;統(tǒng)計(jì)模塊,用于基于所述匯編文件提取操作碼序列,統(tǒng)計(jì)所述操作碼序列中各操作碼的頻數(shù);第二構(gòu)建模塊,用于基于所述操作碼的頻數(shù),構(gòu)建所述待檢測(cè)惡意軟件的第二灰度圖像;分類模塊,用于將所述第一灰度圖像和所述第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。9.一種計(jì)算機(jī)設(shè)備,其特征在于,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;存儲(chǔ)器,用于存放計(jì)算機(jī)程序;處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的惡意軟件分類方法的步驟。10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的惡意軟件分類方法的步驟。

技術(shù)總結(jié)


本發(fā)明提供了一種惡意軟件分類方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),其中,惡意軟件分類方法包括:提取待檢測(cè)惡意軟件的可執(zhí)行文件的字節(jié)序列,將每個(gè)字節(jié)數(shù)據(jù)作為一個(gè)像素點(diǎn)構(gòu)建惡意軟件的第一灰度圖像;將待檢測(cè)惡意軟件的可執(zhí)行文件進(jìn)行反匯編生成匯編文件;基于匯編文件提取操作碼序列,統(tǒng)計(jì)操作碼序列中各操作碼的頻數(shù);基于操作碼的頻數(shù),構(gòu)建待檢測(cè)惡意軟件的第二灰度圖像;將第一灰度圖像和第二灰度圖像輸入到分類模型中,得到待檢測(cè)惡意軟件的分類結(jié)果。本發(fā)明通過集合了兩種基于單一圖像特征的惡意軟件檢測(cè)和分類方法,使得最終的惡意軟件檢測(cè)達(dá)到了更加穩(wěn)定的性能和更加精準(zhǔn)的分類效果。準(zhǔn)的分類效果。準(zhǔn)的分類效果。


技術(shù)研發(fā)人員:

張馳亞 李金平 何春龍

受保護(hù)的技術(shù)使用者:

哈爾濱工業(yè)大學(xué)(深圳)

技術(shù)研發(fā)日:

2022.07.20

技術(shù)公布日:

2023/1/19


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-76777-0.html

來源:專利查詢檢索下載-實(shí)用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請(qǐng)保留出處。本站文章發(fā)布于 2023-01-25 08:34:32

發(fā)表評(píng)論

驗(yàn)證碼:
用戶名: 密碼: 匿名發(fā)表
評(píng)論列表 (有 條評(píng)論
,2人圍觀
參與討論