HRU安全模型 (HRU Security Model)

模型组成

HRU模型由三部分组成:主体(Subjects)、对象(Objects)和权限(Rights)。

  • 主体(Subjects):通常指用户或进程,是访问对象的实体。
  • 对象(Objects):可以是文件、目录、设备等,是受保护的资源。
  • 权限(Rights):定义了主体对对象的访问能力,例如读取(read)、写入(write)和执行(execute)。

安全状态

HRU模型使用一个访问控制矩阵(Access Control Matrix)来表示安全状态。该矩阵的行表示主体,列表示对象,矩阵的每个单元格 (S, O) 包含一个权限集合,表示主体S对对象O拥有的权限。访问控制矩阵是HRU模型的核心组成部分,它清晰地定义了系统中各个主体对各个对象的访问权限。

安全规则

HRU模型定义了四个基本操作,它们用于修改访问控制矩阵,从而改变系统的安全状态。这些操作分别是:

  • 创建主体(create subject):创建一个新的主体,在访问控制矩阵中添加一行。
  • 创建对象(create object):创建一个新的对象,在访问控制矩阵中添加一列。
  • 赋予权限(enter right):将某个权限添加到访问控制矩阵中某个单元格 (S, O)。
  • 删除权限(delete right):从访问控制矩阵中某个单元格 (S, O) 删除某个权限。

这些操作允许系统管理员或主体动态地改变权限,但同时也带来了安全风险。模型的分析重点在于这些操作组合在一起时可能产生的安全漏洞。

安全漏洞分析

HRU模型的主要应用在于分析潜在的安全漏洞。一个核心的问题是确定是否存在“安全泄漏(secure leakage)”,即一个主体能够获取它本不应该拥有的权限。例如,一个恶意用户可能利用这些操作,通过给予自己读写权限,来非法访问敏感信息。

HRU模型分析的核心工具是“可判定性(decidability)”问题。这意味着给定的一个安全状态,是否可以通过一系列的权限操作,使得一个主体获得原本不允许访问的权限。确定这些操作的安全性是HRU模型研究的关键。

局限性

虽然HRU模型在理论上提供了一个强大的框架来理解访问控制,但它也有一些局限性。例如,它通常假设系统中的所有对象都可以被访问控制矩阵直接表示,但这在实际的复杂操作系统中可能并不总是成立。此外,HRU模型主要关注访问控制,而没有考虑其他安全问题,例如恶意代码、拒绝服务攻击等。

结论

HRU安全模型为操作系统安全领域提供了一个重要的理论基础。通过形式化的方式描述访问控制策略,并分析权限的传递和演变,可以帮助我们识别潜在的安全漏洞。尽管存在局限性,但HRU模型为后续的访问控制模型和安全策略设计提供了重要的参考。它的核心概念,如主体、对象、权限和访问控制矩阵,至今仍被广泛应用于安全领域的研究与实践中。

参考资料