Sandboxie(又叫沙箱、沙盤)即是一個虛擬系統程序,允許你在沙盤環境中運行瀏覽器或其他程序,因此運行所產生的變化可以隨后刪除。它創造了一個類似沙盒的獨立作業環境,在其內部運行的程序并不能對HDD產生永久性的影響。其為一個獨立的虛擬環境,可以用來測試不受信任的應用程序或上網行為。
詞語解析
沙箱是一種按照安全策略限制程序行為的執行環境。早期主要用于測試可疑軟件等,比如黑客們為了試用某種病毒或者不安全產品,往往可以將它們在沙箱環境中運行。
經典的沙箱系統的實現途徑一般是通過攔截系統調用,監視程序行為,然后依據用戶定義的策略來控制和限制程序對計算機資源的使用,比如改寫注冊表,讀寫磁盤等。
訪問方式
近年來,隨著網絡安全問題的日益突出,人們更多的將沙箱技術應用于網上沖浪方面。從技術實現角度而言,就是從原有的阻止可疑程序對系統訪問,轉變成將可疑程序對磁盤、注冊表等的訪問重定向到指定 文件夾下,從而消除對系統的危害。
GreenBorder為IE和firefox構建了一個安全的虛擬執行環境。用戶通過瀏覽器所作的任何寫磁盤操作,都將重定向到一個特定的臨時文件夾中。這樣,即使網頁中包含病毒,木馬,廣告等惡意程序,被強行安裝后,也只是安裝到了臨時文件夾中,不會對用戶pc造成危害。GreenBorder 公司成立于2001年,2007年5月被谷歌收購,并在其隨后發布的Google Chrome瀏覽器中得以運用。目前其網址不可訪問,所以沒有相關測試報告。關于該產品的情況可以到維基百科上了解。
與GreenBorder功能相似的ForceField是近期推出的,目前還是Beta版。它是由知名的網絡防火墻公司ZoneAlarm開發的。主要支持Windows xp以及Windows Vista,其Beta版可以下載。下圖是安裝后試用的圖片。從外觀上看firefox和原有的基本沒有差別。
在測試過程中,使用了某病毒網站測試,以前訪問該網站時,可能存在類似“機器狗”的病毒,通過修改機器時間的方式使卡巴斯基失效,然后馬上下載偷盜游戲帳號和密碼的木馬。使用ForceField后,它報告該網站可疑,且阻擋了該可疑攻擊,卡巴斯基沒有異常。只是其后,在每次運行程序的時候,卡巴斯基都會報告類似“已檢測: 風險軟件 Invader 運行進程: D:\downloads\jpskb\極品時刻表\JPSKB.exe”的警報,可能是ForceField的原因。
網絡沙箱
沙箱(沙盤)無論何時加載遠程網站上代碼并在本地執行,安全都是至關重要的問題。點擊一個鏈接可以啟動Java Web Start 應用程序。訪問一個網頁時,其中的所有Applet也會自動地啟動。如果再點擊一個鏈接,或者訪問一個網頁時,在用戶的機器上能夠安裝任意的代碼,那么犯罪分子就可能在此時竊聽機密信息、讀取財務數據或者接管用戶機器來發送廣告。
為了確保Java技術不會被邪惡目的所利用,SUN公司在設計Java的時候,設計了一套精密的安全模型;即安全管理器(證券 Manager)將檢查有權使用的所有系統資源。在默認的情況下,只允許那些無害的操作,要想允許執行其他操作,代碼需得到數字簽名,用戶必須得到數字認證。
在所有的平臺上,遠程代碼可以做什么呢?它可以顯示圖像、播放音樂、獲得用戶的鍵盤輸入和鼠標點擊,以及將用戶的輸入送回加載代碼所在的主機。這些功能足以能夠顯示信息和圖片,或者獲得用戶為訂單所輸入的信息。這種受限制的執行環境稱為沙箱(沙盤)。在沙箱中運行的代碼不能夠修改或查看用戶系統。
特別是,在沙箱中的程序有下列限制:
不能運行任何本地的的可執行程序。
不能從本地計算機文件系統中讀取任何信息,也不能往本地計算機文件系統中寫入任何信息。
不能查看除Java版本信息和少數幾個無害的操作系統詳細信息外的任何有關本地計算機的信息。特別是,在沙箱中的代碼不能查看用戶名、E-mail地址等信息。
遠程加載的程序不能與除下載程序所在的服務器之外的任何主機通信,這個服務器被稱為源主機(originating host)。這條規則通常稱為“遠程代碼只能與家人通話”這條規則將會確保用戶不會被代碼探查到內部網絡資源(在Java SE 6 中,Java Web Start 應用程序可以與其他網絡連接,但必須得到用戶的同意)。
所有彈窗都會帶一個警告消息。這條消息起到了安全的作用,以確保用戶不會為本地應用程序弄錯窗口。令人擔心的是,一個可信賴的用戶可以訪問網頁,并被蒙騙運行遠程代碼,然后輸入密碼和信用卡號,這些信息將被送回服務器。在早期JDK版本中,有個消息會令人害怕的:“Untrusted Java Applet Window ”(不可信賴的Java Applet Window)。后來的JDK版本將這個警告消息的口氣緩和了一些“Unauthenticated Java Applet Window”(未獲認證的Java Applet Window)。隨后是“Warning :Java Applet Window ”(警告:Java Applet Window )?,F在只是“Java Applet Window”或“Java Appliation Window”。
揭秘沙箱
Sandboxie是一款專業的虛擬類軟件,它的工作原理:通過重定向技術,把程序生成和修改的文件,定向到自身文件夾中。當然,這些數據的變更,包括注冊表和一些系統的核心數據。通過加載自身的驅動來保護底層數據,屬于驅動級別的保護。我個人是用Sandboxie來測試病毒的,在里面運行病毒可以說也是安全操作。
參考資料 >