从作用域不变量视角建模云服务器的运行时完整性
1. 引言
在采用云计算时,安全是人们首要关注的问题。这是因为支持云的操作系统通常是常见的操作系统,它们可能被攻破并感染恶意软件。即便云服务器初始状态良好且云服务提供商值得信赖,但由于难以消除软件漏洞和操作错误,潜在的云用户仍会担心将数据和计算任务委托给可能在运行时被攻破的云服务器。
为了增强云服务器的可信度并缓解用户的担忧,远程认证是一种有效的技术。它能让云用户或可信第三方在运行时评估云服务器的“健康状况”(即完整性),从而及时发现服务器的受损情况。
软件完整性研究由来已久,因为像rootkit这样的恶意软件会修改目标软件,破坏其完整性。一般来说,系统的完整性可以通过一组“健康”软件系统必须满足的属性来近似表示。例如,许多rootkit会修改系统调用表,因此许多完整性监视器会检查系统调用表的值是否正确。识别完整性属性对于任何完整性测量机制的有效性至关重要,因为如果完整性属性不全面,该机制的作用将受到严重限制。
为了解决这个问题,我们提出了作用域不变量作为一类重要的完整性属性。作用域不变量是在特定上下文(即作用域)下具有恒定值的代码或数据。例如,页面错误的中断描述符表(IDT)条目在系统初始化完成后包含一个恒定的函数指针。我们还开发了一个动态分析工具来检测作用域不变量,并对Xen虚拟机管理器进行了作用域不变量的案例研究,识别出了271个对Xen运行时完整性至关重要的作用域不变量。
2. 远程认证与完整性测量背景
2.1 作为信任增强技术的远程认证
云服务器的客户希望确保服务器“健康”(无病毒、特洛伊木马、蠕虫等),以便信任其能正确处理数据和计算任务