本書著重闡述網絡攻防技術原理及應用,內容包括:網絡攻防概論、密碼學基礎知識、網絡偵察技術、網絡掃描技術、拒絕服務攻擊、特洛伊木馬、口令攻擊技術、網絡監聽技術、緩沖區溢出攻擊、Web網站攻擊技術、信息認證技術、訪問控制技術、防火墻和入侵檢測技術。各章均附有習題及實驗項目。本書可作為網絡工程、信息安全、計算機等專業的教材,也可作為相關領域的研究人員和工程技術人員的參考書。
“十三五”國家重點出版物出版規劃項目。從網絡空間安全一級學科的角度,全面介紹了網絡空間安全發展歷程和知識體系。在每章(第1章除外)增加了與章節內容相匹配的實驗項目。
本書的第1版于2012年4月出版,至今已4年有余。在這期間,國內外安全形勢發生了很大變化,包括中國在內的多數國家都已將網絡空間安全上升到國家安全的戰略高度,進而大大推動了網絡攻防技術的快速發展。因此,第1版中介紹的部分內容已顯得陳舊了。另一方面,經過幾年的教學實踐,對教材相關章節的安排及內容有了新的認識,也希望通過新版教材來體現。編寫教材最難處理的是內容的取舍,特別是網絡攻防技術,內容繁多,實踐性強。在有限的篇幅中,應當將哪些最重要的內容教給學生呢?經驗表明,基本原理是核心。掌握了基本原理以后,既可以為自己編寫攻防工具打下堅實的理論基礎,也可以更快地掌握、更合理地使用已有的攻防工具和技術。因此,第2版遵循的原則仍然是闡述攻防技術的基本原理。盡管網絡攻防領域特別強調實踐能力,但本書并不希望將教材寫成使用手冊。每天都有大量新的攻防工具問世,我們希望給讀者介紹這些工具背后所蘊含的關鍵技術的基本思想。當然,要想真正掌握一門網絡攻防技術,只靠學習本書中的材料是遠遠不夠的,還需要讀者利用課程實驗、大量的課外閱讀和實踐活動來實現。與第1版相比,本書的章節修訂簡要說明如下。第1章是緒論。本次修訂重寫了本章。2015年底,國務院學位委員會、教育部批準增設了“網絡空間安全”一級學科。本章從網絡空間安全一級學科的角度,全面介紹了網絡空間安全發展歷程和知識體系。目的是使讀者在一級學科知識體系的大框架下,對網絡攻防技術有一個總體的了解,為后續章節的學習打下基礎。第2章介紹密碼學基礎知識。考慮到學完如何加密的內容后,再來探討破解密碼的問題更符合認識規律,本次修訂將有關密碼分析的內容從21節“密碼學概述”部分獨立出來,放在本章的最后,同時增加了密碼旁路分析技術、密碼算法和協議的工程實現分析技術。第3章介紹網絡偵察技術。本次修訂主要增加了近幾年發展較快的以因特網上的設備為搜索對象的搜索引擎——Shodan的介紹。第4章介紹網絡掃描技術,主要對原有內容進行了更新與補充。第5章介紹拒絕服務攻擊。本章進行了比較大的修訂,主要加強了近幾年流行的反射式拒絕服務攻擊方法和新型拒絕服務攻擊防御技術的介紹,縮減了已較少使用的拒絕服務攻擊方式的篇幅。第6章介紹特洛伊木馬。近年來,木馬取代了傳統的計算機病毒成為惡意代碼的主要形式,是黑客最常利用的攻擊手段。同時,木馬、病毒和蠕蟲等惡意代碼之間的界限逐漸模糊,采用的技術和方法也呈多樣化、集成化。因此,本次修訂將第1版的第6章“計算機病毒”和第7章“特洛伊木馬”合并為一章,以介紹木馬為主,同時對木馬涉及的相關技術進行了修訂,以體現最新的技術狀態。第7章介紹口令攻擊技術。操作系統、網絡應用等的用戶口令破解與防御是網絡攻防對抗中的重要一環,因此,此次修訂增加了口令攻擊技術,主要介紹口令認證概述、操作系統口令破解、網絡應用口令破解、常用文檔口令破解和口令防御技術。第8章介紹網絡監聽技術。此次修訂重寫了本章。首先按網絡監聽涉及的兩個步驟(流量劫持、數據采集與分析)對第1版的章節安排進行了調整,其次增加了一些新的流量劫持技術、數據采集與解析技術原理的介紹。第9章介紹緩沖區溢出攻擊,第10章介紹Web網站攻擊技術。此次修訂主要對這兩章的相關內容進行了更新,以反映最新的技術現狀。從第11章開始主要介紹典型的網絡防護技術。第11章介紹信息認證技術,第12章介紹訪問控制技術,第13章介紹防火墻的基本概念、工作原理、體系結構、評價標準和使用方法等,第14章介紹入侵檢測技術。在此次修訂中,對這些章節的相關內容進行了增加、刪除或相應的改動。最后,此次修訂在每章(第1章除外)增加了與章節內容相匹配的實驗項目,給出了每個實驗的實驗目的、實驗內容及要求、實驗環境等基本要素,供授課教師布置實驗時參考。本書可作為網絡工程、信息安全及計算機等專業的教材,參考理論時數為4050學時,實驗時數為2030學時。學習本門課程之前,讀者最好已了解或掌握了有關計算機網絡、操作系統或C程序設計等課程的內容。因此,建議在大學四年級或研究生階段開設本課程。本書也可作為相關領域的研究人員、工程技術人員,以及廣大網絡攻防技術愛好者的參考書。本書在編寫過程中得到了作者所在課程建設小組其他成員(劉軍教授、賴海光副教授、周海剛副教授、黃康宇講師、周振吉博士)的大力支持,這里表示誠摯的感謝。由于網絡攻防涉及的內容廣、更新快,加之作者水平有限,書中難免存在各種缺點和錯誤,敬請廣大讀者批評指正。
高等教育網絡空間安全規劃教材編委會成員名單名譽主任沈昌祥中國工程院院士主任李建華上海交通大學副主任(以姓氏拼音為序)崔勇清華大學王軍中國信息安全測評中心吳禮發解放軍理工大學鄭崇輝國家保密教育培訓基地朱建明中央財經大學委員(以姓氏拼音為序)陳波南京師范大學賈鐵軍上海電機學院李劍北京郵電大學梁亞聲31003部隊劉海波哈爾濱工程大學潘柱廷啟明星辰信息技術有限公司彭澎教育部教育管理信息中心沈蘇彬南京郵電大學王相林杭州電子科技大學王孝忠公安部國家專業技術人員繼續教育基地王秀利中央財經大學伍軍上海交通大學楊珉復旦大學俞承杭浙江傳媒學院張蕾北京建筑大學
前言第1章緒論1.1網絡空間安全概述1.2網絡安全防護1.2.1網絡安全屬性1.2.2網絡安全威脅1.2.3網絡安全防護體系1.2.4網絡安全防護技術的發展過程1.3網絡攻擊技術1.3.1TCP/IP協議族的安全性1.3.2網絡攻擊的一般過程1.4黑客1.5習題第2章密碼學基礎知識2.1密碼學基本概念2.2古典密碼系統2.2.1單表代替密碼2.2.2多表代替密碼2.2.3置換密碼算法2.3現代密碼系統2.3.1對稱密鑰密碼系統2.3.2公開密鑰密碼系統2.4典型的現代密碼算法2.4.1數據加密標準(DES)2.4.2RSA公開密鑰密碼系統2.5密碼分析2.5.1傳統密碼分析方法2.5.2密碼旁路分析2.5.3密碼算法和協議的工程實現分析2.6習題2.7實驗2.7.1DES數據加密、解密算法實驗2.7.2RSA數據加密、解密算法實驗第3章網絡偵察技術3.1概述3.2網絡偵察方法3.2.1搜索引擎信息收集3.2.2Whois查詢3.2.3DNS信息查詢3.2.4網絡拓撲發現3.2.5利用社交網絡獲取信息3.2.6其他偵察方法3.3集成偵察工具3.4網絡偵察防御3.4.1防御搜索引擎偵察3.4.2防御Whois查詢3.4.3防御DNS偵察3.4.4防御社會工程學攻擊和垃圾搜索3.5習題3.6實驗3.6.1站點信息查詢3.6.2聯網設備查詢第4章網絡掃描技術4.1網絡掃描的基本概念4.2主機發現4.2.1基于ICMP協議的主機發現4.2.2基于IP協議的主機發現4.3端口掃描4.3.1TCP掃描4.3.2FTP代理掃描4.3.3UDP掃描4.3.4端口掃描的隱匿性策略4.4操作系統識別4.4.1旗標信息識別4.4.2利用端口信息識別4.4.3TCP/IP協議棧指紋識別4.5漏洞掃描4.6習題4.7實驗4.7.1主機掃描4.7.2漏洞掃描第5章拒絕服務攻擊5.1概述5.2劇毒包型拒絕服務攻擊5.2.1碎片攻擊5.2.2其他劇毒包型拒絕服務攻擊5.3風暴型拒絕服務攻擊5.3.1攻擊原理5.3.2直接風暴型拒絕服務攻擊5.3.3反射型拒絕服務攻擊5.3.4僵尸網絡5.3.5典型案例分析5.4拒絕服務攻擊的應用5.5拒絕服務攻擊的檢測及響應技術5.5.1拒絕服務攻擊檢測技術5.5.2拒絕服務攻擊響應技術5.6習題5.7實驗5.7.1編程實現SYN Flood DDoS攻擊5.7.2編程實現NTP反射式拒絕服務攻擊第6章特洛伊木馬6.1惡意代碼6.1.1計算機病毒6.1.2計算機蠕蟲6.1.3特洛伊木馬6.2木馬的工作原理6.2.1配置木馬6.2.2傳播木馬6.2.3運行木馬6.2.4信息反饋6.2.5建立連接6.2.6遠程控制6.3木馬的隱藏技術6.3.1木馬在加載時的隱藏6.3.2木馬在存儲時的隱藏6.3.3木馬在運行時的隱藏6.4發現主機感染木馬的最基本方法6.5針對木馬的防護手段6.6習題6.7實驗6.7.1遠程控制型木馬的使用6.7.2編程實現鍵盤記錄功能6.7.3編程實現截屏功能第7章口令攻擊技術7.1概述7.1.1靜態口令7.1.2動態口令7.2操作系統口令破解7.2.1Windows口令管理機制7.2.2Windows口令破解7.2.3UNIX口令破解7.3網絡應用口令破解7.4常用文件口令破解7.5口令防御7.6習題7.7實驗7.7.1Windows口令破解7.7.2文件口令破解7.7.3加密口令值破解第8章網絡監聽技術8.1概述8.2網絡流量劫持8.2.1交換式環境的網絡流量劫持8.2.2DHCP欺騙8.2.3DNS劫持8.2.4Wi-Fi流量劫持8.3數據采集與解析8.3.1網卡的工作原理8.3.2數據采集8.3.3協議解析8.4網絡監聽工具8.4.1Sniffer 與Wireshark8.4.2Cain8.5網絡監聽的檢測和防范8.6習題8.7實驗8.7.1Wireshark軟件的安裝與使用8.7.2利用Cain軟件實現ARP欺騙8.7.3編程實現ARP欺騙第9章緩沖區溢出攻擊9.1概述9.2緩沖區溢出攻擊原理9.2.1基本原理9.2.2棧溢出9.2.3堆溢出9.2.4BSS段溢出9.2.5其他溢出攻擊9.3緩沖區溢出攻擊防護9.3.1主動式防御9.3.2被動式防御9.3.3緩沖區溢出漏洞挖掘9.4習題9.5實驗9.5.1棧溢出過程跟蹤9.5.2Shellcode編程第10章Web網站攻擊技術10.1概述10.2Web應用體系結構脆弱性分析10.3SQL注入攻擊10.3.1概述10.3.2SQL注入漏洞探測方法10.3.3Sqlmap10.3.4SQL注入漏洞的防護10.4跨站腳本攻擊10.4.1跨站腳本攻擊原理10.4.2跨站腳本攻擊的防范10.5Cookie欺騙10.6習題10.7實驗第11章認證技術11.1身份認證中心11.2數字簽名11.2.1數字簽名的基本概念11.2.2利用RSA密碼系統進行數字簽名11.2.3哈希函數在數字簽名中的作用11.3報文認證11.3.1報文源的認證11.3.2報文宿的認證11.3.3報文內容的認證11.3.4報文順序的認證11.4數字證書認證中心11.4.1數字證書11.4.2認證中心11.5習題11.6實驗第12章訪問控制技術12.1訪問控制的基本概念12.2訪問控制的安全策略12.2.1自主訪問控制策略12.2.2強制訪問控制策略12.2.3基于角色的訪問控制策略12.2.4Windows Vista系統的UAC機制12.2.5Windows 7系統的UAC機制12.3訪問控制模型12.3.1BLP模型12.3.2Biba模型12.4訪問控制模型的實現12.4.1訪問控制矩陣12.4.2訪問控制表12.4.3訪問控制能力表12.4.4授權關系表12.5習題12.6實驗第13章網絡防火墻技術13.1概述13.1.1防火墻的定義13.1.2防火墻的作用13.1.3防火墻的分類13.2防火墻的工作原理13.2.1包過濾防火墻13.2.2有狀態的包過濾防火墻13.2.3應用網關防火墻13.3防火墻的體系結構13.3.1屏蔽路由器結構13.3.2雙宿主機結構13.3.3屏蔽主機結構13.3.4屏蔽子網結構13.4防火墻的評價標準13.5防火墻技術的不足與發展趨勢13.6習題13.7實驗第14章入侵檢測技術14.1概述14.1.1入侵檢測的定義14.1.2通用的入侵檢測模型14.1.3入侵檢測系統的作用14.1.4入侵檢測系統的組成14.2入侵檢測系統的信息源14.2.1以主機數據作為信息源14.2.2以應用數據作為信息源14.2.3以網絡數據作為信息源14.3入侵檢測系統的分類14.4入侵檢測的分析方法14.4.1特征檢測14.4.2異常檢測14.5典型的入侵檢測系統——Snort14.5.1Snort的體系結構14.5.2Snort的規則結構14.5.3編寫Snort規則14.6入侵檢測技術的發展趨勢14.7習題14.8實驗參考文獻