內容簡介
《網絡信息安全》從網絡攻擊與防護的角度討論網絡安全原理與技術。在網絡防護方麵,介紹瞭密碼學、虛擬專用網絡、防火牆、入侵檢測和操作係統的安全防護;在網絡攻擊方麵,詳細討論瞭緩衝區溢齣攻擊、格式化字符串攻擊、拒絕服務攻擊和惡意代碼攻擊。本書的大特點是理論結閤實踐,書中的例子代碼隻需經過少量修改即可用於設計實踐。
目錄
前言
第1章 網絡安全綜述 1
1.1 網絡安全概述 1
1.1.1 網絡安全概念 1
1.1.2 網絡安全體係結構 2
1.1.3 網絡安全的攻防體係 3
1.2 計算機網絡麵臨的安全威脅 4
1.2.1 TCP/IP網絡體係結構及計算機網絡的脆弱性 4
1.2.2 計算機網絡麵臨的主要威脅 5
1.3 計算機網絡安全的主要技術與分類 6
1.3.1 網絡偵察 6
1.3.2 網絡攻擊 7
1.3.3 網絡防護 8
1.4 網絡安全的起源與發展 11
1.4.1 計算機網絡的發展 11
1.4.2 網絡安全技術的發展 12
1.4.3 黑客與網絡安全 12
習題 13
上機實踐 13
第2章 基礎知識 14
2.1 常用的Windows命令 14
2.2 常用的Linux命令 21
2.3 批命令及腳本文件 25
2.3.1 批處理文件 25
2.3.2 VBS腳本文件 27
2.4 網絡端口、服務、進程 27
2.4.1 網絡端口 27
2.4.2 服務與進程 29
2.4.3 Windows終端服務 30
2.5 網絡編程技術基礎知識 31
2.5.1 套接字 31
2.5.2 網絡編程庫 33
2.5.3 用Windows Sockets編程 33
2.6 網絡安全實驗環境的配置 33
2.6.1 安裝VirtualBox虛擬機 33
2.6.2 配置多個虛擬網卡,模擬多個網絡交換機 34
2.6.3 安裝和配置新的虛擬機係統 34
2.6.4 導入和導齣安裝好的虛擬機 37
習題 38
上機實踐 38
第3章 密碼學基礎 39
3.1 密碼學概述 39
3.2 對稱密碼技術 42
3.2.1 DES算法的安全性 42
3.2.2 DES算法的原理 42
3.2.3 DES的各種變種 43
3.3 RSA公開密鑰密碼技術 43
3.3.1 RSA算法描述 44
3.3.2 RSA算法舉例 44
3.3.3 RSA算法的安全性 45
3.3.4 RSA算法的速度 45
3.3.5 RSA算法的程序實現 45
3.4 信息摘要和數字簽名 45
3.4.1 信息摘要 45
3.4.2 數字簽名 46
3.5 公鑰基礎設施及數字證書 47
3.5.1 PKI的定義和組成 47
3.5.2 數字證書及其應用 48
3.6 PGP及其應用 50
3.6.1 PGP簡介 50
3.6.2 Windows環境下PGP的實現案例Gpg4win 50
3.7 使用OpenSSL中的密碼函數 54
3.7.1 在命令行下使用OpenSSL 54
3.7.2 在Windows的C程序中使用OpenSSL 57
3.7.3 在Linux的C程序中使用OpenSSL 58
3.8 Windows係統提供的密碼算法 59
3.8.1 密碼服務提供者CSP 60
3.8.2 使用CSP提供的密碼技術實現保密通信 62
習題 62
上機實踐 63
第4章 虛擬專用網絡VPN 64
4.1 概述 64
4.1.1 VPN的功能和原理 64
4.1.2 VPN的分類 66
4.2 基於第2層隧道協議的PPTP VPN和L2TP VPN 67
4.2.1 PPTP VPN 67
4.2.2 L2TP VPN 68
4.3 基於第3層隧道協議的IPSec VPN 68
4.3.1 IPSec的組成和工作模式 69
4.3.2 認證協議AH 69
4.3.3 封裝安全載荷ESP 70
4.3.4 安全關聯與安全策略 71
4.4 Windows環境下的VPN 72
4.4.1 用Windows 2003實現遠程訪問VPN 73
4.4.2 用Windows 2003實現網關-網關VPN 81
習題 89
上機實踐 89
第5章 防火牆技術 90
5.1 防火牆概述 90
5.2 防火牆的功能和分類 91
5.2.1 防火牆的功能 91
5.2.2 防火牆的分類 92
5.3 包過濾防火牆 93
5.3.1 靜態包過濾防火牆 93
5.3.2 動態包過濾防火牆 94
5.4 應用級網關防火牆 96
5.5 防火牆的典型部署 97
5.5.1 屏蔽主機模式防火牆 97
5.5.2 雙宿/多宿主機模式防火牆 97
5.5.3 屏蔽子網模式防火牆 98
5.6 Linux防火牆的配置 99
習題 99
上機實踐 99
第6章 入侵檢測技術 100
6.1 入侵檢測概述 100
6.1.1 入侵檢測的概念及模型 100
6.1.2 IDS的任務 101
6.1.3 IDS提供的主要功能 102
6.1.4 IDS的分類 103
6.2 CIDF模型及入侵檢測原理 104
6.2.1 CIDF模型 104
6.2.2 入侵檢測原理 105
6.3 基於Snort部署IDS 106
習題 108
上機實踐 108
第7章 Windows和Linux係統的安全 109
7.1 計算機係統的安全級彆 109
7.2 Windows係統的安全防護 110
7.2.1 使用NTFS 110
7.2.2 防止窮舉法猜測口令 110
7.2.3 使用高強度的密碼(口令) 112
7.2.4 正確設置防火牆 112
7.2.5 路由和遠程訪問中的限製 112
7.2.6 係統安全策略 113
7.2.7 重要文件的權限設置 114
7.2.8 安裝第三方安全軟件,及時打上補丁 115
7.2.9 斷開重要的工作主機與外部網絡的連接(物理隔離) 116
7.3 入侵Windows係統 116
7.3.1 密碼破解 116
7.3.2 利用漏洞入侵Windows係統 116
7.3.3 利用黑客工具進行入侵 119
7.4 Linux(UNIX)的安全機製及防護技術 120
7.4.1 Linux的安全機製 120
7.4.2 Linux的安全防護 123
7.5 入侵Linux係統 125
7.5.1 破解口令 125
7.5.2 通過係統漏洞進行入侵 125
7.5.3 幾種典型的數據驅動攻擊 125
習題 126
上機實踐 126
第8章 Linux係統的緩衝區溢齣攻擊 127
8.1 緩衝區溢齣概述 127
8.2 Linux IA32緩衝區溢齣 128
8.2.1 Linux IA32的進程映像 128
8.2.2 緩衝區溢齣的原理 130
8.2.3 緩衝區溢齣攻擊技術 133
8.3 Linux intel64緩衝區溢齣 136
8.3.1 Linux x86_64的進程映像 136
8.3.2 Linux x86_64的緩衝區溢齣流程 137
8.3.3 Linux x86_64的緩衝區溢齣攻擊技術 139
習題 142
上機實踐 142
第9章 Linux Shellcode技術 143
9.1 Linux IA32中的係統調用 143
9.2 編寫Linux IA32的Shellcode 146
9.2.1 編寫一個能獲得Shell的程序 146
9.2.2 用係統功能調用獲得Shell 147
9.2.3 從可執行文件中提取齣Shellcode 149
9.3 Linux IA32本地攻擊 150
9.3.1 小緩衝區的本地溢齣攻擊 151
9.3.2 大緩衝區的本地溢齣攻擊 153
9.4 Linux IA32遠程攻擊 154
9.5 Linux intel64 Shellcode 156
9.5.1 一個獲得Shell的Shellcode 156
9.5.2 本地攻擊 159
習題 161
上機實踐 161
第10章 Windows係統的緩衝區溢齣攻擊 162
10.1 Win32的進程映像 162
10.2 Win32緩衝區溢齣流程 165
10.3 Win32緩衝區溢齣攻擊技術 171
10.4 Win32緩衝區溢齣攻擊實例 172
10.5 Win64平颱的緩衝區溢齣 174
10.5.1 Win64的進程映像 175
10.5.2 Win64的緩衝區溢齣流程 176
10.5.3 Win64的緩衝區溢齣攻擊技術 178
習題 179
上機實踐 180
第11章 Windows Shellcode技術 181
11.1 用LoadLibrary和GetProcAddress調用任何dll中的函數 181
11.2 在Win32進程映像中獲取Windows API 183
11.2.1 確定動態連接庫的基址 183
11.2.2 獲取Windows API的地址 185
11.3 編寫Win32 Shellcode 193
11.3.1 編寫一個啓動新進程的C程序 193
11.3.2 用匯編語言實現同樣的功能 193
11.3.3 編寫Shellcode並用C程序驗證 197
11.3.4 去掉Shellcode中的字符串結束符' ' 198
11.4 攻擊Win32 202
11.4.1 本地攻擊 202
11.4.2 遠程攻擊 204
習題 208
上機實踐 208
第12章 格式化字符串及SQL注入攻擊 209
12.1 格式化字符串漏洞的原理 209
12.2 Linux x86平颱格式化字符串漏洞 211
12.2.1 使進程崩潰 212
12.2.2 讀取指定內存地址單元的值 212
12.2.3 改寫指定內存地址單元的值 213
12.2.4 直接在格式串中指定內存地址 214
12.3 Win32平颱格式化字符串漏洞 217
12.3.1 使進程崩潰 217
12.3.2 讀取指定內存地址單元的值 217
12.3.3 改寫指定內存地址單元的值 218
12.4 SQL注入 219
12.4.1 環境配置 219
12.4.2 利用SELECT語句的SQL注入攻擊 219
12.4.3 利用UPDATE語句的SQL注入攻擊 222
12.4.4 防範SQL注入攻擊的技術 223
習題 224
上機實踐 224
第13章 協議和拒絕服務攻擊 225
13.1 DoS攻擊的基本原理及分類 225
13.1.1 帶寬耗用 226
13.1.2 資源衰竭 226
13.1.3 係統或編程缺陷(漏洞) 227
13.1.4 路由和DNS攻擊 228
13.2 通用的DoS攻擊技術 228
13.2.1 應用層的DoS攻擊 228
13.2.2 傳輸層的DoS攻擊 228
13.2.3 網絡層的DoS攻擊 230
13.2.4 DNS攻擊 231
13.2.5 基於重定嚮的路由欺騙攻擊 232
13.3 針對UNIX和Windows的DoS攻擊 232
13.3.1 本地DoS攻擊 232
13.3.2 遠程DoS攻擊 233
13.3.3 Dos攻擊實例 233
13.4 分布式拒絕服務攻擊 236
13.4.1 分布式拒絕服務攻擊原理 236
13.4.2 分布式拒絕服務攻擊的特點 237
13.4.3 分布式拒絕服務攻擊的防禦對策 238
習題 238
上機實踐 238
第14章 惡意代碼攻擊 239
14.1 惡意代碼概述 239
14.1.1 惡意代碼定義 239
14.1.2 惡意代碼的分類 240
14.1.3 惡意代碼長期存在的原因 241
14.2 計算機病毒概述 242
14.2.1 計算機病毒的起源 242
14.2.2 病毒的分類 242
14.2.3 病毒的特性 243
14.2.4 病毒的結構 244
14.3 幾種常見惡意代碼的實現機理 244
14.3.1 腳本病毒 244
14.3.2 宏病毒 245
14.3.3 瀏覽器惡意代碼 245
14.3.4 U盤病毒 245
14.3.5 PE病毒 247
14.4 網絡蠕蟲 248
14.4.1 網絡蠕蟲實現機理 248
14.4.2 網絡蠕蟲的傳播 249
14.4.3 幾種典型蠕蟲 250
14.5 木馬 252
14.5.1 木馬原理及典型結構 252
14.5.2 木馬的隱藏和僞裝 253
14.5.3 幾類常見的木馬 254
14.6 惡意活動代碼的防禦 255
習題 256
上機實踐 256
參考文獻 257
前言/序言
筆者從2004年起承擔“網絡安全”研究生課程的主講工作,最初的課程參考瞭《黑客大曝光》係列書籍,主要講解計算機及網絡攻擊技術,後來逐步增加網絡安全防護方麵的理論和技術等相關內容;在教學過程中參考瞭眾多計算機與網絡安全方麵的教材,並將其中最有價值的內容引入課堂教學。
筆者認為,計算機類課程的教學應注重理論與實踐相結閤。如果隻強調理論,難免枯燥無味,很難讓讀者堅持學習下去,甚至會産生“讀書無用”的感覺。如果隻強調實踐,一味講解案例,會讓讀者覺得“網絡安全就是黑客攻防大全”。
本書麵嚮高年級本科生和碩士研究生,從網絡攻擊和防護的角度闡述網絡安全原理與實踐。在網絡防護部分,主要介紹原理和方法,並簡要介紹原理與技術的具體應用。在網絡攻擊部分,主要介紹方法和實踐,披露一些所謂的“黑客秘技”,並給齣大量的實例代碼供讀者參考。
本書的網絡攻擊技術是從公開的齣版物或網絡資料總結而來的,目的是讓讀者瞭解網絡攻擊技術,更好地進行網絡安全防護。讀者隻能在虛擬的實驗環境下驗證相關技術,不得在真實環境下使用攻擊技術。
本書的最大特點是實用。書中的實例代碼均通過驗證,略作修改就可用於設計實踐。為瞭便於教學,筆者製作瞭16次課(每次課3學時)的課件,適閤國內高校一個學期每周3學時的教學任務。其中的“網絡信息偵察技術”是從《黑客大曝光》係列書籍中總結而來的,僅用於保持教學內容的完整,不是本書的內容;另外,本書對“數字證書”介紹得不多,課件的部分內容擴充自其他教材。讀者可登錄華章網站下載隨書課件及所有的實例代碼。書中用到的工具和虛擬機可通過鏈接獲取。
由於筆者水平及精力有限,不足之處在所難免,懇請讀者提齣寶貴的意見和建議,以便進一步完善教材內容。
網絡信息安全 下載 mobi epub pdf txt 電子書