【网络与系统安全】强制访问控制——BLP模型

发布于:2025-07-05 ⋅ 阅读:(18) ⋅ 点赞:(0)

一、模型背景与定义

BLP(Bell-LaPadula)模型是由David Bell和Len Adula在1973年提出的强制访问控制(MAC)模型,是最早的计算机安全模型之一,主要用于解决多用户系统中的信息机密性保护问题,尤其适用于军事和政府等高安全需求领域。

二、核心安全属性与原则

BLP模型基于两种核心安全属性和三大安全原则构建:

(一)安全属性

  1. 安全级别(Security Levels)
    • 系统中每个主体(如用户、进程)和客体(如文件、数据库)都被分配一个安全级别,形成严格的层次结构,常见级别如:绝密(Top Secret)>秘密(Secret)>机密(Confidential)>公开(Unclassified)。
  2. 范畴(Categories)
    • 在同一安全级别下,通过范畴(如项目组、部门)进一步细分,确保信息仅在特定范围内共享,例如“绝密”级别可包含“核武器项目”“卫星计划”等范畴。

(二)三大安全原则

  1. 简单安全特性(Simple Security Property)——下读(No Read Up)
    • 主体只能读取安全级别小于或等于自身级别的客体信息。例如,秘密级用户不能读取绝密级文件,但可以读取机密级或公开级文件。
  2. *-特性(Star Property)——上写(No Write Down)
    • 主体只能向安全级别大于或等于自身级别的客体写入信息。例如,秘密级用户不能向公开级文件写入内容,但可以向秘密级或绝密级文件写入。
  3. 自主安全特性(Discretionary Security Property)
    • 基于访问控制列表(ACL)实现,作为强制访问控制的补充,允许主体在满足强制规则的前提下,自主管理其拥有客体的访问权限。

在这里插入图片描述

三、数学模型与形式化定义

BLP模型通过形式化语言严格定义安全规则,核心元素包括:

  • 主体集合(S):用户、进程等主动实体
  • 客体集合(O):文件、数据库等被动实体
  • 安全级别函数(f):f(s)表示主体s的安全级别,f(o)表示客体o的安全级别
  • 范畴集合(C):每个安全级别包含的范畴集合
  • 访问模式集合(A):{读(R)、写(W)、执行(X)、追加(A)、控制(C)}

安全条件形式化表达

  1. 简单安全特性:对于主体s和客体o,若s能读o,则f(o) ≤ f(s)且范畴(o) ⊆ 范畴(s)
  2. *-特性:对于主体s和客体o,若s能写o,则f(o) ≥ f(s)且范畴(s) ⊆ 范畴(o)

四、模型优缺点分析

优点 缺点
1. 严格保障信息机密性,防止高密级信息向低级别泄露 1. 仅关注机密性,未考虑完整性和可用性(与Biba模型形成互补)
2. 形式化定义清晰,便于理论验证和系统设计 2. 灵活性不足,主体和客体的安全级别变更复杂,难以适应动态环境
3. 适用于对安全性要求极高的静态系统 3. 不支持主体权限的动态调整,如临时授权场景

五、与其他访问控制模型的对比

  • 与DAC(自主访问控制)对比:DAC基于用户自主设置权限(如Windows文件权限),而BLP通过系统强制规则控制,用户无法绕过安全级别限制。
  • 与RBAC(角色-based访问控制)对比:RBAC基于角色分配权限(如“管理员”“普通用户”),适合企业场景;BLP则基于密级和范畴,更适合分级保密场景。
  • 与Biba模型对比:Biba模型关注信息完整性,遵循“向上读、向下写”原则,与BLP形成机密性-完整性的互补关系。

六、隐蔽信道

在这里插入图片描述
这是隐蔽通道的例子 。隐蔽通道是一种在安全模型下,被设计用于违反安全策略传输信息的通信信道。以下是图中流程解析:

  1. 创建文件(/data):绝密进程A创建文件/data ,这是信息传输的基础载体。
  2. 公开进程B创建并写入 /control:公开进程B创建文件/control并写入内容,/control在这里起到控制信号传递的作用。
  3. 绝密进程A观察 /control文件长度:绝密进程A通过观察/control文件长度增长获取同步信号,以此知晓公开进程B已完成相关操作,为后续信息传递做准备。
  4. 绝密进程A锁定和解锁 /data文件传递信息:绝密进程A利用锁定和解锁/data文件来编码信息,如解锁代表发送1,锁定代表发送0 。
  5. 公开进程B尝试写入 /data判断接收信息:公开进程B尝试写入/data文件,根据写入成功(接收1)或失败(接收0)来解读绝密进程A传递的信息。

在假定场景中,绝密进程A被植入恶意代码(如特洛伊木马),恶意代码可利用这种隐蔽通道绕过安全策略,将绝密信息以看似正常文件操作的方式传递给公开进程B,从而造成信息泄露。


网站公告

今日签到

点亮在社区的每一天
去签到