安全沙箱程序:深度防御還是分層漏洞? (2)
沙箱技術和用戶實例
諸如Adobe和PayPal之類的公司引入沙箱程序,這會使他們的軟件更安全嗎?還是只是帶來了一個潛在的受攻擊層?在IT安全領域,深度防御(defense-in-depth)的目標在于分層次使用不同的安全防護方法,努力提高整體的安全現(xiàn)狀。然而,在這種情況下,增加一個應用層意味著加入了另一個可滲透的層,可能導致惡意軟件和黑客穿透沙箱并進入宿主計算機系統(tǒng)。
沙箱的潛在漏洞
沙箱可主要分成三個部分:核心語音解釋器、標準函數(shù)庫以及不受信任的應用程序代碼。在這三部分中,標準函數(shù)庫包含了執(zhí)行路徑——如網(wǎng)絡通信和密碼系統(tǒng)的路徑——是最容易受到攻擊的部分。這是使用Java或C#編寫這些庫直接導致的,使得標準庫繼承了這些語言的固有缺陷,如堆棧溢出漏洞。實際上,C#將部分代碼標記為不安全的不僅會弱化系統(tǒng)的安全性,還會輕易允許對主機系統(tǒng)本地庫的訪問。
許多人會把沙箱和虛擬機(VM)混淆,這可能是因為許多公司將虛擬機當做沙箱來使用。在典型的家用計算機上,這么做可能是適宜的,可以增加Web瀏覽時的安全性;但不建議在保存有敏感數(shù)據(jù)的系統(tǒng)上測試可疑程序。
由于在個人電腦上使用越來越廣泛,虛擬機常被用于產(chǎn)生蜜罐或被當做常用的網(wǎng)絡安全手段,黑帽黑客們正在編寫新的惡意代碼。這種惡意代碼可通過尋找虛擬機在系統(tǒng)內存、正在運行的進程、注冊表和文件系統(tǒng)中留下的典型特征來檢測是否有虛擬機正在運行。它甚至會尋找虛擬機硬件和處理指令。因此,使用虛擬機作為沙箱(或其他安全用途)要冒極大的風險,只能嚇走低級的——或機會主義的——黑客。這些黑客往往不具備相應的能力或工具來檢測是否有虛擬機在運行。
最后,安全沙箱程序不是萬能的。沙箱的設計目的在于分隔代碼和主機系統(tǒng);然而,如上所述,沙箱會在無意中帶來各種安全漏洞和問題。因此,正如對待其他安全措施那樣,在決定使用何種安全功能時,風險評估和風險減低是至關重要的。沙箱技術的發(fā)展不僅能尋找到新的應用場景和提供多種多樣的好處,也可能導致自滿和系統(tǒng)已經(jīng)完全安全的錯覺。盡管深度防御是個好的策略,但同時我們需要謹記,每增加一個應用層,可利用的漏洞也會增加。
各種新式的安全措施都有意想不到的后果,沙箱也一樣。因此,單獨依靠沙箱來保證程序的完整性將是一個嚴重的錯誤。正確的應用程序安全措施要求多層次的安全防護,這些措施一起工作才能提供堅固的、多方面的應用程序防御體系。
沙箱正確地使用能夠帶來好處,但是要意識到危險的存在,否則,那些有效的應用程序,可能會像昔日童年的沙礫那樣,從你的指尖滑落到地。
【編輯推薦】
- 預防交換機漏洞攻擊防護
- 留意數(shù)據(jù)泄露的七種主要途徑
- 漏洞掃描工具選擇技巧大揭秘
- 從堵住系統(tǒng)漏洞開始 保護Linux系統(tǒng)安全 續(xù)
- 淺析漏洞攻擊與惡意程序植入的合作關系 續(xù)
- 安全沙箱程序:深度防御還是分層漏洞?(1)






















