網絡資訊安全
內容描述
<內容簡介>
本書從網絡攻擊與防護的角度討論網絡安全原理與技術。在網絡防護方面,介紹了密碼學、虛擬專用網絡、防火牆、入侵檢測和操作系統的安全防護;在網絡攻擊方面,詳細討論了緩衝區溢出攻擊、格式化字符串攻擊、拒絕服務攻擊和惡意代碼攻擊。本書的特點是理論結合實踐,書中的例子代碼只需經過少量修改即可用於設計實踐。
<章節目錄>
前言第1章網絡安全綜述1 1.1網絡安全概述1 1.1.1網絡安全概念1 1.1.2網絡安全體系結構2 1.1.3網絡安全的攻防體系3 1.2計算機網絡面臨的安全威脅4 1.2.1TCP/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.2VBS腳本文件27 2.4網絡埠、服務、進程27 2.4.1網絡埠27 2.4.2服務與進程29 2.4.3Windows終端服務30 2.5網絡編程技術基礎知識31 2.5.1套接字31 2.5.2網絡編程庫33 2.5.3用WindowsSockets編程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.1DES算法的安全性42 3.2.2DES算法的原理42 3.2.3DES的各種變種43 3.3RSA公開密鑰密碼技術43 3.3.1RSA算法描述44 3.3.2RSA算法舉例44 3.3.3RSA算法的安全性45 3.3.4RSA算法的速度45 3.3.5RSA算法的程序實現45 3.4信息摘要和數字簽名45 3.4.1信息摘要45 3.4.2數字簽名46 3.5公鑰基礎設施及數字證書47 3.5.1PKI的定義和組成47 3.5.2數字證書及其應用48 3.6PGP及其應用50 3.6.1PGP簡介50 3.6.2Windows環境下PGP的實現案例Gpg4win50 3.7使用OpenSSL中的密碼函數54 3.7. 1在命令行下使用OpenSSL54 3.7.2在Windows的C程序中使用OpenSSL57 3.7.3在Linux的C程序中使用OpenSSL58 3.8Windows系統提供的密碼算法59 3.8.1密碼服務提供者CSP60 3.8.2使用CSP提供的密碼技術實現保密通信62 習題62 上機實踐63 第4章虛擬專用網絡VPN64 4.1概述64 4.1.1VPN的功能和原理64 4.1.2VPN的分類66 4.2基於第2層隧道協議的PPTPVPN和L2TPVPN67 4.2 .1PPTPVPN67 4.2.2L2TPVPN68 4.3基於第3層隧道協議的IPSecVPN68 4.3.1IPSec的組成和工作模式69 4.3.2認證協議AH69 4.3.3封裝安全載荷ESP70 4.3.4安全關聯與安全策略71 4.4Windows環境下的VPN72 4.4.1用Windows2003實現遠程訪問VPN73 4.4.2用Windows2003實現網關—網關VPN81 習題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.6Linux防火牆的配置99 習題99 上機實踐99 第6章入侵檢測技術100 6.1入侵檢測概述100 6.1.1入侵檢測的概念及模型100 6.1.2IDS的任務101 6.1.3IDS提供的主要功能102 6.1.4IDS的分類103 6.2CIDF模型及入侵檢測原理104 6.2.1CIDF模型104 6.2.2入侵檢測原理105 6.3基於Snort部署IDS106 習題108 上機實踐108 第7章Windows和Linux系統的安全109 7.1計算機系統的安全級別109 7.2Windows系統的安全防護110 7.2.1使用NTFS110 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.4Linux(UNIX)的安全機制及防護技術120 7.4.1Linux的安全機制120 7.4.2Linux的安全防護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.2LinuxIA32緩衝區溢出128 8.2.1LinuxIA32的進程映像128 8.2.2緩衝區溢出的原理130 8.2.3緩衝區溢出攻擊技術133 8.3Linuxintel64緩衝區溢出136 8.3.1Linuxx86_64的進程映像136 8.3.2Linuxx86_64的緩衝區溢出流程137 8.3.3Linuxx86_64的緩衝區溢出攻擊技術139 習題142 上機實踐142 第9章LinuxShellcode技術143 9.1LinuxIA32中的系統調用143 9.2編寫LinuxIA32的Shellcode146 9.2.1編寫一個能獲得Shell的程序146 9.2.2用系統功能調用獲得Shell147 9.2.3從可執行文件中提取出Shellcode149 9.3LinuxIA32本地攻擊150 9.3.1小緩衝區的本地溢出攻擊151 9.3.2大緩衝區的本地溢出攻擊153 9.4LinuxIA32遠程攻擊154 9.5Linuxintel64Shellcode156 9.5.1一個獲得Shell的Shellcode156 9.5.2本地攻擊159 習題161 上機實踐161 第10章Windows系統的緩衝區溢出攻擊162 10.1Win32的進程映像162 10.2Win32緩衝區溢出流程165 10.3Win32緩衝區溢出攻擊技術171 10.4Win32緩衝區溢出攻擊實例172 10.5Win64平臺的緩衝區溢出174 10.5.1Win64的進程映像175 10.5.2Win64的緩衝區溢出流程176 10.5.3Win64的緩衝區溢出攻擊技術178 習題179 上機實踐180 第11章WindowsShellcode技術181 11.1用LoadLibrary和GetProcAddress調用任何dll中的函數181 11.2在Win32進程映像中獲取WindowsAPI183 11.2.1確定動態連接庫的基址183 11.2.2獲取WindowsAPI的地址185 11.3編寫Win32Shellcode193 11.3.1編寫一個啟動新進程的C程序193 11.3.2用彙編語言實現同樣的功能193 11.3.3編寫Shellcode並用C程序驗證197 11.3.4去掉Shellcode中的字符串結束符'\0'198 11.4攻擊Win32202 11.4.1本地攻擊202 11.4.2遠程攻擊204 習題208 上機實踐208 第12章格式化字符串及SQL註入攻擊209 12.1格式化字符串漏洞的原理209 12.2Linuxx86平臺格式化字符串漏洞211 12.2.1使進程崩潰212 12.2.2讀取指定內存地址單元的值212 12.2 .3改寫指定內存地址單元的值213 12.2.4直接在格式串中指定內存地址214 12.3Win32平臺格式化字符串漏洞217 12.3.1使進程崩潰217 12.3.2讀取指定內存地址單元的值217 12.3.3改寫指定內存地址單元的值218 12.4SQL註入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.1DoS攻擊的基本原理及分類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.4DNS攻擊231 13.2. 5基於重定向的路由欺騙攻擊232 13.3針對UNIX和Windows的DoS攻擊232 13.3.1本地DoS攻擊232 13.3.2遠程DoS攻擊233 13.3.3Dos攻擊實例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.4U盤病毒245 14.3.5PE病毒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