在計算機安全領域,沙箱(sandbox)是一種程式的隔離執行機制,其目的是限制不可信程序的許可權。沙箱技術經常被用於執行未經測試的或不可信的客戶程式。為了避免不可信程式可能破壞其它程式的執行,沙箱技術通過為不可信客戶程式提供虛擬化的磁碟、記憶體以及網路資源,而這種虛擬化手段對客戶程式來說是透明的。由於沙箱裡的資源被虛擬化(或被間接化),所以沙箱裡的不可信程式的惡意行為往往會被限制在沙箱中。
沙箱技術一直是系統安全領域的挑戰,不存在說哪一種方案是足夠安全的。沙箱技術方案通常是需要結合多種系統安全技術來實現,採用防禦縱深(defence in depth)的設計原則,築建多道防禦屏障,盡可能地將安全風險將為最低。下面我們主要討論如何利用linux kernel所提供的安全功能來建立有效的沙箱技術。
(1) 每個程序都有自己的位址空間;
(2) mmu硬體機制來保證位址空間的隔離;
(3) kernel是系統的tcb(trusted computing base),是安全策略的制定者和執行者;
(4) 程序是最小的許可權邊界;
(5) root具有最高許可權,它能控制一切;
(6) 其它使用者受dac(discretionary access control)限制,如檔案系統的ugo許可權控制。
程序是最小的許可權邊界,其根本原因是mmu能保證程序位址空間的隔離。
1. setuid
2. posix.1e capability
3. chroot jail
4. quota control (eg, cgroup, namespace)
5. linux container
6. linux security module (lsm)
下篇我們會介紹如何在實踐中利用這些訣竅來構建乙個有效的sandbox。
見
沙盒(沙箱)測試
有時沙盒也叫沙箱,英文sandbox。在計算機領域指一種虛擬技術,且多用於計算機安全技術。其原理是通過重定向技術,把程式生成和修改的檔案定向到自身資料夾中。當某個程式試圖發揮作用時,安全軟體可以先讓它在沙盒中執行,如果含有惡意行為,則禁止程式的進一步執行,而這不會對系統造成任何危害。沙盒是在受限的安...
ios沙箱軟體 iOS app ipa 與 沙盒
documents 儲存應用執行時生成的需要持久化的資料,itunes同步裝置時會備份該目錄。例如,遊戲應用可將遊戲存檔儲存在該目錄 獲取路徑方法 nsstring documents nssearchpathfordirectoriesindomains nsdocumentdirectory,1...
ios沙箱軟體 iOS 開發之沙盒機制
1.ios 沙盒機制簡介 沙盒也叫沙箱,英文standbox,其原理是通過重定向技術,把程式生成和修改的檔案定向到自身資料夾中。在沙盒機制下,每個程式之間的資料夾不能互相訪問。ios系統為了保證系統安全,採用了這種機制 ios 應用程式在安裝時,會建立屬於自己的沙盒檔案,應用程式不能直接訪問其他應用...