论文部分内容阅读
现代Web应用程序在服务器上存储敏感数据,这些数据很容易因为服务器存在漏洞被攻击者窃取。目前,应对Web服务器端敏感数据泄露问题的主要措施是通过数据加密和访问控制对数据库中的敏感数据进行保护,缺乏有效的方法对Web服务器程序执行过程中的敏感数据进行防护。 本文对云平台虚拟机上的Web服务器架构进行了深入的研究,针对由于Web服务器入侵导致敏感信息泄露的问题提出了新的Web服务器架构CRYPTSERVER。CRYPTSERVER借鉴了数据加密和隔离执行的思想,分别从数据传输和数据处理两方面保证了敏感数据的安全。通过预先确定并修改少量需要对敏感数据计算的应用程序代码,在不受信任的应用程序代码访问敏感数据之前对数据加密,可以有效对抗攻击者在服务器上运行的恶意代码,为敏感数据在执行环境中的提供安全保护。 本文从以下研究内容为基础,设计并实现了Web服务器执行环境中的敏感数据保护系统CRYPTSERVER。主要包括: 为辅助开发人员部署将CRYPTSERVER部署到现有的Web服务器上,设计并实现了一种敏感逻辑识别方法。该方法通过标记用户隐私数据为敏感数据,并追踪其在Web服务器端PHP程序中的传播过程,分析并识别需要对敏感数据进行计算的逻辑,将其标记为敏感逻辑输出,极大缩小部署时开发人员的工作量。 针对程序无法直接操作加密数据这一问题,利用虚拟化技术设计并实现了一种无信息泄露的隔离执行环境。该环境与上层虚拟机执行环境隔离,为加密的敏感数据提供计算、查找等基本操作,将结果加密返回给上层虚拟机中的程序,保证了数据操作过程的安全。 以安全性、实用性、可扩展性为目标,基于PHP内核和Xen Hypervisor设计并实现了Web服务器敏感数据保护系统CRYPTSERVER。在整个Web服务器虚拟机被入侵的条件下仍然可以保证无有效信息泄露,为敏感数据提供保护。 本文对六种开源PHP应用进行了实验。实验结果表明,程序中的敏感逻辑所占比例很小(少于2%)。将敏感逻辑隔离执行后,运行指定页面的防护开销均小于50%。另外,将现有的PHP应用程序部署到到CRYPTSERVER架构只需要很小的人工开销,整个方案可以很好的与相关服务器端数据库防护方案结合。