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


2013-07-24 14:06:48




