操作系統安全概述
計算機系統層次結構
操作系統
是計算機系統中一個系統軟件,是程序模塊的集合
功能
- 進程和線程管理、gpu(圖形處理器)管理
- 存儲管理
- 文件管理
- 設備管理
- 任務管理
此外,操作系統還爲用戶提供一組功能強大的、方便易用的命令或系統調用。
操作系統安全
操作系統安全可以從一下兩個角度來考慮:
- 安全操作系統:試圖設計和開發一個安全的操作系統。
- 操作系統安全加固:對已由的操作系統進行安全性的設置和配置。
作用:
- 能夠相對,有效的以合理的方式組織和管理計算機硬件、軟件資源。
- 合理組織計算機工作流程
- 控制程序的執行並向用戶提供各種服務功能
- 使得用戶能夠靈活、方便、有效地使用計算機
- 使整個計算機系統能高效的運行
操作系統安全模型
概述
- 安全模型定義了進程(一般成爲主體)對特定資源(資源在現代操作系統中常被表示爲對象)可以進行何種類型的訪問。
- 使用這個模型時,首先必須確保主體在訪問資源前通過了認證 (Authentication )
- 當用戶通過了認證後,依據訪問 控制策略(Access Control Policy ) 給予用戶訪問資源的授權
- 操作系統也需要對用戶的認證(Authentication ) 、授權 (Authorization )、訪問 (Access ) 等操作進行日誌記錄(Logging )和審計( Audit )。
操作系統權限管理(引用監視器)
概述
在上述所有的權限管理都來源於引用監視器,引用監視器是一種訪問控制,用於主體對客體的訪問。因此,引用監視器能夠時候識別操作系統中的程序,控制其他程序的運行,負責控制對系統資源的訪問。
特點
- 是控制設備、文件、內存、進程等對象機械能訪問的一組訪問控制策略。
- 是所有訪問請求的唯一入口
- 自身必須是正確和安全的
- 應該足夠小,以保證控制器的驗證可以任意進行
安全內核
概述
是實現引用監視器概念的 可信計算基 的硬件、固件和軟件的集合體,是系統中與安全性的實現有關的部分 。
可信計算基(TCB:Trusted Computing Base)
是一個計算機系統中的全部保護機制(包括 硬件 、固件和軟件),他們結合起來爲系統提供全局統一的訪問控制策略。在某些系統中, TCB 等同於安全內核,即 TCB 是操作系統的一部分,是整個系統安全性的基礎。
安全內核的要求
- 必須 對所有訪問進行驗證和授權 ;
- 自身必須被保護不被修改 ;
- 自身 的安全性 應是可證且安全的。
安全內核包括 :
- 引用 驗證 機制
- 授權機制
- 授權 管理
引用驗證機制
J.P. Anderson 把引用監控器的具體實現稱爲 引用驗證機制 ,它是實現引用監控器思想的硬件和軟件的組合 。
引用驗證機制需同時滿足的3 個原則
- 必須具有自我保護能力;
- 必須總是處於活躍狀態;
- 必須設計得足夠小,以利於分析和測試,從而能夠證明它的實現是正確的 。
操作系統安全關鍵機制
- 身份認證技術
- 訪問控制技術
- 文件保護技術
- 內存保護技術
- 惡意程序防禦技術
操作系統文件保護
文件系統的重要性
- 文件及文件系統是操作系統的重要組成部分
- 文件及系統是操作系統設計的基礎和難點
- 文件系統結構不僅影響操作系統的性能,頁影響操作系統的安全性
爲什麼需要文件保護
- 存儲在磁盤上的文件往往是攻擊者的攻擊對象
- 對於多用戶操作系統,操作系統必須提供文件保護機制,以防止用戶有意或無意對系統文件 用戶文件 或其他數據文件機械能非法獲取或修改,以及多用戶操作系統用戶數越多,安全保護也更復雜
- 文件具有易毀性(隨機性 虛擬性 電磁性 可覆蓋性),所以更需要保護
文件保護機制
文件保護機制主要分爲:
- 對文件本身的安全保護:
- 機密性保護,如訪問控制、加密
- 完整性保護:加密 、加殼 、混淆 、可信計算基
- 可用性保護:分片 、備份
- 對文件所在文件系統的安全保護:
- 文件訪問控制服務(windows 或linux的acl)
- 文件系統加密(如Windows ntfs即新技術文件系統,所提供的加密功能)
- 文件系統備份(Windows或unix提供的備份或恢復功能)
- 對文件存儲載體的安全保護
- 加密(如硬盤加密、加密U 盤)
- 冗餘(如磁盤陣列、雙機備份))
- 抗毀
- 防盜
- 防電子泄露
文件保護等級
操作系統對文件的安全保護有不同等級
- 一般性有無保護
- 基於系統中用戶都是可信的原則
- 對特定文件或者機密文件進行口令訪問保護
- 分組保護
- 根據用戶特徵,將具有相同特徵的用戶歸爲一組,併爲組定義對文
件的存取權限 - 每個用戶屬於一個組(不能屬於多個組)
- 單獨保護許可保護
- 對單個文件進行存儲權限保護(如訪問控制)
內存保護
爲什麼需要內存保護
- 操作系統基本上都支持多道程序技術:很多程序同時共存於內存中,彼此互不影響,但有可能非法獲取其他程序的數據
- 堆棧訪問技術:地址增長與主存地址增長不同,有可能導致堆棧溢出
- 區域保護技術:由於操作系統與用戶運行區域分開與保護,但用戶程序有可能獲取操作系統內核中的數據
內存可能的安全攻擊
- 內存映象竊取
- 緩衝區內容截取
- 內存跟蹤技術
- 存儲內容分析技術
- 存儲器鎖定技術
- 擴展存儲器使用技術
如何保護內存
- 硬件保護 :如 如ECC ,CPU 運行模式,RAM 分區
- 操作系統內核保護:
- 界址(Fence )
- 界址寄存器(Bound Register )
- 重定位
- 特徵位
- 分段
- 分頁
- 虛擬機制
unix系統安全保護
- 硬件安全保護(如段保護等)
- 用戶及口令管理(身份認證)
- 單個 用戶 及口令管理
- 組 組 及口令管理
- 超級 用戶及口令管理
- 文件權限管理(訪問控制)
unix操作系統的用戶及口令管理
UNIX 操作系統用戶及口令管理的內容包括:
- 所有的用戶擁有一個唯一的用戶標識( UID : User ID )
- UID 是一個 16 位的數字
- UID 連接到了 UNIX位 口令文件(一般位 / / etc/ / passwd )以確定 UID 對應的口令
- UID是用戶在操作系統合法性及擁有相應權限的唯一憑證
- UID 爲0的用戶是系統的 超級用戶 ,擁有一切權限
- 口令長度一般小於8個字符
注: UNIX 對權限的管理是依據 UID,具有相同 UID,即具有相同權限
口令保存與口令文件
- 口令一般用 DES 加密後存放在安全目錄之下( shadow password file )
- 在文件 etc/ / passwd 中,加密口令用“* * ”表示
- 文件 etc/ / passwd 是任何用戶均可讀,而受安全保護的口令文件只能由具有系統管理員權限的用戶或超級用戶可讀
- 確保攻擊者不容易得到口令文件(但絕非不可能)
用戶和用戶組
UNIX 系統中的所有用戶都必須屬於某個組(group)
- 用戶與組之間的關係可以在文件/etc/group 中查看,該
文件的 格式是:
group name:group password:GID:users
- 同組所有用戶具有相同的權限
unix操作系統的用戶及口令管理
文件位置:/etc/password
注意:X 爲空表示無需登錄口令,X 不爲空,需要登錄口令,口令密文保存在/ / etc /shadow 文件
口令文件記錄事例
s權限
爲什麼需要s權限
讓普通用戶某些只有超級用戶或管理員才能訪問的文件的權限
s權限類型
- set-user-id (SUID ):如果設定了該權限,當文件被執行時,將以文件的 擁有者的身份執行 ,
而不是普通用戶的 身份 ; 該 權限對於不可執行的文件或目錄無效。 - set-group-id (SGID ):與set-user-id 相同,當文件被執行時,將以文件的組的身份來執行,而不是一般的用戶身份。
- sticky (S ):如果對 目錄 設置該權限 ,該 目錄可以被其他用戶讀寫,但該目錄下的文件和目錄只有擁有者纔有權刪除或更名。
注:如果文件的權限對應的八進制數爲 4444 (對應的字符表示爲-r-s–x--x ),則擁有者具有讀的權限,組和其他用戶只具有執行的權限。
同時,當組和其他用戶執行該文件時,將以擁有者的身份執行(s在擁有者權限上)。
Windows系統安全保護
Microsoft Windows 系統在網絡設計上支持兩種網絡模型
- 工作羣組( Workgroup )模型:
- 工作羣組模型適合於小型網絡,具有相同工作組名稱的各工作站可以參與同一個工作羣 組。
- 各工作站自行維護各自的賬號及安全策略 數據庫。
- 工作羣組成員之間可共享某些 資源。
- 由於資源管理必須在各工作站上設定,因此對於大規模網絡很難實施統一的管理。
- 網絡域( Domain )
- 網絡域模型適合於大中型 網絡。
- 與工作羣組模型的分佈式資源管理方式,網絡域模型採用集中式管理
在網域模型裏,由一個主域控制器( Primary domain controller : PDC )負責儲存所管轄網絡域內的共享賬號數據及安全策略數據庫
每個工作站必須通過主域控制器的認證後,才能存取域內的資源
域的管理員只需要對網絡主控臺進行管理,就可以控制各用戶的訪問權限 - 通過跨域認證和信任,擴大資源共享範圍,從而使網絡域模型適合於大型網絡環境。
windows NT的安全模型 的安全模型
Windows NT成 包括一組構成 Windows 安全模型的安全組件。
- 這些組件確保了應用程序不能在沒有身份驗證和授權的情況下對資源進行訪問。
- 這些安全組件稱爲 Windows 的安全子系統( Windows Security Subsystem ),是 Windows NT系統中安全機制的最重要核心
Windows Nt賬號
Administrator 賬號 :
• 它 擁有最高的 權限
• 管理計算機/ / 網域內的所有 賬號
• 能 存取系統或使用者的所有 檔案
• 對 系統的操作及安全有完全的 控制權
Guest 賬號 :
• 供 來賓存取計算機或網域之 用
• 它 只能讀取管理者允許的資源,無法對任何檔案做寫入 動作
windows NT的羣組 的羣組
爲了簡化管理在工作羣組或是網域裏各賬號的使用權限 ,s Windows NT 使用了羣組的觀念
羣組:把同類型使用者賬號歸成一個羣組。
這樣只要修改該羣組所擁有的權限,在羣組內的使用者賬號則自動使用該羣組的權力。
然而應用於不同網絡模型的需求,羣組可分爲區域羣組 (Local Group) 及全域羣組 (GlobalGroup) 兩種:
區域 羣 組: 是 該羣組所設定的權限只能應用在本機計算機上
全域 羣 組: 是可以應用在同一個網絡於裏的各工作站上
Windows lan manager口令生成示意圖
Windows的資源共享 的資源共享
Windows 95/98 系統在資源共享存取控制方面分兩種安全等
級
- 共享級訪問控制(Share-Lever Security):
這是內定採用的方式,就是只要有提供口令就可以訪問共享的資源。 - 用戶級訪問控制(User-Lever Security) )
在這種設定下,用戶必須在遠程計算機的認證服務器上(遠程計算機
所指定的另一臺Windows NT 系統)擁有賬號才能夠訪問共享資源。
Windows NT 系統則採用用戶級訪問控制 , 只有用戶在該系
統內擁有賬號才能訪問其**共享資源 **
Windows的註冊表 的註冊表
Windows 系統最初使用初始化文件 (. ini 文件 ) 來記錄應用程序
或系統程序的配置和控制參數 。
但是由於. .ini 文件多,管理不易且讀取速度慢
因此從 Windows 3.1 開始採用註冊表( Registry )來存放這些數據。
註冊表其實就是一個reg.dat 文件,但是由於其格式的特殊性,因此只能利用 regedit.exe進行修改或色湖之各種值
Windows註冊表相關權限