【網絡與系統安全】強制訪問控制——BLP模型

一、模型背景與定義

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,從而造成信息泄露。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913089.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913089.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913089.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTTPS詳解:原理 + 加解密過程 + 面試問答

一、HTTP 與 HTTPS 的區別 項目HTTPHTTPS全稱HyperText Transfer ProtocolHyperText Transfer Protocol Secure端口80443協議層應用層應用層 TLS(安全層)加密方式明文傳輸加密傳輸(TLS)安全性易被劫持、中間人攻擊可加密、防篡改…

Python-GUI-wxPython-控件

1 需求 2 接口 3.* 控件:wx.StaticText import wxclass MainFrame(wx.Frame):def __init__(self, *args, **kwargs):super(MainFrame, self).__init__(*args, **kwargs)self.init_ui()self.Center()self.Maximize()def init_ui(self):static_text wx.StaticText(pa…

3-1 PID算法改進(積分部分)

目錄 1、積分限幅 2、積分分離 3、變速積分 在位置式PID的基礎上進行改進 定速用PI控制,定位置用PD控制 1、積分限幅 在定速控制上體現 第一種方法確定上下限方法:Out最大時,除以Ki,得到一個值,上限不能超過這個…

Linux探秘坊-------13.進程間通信

1.進程間通信?的 2.管道 2.1 匿名管道 -----通常用來實現 父子通信 創建子進程時,需要把父進程的進程內容全部拷貝一份,但文件管理是不需要拷貝的 但是我們把父進程的文件描述符表給拷貝下來了,文件描述符表里是一堆指針,他們仍…

深入理解Vapnik-Chervonenkis(VC)維度:機器學習泛化能力的理論基礎

引言 通過本篇閱讀,從理論上去理解為什么: 要選擇復雜度低的模型 過擬合的時候,增加樣本量有用 以及如何根據樣本量選擇特征個數 PAC機器學習框架, VC 維是機器學習最重要的基礎理論之一 在機器學習領域,模型泛化能力是衡量算法性能的核心指標…

redis持久化-純緩存模式

redis持久化-純緩存模式 文檔 redis單機安裝redis常用的五種數據類型redis數據類型-位圖bitmapredis數據類型-基數統計HyperLogLogredis數據類型-地理空間GEOredis數據類型-流Streamredis數據類型-位域bitfieldredis持久化-RDBredis持久化-AOFredis持久化-RDBAOF混合模式 官…

HTML DOM 訪問

HTML DOM 訪問 引言 HTML DOM(文檔對象模型)是現代Web開發中不可或缺的一部分。它允許開發者通過JavaScript操作HTML文檔中的元素,從而實現豐富的交互效果。本文將詳細介紹HTML DOM的訪問方法,包括如何獲取元素、如何修改元素屬…

雙系統如何做接口認證-V1

現有A系統,B系統,A系統啟動的時候調用B系統的注冊接口API1(把A系統配置信息注冊到B系統),A系統定時向B系統接口AP2發送心跳信息,B系統根據業務情況,調用A系統的業務接口AP3,請設計兩…

Wireshark TS | 詭異的光貓網絡問題

前言 來自于朋友分享的一個案例,最后定位的原因是光貓問題,而類似這類的設備所產生的網絡問題,也曾碰到過兩三次,但這一次的數據包現象挺特別,分析思路和過程也有所不同,故記錄分享一下。 問題背景 用戶所反…

mac mini m4安裝node.js@16以下版本方法

設備:mac mini m4 目的:使用nvm 安裝 node.js14.x 版本 結果:安裝不上 原因:Node.js 14 發布時,Apple Silicon(M1/M2)尚未普及,因此 沒有官方預編譯的 macOS ARM64 版本 處理方案&am…

系統安全設計方案,軟件系統安全設計方案

1.1 總體設計 1.1.1 設計原則 1.2 物理層安全 1.2.1 機房建設安全 1.2.2 電氣安全特性 1.2.3 設備安全 1.2.4 介質安全措施 1.3 網絡層安全 1.3.1 網絡結構安全 1.3.2 劃分子網絡 1.3.3 異常流量管理 1.3.4 網絡安全審計 1.3.5 網絡訪問控制 1.3.6 完整性檢查 1.…

Python入門Day3

Python的基礎數據類型 1.Python中提供了六種內置的數據類型,一般用于存儲數據: –數值Number –字符串String –列表List –元組Tuple –字典Dictionary –集合Set 2.Python中的數據類型可以做以下幾個分類: –有序:可以使用下標…

前端富文本添加錄音功能方案

為富文本編輯器添加錄音功能可以增強內容創作的多樣性。以下是幾種實現方案: 方案一:基于Web Audio API原生實現 實現步驟獲取用戶麥克風權限 navigator.mediaDevices.getUserMedia({ audio: true }).then(stream > { /* 處理音頻流 */ }).catch(err …

解鎖阿里云Hologres:開啟實時數據分析新時代

引言在當今這個數字化浪潮洶涌澎湃的大數據時代,數據就如同企業和組織的 “數字石油”,成為了最具價值的資產之一。隨著信息技術的飛速發展,各行業所產生和收集的數據量正以指數級的速度增長,從社交媒體上的用戶互動信息&#xff…

python學習打卡day59

DAY 59 經典時序預測模型3 知識點回顧: SARIMA模型的參數和用法:SARIMA(p, d, q)(P, D, Q)m模型結果的檢驗可視化(昨天說的是摘要表怎么看,今天是對這個內容可視化)多變量數據的理解:內生變量和外部變量多變…

java中agent的作用

一 java中agent1.1 agent-javaagent 是 Java 虛擬機 (JVM) 提供的一個啟動參數,用于在 Java 程序 main 方法執行之前,加載一個特殊的 Java 代理程序(Java Agent)。它的核心作用是對運行中的 Java 程序進行字節碼層面的動態修改、監…

[C/C++內存安全]_[中級]_[如何避免數組訪問越界]

場景 C/C的標準在C26以前還沒支持內存安全的訪問連續內存的類或特性。在開發分析內存數據或文件數據的程序時,經常需要把一段內存數據復制到另一個堆空間里。 這時目標內存空間由于起始地址的移動,剩余大小的計算錯誤,經常會導致訪問越界錯誤…

rabbitmq 與 Erlang 的版本對照表 win10 安裝方法

win10 64位系統 安裝的版本 otp_win64_27.3.3.exe rabbitmq-server-4.1.1.exe rabbitmq 與 Erlang 的版本對照表 Erlang Version Requirements This guide covers Erlang/OTP version requirements https://www.rabbitmq.com/docs/which-erlang Erlang 28 is not currently…

kali安裝教程

kali教程 我下載的是kali的集成環境,可以直接進行打開,無需進行安裝。 Get Kali | Kali Linux, 官網下載路徑 直接按enter鍵 安裝完成 生成一個小皮安裝鏈接 會給你生成一個外網和內網地址, 可以進行瀏覽 點擊我同意這個協議…

微信小程序入門實例_____快速搭建一個快遞查詢小程序?

🌷🌷之前幾篇博文我們一起開發了天氣查詢、單詞速記和待辦事項小程序,這次我們來對生活中常用的功能 —— 快遞查詢來探索相關的小程序。網購已經成為大家生活的一部分,有了自己的快遞查詢小程序,不用切換多個應用&…