OS筆記-Chapter 14: Protection
目錄
保護的目的
保護的原則
- 最小特權原則(princple of least privilege)
- 程式、使用者甚至系統只需有足夠的特權來執行他們的工作
- 造成最小的傷害
- 提供機制應用程式需要的時候可以使用特權,不需要的時候,則不使用特權
保護的範圍
存取矩陣(access matrix)
存取矩陣的製作(Implementation of Access Matrix)
-
全域表
- 製作一個含有<Domain,Object,rights-set>的表
- 表格太大
-
物件的存取串列(access list)
- 每個物件都有自己的串列
- 紀錄<Domain,rights-set>
-
領域的資格串列(capability list)
- 若領域內行程的資格串列有此物件的資格項,則表示允許該行程使用此物件
- 兩種分法區隔資格項與一班可存資料項
- 每個物件都附帶一個標籤(tag)
- 將位址空間分為兩部分
-
鎖與鑰匙的機制(lock-key scheme)
- 每個物件有唯一的位元串列,稱為鎖
- 每個領域有唯一的位元串列,稱為鑰匙
- 鎖與鑰匙相符才能使用該物件
存取控制(Access Control)
* 每一檔案和目錄被指定有使用者、團體或一串列的使用者,存取控制信息被分配給這些實體
- Solaris 10以角色為基礎的存取控制(RBAC,role-based access control)加少許特權的原則
- 特權是執行系統呼叫的權力,可以被分配到行程
- 特權與程式可以分配到角色
- 分配角色給使用者
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
存取權利的取消(Revocation of Access Rights)
-
當取消存取權時,會有一些問題產生
- 立即(immediate)/延後(delayed):取消是立即發生或延後發生?
- 選擇性的(selective)/一般性的(general):當一個存取權被取消時,會對所有有此物件存取權的使用者早成影響嗎
- 部分(partial)/全部(total):能否部分集合對此物件的權利被取消?
- 暫時性的(remporary)/永久性的(permanent)
-
存取串列(access list)
- 容易取消存取權
- 搜尋串列並移除
- 立即、選擇性的/一般性的、部分/全部、暫時性的/永久性的
-
資格串列(capability list)
- 資格散佈在系統中,不易取消
- 再獲得(reacqusition):如果一個行程想要使用資格,他可發現該資格已被刪除,再嘗試獲取資格
- 返回指標(back-pointer):每一個物件都建立一個指標串列,指向附屬於該物件的資格
- 間接(indirection):資格不是直接而是間接的指向物件,每一資格指向全域表中唯一的紀錄
- 鑰匙(key):將鑰匙換新
以資格為基礎的系統(Capability-Based Systems)
-
Hydra
- 以資格為主的保護系統
- 提供一個固定集合的可能存取權利
- 提供使用者外加權利的方法
- 附加權(auxiliary right):將處理使用者定義類型的物件,使用者定義的處理程序的名稱必須指明給保護系統
- 權利擴大(rights amplification):允許一個處理程序作用在一個標明類型的正規參數上得到值得信賴的保證
- 當一行程在一物件A上引發動作P,如控制傳到P的程式碼實體,對A存取的資格可以被擴大
- 相互猜疑子系統問題(problem of mutually suspicious subsystem)
-
劍橋CAP
- 兩種資格
- 資料資格(data capability):提供物件的存取,標準讀寫或個別儲存分段與物件相關的執行
- 軟體資格(software capability):一個行程可以暫時的要求一個軟體資格來對自己的內容做讀或寫的權利
以語言為基礎的保護系統(Language-Based Protection)