论文部分内容阅读
传统的操作系统实现基于用户的特权管理策略。超级用户拥有所有特权,从而可以执行任何特权操作,这是导致系统危害的一个主要根源。最小特权原则要求系统中每个用户或进程仅有执行其授权任务所必需的最小特权集合。通过实施最小特权,既能限制合法用户在其职责范围内使用系统,又能将恶意用户对系统的破坏降至最低。本文在深入分析最小特权原则和访问控制技术的基础上,提出用户特权最小化技术,用于控制和约束用户进程的特权操作,以提高操作系统的安全性。本文首先结合访问控制框架、角色模型和权能机制,提出了一个操作系统用户特权最小化模型。该模型通过角色授权控制,缺省不赋予登录用户任何权能:当用户操作或应用需要特权时,根据操作需要提升权限,并且一次有效,操作结束后,权能及时撤销。根据POSIX1003.1e标准定义的权能将系统特权细分归类,确定每个特权操作所需的权能。通过进程权能状态对进程的特权操作行为进行描述。当用户进程执行操作需要特权时,将触发特权状态改变事件使进程特权状态发生改变。模型首先进行权能匹配,通过用户验证判断后进行权限提升,允许进程的权能状态发生迁移。事件结束后进程将恢复为非特权状态。通过对该模型进行形式化描述和定义,消除非形式规范的二义性及主观性,有助于发现系统设计中的缺陷。模型为系统动态调节和灵活管理每个进程的最小特权提供有效方法。基于该模型,本文进一步设计了一个通用的用户特权最小化控制框架进行用户权限控制。框架通过内核线程接收来自权能检查点的特权提升请求,与用户后台进程协调完成用户认证交互和特权提升操作。在Kylin系统中实现该模型时,通过建立设备文件完成内核与用户态之间的通信响应;改进ACL检查算法以减少不必要的权限提升;基于TE策略,实现了对框架的安全防护。用户特权最小化模型能使用户以更加安全的方式控制系统,而且方便性大为提高,有效解决了用户特权最小化问题。