來(lái)源:https://cuckoo.sh/docs/introduction/index.html
這是Cuckoo沙箱的介紹性章節(jié)汹碱。它解釋了一些基本的惡意軟件分析概念菜职,什么是Cuckoo和它如何能適應(yīng)惡意軟件分析朴恳。
一窜骄、沙箱
正如維基百科所定義的闪彼,“在計(jì)算機(jī)安全中婿滓,沙箱是分離運(yùn)行程序的一種安全機(jī)制老速。它通常用于執(zhí)行未經(jīng)測(cè)試的代碼,或來(lái)自未經(jīng)驗(yàn)證的第三方凸主、供應(yīng)商橘券、不可信用戶和不可信網(wǎng)站的不可信程序。
這個(gè)概念也適用于惡意軟件分析的沙箱:我們的目標(biāo)是在一個(gè)隔離的環(huán)境中運(yùn)行一個(gè)未知的卿吐、不可信的應(yīng)用程序或文件旁舰,并獲得它所做的信息。
惡意軟件沙箱是動(dòng)態(tài)分析方法的一個(gè)實(shí)際應(yīng)用:它不是靜態(tài)分析二進(jìn)制文件嗡官,而是實(shí)時(shí)執(zhí)行和監(jiān)控箭窜。
這種方法顯然有優(yōu)點(diǎn)也有缺點(diǎn),但它是獲取惡意軟件額外細(xì)節(jié)(如其網(wǎng)絡(luò)行為)的一種有價(jià)值的技術(shù)衍腥。因此磺樱,在檢查惡意軟件時(shí)同時(shí)進(jìn)行靜態(tài)和動(dòng)態(tài)分析是一個(gè)很好的實(shí)踐纳猫,以便對(duì)其有更深的了解。
雖然簡(jiǎn)單竹捉,Cuckoo是一個(gè)工具芜辕,讓你執(zhí)行沙盒惡意軟件分析。
二块差、使用沙箱
在開(kāi)始安裝侵续、配置和使用Cuckoo之前,您應(yīng)該花一些時(shí)間考慮如何使用Cuckoo憨闰。
你應(yīng)該問(wèn)自己一些問(wèn)題:
(1)我想分析什么樣的文件?
(2)我希望能夠處理多少分析?
(3)我想使用哪個(gè)平臺(tái)來(lái)運(yùn)行我的分析?
(4)關(guān)于這個(gè)文件状蜗,我需要什么樣的信息?
創(chuàng)建隔離環(huán)境(例如虛擬機(jī))可能是沙箱部署中最關(guān)鍵也是最重要的部分:應(yīng)該謹(jǐn)慎地進(jìn)行,并進(jìn)行適當(dāng)?shù)囊?guī)劃鹉动。
在獲得您選擇的虛擬化產(chǎn)品之前轧坎,您應(yīng)該已經(jīng)有了一個(gè)定義如下的設(shè)計(jì)計(jì)劃:
(1)使用哪種操作系統(tǒng)、語(yǔ)言和補(bǔ)丁級(jí)別训裆。
(2)安裝哪個(gè)軟件和哪個(gè)版本(在分析漏洞時(shí)尤為重要)眶根。
考慮到自動(dòng)的惡意軟件分析是不確定的,它的成功可能取決于一萬(wàn)億的因素:你試圖讓一個(gè)惡意軟件在一個(gè)虛擬系統(tǒng)中運(yùn)行边琉,就像它在一個(gè)本地系統(tǒng)上運(yùn)行一樣,這可能是難以實(shí)現(xiàn)的记劝,也可能不總是成功变姨。您的目標(biāo)應(yīng)該是創(chuàng)建一個(gè)能夠處理您需要的所有需求的系統(tǒng),并盡可能使其成為現(xiàn)實(shí)厌丑。
例如定欧,你可以考慮留下一些正常使用的痕跡,比如瀏覽歷史怒竿、cookie砍鸠、文檔、圖片等耕驰。
虛擬化的操作系統(tǒng)通常會(huì)攜帶大量的痕跡,這使得它們很容易被發(fā)現(xiàn)朦肘。即使您不應(yīng)該過(guò)高估計(jì)這個(gè)問(wèn)題,您也可能想要解決這個(gè)問(wèn)題媒抠,并盡量隱藏盡可能多的虛擬化跟蹤。在互聯(lián)網(wǎng)上有很多關(guān)于虛擬化檢測(cè)技術(shù)和對(duì)策的文獻(xiàn)趴生。
一旦您完成了您想要的系統(tǒng)原型的設(shè)計(jì)和準(zhǔn)備阀趴,您就可以繼續(xù)創(chuàng)建和部署它。你總是能及時(shí)地改變事情或者稍微修正它們刘急,但是要記住,從長(zhǎng)遠(yuǎn)來(lái)看排霉,好的計(jì)劃總是意味著更少的麻煩。
二攻柠、Cuckoo是什么?
Cuckoo是一個(gè)開(kāi)源的自動(dòng)惡意軟件分析系統(tǒng)。
它被用來(lái)自動(dòng)運(yùn)行和分析文件瑰钮,并收集全面的分析結(jié)果冒滩,概述惡意軟件運(yùn)行在一個(gè)孤立的操作系統(tǒng)。
它可以檢索以下類(lèi)型的結(jié)果:
(1)追蹤由惡意軟件產(chǎn)生的所有進(jìn)程執(zhí)行的調(diào)用浪谴。
(2)惡意軟件在執(zhí)行過(guò)程中創(chuàng)建开睡、刪除和下載文件。
(3)惡意軟件進(jìn)程的內(nèi)存輸出苟耻。
(4)PCAP格式的網(wǎng)絡(luò)流量跟蹤篇恒。
(5)在執(zhí)行惡意軟件期間的截圖。
(6)機(jī)器的全部?jī)?nèi)存輸出凶杖。
三胁艰、Cuckoo歷史
布谷鳥(niǎo)沙箱開(kāi)始作為谷歌夏季代碼項(xiàng)目在2010年在蜜網(wǎng)項(xiàng)目忍燥。它最初是由Claudio“nex”Guarnieri設(shè)計(jì)和開(kāi)發(fā)的蹋砚,他仍然是項(xiàng)目領(lǐng)導(dǎo)和核心開(kāi)發(fā)者。
在2010年夏天進(jìn)行了最初的工作之后珊擂,第一個(gè)測(cè)試版于2011年2月5日發(fā)布杈湾,《布谷鳥(niǎo)》首次公開(kāi)發(fā)行解虱。
2011年3月,Cuckoo在谷歌Code 2011夏季項(xiàng)目中通過(guò)Honeynet項(xiàng)目再次被選為支持項(xiàng)目漆撞,期間Dario Fernandes加入該項(xiàng)目并擴(kuò)展了其功能殴泰。
2011年11月2日布谷鳥(niǎo)發(fā)布其0.2版本,作為第一個(gè)真正穩(wěn)定的版本向公眾發(fā)布叫挟。2011年11月底艰匙,Alessandro“jekil”Tanasi加入了擴(kuò)展Cuckoo處理和報(bào)告功能的團(tuán)隊(duì)。
2011年12月抹恳,布谷鳥(niǎo)v0.3發(fā)布员凝,并在2月初迅速發(fā)布0.3.2。
2012年1月底奋献,我們開(kāi)設(shè)了Malwr.com健霹,這是一個(gè)免費(fèi)的公共運(yùn)行的布谷鳥(niǎo)沙箱實(shí)例旺上,它提供了一個(gè)功能齊全的界面,人們可以通過(guò)這個(gè)界面提交文件進(jìn)行分析并返回結(jié)果糖埋。
2012年3月宣吱,布谷鳥(niǎo)沙箱獲得Rapid7主辦的“華麗7級(jí)”第一輪比賽冠軍。
在2012年夏天瞳别,Jurriaan“skier”Bremer加入開(kāi)發(fā)團(tuán)隊(duì)征候,對(duì)Windows分析組件進(jìn)行重構(gòu),提高了分析的質(zhì)量祟敛。
2012年7月24日布谷鳥(niǎo)沙地0.4釋放
2012年12月20日疤坝,布谷鳥(niǎo)沙箱0.5“到世界末日”上映。
2013年4月15日馆铁,在發(fā)布了Malwr.com的第二版后不久跑揉,我們發(fā)布了Cuckoo Sandbox 0.6。
2013年8月1日埠巨,克勞迪奧·“nex”·瓜尼耶里、尤利安·布雷默和馬克·“rep”·施勒瑟在拉斯維加斯黑帽球場(chǎng)提出了“惡意軟件”問(wèn)題——布谷鳥(niǎo)沙箱望侈。
2014年1月9日甜无,布谷鳥(niǎo)沙箱1.0發(fā)布哥遮。
2014年3月布谷鳥(niǎo)基金會(huì)誕生為非營(yíng)利組織眠饮,致力于布谷鳥(niǎo)沙箱成長(zhǎng)及周邊項(xiàng)目及倡議仪召。
2014年4月7日松蒜,布谷鳥(niǎo)沙箱1.1發(fā)布秸苗。
2014年10月7日,布谷鳥(niǎo)沙箱1.1.1在羅伯特·米歇爾披露了一個(gè)關(guān)鍵漏洞后發(fā)布惊楼。
在2015年3月4日,布谷鳥(niǎo)沙箱1.2發(fā)布雅倒,在布谷鳥(niǎo)的可用性方面有了廣泛的改進(jìn)蔑匣。
在2015年夏天布谷鳥(niǎo)沙箱開(kāi)始開(kāi)發(fā)Mac OS X惡意軟件分析作為一個(gè)谷歌夏季代碼項(xiàng)目?jī)?nèi)的蜜網(wǎng)項(xiàng)目。Dmitry Rodionov獲得了該項(xiàng)目的資格凿将,并為Mac OS X開(kāi)發(fā)了一款可以工作的分析儀趴久。
2016年2月21日彼棍,2.0版候選1版發(fā)布。這個(gè)版本通過(guò)將近兩年的共同努力使布谷鳥(niǎo)沙箱成為一個(gè)更好的日常使用項(xiàng)目座硕。
四华匾、用例
Cuckoo被設(shè)計(jì)成既可以作為獨(dú)立的應(yīng)用程序使用蜘拉,也可以集成到更大的框架中,這要?dú)w功于它極其模塊化的設(shè)計(jì)旭旭〕旨模可用于分析:
(1)Generic Windows executables
(2)DLL files
(3)PDF documents
(4)Microsoft Office documents
(5)URLs and HTML files
(6)PHP scripts
(7)CPL files
(8)Visual Basic (VB) scripts
(9)ZIP files
(10)Java JAR
(11)Python files
(12)Almost anything else
由于它的模塊化和強(qiáng)大的腳本功能稍味,使用Cuckoo來(lái)實(shí)現(xiàn)的功能是無(wú)限的。
有關(guān)定制布谷鳥(niǎo)的更多信息烛愧,請(qǐng)參閱定制一章。
五验庙、體系結(jié)構(gòu)
布谷鳥(niǎo)沙箱由一個(gè)中央管理軟件組成粪薛,處理樣品的執(zhí)行和分析搏恤。
每個(gè)分析都在一個(gè)獨(dú)立的虛擬或物理機(jī)器中啟動(dòng)熟空。布谷鳥(niǎo)的基礎(chǔ)設(shè)施的主要組件是主機(jī)(管理軟件)和一些客戶機(jī)器(虛擬或物理機(jī)器進(jìn)行分析)。
主機(jī)運(yùn)行沙盒的核心組件掂咒,管理整個(gè)分析過(guò)程迈喉,而客戶端是隔離的環(huán)境挨摸,惡意軟件樣本在這里得到安全的執(zhí)行和分析得运。
以下圖片解釋了布谷鳥(niǎo)的主要架構(gòu):
六熔掺、獲得Cuckoo
雖然Cuckoo仍然可以從網(wǎng)站下載,但我們不鼓勵(lì)這樣做窍帝,因?yàn)橥ㄟ^(guò)pip安裝Cuckoo是獲得Cuckoo的首選方式。請(qǐng)參閱安裝Cuckoo(https://cuckoo.sh/docs/installation/host/installation.html)疯坤。
Cuckoo可以從發(fā)布穩(wěn)定和打包版本的官方網(wǎng)站下載,也可以從我們的官方git存儲(chǔ)庫(kù)中克隆眠冈。