Agent-based Vs Agent-less Sandbox for Dynamic Behavioral Analysis
來(lái)源:https://arxiv.org/ftp/arxiv/papers/1904/1904.02100.pdf
摘要:惡意軟件可以通過(guò)靜態(tài)分析或動(dòng)態(tài)分析進(jìn)行檢測(cè)和分類秦躯。在靜態(tài)分析中,對(duì)惡意軟件樣本進(jìn)行逆向工程和分析裆装,從而構(gòu)建惡意軟件的簽名踱承。這些技術(shù)可以通過(guò)多態(tài)倡缠、變形惡意軟件、混淆和打包技術(shù)輕易地挫敗茎活,而在動(dòng)態(tài)分析中毡琉,惡意軟件樣本是在受控的環(huán)境中使用沙箱技術(shù)執(zhí)行的,以便對(duì)惡意軟件的行為建模妙色。本文通過(guò)基于代理和無(wú)代理的動(dòng)態(tài)沙箱系統(tǒng)對(duì)Petya、Spyeye慧耍、volatile lecedar身辨、PAFISH等進(jìn)行了分析,以研究和測(cè)試它們?cè)诟呒?jí)惡意軟件檢測(cè)中的效率芍碧。
一煌珊、引言
惡意軟件也被稱為“Malware”,在網(wǎng)絡(luò)安全領(lǐng)域[1]出現(xiàn)了大量的變種泌豆。賽門鐵克(Symantec)的互聯(lián)網(wǎng)安全報(bào)告得出結(jié)論定庵,2016年[2]開發(fā)了3.5億個(gè)惡意軟件變種,而熊貓安全(Panda security)表示踪危,2013年[3]平均每天出現(xiàn)16萬(wàn)個(gè)新的惡意軟件程序蔬浙。惡意軟件變種的顯著增長(zhǎng)是由于計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)的普遍性,以及獲取計(jì)算機(jī)系統(tǒng)和/或其數(shù)據(jù)的潛在經(jīng)濟(jì)利益贞远。
盡管幾種方法基于淺架構(gòu)已經(jīng)使用在過(guò)去的AV公司來(lái)檢測(cè)惡意軟件變種,要么是基于簽名的[4],或heuristic-based[5],惡意軟件的作者常常選擇實(shí)現(xiàn)健壯的畴博、隱秘的和成熟的方法,如模糊、多態(tài)病毒和變形機(jī)制,為了阻礙商業(yè)殺毒軟件公司蓝仲。為了應(yīng)對(duì)每天被發(fā)現(xiàn)的數(shù)以千計(jì)的新惡意軟件樣本俱病,安全公司和分析人員使用了不同的技術(shù)。惡意軟件樣本通常通過(guò)靜態(tài)和動(dòng)態(tài)分析進(jìn)行分析袱结。在靜態(tài)分析中亮隙,只分析惡意軟件樣本的可執(zhí)行二進(jìn)制文件,不執(zhí)行二進(jìn)制文件垢夹。由于該技術(shù)使用模式識(shí)別的概念溢吻,并使用惡意軟件二進(jìn)制代碼中的公共字節(jié)序列來(lái)檢測(cè)惡意軟件簽名,因此被反病毒公司廣泛用于檢測(cè)惡意軟件果元。這種技術(shù)速度快煤裙,不需要任何受控的環(huán)境來(lái)運(yùn)行示例,但是很容易通過(guò)混淆噪漾、打包和代碼重新排列技術(shù)來(lái)阻止它硼砰,而且它不能覆蓋零日惡意軟件攻擊[6]。在動(dòng)態(tài)分析惡意軟件中欣硼,為了了解運(yùn)行時(shí)行為题翰,樣本在受控環(huán)境中執(zhí)行和監(jiān)視。這種方法是計(jì)算密集型的,因?yàn)樗枰谝粋€(gè)隔離的沙箱環(huán)境中運(yùn)行惡意軟件樣本豹障,以獲得構(gòu)件和特性冯事,但它在描述惡意軟件樣本時(shí)往往具有更高的準(zhǔn)確性。這種技術(shù)與底層代碼無(wú)關(guān)血公,可以很容易地繞過(guò)代碼混淆和多態(tài)編碼昵仅。
安全分析人員廣泛使用不同的技術(shù)、工具和機(jī)制來(lái)執(zhí)行行為分析累魔。惡意軟件行為建模最廣泛使用的工具之一是Cuckoo摔笤,盡管研究人員也更喜歡使用VirMon和WINAPIOverride32等工具來(lái)進(jìn)行惡意軟件分析。所有這些工具都有各自的優(yōu)缺點(diǎn)垦写,最終影響到特征工程過(guò)程吕世,有時(shí)由于這些工具本身的局限性而忽略了非常重要的特征,導(dǎo)致分類系統(tǒng)性能低下梯投。在本文中命辖,我們旨在比較基于代理和無(wú)代理沙箱在檢測(cè)復(fù)雜的惡意軟件變體方面的效率和有效性。我們使用基于Cuckoo代理的沙箱和VMRay無(wú)代理沙箱對(duì)惡意軟件進(jìn)行行為建模分蓖,之后尔艇,我們通過(guò)檢測(cè)一般惡意軟件,更具體地說(shuō)么鹤,檢測(cè)復(fù)雜的惡意軟件漓帚,來(lái)衡量這些工具的有效性。
二午磁、相關(guān)工作
惡意軟件檢測(cè)尝抖、聚類和分類也是學(xué)術(shù)研究人員和行業(yè)專業(yè)人士的熱門話題,在這里我們將介紹到目前為止用于檢測(cè)惡意軟件的不同方法迅皇。首先描述了一些使用靜態(tài)特性的方法昧辽,然后解釋了動(dòng)態(tài)特性。[7]的作者使用靜態(tài)分析從門戶可執(zhí)行文件中提取n-gram特征來(lái)檢測(cè)惡意軟件和良性樣本登颓,然后使用這些特征來(lái)區(qū)分良性樣本和惡意樣本搅荞。在最近的一項(xiàng)研究中,Opcode被用來(lái)檢測(cè)惡意文件[8]框咙。惡意軟件樣本被逆向工程咕痛,以獲得一個(gè)操作碼,這是機(jī)器語(yǔ)言指令的一部分喇嘱,并描述要執(zhí)行的操作茉贡。它在區(qū)分合法軟件和惡意軟件方面起著重要的作用。在[9]中者铜,作者提出了一個(gè)基于字節(jié)頻率檢測(cè)惡意軟件變體的模型腔丧。在這個(gè)模型中放椰,如果可疑的惡意軟件的字節(jié)頻率與某些已知的惡意軟件類相似,就可以檢測(cè)到它愉粤。在[10]中砾医,重點(diǎn)是API序列,它在大多數(shù)惡意軟件文件中出現(xiàn)的頻率更高衣厘,然后對(duì)序列應(yīng)用相似性度量如蚜。在[11]中,研究人員提出了一個(gè)模型影暴,通過(guò)計(jì)算動(dòng)態(tài)鏈接庫(kù)错邦、api和PE頭等特征的頻率來(lái)檢測(cè)可疑樣本,然后利用這些信息獲取特征選擇坤检,將樣本標(biāo)記為惡意或良性。在[12]中期吓,提出了一種基于n-gram特征向量的惡意軟件分類系統(tǒng)早歇。通過(guò)對(duì)網(wǎng)絡(luò)級(jí)構(gòu)件的動(dòng)態(tài)分析,得到網(wǎng)絡(luò)級(jí)構(gòu)件讨勤,構(gòu)造n-gram特征向量箭跳,用于惡意軟件的分類。本文作者聲稱潭千,通過(guò)使用多種機(jī)器學(xué)習(xí)算法谱姓,分類準(zhǔn)確率達(dá)到80%。[13]的研究人員分析了系統(tǒng)狀態(tài)的變化刨晴,如創(chuàng)建的新進(jìn)程的數(shù)量屉来、編寫的文件等。該方法是在未知的惡意軟件變種上進(jìn)行評(píng)估狈癞,這些變種的簽名在當(dāng)時(shí)是不可用的茄靠,并使用基于單鏈聚類的樹結(jié)構(gòu)來(lái)度量不同惡意軟件組之間的相似性。
在[14]中蝶桶,作者試圖解決一個(gè)與惡意軟件打包有關(guān)的問(wèn)題慨绳,這是一種基于混淆方法的技術(shù),用于在軟件中隱藏惡意代碼真竖。為了解決這個(gè)問(wèn)題脐雪,作者提出了一種生成每個(gè)打包惡意軟件簽名的技術(shù)。分析數(shù)據(jù)集分為兩部分恢共。第一部分用于構(gòu)建不同系統(tǒng)實(shí)體之間的關(guān)系战秋,包括過(guò)程、系統(tǒng)寄存器等讨韭,另一部分用于測(cè)試和評(píng)估获询。[15]的作者提出了一種基于定量數(shù)據(jù)流模型的檢測(cè)系統(tǒng)涨岁,然后用圖來(lái)描述不同系統(tǒng)實(shí)體之間的通信,包括進(jìn)程吉嚣、系統(tǒng)寄存器等梢薪。[16]的研究人員得出結(jié)論,惡意軟件通常會(huì)對(duì)數(shù)據(jù)序列進(jìn)行重復(fù)操作尝哆,比如執(zhí)行解密或加密的循環(huán)秉撇,這可以通過(guò)迭代系統(tǒng)調(diào)用模式挖掘來(lái)解決。在[17]中秋泄,假定每個(gè)可執(zhí)行文件的行為都可以由其運(yùn)行時(shí)寄存器內(nèi)容的值表示琐馆。
[18]的研究人員使用4-gram來(lái)建模API調(diào)用序列。通過(guò)比較所有4-gram樣本的平均置信度恒序,將樣本分為惡意軟件類和良性類瘦麸。
[19]通過(guò)使用優(yōu)先級(jí)參數(shù),通過(guò)系統(tǒng)調(diào)用及其參數(shù)歧胁,引入了一個(gè)基于2-gram特性的模型樣例行為滋饲。它成功地識(shí)別出具有類似行為的新型惡意軟件,并將未知的惡意軟件分配給這些發(fā)現(xiàn)的類喊巍。[20]的研究人員將惡意軟件中出現(xiàn)的作為段威脅的良性文件構(gòu)建的函數(shù)庫(kù)去除屠缭,計(jì)算段熵,提取每個(gè)段的3-gram操作碼崭参。
在[21]中呵曹,與傳統(tǒng)技術(shù)相比,作者使用迭代模式挖掘來(lái)檢測(cè)惡意軟件何暮,其假設(shè)是惡意軟件對(duì)從正在運(yùn)行的感染到正在運(yùn)行的循環(huán)(執(zhí)行解密/加密過(guò)程)等數(shù)據(jù)序列進(jìn)行重復(fù)操作奄喂。該研究的作者將整個(gè)過(guò)程分為五個(gè)步驟。在第一步中海洼,他們收集惡意軟件樣本砍聊,在下一步中,他們通過(guò)在VMWARE和Qemu等受控的虛擬環(huán)境中運(yùn)行這些樣本贰军,捕獲與操作系統(tǒng)api的PE交互玻蝌。在這個(gè)步驟API中,調(diào)用日志用于構(gòu)造數(shù)據(jù)集词疼,而且俯树,在這個(gè)步驟中,它們看到迭代API模式出現(xiàn)的次數(shù)超過(guò)最小閾值贰盗。在最后一步许饿,他們使用模式特征作為一個(gè)數(shù)據(jù)集來(lái)分類惡意軟件溯香。采用不同的算法對(duì)SVM谬莹、隨機(jī)森林等模型進(jìn)行訓(xùn)練剃允,其準(zhǔn)確率達(dá)到95%逮刨,檢出率為98.4%。
三瓦糟、提出了研究工作
正如第二節(jié)所總結(jié)的筒愚,先前的研究導(dǎo)致了能夠?qū)阂廛浖M(jìn)行動(dòng)態(tài)分析的平臺(tái)。這是兩種類型:基礎(chǔ)動(dòng)態(tài)分析和高級(jí)動(dòng)態(tài)分析平臺(tái)菩浙。使用Capture-Bat巢掺、Regshot、APATE DNS劲蜻、PEID陆淀、PE explorer、Sysinternal等動(dòng)態(tài)分析工具進(jìn)行分析先嬉,使用Virmon轧苫、Cuckoo、WINAPIOverride32等高級(jí)動(dòng)態(tài)分析工具對(duì)惡意軟件行為進(jìn)行建模疫蔓。先進(jìn)的動(dòng)態(tài)分析平臺(tái)的測(cè)試都是基于agent的含懊,他們通常會(huì)把自己的agent放到分析機(jī)上去捕捉惡意軟件的特性,但是當(dāng)前的惡意軟件是足夠智能的鳄袍,當(dāng)他們發(fā)現(xiàn)自己在被基于agent的沙箱分析時(shí)绢要,可以繞過(guò)分析吏恭,并在分析之前引爆自己拗小。在本研究中,我們采用了基于agent和無(wú)agent的沙箱樱哼,并在這些環(huán)境中執(zhí)行惡意軟件集哀九,以找出最適合捕獲復(fù)雜惡意軟件特征的沙箱,如圖1所示搅幅。
為了進(jìn)行這項(xiàng)研究阅束,我們使用了兩個(gè)不同的試驗(yàn)臺(tái),一個(gè)布谷鳥沙盒和另一個(gè)VMRay分析儀沙盒茄唐。Cuckoo Sandbox是一個(gè)被廣泛使用的開源平臺(tái)息裸,用于在受控環(huán)境中模擬惡意軟件的行為。它是在2010年谷歌贊助的夏季代碼項(xiàng)目中作為一個(gè)夏季項(xiàng)目開發(fā)的沪编。該惡意軟件分析系統(tǒng)的目的是為創(chuàng)建呼盆、刪除、API調(diào)用蚁廓、參數(shù)和返回值等提供惡意軟件的自動(dòng)分析访圃。Cuckoo主要關(guān)注DLL、PDF相嵌、office文檔腿时,以及不同的windows可執(zhí)行文件况脆,并進(jìn)一步考慮Java文件。VMRay Analyzer是一種針對(duì)惡意軟件的無(wú)代理動(dòng)態(tài)行為分析工具批糟。與其他建立沙盒解決方案在市場(chǎng)上,它是嵌入在hypervisor為了監(jiān)控惡意軟件的行為,克服傳統(tǒng)沙箱的問(wèn)題,因此惡意軟件可能無(wú)法檢測(cè)到它被引爆控制環(huán)境選擇VMRay分析器的一個(gè)原因是它克服前進(jìn)逃避技術(shù)和選擇的另一個(gè)原因是其重要特性例如逃避阻力,可定制的自動(dòng)化,方便部署,VMRay的聲譽(yù)引擎和無(wú)縫集成如表二所示格了。
在第一個(gè)實(shí)驗(yàn)中,我們使用了VMware workstation version(12.5.9)虛擬環(huán)境跃赚,在虛擬環(huán)境中我們搭建了一個(gè)安裝了Cuckoo sandbox的Ubuntu虛擬機(jī)(16.04 LTS)笆搓,對(duì)惡意軟件進(jìn)行動(dòng)態(tài)分析,得到惡意軟件的構(gòu)件纬傲,了解惡意軟件的行為满败。為了在Ubuntu的控制環(huán)境中執(zhí)行惡意軟件,我們?cè)赪indows XP- sp3機(jī)器上設(shè)置了VBox叹括,并在XP虛擬機(jī)上安裝了cuckoo agent等軟件算墨,使其能夠有效地捕捉惡意變種在執(zhí)行時(shí)的行為。在第二個(gè)實(shí)驗(yàn)臺(tái)上汁雷,我們使用了VMRay analyzer净嘀,它托管在VMRay云環(huán)境中,VMRay analyzer公司給予我們30天的特殊訪問(wèn)權(quán)限來(lái)進(jìn)行實(shí)驗(yàn)侠讯。實(shí)驗(yàn)環(huán)境在云中配置了幾乎所有版本的Windows從Windows XP SP1挖藏、SP2和SP3, Windows 7, Windows 8和10(所有服務(wù)包),此外,為了更清楚地了解行為這些機(jī)器配置了所有必要的軟件例如MS Office 2007, 2010, 2013,閱讀器版本9、10厢漩、12等膜眠。在我們提出的概念模型中,我們使用了Cuckoo和VMRayanalyzer溜嗜,如圖2和圖3所示宵膨,對(duì)兩種沙箱提取的偽影進(jìn)行了對(duì)比,如表2所示炸宵。
四辟躏、實(shí)驗(yàn)結(jié)果
我們從不同的來(lái)源(如傳染源轉(zhuǎn)儲(chǔ)和動(dòng)物園)獲取惡意樣本,并在兩個(gè)環(huán)境中執(zhí)行這些樣本土全。在這里捎琐,我們提到了其中幾個(gè)的結(jié)果,包括勒索軟件Petya裹匙、Spyeye瑞凑、Volatile Cedear、Dyre和PAFISH幻件。這些示例分別在基于代理和無(wú)代理的環(huán)境下拨黔,在不同版本的Windows上執(zhí)行,例如Windows 7 (SP-1 32位和64位)、Windows 8(64位)和Windows 10(64位)篱蝇,如圖4所示贺待。使用兩種不同類型的沙箱(i)基于代理的沙箱和ii)無(wú)代理沙箱工具,通過(guò)動(dòng)態(tài)分析機(jī)制分析惡意樣本的行為和行為零截。我們通過(guò)在基于代理和無(wú)代理沙箱環(huán)境中執(zhí)行不同的惡意軟件樣本進(jìn)行了實(shí)證分析麸塞,發(fā)現(xiàn)無(wú)代理沙箱在檢測(cè)復(fù)雜的惡意軟件時(shí)更有效,當(dāng)發(fā)現(xiàn)自己被沙箱代理檢測(cè)時(shí)涧衙,這些惡意軟件會(huì)繞過(guò)或崩潰哪工。這項(xiàng)研究背后的動(dòng)機(jī)是對(duì)這些惡意軟件變體的行為進(jìn)行建模,這些變體能夠阻止代理的基本沙箱弧哎,因此它們不會(huì)被檢測(cè)到雁比。
在分析過(guò)程中,我們密切監(jiān)控了操作資源中發(fā)生的變化撤嫩,例如DNS請(qǐng)求偎捎、HTTP請(qǐng)求、文件相關(guān)活動(dòng)序攘、注冊(cè)表相關(guān)活動(dòng)茴她、API調(diào)用及其返回值、服務(wù)活動(dòng)程奠、IRC命令以及我們?cè)趯?shí)驗(yàn)中看到的進(jìn)程樹丈牢。在布谷鳥Petya通常給我們非常有限的功能,無(wú)法產(chǎn)生的功能瞄沙,這有助于了解惡意軟件的行為己沛。
在我們看來(lái),這背后的原因是帕识,幾乎所有的高級(jí)惡意軟件通常在執(zhí)行時(shí)監(jiān)視運(yùn)行的環(huán)境泛粹,在找到分析平臺(tái)時(shí)遂铡,它們通常會(huì)停止執(zhí)行肮疗,或者在某些情況下只給出不重要的特性,而相反扒接,當(dāng)這些高級(jí)惡意軟件在無(wú)代理沙箱中執(zhí)行時(shí)伪货,結(jié)果完全相反,我們能夠捕獲一些非常重要的特性钾怔,例如零天檢測(cè)碱呼,如表2所示,我們發(fā)現(xiàn)這些特性在設(shè)計(jì)先進(jìn)的威脅檢測(cè)和緩解平臺(tái)時(shí)會(huì)起到重要的作用宗侦,我們將在未來(lái)的工作中證明這些特性的重要性愚臀,因此通過(guò)分析,我們得出這樣的結(jié)論:在捕獲智能惡意軟件和提取其特性方面矾利,無(wú)代理沙盒更加有效和健壯姑裂。
五馋袜、未來(lái)工作
本次會(huì)議討論了我們未來(lái)的工作和框架,包括三個(gè)階段:監(jiān)視階段舶斧、特性工程階段和學(xué)習(xí)階段欣鳖。
在監(jiān)控階段,我們會(huì)從不同的類中提取惡意軟件樣本茴厉,然后執(zhí)行它們來(lái)控制環(huán)境泽台,從而對(duì)惡意軟件的行為進(jìn)行建模。對(duì)于行為分析矾缓,我們將使用國(guó)產(chǎn)的內(nèi)置式無(wú)代理沙箱或者一些開源的無(wú)代理沙箱怀酷,如圖5所示。使用這個(gè)工具的原因是嗜闻,我們從實(shí)驗(yàn)中發(fā)現(xiàn)胰坟,無(wú)代理沙箱是一種規(guī)避機(jī)制,現(xiàn)在復(fù)雜的惡意軟件和apt可以檢測(cè)到它泞辐,因此笔横,他們停止執(zhí)行。此外咐吼,[23]中使用的功能也將被考慮在內(nèi)吹缔,這樣我們就可以從惡意軟件的執(zhí)行中收集盡可能多的信息。
B.特征工程階段
在這個(gè)階段锯茄,將根據(jù)API調(diào)用及其參數(shù)創(chuàng)建特性集厢塘,這是通過(guò)從本地工具或開源工具生成的文本文件中提取字符串信息來(lái)實(shí)現(xiàn)的。一旦我們得到了特性肌幽,我們將應(yīng)用特性選擇技術(shù)來(lái)獲得重要的特性集晚碾。在這一階段的最后階段,我們將使用不同的NLP技術(shù)喂急,例如n-gram格嘁,將特征轉(zhuǎn)換為二進(jìn)制向量,然后將其輸入到deep learning algorithm進(jìn)行訓(xùn)練廊移,如圖6所示糕簿。
C.學(xué)習(xí)驗(yàn)證階段
在這一階段,將二元向量給出給學(xué)習(xí)算法狡孔,如圖6所示懂诗。在我們的例子中,我們將使用生成算法和我們將關(guān)注深層信念網(wǎng)絡(luò)DBN和使用這背后的原因是,他們很善于創(chuàng)造的不變表示對(duì)象即使特定對(duì)象改變它的大小,對(duì)比,角度等,他們產(chǎn)生了很有前景的結(jié)果在許多圖像分類項(xiàng)目,而且具有精度高。此外苗膝,還將探討博弈論模型和信任的應(yīng)用殃恒。
VI.CONCLUSION
本文回顧了過(guò)去通過(guò)靜態(tài)或動(dòng)態(tài)分析檢測(cè)惡意軟件的方法,發(fā)現(xiàn)動(dòng)態(tài)分析是一種有效的惡意軟件行為分析方法。動(dòng)態(tài)分析通常是在沙箱環(huán)境中進(jìn)行的离唐,在我們的研究中我們發(fā)現(xiàn)傳統(tǒng)的沙箱并沒有規(guī)避阻力隆嗅,因?yàn)樗鼈儗⒆约旱拇韥G棄在控制環(huán)境中,而控制環(huán)境可以被智能惡意軟件檢測(cè)到侯繁,因此它們?cè)趯ふ掖頃r(shí)并沒有解包或執(zhí)行胖喳,所以在我們的研究中我們發(fā)現(xiàn)無(wú)代理沙箱是動(dòng)態(tài)分析的最佳解決方案。