论文部分内容阅读
随着操作系统处理的敏感信息越来越广泛,针对敏感数据在存储和使用时的恶意攻击随之增多。而当前针对敏感数据的保护使用的都是内核态的访问控制和加解密技术,恶意程序可绕过该保护机制以窃取磁盘或内存中的数据。因此,研究应用程序敏感数据的安全仍具有重要的意义。本文通过对Windows操作系统数据管理机制的研究,结合硬件辅助虚拟化技术,提出了一个应用程序敏感数据保护系统,从而可以保护应用程序关键数据的安全。本文的主要贡献和创新如下:1.分析了Windwos的数据存储管理机制,并提出了针对数据安全的核心威胁:即静态数据分析和实时数据攻击。静态数据分析又可分为物理内存数据分析和磁盘卷数据分析。而实时数据攻击包括用户模式攻击和内核态Rootkits两类。2.分析了目前存在的一些解决方案,包括主机保护系统采用的数据保护机制,NICKLE在防护内核Rootkits方面的研究,OverShadow基于多影子页表在保护应用程序敏感数据方面的研究,以及SP3基于物理页帧加密技术保护应用程序的研究,在介绍了这些解决方案的机制后给出了其优缺点分析。3.将进程中的代码划分为可信代码和非可信代码,数据分为普通数据和敏感数据,以此为基础提出了一种基于Hypervisor的应用程序敏感数据保护系统。通过预处理加密技术和物理页帧加密技术阻止对静态存储数据的攻击,通过双影子页表技术和数据执行保护技术子隐藏应用程序受保护内存区域内的明文内容,通过监控修改CR3和页表的访问控制阻止进程受保护区域被其它进程恶意修改。4.应用程序敏感数据保护的难点来自于进程内部针对实时数据的攻击。本文通过不可执行技术拦截可信代码到非可信代码的切换,从而实现了在不同代码区域使用不同的影子页表。通过内存数据加密技术和页表访问控制技术来保护进程运行不可信代码时磁盘卷和物理内存中敏感数据的安全。