将原本用于防护病毒木马的沙盒(沙箱)技术,运用于源代码防泄密领域,形成沙盒防泄密系统,是否安全可行?依据沙盒防泄密基本工作原理,可从安全模型、沙箱逃逸以及与进程相关性等多个角度,对其技术风险进行全面分析、解读。
一、安全模型技术风险
传统的沙盒技术将外来病毒木马等入侵程序视为非可信进程,置于沙盒中并与本机系统相隔离,以避免本机系统受到感染和入侵攻击。相对于病毒木马等外来程序,本机系统是可信的。因此,使用沙盒偏转访问控制是可以实现对病毒木马的隔离防范的。而对于沙盒防泄密而言,则完全相反,沙盒是将可信的进程偏转置入沙箱,与宿本机系统相隔离,并假设沙箱之外的本机系统所有进程均是不可信的。但事实上这种访问控制隔离(进程沙箱偏转),又严重依赖本机系统的可信性。无疑,沙盒防泄密的安全模型是自相矛盾的。
沙盒防泄密技术的安全机制 建立在"防外不防内"的基础上,即默认本机操作系统是可靠的,通过沙盒将不信任的应用程序隔离,控制其对本机其他系统资源的调用。使用者本人是可以通过简单手段从沙盒外的本机操作系统,获取沙盒内使用的各种敏感信息的,从而让安全措施形同虚设。显然,沙盒源防泄密本质上是将原本 "防外"的沙盒(sandbox)技术用于具有"防内"性质的源代码防泄密领域。
二、沙箱逃逸技术风险
对程序(进程)行为进行监控是沙箱需要解决的一个基础性问题 ,大多数采用系统调用监控的方法。但仅从监控到的系统调用信息中获取程序行为,很难完全推理得到恶意程序的真正目的,特别是面对高隐蔽的APT攻击。研究多维度程序行为监控技术,从不同维度信息中获得程序可能的行为,是提高沙箱防御能力的重要途径。沙盒防泄密技术,必须要在此基础之上对宿本机程序监控后再防范本机系统,更加不可能。
三、与进程相关技术风险
无网络加密、磁盘也不真实加密(仅修改磁盘目录) ,仅依赖沙箱技术对进程进行涉密或非涉密的判断**(对进程判断是沙箱偏转的基础)** ,通过访问控制技术来实现对网络、磁盘等资源的进程级防泄密"效果 "。
>> 与进程访问控制密切相关,进程被停止、访冒、篡改 ,即破解;
>> 磁盘不真实加密或伪加密,其中数据一旦被磁盘读取工具 直接提取、即破解;
>> 沙盒虚拟化、访问进程偏转处理 ,性能损耗比较大,特别在虚拟化环境中尤为明显;
>> 部署、维护以及开发工具变化时,均须依据进程配置一系列策略,非常繁琐(当然,测试时会提前配好以规避) ;