沙盒成為人們關(guān)注的焦點(diǎn)已經(jīng)是 10 年前的事了,當(dāng)時(shí)它的出現(xiàn)成為安全行業(yè)的救世主。但是黑客們不可能坐視不理,現(xiàn)在已經(jīng)出現(xiàn)了各種破壞沙盒的方法。是時(shí)候該重新考慮沙盒的安全性問題了。
前言
曾幾何時(shí),沙盒技術(shù)是安全行業(yè)最受期待的一項(xiàng)技術(shù)成果。今天,它被安全研究人員廣泛使用,嵌入到端點(diǎn)檢測(cè)和響應(yīng)(EDR)和下一代防病毒(NGAV)等現(xiàn)代安全解決方案中,用作軟件開發(fā)工作流程的一部分,并被許多用戶用來測(cè)試未知或安全環(huán)境中不受信任的軟件。據(jù)預(yù)測(cè),沙盒的市場(chǎng)規(guī)模將從 2016 年的 29 億美元增長到2022 年的 90 億美元。
然而,如果您仔細(xì)想想,其實(shí)沙盒技術(shù)并沒有兌現(xiàn)其最初的承諾。沙盒技術(shù)的承諾是什么?那就是揭開未知的真面目——將未知變?yōu)橐阎?。但是,有一些威脅即使使用今天的沙盒技術(shù)也無法檢測(cè)到,因此,有許多企業(yè)或組織因?yàn)槊つ肯嘈虐踩澈卸淮虻妙^破血流。我們可以在多大程度上依賴于沙盒呢?成為一個(gè)值得討論的話題。
在本文中,我將重點(diǎn)討論安全沙盒的故事——什么是沙盒,它的作用是什么?沙盒的種類有哪些?沙盒存在哪些問題?以及為什么我們今天不應(yīng)該依賴沙盒作為唯一可行的安全解決方案。
什么是沙盒,它的作用是什么?
沙盒(英語:sandbox,又譯為沙箱)是計(jì)算機(jī)安全領(lǐng)域中的一種安全機(jī)制,為運(yùn)行中的程序提供的隔離環(huán)境。通常是作為一些來源不可信、具破壞力或無法判定程序意圖的程序提供實(shí)驗(yàn)之用。
沙盒通常嚴(yán)格控制其中的程序所能訪問的資源,比如,沙盒可以提供用后即回收的磁盤及內(nèi)存空間。在沙盒中,網(wǎng)絡(luò)訪問、對(duì)真實(shí)系統(tǒng)的訪問、對(duì)輸入設(shè)備的讀取通常被禁止或是嚴(yán)格限制。從這個(gè)角度來說,沙盒屬于虛擬化的一種。
沙盒中的所有改動(dòng)對(duì)操作系統(tǒng)不會(huì)造成任何損失。通常,這種技術(shù)被計(jì)算機(jī)技術(shù)人員廣泛用于測(cè)試可能帶毒的程序或是其他的惡意代碼。
綜上所述,沙盒的作用是阻止應(yīng)用軟件訪問所有系統(tǒng)資源和用戶數(shù)據(jù)。因此,它成為主動(dòng)進(jìn)行惡意軟件分析和檢測(cè)的基礎(chǔ)。就像在安全設(shè)施中進(jìn)行炸彈威力測(cè)試一樣。沙盒測(cè)試在安全隔離的環(huán)境中執(zhí)行或引爆代碼,在該環(huán)境中可以安全地觀察代碼和輸出活動(dòng)的行為。另外,最近推出的沙盒甚至具備探測(cè)和消除威脅的功能,可以檢測(cè)其他工具遺漏的威脅,并幫助管理員快速從生產(chǎn)環(huán)境中刪除這些威脅。
沙盒的種類
一是從沙盒的創(chuàng)建方法上可分為:
全系統(tǒng)仿真:模擬主機(jī)物理硬件的沙盒,包括內(nèi)存和 CPU。
操作系統(tǒng)仿真:模擬最終用戶操作系統(tǒng)的沙盒。它不模擬機(jī)器硬件。
虛擬化:基于虛擬機(jī)(VM)的沙盒,包含并檢查可疑程序。
二是從沙盒的安全解決方案上可分為:
瀏覽器沙盒,例如Google Chrome、Firefox 和 Safari 中內(nèi)置的沙盒。
瀏覽器端點(diǎn)檢測(cè)與響應(yīng)(EDR),它可以讓安全團(tuán)隊(duì)了解端點(diǎn)瀏覽器上遭受的攻擊,并使用沙盒隔離威脅。
VirtualBox等通用虛擬機(jī)(VM),也可用于隔離可疑的惡意軟件。
安全沙盒“不再安全”的五大原因
10年前,沙盒以絢麗的光芒出現(xiàn)在整個(gè)安全行業(yè)面前,它被公認(rèn)為是可以徹底解決所有安全問題的神奇魔法。然而,就像世界上所有的安全解決方案都會(huì)受到攻擊者的研究分析一樣,沙盒也開始逐漸成為攻擊者關(guān)注的焦點(diǎn)?,F(xiàn)在,沙盒同其它安全軟件一樣,淪落為可以被攻掠的安全解決方案之一。
從目前的情況來看,無條件地盲目相信和信任沙盒是非常不安全的。也就是說,現(xiàn)在僅憑沙盒無法解決所有安全問題。以下是沙盒不再安全且無法在企業(yè)環(huán)境中用作有效安全控制的五個(gè)原因:
其一,在調(diào)查和分析過程中使用沙盒仍然是一種不錯(cuò)選擇。但是,在威脅檢測(cè)方面,沙盒并不可靠。在沙盒中進(jìn)行檢測(cè)需要一定的時(shí)間,這是因?yàn)楸仨氁獙?shí)際運(yùn)行惡意軟件,才能真正觸發(fā)惡性行為。因此,在當(dāng)今這個(gè)惡意軟件和可疑程序?qū)映霾桓F、亟待分析的時(shí)代,使用沙盒作為檢測(cè)工具是低效的。沙盒只能用于已知或可疑性比較大的惡意軟件的調(diào)查和分析——這意味著必須有一個(gè)預(yù)先檢測(cè)機(jī)制。
其二,對(duì)于當(dāng)前的攻擊者來說,逃離沙盒并不是一件難事。現(xiàn)有的可實(shí)現(xiàn)權(quán)限提升的漏洞不計(jì)其數(shù),其中大部分都與 Windows 內(nèi)核有關(guān)。如果獲得內(nèi)核權(quán)限,就可以逃離沙盒。對(duì)于攻擊者來說,在暗網(wǎng)上尋找并購買提升權(quán)限的漏洞是件非常簡(jiǎn)單的事情。
其三,沙盒容易受到社會(huì)工程攻擊的影響。幾乎所有的沙盒環(huán)境都是在特定用戶的權(quán)限下管理的。也就是說,如果慫恿或欺騙負(fù)責(zé)管理的用戶,以某種方式阻止特定軟件通過沙盒,那么再強(qiáng)大的沙盒也會(huì)失效。這種行為可以通過社交工程攻擊實(shí)現(xiàn),而網(wǎng)絡(luò)攻擊者往往十分擅長社會(huì)工程攻擊。
其四,沙盒的界面并不完美。無論是第一次接觸沙盒環(huán)境的人,還是因過于熟悉沙盒環(huán)境而失去更多警惕性的用戶,只要不小心點(diǎn)擊一下,都足以將沙盒中的各種惡意軟件釋放到生產(chǎn)環(huán)境中。
其五,最新推出的惡意軟件基本都具備規(guī)避檢測(cè)和迂回技術(shù)。多年來,攻擊者一直致力于沙盒規(guī)避技術(shù)的研究。許多類型的惡意軟件使用諸如延遲執(zhí)行、鼠標(biāo)和鍵盤輸入模式分析、硬件環(huán)境評(píng)估和其他檢查等技術(shù)來識(shí)別惡意軟件是在沙盒中還是在真實(shí)用戶環(huán)境中。如果發(fā)現(xiàn)是在沙盒環(huán)境中,惡意軟件會(huì)立即停止工作,還可以避開沙盒環(huán)境直接滲透到主機(jī)環(huán)境中。有些攻擊者甚至能夠利用虛擬機(jī)軟件的安全漏洞來發(fā)動(dòng)攻擊,對(duì)虛擬機(jī)造成損壞。
基于上述原因,我們可以得出結(jié)論:只依賴于沙盒作為唯一的安全防護(hù)措施是不行的,是不安全的。
更高級(jí)的沙盒可以解決這些問題嗎?
答案是悲觀的。在攻擊者和沙盒開發(fā)者之間正在進(jìn)行的“軍備競(jìng)賽”中,一方開發(fā)更復(fù)雜的技術(shù)來逃避或逃離沙盒,而另一方則改進(jìn)檢測(cè)和遏制此類攻擊的措施。但是,沙盒技術(shù)研發(fā)人員在這場(chǎng)“競(jìng)賽”中處于劣勢(shì)。
惡意軟件技術(shù)每提升一次,理論上就可以使用任意數(shù)量的資源來規(guī)避或破壞沙盒。但是,由于沙盒需要進(jìn)行大量的掃描,因此必須非常高效。然而,隨著沙盒變得越來越復(fù)雜,它們也變得更加繁瑣、更占用資源——這使得沙盒在生產(chǎn)活動(dòng)中的實(shí)用性也變得越來越低。
即便如此,我們也并不主張廢除沙盒,不能說沙盒是無用之物。只是強(qiáng)調(diào)沙盒技術(shù)也擺脫不了黑客和安全行業(yè)之間的“軍備競(jìng)賽”。安全行業(yè)應(yīng)該始終領(lǐng)先于黑客一步,但以現(xiàn)在的狀態(tài),沙盒技術(shù)無法做到這一點(diǎn),現(xiàn)在黑客技術(shù)比現(xiàn)有的沙盒技術(shù)更高一籌?!暗栏咭怀吣Ц咭徽伞保覀円胝镜酶?,就要解決剛才提到的五個(gè)問題。
在此之前,所有將沙盒作為其防御系統(tǒng)基本框架的組織都應(yīng)該清醒地認(rèn)識(shí)到“沙盒是當(dāng)今不安全的技術(shù)”?;谶@個(gè)事實(shí),我們應(yīng)該構(gòu)建一個(gè)新的防御架構(gòu)。即使現(xiàn)在的沙盒技術(shù)比黑客領(lǐng)先一步,時(shí)間也不會(huì)太長。因?yàn)楹诳蛡儠?huì)通過一次又一次的研究不斷地改進(jìn)攻擊策略。因此,我們必須要有長遠(yuǎn)的眼光來完善和保護(hù)我們的沙盒,或者開始評(píng)估其他安全措施,以取代或補(bǔ)充曾經(jīng)久負(fù)盛名的安全沙盒。
結(jié)語
沙盒技術(shù)是運(yùn)行風(fēng)險(xiǎn)應(yīng)用程序或者訪問潛在危險(xiǎn)網(wǎng)站的嘗試性技術(shù),有很多方法可以創(chuàng)建沙盒環(huán)境。但首先,我們需要考慮與沙盒技術(shù)有關(guān)的所有因素和所有風(fēng)險(xiǎn)問題。安全防護(hù)永遠(yuǎn)都應(yīng)該是多層次多方面的,所以我們不能僅僅依賴于沙盒環(huán)境來提供全面的保護(hù)。