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