沙箱與容器之間有什么區(qū)別?
容器和沙箱是在談論惡意軟件防護時經常提到的兩個術語,很多企業(yè)想知道哪種方法最好。答案是兩者相結合,但是很多企業(yè)可能負擔不起或缺乏部署這兩種方法的專業(yè)技能。為了找到適合你企業(yè)特定需求的最佳選擇,重要的是要了解如何使用它們。
在談論沙箱和軟件容器之間的區(qū)別前,你需要先了解一些事情。現在,大多數企業(yè)已經將應用程序容器和虛擬化用于很多不同目的,其中很多與安全性息息相關,其中包括:
- 他們使用VM在虛擬數據中心或IaaS中運行安全工具。
- 他們使用虛擬機管理程序功能(例如快照)來幫助支持配置管理和修復。
- 他們使用容器來支持微服務和服務網格架構。
- 他們同時使用VM和容器來支持DevOps工具鏈中安全活動的自動化。
不過,在這篇文章中,我們將探討如何使用這些工具來專門支持沙箱。幾年前,沙箱開始流行,當時大家意識到惡意軟件仍然可能繞過防病毒軟件并感染網絡。防病毒的問題在于,所有系統都需要在計算機上安裝基于簽名的代理,并且必須定期更新它們,為端點提供機會來抵御惡意軟件。由于防病毒并不能捕獲所有內容-即使保持其更新并安裝在工作站,于是沙箱的使用開始增加。
VM沙箱安全模型
從本質上講,沙箱是關于創(chuàng)建隔離的獨立環(huán)境,你可將其用于特定安全目的,例如FreeBSD。例如,對于反惡意軟件,你可以使用隔離的沙箱引爆惡意軟件樣本以查看其行為。通過運行可疑惡意軟件樣本并觀察其行為,你可以觀察攻擊方法,以了解你為何成為攻擊目標。在未知軟件的情況下,你可以使用此方法來確定文件是否可以安全地在托管端點運行。如果該軟件不執(zhí)行任何惡意操作,則可以將其中繼給最終用戶。同樣,對于可疑的惡意軟件樣本,你可以使用此技術來進一步研究惡意軟件。這可以讓你知道你是否是復雜攻擊活動(例如民族國家)的目標,還是只是被機器人或腳本小子隨機地作為目標。
虛擬機管理程序提供兩個功能,使此技術更安全。首先,它們以無孔方式執(zhí)行分段。在現代環(huán)境中,我們使用虛擬化,這意味著分段邊界至關重要。考慮到現在很多企業(yè)使用多租戶IaaS,我們很可能看到數據被竊取或者嘗試跨VM分段邊界的攻擊,例如企業(yè)可以從同一虛擬機管理程序上竊取數據、破壞或以其他方式攻擊其他VM。其次,虛擬機監(jiān)控程序讓我們有選擇地限制或阻止VM可以執(zhí)行的操作。例如,它可以防止工作負載在網絡上發(fā)送或接收數據,或者可以使用快照將損壞的VM恢復到已知可靠狀態(tài)。
在這種方式下,基于虛擬機的沙箱依賴于多個虛擬機來捕獲流量,使其進入和流出網絡,并充當惡意活動檢測的檢查點。這種沙箱的目的是獲取未知文件,并在其中一個VM中引爆它們,以確定該文件是否可安全安裝。由于惡意軟件作者可以使用多種逃避技術來使文件看起來安全,因此這并不總是萬無一失的解決方案,但確實可提供額外的防御層。
容器沙箱安全模型
我們可以使用的另一種方法是軟件容器。現在有多種不同的部署模式。Docker和Rocket等工具可創(chuàng)建隔離的應用程序環(huán)境;分段是在OS級別執(zhí)行-在這種情況下,使用Linux名稱空間和cgroup。某些操作系統中還內置了基于容器的配置,例如Linux中的chroot jails或Windows的Windows Sandbox。
從使用的角度來看,你可以將容器中的所有內容指定為始終不受信任,從而使你能夠創(chuàng)建單獨的隔離環(huán)境,該環(huán)境不會影響基礎主機。在這種使用情況下,該容器中的所有東西都被認為具有潛在風險。而且容器不會嘗試確定文件是否損壞;它只是阻止惡意軟件活動傳播或破壞基礎主機。例如,考慮這種情況,你擔心用戶容易受到偷渡式下載攻擊或其他虛假活動攻擊。一種方法是在應用程序沙箱中運行瀏覽器,并在用戶的瀏覽會話完成后清除沙箱。用戶收集的任何潛在惡意軟件都會與沙箱一起清除。
當采用這種方式時,軟件容器不會使用防病毒產品之類的簽名。它們不會阻止攻擊,只是限制攻擊所影響的范圍受,因為容器是圍繞特定應用程序而構建(上述示例中是瀏覽器),以隔離攻擊,防止攻擊擴散到操作系統的其他部分。
在很多時候,這種方法會讓容器將沙箱帶到端點。你不必擔心下載的文件的內容,只需要讓用戶使用完應用程序后將其重置為良好狀態(tài)。
沙箱與容器的使用注意事項
究竟是使用沙箱還是容器,這很難選擇,最好在可能的情況下同時使用兩者。你的用法將在很大程度上決定方法。典型的基于VM的沙箱方法可能涉及系統挑選可疑文件-在其通過沙箱時。與傳統的防病毒軟件相比,這很吸引人,因為它不需要安裝代理即可查找簽名。反過來,這意味著它有可能找到并正確標記沒有先兆的惡意軟件樣本。
另一方面,另一個用例是使用軟件容器在高風險應用程序(例如用戶的瀏覽器)周圍創(chuàng)建隔離墻。這種方法通常比較繁瑣,并且依賴于端點和/或應用程序的配置。
為了確定哪種工具最適合你,請嘗試確定當前哪個區(qū)域對你的環(huán)境構成最大的風險,并確定這些選項中的哪一個將為你提供最大的前期保護。你希望加強對電子郵件惡意軟件的抵御?在這種情況下,集成到電子郵件網關中的基于VM的方法可能是不錯的選擇。你是想減少偷渡式下載等攻擊?在這種情況下,軟件沙箱可能更適合你。
哪種架構最適合你的環(huán)境取決于你的架構,但是了解容器和沙箱之間的區(qū)別無疑是第一步。