沙盒相关简介
沙盒
沙盒(英語:sandbox,又譯為沙箱),計算機專業術語,在計算機安全領域里是一類安全機制,為運行的程序提供的隔離環境。通常是作為一些來源不可信、具破壞力或無法判定程序意圖的程序提供實驗之用。
沙盒通常嚴格控制其里的程序所能訪問的資源,比如,沙盒可以提供用后即回收的磁盤及內存空間。在沙盒里,網絡訪問、對真實系統的訪問、對輸入設備的讀取通常被禁止或是嚴格限制。從這個角度來說,沙盒屬于虛擬化的一類。
沙盒里的所有改動對操作系統不會造成任何損失。通常,這類技術被計算機技術人員廣泛用于測試可能帶毒的程序或是其他的惡意代碼。
具體實現
沙盒將軟件運行于一個受限的系統環境里,控制程序可使用的資源(如文件描述符、內存、磁盤空間等)。
以下是一些沙盒的具體實現:
軟件監獄(Jail):限制網絡訪問、受限的文件系統名字空間。軟件監獄最常用于虛擬主機上。
基于規則的執行:通過系統安全機制,按照一系列預設規則給用戶及程序分配一定的訪問權限,完全控制程序的啟動、代碼注入及網絡訪問。也可控制程序對于文件、注冊表的訪問。在這樣的環境,病毒木馬感染系統的幾率將會減小。Linux里,安全增強式Linux和AppArmor正使用了這類策略。
虛擬機:模擬一個完整的宿主系統,可以如運行于真實硬件一般運行虛擬的操作系統(客戶系統)。客戶系統只能通過模擬器訪問宿主的資源,因此可算作一類沙盒。
主機本地沙盒:安全研究人員十分依賴沙盒技術來分析惡意軟件的行為。通過創建一個模擬真實桌面的環境,研究人員就能夠觀察惡意軟件是如何感染一臺主機的。若干惡意軟件分析服務使用了沙盒技術。
在線判題系統:用于編程競賽里的程序測試。
安全計算模式(seccomp)
安全計算模式(seccomp):Linux內核內置的一個沙盒。啟用后,seccomp僅允許write()、read()、exit()和sigreturn()這幾個系統調用。
沙盒技術
沙盒技術是瀏覽器和其他應用程序里保護安全的一類組件關系設計模式。
“沙盒”技術與主動防御技術原理截然不同。主動防御是發現程序有可疑行為時立即攔截并終止運行。“沙盒”技術則是發現可疑行為后讓程序繼續運行,當發現的確是病毒時才會終止。“沙盒”技術的實踐運用流程是:讓疑似病毒文件的可疑行為在虛擬的“沙盒”里充分表演,“沙盒”會記下它的每一個動作;當疑似病毒充分暴露了其病毒屬性后,“沙盒”就會執行“回滾”機制:將病毒的痕跡和動作抹去,恢復系統到正常狀態。
如果您還不懂,那說的再簡單一些。想象一下,在一個裝滿了平整細沙的盒子里,我們可以盡情隨意地在上面作畫、涂寫,無論畫的好壞,最后輕輕一抹,沙盒又回到了原來的平整狀態。沙盒的魅力就在于他允許你出錯,還可以給你改正的機會。
此技術也稱之為“沙箱技術”。
所謂的沙盒技術,其實就是Sandboxie,Sandboxie自帶一個快捷方式,就是在沙盤里運行IE。Sandboxie是一款專業的虛擬類軟件,它的工作軟件:通過重定向技術,把程序生成和修改的文件,定向到自身文件夾里。當然,這些數據的變更,包括注冊表和一些系統的核心數據。通過加載自身的驅動來保護底層數據,屬于驅動級別的保護。比較好的示例:用Sandboxie來測試病毒的,在里面運行病毒可以說也是安全操作。
沙盒逃逸
自從誕生沙盒技術來阻擋惡意軟件之后,惡意軟件也在時刻想辦法逃避沙盒,這就是沙盒逃逸技術。
總結
- 上一篇: BugkuCTF-MISC题这是一张单纯
- 下一篇: Python raw_input 函数