本頁使用了標題或全文手工轉換

沙盒 (電腦安全)

維基百科,自由的百科全書
前往: 導覽搜尋

電腦保安領域,沙盒英語:sandbox,又譯為沙箱)是一種安全機制,為執行中的程式提供的隔離環境。通常是作為一些來源不可信、具破壞力或無法判定程式意圖的程式提供實驗之用[1]

沙盒通常嚴格控制其中的程式所能存取的資源,比如,沙盒可以提供用後即回收的磁碟及記憶體空間。在沙盒中,網路存取、對真實系統的存取、對輸入裝置的讀取通常被禁止或是嚴格限制。從這個角度來說,沙盒屬於虛擬化的一種。

沙盒中的所有改動對作業系統不會造成任何損失。通常,這種技術被電腦技術人員廣泛用於測試可能帶毒的程式或是其他的惡意代碼[2]

具體實現[編輯]

沙盒將軟體執行於一個受限的系統環境中,控制程式可使用的資源(如檔案描述符、記憶體、磁碟空間等)[3]

以下是一些沙盒的具體實現:

  • 軟體監獄(Jail):限制網路存取、受限的檔案系統命名空間。軟體監獄最常用於虛擬主機[4]
  • 基於規則的執行:通過系統安全機制,按照一系列預設規則給用戶及程式分配一定的存取權限,完全控制程式的啟動、代碼注入及網路存取[5]。也可控制程式對於檔案、登錄檔的存取。在這樣的環境中,病毒木馬感染系統的幾率將會減小。Linux中,安全增強式LinuxAppArmor英語AppArmor正使用了這種策略。
  • 虛擬機器模擬一個完整的宿主系統,可以如執行於真實硬體一般執行虛擬的作業系統(客戶系統)。客戶系統只能通過模擬器存取宿主的資源,因此可算作一種沙盒。
  • 主機本地沙盒:安全研究人員十分依賴沙盒技術來分析惡意軟體的行為。通過建立一個模擬真實桌面的環境,研究人員就能夠觀察惡意軟體是如何感染一台主機的。若干惡意軟體分析服務使用了沙盒技術[6]
  • 線上判題系統:用於編程競賽中的程式測試。
  • 安全計算模式(seccomp)英語seccomp:Linux內核內建的一個沙盒。啟用後,seccomp僅允許write()read()exit()sigreturn()這幾個系統呼叫。

參見[編輯]

參考來源[編輯]

  1. ^ Ian Goldberg, David Wagner, Randi Thomas, and Eric Brewer. A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker) (PDF). Proceedings of the Sixth USENIX UNIX Security Symposium. 1996 [25 October 2011]. 
  2. ^ Geier, Eric. How to Keep Your PC Safe With Sandboxing. TechHive. 2012-01-16 [2014-07-03]. 
  3. ^ Sandboxing Applications (PDF). 2001 [7 May 2013]. 
  4. ^ Auto-Sandboxing secure system. [2015-01-30]. 
  5. ^ Computer System Security and Access Controls. 1991 [17 May 2013]. 
  6. ^ Native Client Sandbox – Untrusted x86 Native Code (PDF). [2015-01-03]. 

外部連結[編輯]