童年的時候,我們許多人都玩過沙箱:可控制的玩耍環(huán)境,使我們能安全地建立城堡,而不用挖空后院。在計算機領(lǐng)域,沙箱的功能與此類似。只是在這個沙箱中,研究人員和IT技術(shù)人員玩的是比特流,而不是一堆沙子。在這篇文章中,我們會討論應(yīng)用程序沙箱、或者安全程序沙箱的概念,包括這些程序到底是什么、它們?nèi)绾喂ぷ饕约八鼈儙淼穆┒词欠癖茸柚沟穆┒锤唷?/p>
沙箱提供獨立或者密閉的空間,能像實際的網(wǎng)絡(luò):但并不與實際網(wǎng)絡(luò)相連接一樣工作。在這個孤立空間中,程序應(yīng)用也可以被下載、解壓和測試,然后再移植到實際的服務(wù)器上,從而(希望)能夠防止惡意軟件致使網(wǎng)絡(luò)發(fā)生紊亂。
沙箱最初是為開發(fā)和測試程序而設(shè)計,現(xiàn)在已經(jīng)演變?yōu)橐粋安全工具,能夠?qū)⒒顒拥某绦蚧蜻M程與宿主系統(tǒng)或本地桌面分隔開。因此,安全沙箱已成為保護系統(tǒng)安全的有效方法,能防止未認(rèn)證或不受信的程序在網(wǎng)絡(luò)上肆意破壞。
普通的計算機用戶每天都可能會遇到多個沙箱。Google公司的Chrome瀏覽器使用沙箱隔離JavaScript的執(zhí)行、HTML的解析以及插件的運行。這是通過讓每個標(biāo)簽都獨立運行在自己的沙箱中來完成的,從而使得Web應(yīng)用程序與用戶的機器隔離開。然而,在2011年二月初,Google修補了Chrome中的九個錯誤,包括一個沙箱逃逸漏洞。雖然其他漏洞的細(xì)節(jié)都公布了,但是Google卻沒有完全透露關(guān)于沙箱漏洞的全部信息。信息的不透明使人們對該款瀏覽器的安全性產(chǎn)生懷疑。如果這個漏洞允許程序突破沙箱進入到宿主系統(tǒng),那么宿主系統(tǒng)就可能被安裝惡意軟件,敏感數(shù)據(jù)就存在危險。
流行的Web服務(wù)貝寶(PayPal)也利用沙箱技術(shù)為商戶提供測試環(huán)境。該沙箱能在實際接受顧客的網(wǎng)絡(luò)交易服務(wù)之前為用戶提供產(chǎn)生和管理模擬賬戶的機會。但這樣仍然存在問題:特別是跨站腳本(cross-site-scripting,XSS)漏洞。
Adobe系統(tǒng)公司在其最近發(fā)行的Flash版本中加入了沙箱安全功能,防止從本地文件系統(tǒng)加載的Flash文件向遠端發(fā)送數(shù)據(jù)。盡管惡意黑客們已經(jīng)盡力打破了Adobe的沙箱,但是沙箱功能還是是一種潛在有用的威脅防御策略。
計算機和網(wǎng)絡(luò)取證偵查員也能從沙箱技術(shù)中獲益。通過讓觀察員檢查惡意執(zhí)行程序在“自然”環(huán)境中解壓和執(zhí)行的情況,沙箱能限制可能的外部因素:如其他的程序或者服務(wù)影響證據(jù)。理論上,這聽起來很驚人,但實際上,沙箱可能會帶來更多的漏洞。
一 沙箱:技術(shù)和用戶實例
諸如Adobe和PayPal之類的公司引入沙箱程序,這會使他們的軟件更安全嗎?還是只是帶來了一個潛在的受攻擊層?在IT安全領(lǐng)域,深度防御(defense-in-depth)的目標(biāo)在于分層次使用不同的安全防護方法,努力提高整體的安全現(xiàn)狀。然而,在這種情況下,增加一個應(yīng)用層意味著加入了另一個可滲透的層,可能導(dǎo)致惡意軟件和黑客穿透沙箱并進入宿主計算機系統(tǒng)。
在部署沙箱之前安全管理員應(yīng)問自己如下四個問題:
二 沙箱技術(shù)阻止哪一類威脅最有效?
對公司來說,要最佳的實現(xiàn)和集成沙箱技術(shù),了解沙箱的能力和局限是必要的。不切實際的期望只會導(dǎo)致公司組織更加的自滿,也更加脆弱。
三 沙箱技術(shù)不能檢測的威脅是什么?
沙箱沙箱不能檢測加密的病毒或其他惡意代碼,迫使網(wǎng)絡(luò)管理員不得不增加進一步的安全保護措施,結(jié)果是由于增加層次而帶來了復(fù)雜性。
四 沙箱會帶來什么風(fēng)險?
沙箱會給系統(tǒng)帶入新的安全漏洞,如潛在的堆棧溢出、訪問主機系統(tǒng)的本地庫以及其他因使用Java和C#編程繼承而來的固有缺陷。進一步的風(fēng)險包括安全措施或數(shù)字沙箱本身。
五 是否有沙箱的替代品可以達到相同的結(jié)果?
沙箱技術(shù)有助于程序員測試他們所寫的代碼,但依靠沙箱測試未知代碼是有風(fēng)險的。通常情況下簡單地忽略額外的軟件層會更加安全。
例如,當(dāng)Adobe的沙箱運行在保護模式時,一些威脅:如鍵盤監(jiān)視就可能會被避免,但其他的風(fēng)險:如對受限區(qū)域的訪問,如注冊表可能會升高。
六 沙箱的潛在漏洞
沙箱可主要分成三個部分:核心語音解釋器、標(biāo)準(zhǔn)函數(shù)庫以及不受信任的應(yīng)用程序代碼。在這三部分中,標(biāo)準(zhǔn)函數(shù)庫包含了執(zhí)行路徑:如網(wǎng)絡(luò)通信和密碼系統(tǒng)的路徑是最容易受到攻擊的部分。這是使用Java或C#編寫這些庫直接導(dǎo)致的,使得標(biāo)準(zhǔn)庫繼承了這些語言的固有缺陷,如堆棧溢出漏洞。實際上,C#將部分代碼標(biāo)記為不安全的不僅會弱化系統(tǒng)的安全性,還會輕易允許對主機系統(tǒng)本地庫的訪問。
許多人會把沙箱和虛擬機(VM)混淆,這可能是因為許多公司將虛擬機當(dāng)做沙箱來使用。在典型的家用計算機上,這么做可能是適宜的,可以增加Web瀏覽時的安全性;但不建議在保存有敏感數(shù)據(jù)的系統(tǒng)上測試可疑程序。
由于在個人電腦上使用越來越廣泛,虛擬機常被用于產(chǎn)生蜜罐或被當(dāng)做常用的網(wǎng)絡(luò)安全手段,黑帽黑客們正在編寫新的惡意代碼。這種惡意代碼可通過尋找虛擬機在系統(tǒng)內(nèi)存、正在運行的進程、注冊表和文件系統(tǒng)中留下的典型特征來檢測是否有虛擬機正在運行。它甚至?xí)䦟ふ姨摂M機硬件和處理指令。因此,使用虛擬機作為沙箱(或其他安全用途)要冒極大的風(fēng)險,只能嚇走低級的或機會主義的黑客。這些黑客往往不具備相應(yīng)的能力或工具來檢測是否有虛擬機在運行。
最后,安全沙箱程序不是萬能的。沙箱的設(shè)計目的在于分隔代碼和主機系統(tǒng);然而,如上所述,沙箱會在無意中帶來各種安全漏洞和問題。因此,正如對待其他安全措施那樣,在決定使用何種安全功能時,風(fēng)險評估和風(fēng)險減低是至關(guān)重要的。沙箱技術(shù)的發(fā)展不僅能尋找到新的應(yīng)用場景和提供多種多樣的好處,也可能導(dǎo)致自滿和系統(tǒng)已經(jīng)完全安全的錯覺。盡管深度防御是個好的策略,但同時我們需要謹(jǐn)記,每增加一個應(yīng)用層,可利用的漏洞也會增加。
各種新式的安全措施都有意想不到的后果,沙箱也一樣。因此,單獨依靠沙箱來保證程序的完整性將是一個嚴(yán)重的錯誤。正確的應(yīng)用程序安全措施要求多層次的安全防護,這些措施一起工作才能提供堅固的、多方面的應(yīng)用程序防御體系。正確地使用沙箱能帶來好處,但是要意識到危險的存在,否則,那些有效的應(yīng)用程序,可能會像昔日童年的沙礫那樣,從你的指尖滑落到地。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.guhuozai8.cn/
本文標(biāo)題:安全沙箱程序:深度防御還是分層漏洞?
本文網(wǎng)址:http://m.guhuozai8.cn/html/consultation/1083954966.html