最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Malware Classification with Deep Convolutional Neural Networks

2021-08-25 12:21 作者:吾愛破解論壇  | 我要投稿

作者論壇賬號(hào):?LegendSaber


一. 前言
深度學(xué)習(xí)作為近年來的一個(gè)熱點(diǎn)話題,廣泛應(yīng)用與各個(gè)領(lǐng)域。在惡意代碼識(shí)別領(lǐng)域也有不少學(xué)者進(jìn)行相關(guān)的研究。論壇中好像還沒有相關(guān)的討論,也不知道大家是否有興趣。這邊選取一篇2018年發(fā)表的論文來簡(jiǎn)單描述一下深度學(xué)習(xí)在Windows平臺(tái)上面惡意代碼識(shí)別的應(yīng)用,看看各位安全人士的反應(yīng),如果有興趣,之后在繼續(xù)討論其他論文。對(duì)于CV和NLP方向的大佬也可以了解一下,轉(zhuǎn)換思路,也不至于在那兩個(gè)方向上面一直卷。。
關(guān)于深度學(xué)習(xí)的入門的話。這邊就推薦李航的統(tǒng)計(jì)學(xué)習(xí),西瓜書和花書。視頻推薦吳恩達(dá)和李宏毅兩位老師的視頻,在小破站上面都可以觀看,這篇文章就不詳細(xì)說明模型了,那樣篇幅太長(zhǎng)。
論文原文鏈接是:https://ieeexplore.ieee.org/document/8328749(Malware Classification with Deep Convolutional Neural Networks)


二.數(shù)據(jù)集
數(shù)據(jù)集對(duì)于結(jié)果的影響可以說是舉足輕重,在現(xiàn)有技術(shù)基礎(chǔ)上數(shù)據(jù)集的好壞甚至比你算法的好壞都重要的多(就挺尷尬的←_←)。而數(shù)據(jù)集無非就是對(duì)一組可以表述相關(guān)問題的特征罷了
那么在惡意代碼識(shí)別方面,我們最后落地的項(xiàng)目真正要分析的其實(shí)就是一個(gè)二進(jìn)制PE文件。那么有哪些可以作為數(shù)據(jù)集輸入呢?大致可以分為這四種:
1.硬編碼。每個(gè)程序生成的二進(jìn)制文件的硬編碼都是獨(dú)一無二的。
2.匯編助記符。既然硬編碼都不一樣,那么生成的助記符自然也是獨(dú)一無二的。
3.API。每個(gè)程序要完成不一樣的功能自然要調(diào)用相關(guān)的不同的API,我們也可以根據(jù)他調(diào)用的API來進(jìn)行分類。(當(dāng)然這個(gè)方法比較容易被干掉。。)
4.PE。每個(gè)程序的PE文件保存了程序的相關(guān)信息。我們可以根據(jù)PE文件的內(nèi)容作為輸入。
本文選取的是硬編碼作為數(shù)據(jù)的輸入。這邊參考一篇2011年的論文,來看看如何處理硬編碼來作為模型的輸入。
論文原文鏈接:https://dl.acm.org/doi/10.1145/2016904.2016908(Malware Images: Visualization and Automatic??Classification)
作者處理完以后的數(shù)據(jù)集稱為Maling數(shù)據(jù)集,在該領(lǐng)域也得到的廣泛的應(yīng)用和認(rèn)可。該數(shù)據(jù)集是對(duì)25個(gè)家族的惡意程序進(jìn)行分類,類別如下圖。一共9千條左右的數(shù)據(jù)集,其中8000左右的數(shù)據(jù)集我們用來訓(xùn)練,900左右的數(shù)據(jù)集用來訓(xùn)練。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ????


我們知道一字節(jié)等于8比特。用十進(jìn)制表示范圍的話那就是0-255。既然如此我們就可以把一個(gè)二進(jìn)制文件的每一個(gè)字節(jié)都當(dāng)作一個(gè)像素點(diǎn)來生成圖片,然后在使用CV方向提出的模型來解決。轉(zhuǎn)換過程就如下圖所示。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??


這里有一個(gè)問題就是,每一個(gè)二進(jìn)制文件所包含的字節(jié)數(shù)是不同的,那我們?cè)趺催x擇寬與高呢。作者在他的論文中給出了轉(zhuǎn)換的大小對(duì)于的原則如下圖。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??


這里還需要說明的是在生成的過程中,我們把PE的頭部信息等都去掉了,只保留了各個(gè)節(jié)的內(nèi)容,這也合理。因?yàn)轭^部信息主要是描述程序的信息,并無具體行為。可以看到不同的節(jié)生成的圖像差別還是挺大的。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??


根據(jù)上面所說的方法我們生成的不同家族的二進(jìn)制文件的圖像如下,我們可以看到不同的家族生成的圖像紋理存在比較大的差別,這就給我們的分類帶來了便捷。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ????


三.模型
作者的模型如下圖,該模型是對(duì)VGG16的簡(jiǎn)單更改,刪除了其中的Dropout層。作為一個(gè)多分類問題,自然而然選擇的損失函數(shù)就是cross_entropy,優(yōu)化器選擇的是SGD。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??


本人對(duì)作者的論文內(nèi)容進(jìn)行了復(fù)現(xiàn)。選擇的是Pytorch框架來進(jìn)行復(fù)現(xiàn)。其中,Python版本為3.6.13,Pytorch版本為1.8.1。
相關(guān)參數(shù)根據(jù)要求在Configure.py保存著。大家只需要更改base_path即可進(jìn)行運(yùn)行。由于代碼中已經(jīng)給出了必要的注釋這里就不貼出代碼,大家可以自行下載參考。在我的機(jī)器上最后訓(xùn)練出的模型在測(cè)試集跑出的精度為97.96。

論壇原文地址:https://www.52pojie.cn/thread-1497415-1-1.html

Malware Classification with Deep Convolutional Neural Networks的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
潜江市| 隆尧县| 南部县| 普洱| 阿克陶县| 北票市| 玉田县| 镇安县| 洛川县| 大竹县| 云梦县| 阿城市| 漯河市| 乾安县| 深水埗区| 黄龙县| 花垣县| 金华市| 河东区| 绿春县| 彭泽县| 托克逊县| 松滋市| 盐山县| 潮安县| 法库县| 思南县| 如皋市| 澄江县| 东乌珠穆沁旗| 长宁区| 开远市| 临城县| 泊头市| 荆州市| 宜丰县| 比如县| 神池县| 安溪县| 田阳县| 富平县|