將原本用于防護病毒木馬的沙盒(沙箱)技術,運用于
源代碼防泄密領域,形成沙盒防泄密系統,是否安全可行?
依據沙盒防泄密基本工作原理,可從安全模型、沙箱逃逸以及與進程相關性等多個角度,對其技術風險進行全面分析、解讀。
一、安全模型技術風險
傳統的沙盒技術將外來病毒木馬等入侵程序視為非可信進程,置于沙盒中并與本機系統相隔離,以避免本機系統受到感染和入侵攻擊。相對于病毒木馬等外來程序,本機系統是可信的。因此,使用沙盒偏轉訪問控制是可以實現對病毒木馬的隔離防范的。
而對于沙盒防泄密而言,則完全相反,沙盒是將可信的進程偏轉置入沙箱,與宿本機系統相隔離,并假設沙箱之外的本機系統所有進程均是不可信的。但事實上這種訪問控制隔離(進程沙箱偏轉),又嚴重依賴本機系統的可信性。無疑,沙盒防泄密的安全模型是自相矛盾的。
沙盒防泄密技術的安全機制建立在“防外不防內”的基礎上,即默認本機操作系統是可靠的,通過沙盒將不信任的應用程序隔離,控制其對本機其他系統資源的調用。使用者本人是可以通過簡單手段從沙盒外的本機操作系統,獲取沙盒內使用的各種敏感信息的,從而讓安全措施形同虛設。
顯然,沙盒源防泄密本質上是將原本 “防外”的沙盒(sandbox)技術用于具有“防內”性質的源代碼防泄密領域。
二、沙箱逃逸技術風險
對程序(進程)行為進行監控是沙箱需要解決的一個基礎性問題,大多數采用系統調用監控的方法。但僅從監控到的系統調用信息中獲取程序行為,很難完全推理得到惡意程序的真正目的,特別是面對高隱蔽的APT攻擊。研究多維度程序行為監控技術,從不同維度信息中獲得程序可能的行為,是提高沙箱防御能力的重要途徑。
沙盒防泄密技術,必須要在此基礎之上對宿本機程序監控后再防范本機系統,更加不可能。
三、與進程相關技術風險
無網絡文件加密、磁盤也不真實文件加密(僅修改磁盤目錄),僅依賴沙箱技術對進程進行涉密或非涉密的判斷
(對進程判斷是沙箱偏轉的基礎),通過訪問控制技術來實現對網絡、磁盤等資源的
進程級防泄密“效果”。
>> 與進程訪問控制密切相關,
進程被停止、訪冒、篡改,即破解;
>> 磁盤不真實文件加密或偽文件加密,其中數據一旦被
磁盤讀取工具直接提取、即破解;
>> 沙盒虛擬化、訪問
進程偏轉處理,性能損耗比較大,特別在虛擬化環境中尤為明顯;
>> 部署、維護以及開發工具變化時,
均須依據進程配置一系列策略,非常繁瑣(當然,測試時會提前配好以規避);