定 價:49 元
叢書名:高等學(xué)校網(wǎng)絡(luò)空間安全系列教材
- 作者:杜文亮 著
- 出版時間:2020/4/1
- ISBN:9787040538823
- 出 版 社:高等教育出版社
- 中圖法分類:TP309
- 頁碼:429
- 紙張:膠版紙
- 版次:1
- 開本:16開
《計算機(jī)安全導(dǎo)論:深度實踐》是作者結(jié)合18年來在計算機(jī)安全教育和研發(fā)方面的經(jīng)驗編寫而成的!队嬎銠C(jī)安全導(dǎo)論:深度實踐》涵蓋計算機(jī)和網(wǎng)絡(luò)空間安全的基礎(chǔ)知識,包括軟件安全、Web安全和網(wǎng)絡(luò)安全。
《計算機(jī)安全導(dǎo)論:深度實踐》旨在幫助讀者了解各種各樣的攻擊和防御的思想與原理。
通過《計算機(jī)安全導(dǎo)論:深度實踐》,讀者可以養(yǎng)成良好的安全思維習(xí)慣,正確評估計算機(jī)和網(wǎng)絡(luò)所面臨的風(fēng)險,提升發(fā)現(xiàn)和攻破軟件及系統(tǒng)安全漏洞的能力,并提高設(shè)計實現(xiàn)軟件的能力及系統(tǒng)防御能力。
《計算機(jī)安全導(dǎo)論:深度實踐》的特點是理論與實踐相結(jié)合。
對于每個涉及的理論,《計算機(jī)安全導(dǎo)論:深度實踐》都使用一系列實驗幫助讀者加深對理論的理解,目的是讓讀者得到親身體驗。這些實驗是作者花費(fèi)16年心血精心設(shè)計的,它們已經(jīng)在世界各地被廣泛使用。
《計算機(jī)安全導(dǎo)論:深度實踐》適用于學(xué)生、計算機(jī)科學(xué)家、計算機(jī)工程師、程序員、軟件開發(fā)人員、網(wǎng)絡(luò)和系統(tǒng)管理員以及其他對計算機(jī)安全感興趣的讀者,可作為本科和研究生的計算機(jī)安全教材,也可作為自學(xué)者提高計算機(jī)安全技能的學(xué)習(xí)材料。
《計算機(jī)安全導(dǎo)論:深度實踐》特色:
理論與實踐相結(jié)合。既講解攻擊原理,又介紹攻擊過程,提供完整的實驗環(huán)境,每章都有對應(yīng)的SEED實驗,使讀者身臨其境體驗攻擊及防御過程。
注重構(gòu)建計算機(jī)安全知識體系。深入挖掘知識點的內(nèi)在關(guān)聯(lián),深刻闡釋攻擊發(fā)生的共性原因及防御措施的本質(zhì)特點,幫助讀者建立扎實的計算機(jī)安全知識體系。
深入細(xì)節(jié)、講解透徹。從基礎(chǔ)知識點入手,由淺入深、循序漸進(jìn)地剖析攻擊及防御的完整過程,直擊重點難點,幫助讀者快速提升實踐能力。
筆者在普渡大學(xué)讀博士期間,耳濡目染,除了在研究方面,在教育方面也有幸受到不少優(yōu)秀教授的影響。當(dāng)筆者2001年在雪城大學(xué)(Syracuse University)開始教學(xué)生涯時,很多潛移默化帶來的理念就自然在自己的教學(xué)中體現(xiàn)出來,其中最大的一點就是理論與實踐相結(jié)合。這看似老生常談,但真正做到卻不容易。教理論易,。教實踐難,設(shè)計一套動手實踐的教案則更難。沒有有效的動手實踐,理論與實踐相結(jié)合就是一句空話。
在普渡大學(xué)讀書時,筆者學(xué)習(xí)過的操作系統(tǒng)、編譯原理和網(wǎng)絡(luò)等課程都有非常好的教材,并且每門課程都有精心設(shè)計的動手實踐環(huán)節(jié)。這些教材不僅講授抽象的理論,而且結(jié)合了很多與實踐密切相關(guān)的內(nèi)容,讓學(xué)生邊學(xué)邊做,既能學(xué)到系統(tǒng)的知識,又能通過實踐加深對知識的理解。遺憾的是,在計算機(jī)安全領(lǐng)域,能夠做到理實交融的教材并不多。從2001年開始教學(xué)后,筆者陸續(xù)使用過一些教材,但都不滿意。筆者一直在教學(xué)中貫徹理實交融的理念,但不是按照任何一本書來做的。筆者也曾想自己編寫一本教材,但當(dāng)時沒有太多的教學(xué)經(jīng)驗,對計算機(jī)安全的理解和領(lǐng)悟也還沒有達(dá)到能夠隨心所欲寫作的地步,因此第1章還未寫完,就覺得寫不下去了,即使再寫下去,也未必能超越其他的教材。于是擱筆,這一擱就是十幾年。
這十幾年雖然沒能寫出教材,但筆者精心設(shè)計了30多個動手實驗,除了自己使用之外,還免費(fèi)提供給其他教師和學(xué)生使用。這些實驗彌補(bǔ)了已有教材在實踐方面的不足。筆者聯(lián)系了幾乎所有比較有名氣的計算機(jī)安全方面教材的作者,授權(quán)他們免費(fèi)使用這些實驗作為教材的輔助材料。在設(shè)計這些實驗的過程中,筆者也加深了對計算機(jī)安全的領(lǐng)悟,很多看似獨立的知識點也因為從這些實驗中得到的經(jīng)驗逐步在腦海中形成知識體系。
同時在這十幾年中,筆者在教學(xué)方面也漸漸成熟,掌握了如何循序漸進(jìn)地把較難的內(nèi)容講清楚講透徹,如何把實踐結(jié)合到教學(xué)中,如何通過比喻讓學(xué)生更好地理解抽象的概念和原理,如何舉一反三,如何把相關(guān)知識點串聯(lián)起來,如何從不同角度出題看學(xué)生是否真正理解了某個知識點,等等。這些積累,使筆者在計算機(jī)安全教學(xué)方面漸漸形成了一套自己的體系,一套與別人不同、自始至終貫徹理實交融理念的教學(xué)體系。
杜文亮,1993年從中國科學(xué)技術(shù)大學(xué)獲得學(xué)士學(xué)位(軟件專業(yè)),1996年從佛羅里達(dá)國際大學(xué)獲得碩士學(xué)位。1996-2001年在普渡大學(xué)計算機(jī)系攻讀博士,并于2001年獲得博士學(xué)位(計算機(jī)安全方向)。畢業(yè)后,成為雪城大學(xué)(Syracuse University)的助理教授。目前是該校電氣工程與計算機(jī)科學(xué)系教授(終身教授),同時也是浙江大學(xué)客座教授。2001年開始一直為本科生和研究生講授計算機(jī)安全和網(wǎng)絡(luò)安全課程。為了讓學(xué)生獲得動手實踐的機(jī)會,從2002年起開始研發(fā)動手實驗,目前已開發(fā)30多個名為SEED的動手實驗。這些實驗?zāi)壳皬V為人知,全球有1000多所學(xué)校正在使用或已經(jīng)使用過這些實驗。2010年,美國國家科學(xué)基金會在遞交給國會的報告中把SEED項目作為一個模范項目。該報告名為《新挑戰(zhàn),新戰(zhàn)略:在本科STEM教育中追求卓越》,它挑選了“在全國STEM教育中尖端的具有創(chuàng)造力的17個項目”。2017年,由于SEED實驗的影響力,獲得第21屆信息系統(tǒng)安全教育大會頒發(fā)的“學(xué)術(shù)領(lǐng)導(dǎo)”獎。2019年,被雪城大學(xué)授予Meredith教授名譽(yù)。這是一個終身的名譽(yù),是雪城大學(xué)教學(xué)獎。在計算機(jī)和網(wǎng)絡(luò)安全領(lǐng)域的研究興趣主要集中在系統(tǒng)安全方面。研究成果曾10次獲得美國國家科學(xué)基金會獎,也曾獲得一次Google公司的研究獎。先后發(fā)表100多篇論文。截至2019年10月,論文總被引用數(shù)超過14600次(基于GoogleScholar)。2003年在ACM-CCS學(xué)術(shù)會議上發(fā)表的一篇論文于2013年獲得該會議頒發(fā)的時間測試獎(Test-of-TimeAward)。該獎項頒發(fā)給10年前在該會議上發(fā)表的有影響力的文章。目前的研究重點是智能手機(jī)安全性,在Android(安卓)的設(shè)計和實現(xiàn)中發(fā)現(xiàn)了許多操作系統(tǒng)內(nèi)部存在的安全問題,并開發(fā)了新的機(jī)制來增強(qiáng)智能手機(jī)的系統(tǒng)安全性。
第1部分 軟件安全
第1章 Set-UID特權(quán)程序原理及攻擊方法
1.1 特權(quán)程序存在的必要性
1.1.1 密碼困境
1.1.2 不同類型的特權(quán)程序
1.2 Set-UID機(jī)制
1.2.1 超人的故事
1.2.2 特權(quán)程序的工作原理
1.2.3 一個Set-UID程序的例子
1.2.4 Set-UID機(jī)制的安全性
1.2.5 Set-GID機(jī)制
1.3 可能出現(xiàn)的問題:超人的遭遇
j.4 Set-UID程序的攻擊面
1.4.1 用戶輸入:顯式輸入
1.4.2 系統(tǒng)輸入
1.4.3 環(huán)境變量:隱藏的輸入
1.4.4 權(quán)限泄露
1.5 調(diào)用其他程序
1.5.1 不安全的方式:使用system()
1.5.2 安全的方式:使用execve()
1.5.3 用其他語言調(diào)用外部命令
1.5.4 經(jīng)驗教訓(xùn):隔離的原則
1.6 最小特權(quán)原則
1.7 總結(jié)
動手實驗
習(xí)題
第2章 通過環(huán)境變量實現(xiàn)攻擊
2.1 環(huán)境變量
2.1.1 如何訪問環(huán)境變量
2.1.2 進(jìn)程獲取環(huán)境變量的方式
2.1.3 環(huán)境變量在內(nèi)存中的位置
2.1.4 shell變量和環(huán)境變量
2.2 環(huán)境變量帶來的攻擊面
2.3 通過動態(tài)鏈接器的攻擊
2.3.1 靜態(tài)和動態(tài)鏈接
2.3.2 案例分析:LD_PRELOAD和LD_LIBRARY_PATH
2.3.3 案例分析:OSX動態(tài)鏈接器
2.4 通過外部程序進(jìn)行攻擊
2.4.1 兩種調(diào)用外部程序的典型方式
2.4.2 案例分析:PATH環(huán)境變量
2.4.3 減小攻擊面
2.5 通過程序庫攻擊
案例分析:UNIX中的Locale程序
2.6 通過程序本身的代碼進(jìn)行攻擊
案例分析:在應(yīng)用代碼中使用getenv()函數(shù)
2.7 Set-UID機(jī)制和服務(wù)機(jī)制的比較
2.8 總結(jié)
動手實驗
習(xí)題
第3章 Shellshock攻擊
3.1 背景知識:shell函數(shù)
3.2 Shellshock漏洞
3.2.1 Shellshock漏洞
3.2.2 Bash源代碼中的錯誤
3.2.3 Shellshock漏洞的利用
3.3 利用Shellshock攻擊Set-UID程序
3.4 利用Shellshock攻擊CGI程序
3.4.1 實驗環(huán)境準(zhǔn)備
3.4.2 Web服務(wù)器調(diào)用CGI程序
3.4.3 攻擊者向Bash發(fā)送數(shù)據(jù)
3.4.4 實施Shellshock攻擊
3.4.5 創(chuàng)建反向shell
3.5 針對PHP的遠(yuǎn)程攻擊
3.6 總結(jié)
動手實驗
習(xí)題
……
第4章 緩沖區(qū)溢出攻擊
第2部分 Web安全
第3部分 網(wǎng)絡(luò)安全
參考文獻(xiàn)