论文部分内容阅读
随着网络的普及,恶意代码的传播也越来越广,这无论对个人还是企业都造成了不可忽略的损失。恶意程序的传统分析和检测方法存在很多不足,作为一个给可疑程序运行提供高度隔离环境的新兴安全技术--沙盒应用而生。虚拟化按照规模可以分为半虚拟化和完全虚拟化。本文的沙盒是基于用户级虚拟化。所谓的用户级虚拟化指的是为应用程序提供直接并且安全的特权操作的平台,即Dune。相比于完全虚拟化提供对操作系统的支持,借助VT-x的Dune模块更加小巧,轻便,它提供对应用程序的支持。相比与半虚拟化需要客户操作系统更改内核,Dune只是一个可加载的模块不需要系统内核做出相应的更改。沙盒按照运行级别可以分为应用层沙盒和内核层沙盒以及混合型沙盒。通过分析目前沙盒技术的研究现状和存在的不足之处,本文提出了一种基于用户级虚拟化技术的沙盒——Dune sandbox。Dune sandbox属于内核层沙盒和目前主流的沙盒相比拥有以下优势:第一,借助用户级虚拟化技术——Dune,使得沙盒拥有精简代码的同时保证了较高的性能;第二,通过采用二级独立的ELF loaders,防止恶意代码对沙盒本身的攻击,提高了沙盒的稳定性;第三,通过hack sys_call_table,Dune sandbox为用户程序发出的API调用提供了一种高效且深度的监控机制;第四,通过严密的隔离,Dune sandbox当检测到用户程序对系统尝试篡改的时候,将其操作转移到安全区域,实现了系统的安全隔离;第五,通过快速恢复机制,Dune sandbox在判断程序为非恶意程序时,使用文件重定向技术恢复用户程序本身的功能。本文在Linu x平台上实现了Dune sandbox的基本功能。具体实现了文件隔离,进程隔离,程序行为监控和文件重定向。通过实验测试表明Dune sandbox在完成了基本功能的同时有着较高的性能。