軟件安全技術(shù)
定 價(jià):¥69.8
中 教 價(jià):¥69.80 (10.00折)
庫(kù) 存 數(shù): 1
叢 書 名:面向新工科專業(yè)建設(shè)計(jì)算機(jī)系列教材
本書介紹軟件安全開發(fā)技術(shù)和軟件安全問(wèn)題的分析防治技術(shù)。全書分五部分,共13章。部分為軟件安全引論。第二部分為軟件安全開發(fā),講解軟件安全開發(fā)周期、分析與設(shè)計(jì)、編程與測(cè)試。第三部分為軟件漏洞問(wèn)題及防治,包括漏洞的概述、機(jī)理和防治技術(shù)。第四部分為惡意軟件問(wèn)題及防治,講解惡意代碼的基本知識(shí)、機(jī)理與防治技術(shù)。第五部分為軟件侵權(quán)問(wèn)題及權(quán)益保護(hù),講述軟件知識(shí)產(chǎn)權(quán)相關(guān)法律與侵權(quán)問(wèn)題、軟件版權(quán)保護(hù)和防破解技術(shù)。 本書可作為高等院校網(wǎng)絡(luò)空間安全、信息安全和軟件工程等計(jì)算機(jī)類專業(yè)的教材,也可作為相關(guān)專業(yè)學(xué)生和軟件工程師的參考書。
(1)知識(shí)結(jié)構(gòu)系統(tǒng)完整:不僅包括面向源頭安全的軟件安全開發(fā)技術(shù),而且覆蓋針對(duì)三大軟件安全問(wèn)題(即軟件漏洞、惡意軟件和軟件侵權(quán)問(wèn)題)的分析與防治技術(shù)。 (2)理論實(shí)踐有機(jī)結(jié)合:不僅系統(tǒng)闡述基礎(chǔ)理論知識(shí),而且講述應(yīng)用技術(shù)并提供實(shí)踐練習(xí),突出實(shí)踐性案例,在每章中都包含若干實(shí)踐性案例分析。 (3)經(jīng)典新穎內(nèi)容融會(huì):不僅介紹經(jīng)典的技術(shù)、工具和案例,而且講解近年來(lái)新出現(xiàn)的重要技術(shù)、主流工具以及新應(yīng)用場(chǎng)景的案例。
軟件是信息系統(tǒng)的靈魂,軟件安全是網(wǎng)絡(luò)空間安全的基石。隨著網(wǎng)絡(luò)空間安全威脅的日益增多,軟件安全問(wèn)題所引發(fā)的各種信息系統(tǒng)安全事件層出不窮,給國(guó)家、社會(huì)、單位和個(gè)人造成了巨大損失。軟件安全對(duì)我國(guó)國(guó)計(jì)民生與國(guó)家安全的影響與日俱增。然而,目前我國(guó)的軟件安全技術(shù)人才供不應(yīng)求,軟件產(chǎn)品的安全性普遍需要提升。因此,培養(yǎng)軟件安全技術(shù)人才、提升軟件開發(fā)者的安全開發(fā)技能具有極其重要的意義。近年來(lái),全國(guó)很多高校設(shè)立了網(wǎng)絡(luò)空間安全專業(yè)和信息安全專業(yè),軟件安全是其核心課程之一;軟件安全也是軟件工程和計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)的選修課。但是,目前的軟件安全教材還不夠豐富。隨著軟件安全攻防不斷升級(jí),軟件安全技術(shù)的發(fā)展非常迅速,軟件安全教材的內(nèi)容也需要適時(shí)更新。本書作為面向新工科專業(yè)建設(shè)計(jì)算機(jī)系列教材之一,讀者對(duì)象主要為高等院校計(jì)算機(jī)類專業(yè)及相關(guān)專業(yè)的學(xué)生,本書也可作為軟件工程師的參考書。本書在編寫過(guò)程中,力求具備以下特色。(1) 知識(shí)結(jié)構(gòu)系統(tǒng)完整。不僅包括面向源頭安全的軟件安全開發(fā)技術(shù),而且覆蓋針對(duì)三大軟件安全問(wèn)題(即軟件漏洞、惡意軟件和軟件侵權(quán)問(wèn)題)的分析與防治技術(shù)。(2) 理論與實(shí)踐有機(jī)結(jié)合。不僅系統(tǒng)闡述基礎(chǔ)理論知識(shí),而且講述應(yīng)用技術(shù)并提供實(shí)踐練習(xí),突出實(shí)踐性案例,在每章中都包含若干實(shí)踐性案例分析。(3) 經(jīng)典新穎內(nèi)容融會(huì)。不但介紹經(jīng)典的技術(shù)、工具和案例,而且講解近年新出現(xiàn)的重要技術(shù)、主流工具以及新應(yīng)用場(chǎng)景的案例。本書包括五部分,共13章,其內(nèi)容安排如下。在部分軟件安全引論中,第1章概述軟件安全的意義、概念和標(biāo)準(zhǔn)。在第二部分軟件安全開發(fā)中,第2章介紹軟件安全開發(fā)周期的過(guò)程和模型;第3章講解軟件安全分析與設(shè)計(jì)技術(shù);第4章詳述安全編程技術(shù),包括基本安全編程、數(shù)據(jù)安全編程和應(yīng)用安全編程技術(shù);第5章闡述軟件安全測(cè)試技術(shù)。在第三部分軟件漏洞問(wèn)題及防治中,第6章概述軟件漏洞的定義、類型與管控;第7章詳述幾類重要軟件漏洞的機(jī)理,包括內(nèi)存漏洞、Web應(yīng)用程序漏洞和操作系統(tǒng)內(nèi)核漏洞的機(jī)理;第8章介紹軟件漏洞的防治技術(shù),涉及漏洞防護(hù)機(jī)制和漏洞挖掘技術(shù)。在第四部分惡意軟件問(wèn)題及防治中,第9章概述惡意代碼的定義、類型與管控;第10章詳解幾種重要惡意代碼的機(jī)理與可執(zhí)行文件技術(shù),涉及病毒、蠕蟲、木馬和Rootkit的機(jī)理;第11章詳述惡意軟件的防治技術(shù),包括惡意樣本逆向分析、傳統(tǒng)的和基于人工智能的惡意軟件檢測(cè)技術(shù)。在第五部分軟件侵權(quán)問(wèn)題及權(quán)益保護(hù)中,第12章概述軟件知識(shí)產(chǎn)權(quán)相關(guān)法律與軟件侵權(quán)問(wèn)題;第13章詳細(xì)闡述軟件權(quán)益保護(hù)技術(shù),包括軟件版權(quán)保護(hù)技術(shù)和軟件破解防御技術(shù)。本書的每一章都提供若干實(shí)踐性案例及其分析,涉及近年出現(xiàn)的軟件安全典型事件、軟件安全新技術(shù)和新應(yīng)用場(chǎng)景。全書共24個(gè)實(shí)踐性案例分析,以下列出各章中實(shí)踐性案例的名稱。〖3〗軟件安全技術(shù)前言〖3〗(第1章)羅賓漢勒索軟件事件實(shí)例(第2章)某醫(yī)療行業(yè)軟件安全開發(fā)方案實(shí)例(第3章)軟件安全需求分析實(shí)例(第3章)軟件威脅建模實(shí)例(第4章)Web應(yīng)用登錄模塊的安全編程實(shí)例(第4章)某教務(wù)管理系統(tǒng)權(quán)限管理的安全編程實(shí)例(第5章)某投資咨詢公司系統(tǒng)的滲透測(cè)試實(shí)例(第6章)區(qū)塊鏈API鑒權(quán)漏洞事件實(shí)例(第6章)Zerologon高危漏洞事件實(shí)例(第7章)內(nèi)存漏洞源碼實(shí)例(第7章)某設(shè)備管控系統(tǒng)的漏洞檢測(cè)實(shí)例(第7章)Windows本地提權(quán)漏洞實(shí)例(第7章)Android簽名驗(yàn)證繞過(guò)漏洞實(shí)例(第8章)Windows漏洞防護(hù)技術(shù)應(yīng)用實(shí)例(第8章)基于模糊測(cè)試的二進(jìn)制碼漏洞檢測(cè)實(shí)例(第9章)GandCrab勒索軟件實(shí)例(第9章)Scranos Rootkit實(shí)例(第10章)構(gòu)造可執(zhí)行PE文件實(shí)例(第10章)灰鴿子木馬機(jī)理實(shí)例(第11章)基于IDA工具的靜態(tài)逆向分析實(shí)例(第11章)基于OD工具的動(dòng)態(tài)逆向分析實(shí)例(第12章)Oracle公司訴Google公司Java侵權(quán)案實(shí)例(第13章)微信云開發(fā)模式下的軟件版權(quán)保護(hù)實(shí)例(第13章)Android App防破解實(shí)例本書由暨南大學(xué)的孫玉霞、翁健和李哲濤主持編寫,孫玉霞負(fù)責(zé)全書除第2章、第5章、第6章和第12章以外各章的編寫;翁健負(fù)責(zé)編寫第5章和第6章;李哲濤負(fù)責(zé)編寫第2章;廣東省科技基礎(chǔ)條件平臺(tái)中心、廣東省高性能計(jì)算重點(diǎn)實(shí)驗(yàn)室的許穎媚和羅亮負(fù)責(zé)編寫第12章和7.4.2節(jié),與孫玉霞共同編寫第9章。在本書的編寫過(guò)程中,暨南大學(xué)的陳詩(shī)琪、呂文建、崔穎賢、方潔鳳、周兆南、譚子淵、陳釗、林松和霍紫瑩以及廣東省科技基礎(chǔ)條件平臺(tái)中心的曹強(qiáng)、賈偉鳳和匡碧琴收集和整理了許多文獻(xiàn)和資料,幫助校對(duì)了書稿,在此對(duì)他們表示由衷感謝!本書在編寫時(shí)參考了來(lái)自書籍、學(xué)術(shù)刊物和互聯(lián)網(wǎng)等的文獻(xiàn)和資料,其中有些列入了參考文獻(xiàn),還有些可能因疏忽而未能查證引用,在此感謝所有這些文獻(xiàn)資料的作者!感謝清華大學(xué)出版社的諸位編輯對(duì)本書的辛勤付出!暨南大學(xué)本科教材資助項(xiàng)目和暨南雙百英才計(jì)劃項(xiàng)目為本書的編寫提供了支持,在此一并致謝。軟件安全攻防向來(lái)是魔高一尺、道高一丈,軟件安全技術(shù)一直發(fā)展迅速。因編者學(xué)識(shí)有限,力有不逮,本書中的錯(cuò)謬遺漏之處雖幾經(jīng)修訂仍在所難免。懇請(qǐng)諸位讀者為本書提出寶貴的意見(jiàn)和建議,如蒙告知,將不勝感激。
作者2022年1月
孫玉霞,鄭煒,廈門大學(xué)副教授,廈門大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系副主任。本科、碩士畢業(yè)于清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,博士畢業(yè)于英國(guó)曼徹斯特大學(xué)計(jì)算機(jī)學(xué)院。主要研究領(lǐng)域?yàn)榉植际接?jì)算、調(diào)度算法和區(qū)塊鏈技術(shù)。熱愛(ài)本科教學(xué),已講授本科生必修課《C語(yǔ)言程序設(shè)計(jì)》與《操作系統(tǒng)原理》近十年,曾獲福建省教學(xué)成果獎(jiǎng)二等獎(jiǎng),廈門大學(xué)春雨獎(jiǎng)教金,廈門大學(xué)青年教師教學(xué)技能比賽二等獎(jiǎng)。
部分軟件安全引論第1章軟件安全概述31.1軟件安全的重要性31.1.1軟件的作用與軟件安全31.1.2安全威脅的形勢(shì)與軟件安全41.1.3對(duì)軟件安全的重視61.2軟件安全的概念61.2.1軟件安全的定義61.2.2軟件的安全屬性71.3軟件安全問(wèn)題91.3.1軟件漏洞91.3.2惡意軟件101.3.3軟件侵權(quán)121.3.4軟件后門131.4軟件安全技術(shù)與標(biāo)準(zhǔn)141.4.1軟件安全開發(fā)技術(shù)141.4.2軟件安全防護(hù)技術(shù)151.4.3軟件安全的相關(guān)標(biāo)準(zhǔn)151.5白帽子與黑帽子161.5.1黑白有別161.5.2白帽子的重要性171.6實(shí)例分析18羅賓漢勒索軟件事件實(shí)例181.7本章小結(jié)19【思考與實(shí)踐】19第二部分軟件安全開發(fā)第2章軟件安全開發(fā)周期232.1軟件安全開發(fā)過(guò)程232.2軟件安全開發(fā)模型252.2.1微軟公司的SDL模型252.2.2OWASP的SAMM模型292.2.3McGraw的BSI模型332.2.4SEI的TSPSecure模型362.3實(shí)例分析37某醫(yī)療行業(yè)軟件安全開發(fā)方案實(shí)例372.4本章小結(jié)38【思考與實(shí)踐】38〖3〗軟件安全技術(shù)目錄〖3〗第3章軟件安全分析與設(shè)計(jì)403.1軟件安全需求分析403.1.1安全需求分析的方法403.1.2攻擊用例423.2軟件安全設(shè)計(jì)443.2.1安全設(shè)計(jì)的內(nèi)容與原則443.2.2安全設(shè)計(jì)的方法與模式483.2.3威脅建模513.3實(shí)例分析533.3.1軟件安全需求分析實(shí)例533.3.2軟件威脅建模實(shí)例563.4本章小結(jié)60【思考與實(shí)踐】60第4章安全編程614.1安全編程概述614.1.1安全編程原則614.1.2安全編程環(huán)境624.1.3編程語(yǔ)言安全性654.2基本安全編程674.2.1輸入安全674.2.2異常處理安全704.2.3內(nèi)存安全734.2.4線程與進(jìn)程安全764.3數(shù)據(jù)安全編程824.3.1加密算法安全824.3.2密鑰安全864.4應(yīng)用安全編程884.4.1權(quán)限控制安全884.4.2遠(yuǎn)程調(diào)用安全894.4.3面向?qū)ο髴?yīng)用的安全編程924.4.4Web應(yīng)用的安全編程934.5實(shí)例分析954.5.1Web應(yīng)用登錄模塊的安全編程實(shí)例954.5.2某教務(wù)管理系統(tǒng)權(quán)限管理的安全編程實(shí)例964.6本章小結(jié)98【思考與實(shí)踐】99第5章軟件安全測(cè)試1015.1軟件安全測(cè)試的內(nèi)容1015.2軟件安全測(cè)試的方法1035.3靜態(tài)的軟件安全測(cè)試1045.3.1代碼安全審查1045.3.2靜態(tài)代碼分析1055.4滲透測(cè)試1065.4.1滲透測(cè)試過(guò)程1065.4.2滲透測(cè)試工具1085.4.3滲透測(cè)試與法律道德1095.5模糊測(cè)試1105.5.1模糊測(cè)試原理1105.5.2模糊測(cè)試技術(shù)1125.5.3模糊測(cè)試工具1145.6實(shí)例分析115某投資咨詢公司系統(tǒng)的滲透測(cè)試實(shí)例1155.7本章小結(jié)116【思考與實(shí)踐】116第三部分軟件漏洞問(wèn)題及防治第6章軟件漏洞概述1196.1軟件漏洞的定義1196.2軟件漏洞的成因與后果1206.2.1軟件漏洞的成因1206.2.2軟件漏洞被利用的后果1226.3軟件漏洞的分類與分級(jí)1236.3.1軟件漏洞的分類1236.3.2軟件漏洞的分級(jí)1256.4軟件漏洞的管控1266.4.1軟件漏洞管控的必要性1266.4.2軟件漏洞管理的標(biāo)準(zhǔn)1266.5實(shí)例分析1276.5.1區(qū)塊鏈API鑒權(quán)漏洞事件實(shí)例1276.5.2Zerologon高危漏洞事件實(shí)例1296.6本章小結(jié)129【思考與實(shí)踐】130第7章軟件漏洞機(jī)理1317.1內(nèi)存漏洞1317.1.1內(nèi)存漏洞概述1317.1.2棧溢出漏洞機(jī)理1317.1.3堆溢出漏洞機(jī)理1347.1.4格式化串漏洞機(jī)理1367.1.5釋放后重用漏洞機(jī)理1387.2Web應(yīng)用程序漏洞1397.2.1Web應(yīng)用程序漏洞概述1397.2.2SQL注入漏洞機(jī)理1407.2.3跨站腳本漏洞機(jī)理1437.2.4跨站請(qǐng)求偽造漏洞機(jī)理1467.3操作系統(tǒng)內(nèi)核漏洞1487.3.1操作系統(tǒng)內(nèi)核概述1487.3.2提權(quán)漏洞機(jī)理1487.3.3驗(yàn)證繞過(guò)漏洞機(jī)理1497.4實(shí)例分析1507.4.1內(nèi)存漏洞源碼實(shí)例1507.4.2某設(shè)備管控系統(tǒng)的漏洞檢測(cè)實(shí)例1537.4.3Windows本地提權(quán)漏洞實(shí)例1557.4.4Android簽名驗(yàn)證繞過(guò)漏洞實(shí)例1587.5本章小結(jié)161【思考與實(shí)踐】161第8章軟件漏洞防治1638.1軟件漏洞防范概述1638.2軟件漏洞防護(hù)機(jī)制1648.2.1數(shù)據(jù)執(zhí)行保護(hù)1648.2.2地址空間布局隨機(jī)化1658.2.3安全結(jié)構(gòu)化異常處理1668.2.4棧溢出檢測(cè)的編譯選項(xiàng)1678.3漏洞挖掘1688.3.1漏洞挖掘概述1688.3.2基于源碼的靜態(tài)漏洞分析1698.3.3基于二進(jìn)制碼的靜態(tài)漏洞分析1718.3.4基于二進(jìn)制碼的動(dòng)態(tài)漏洞分析1748.4實(shí)例分析1778.4.1Windows漏洞防護(hù)技術(shù)應(yīng)用實(shí)例1778.4.2基于模糊測(cè)試的二進(jìn)制碼漏洞檢測(cè)實(shí)例1788.5本章小結(jié)181【思考與實(shí)踐】181第四部分惡意軟件問(wèn)題及防治第9章惡意代碼概述1859.1惡意代碼的定義1859.2惡意代碼的類型及特征1859.2.1病毒1859.2.2蠕蟲1909.2.3木馬1929.2.4勒索軟件1949.2.5Rootkit1969.2.6發(fā)展趨勢(shì)1979.3惡意代碼的管控1999.3.1惡意代碼的相關(guān)法律法規(guī)1999.3.2惡意代碼的防治管理2019.4實(shí)例分析2019.4.1GandCrab勒索軟件實(shí)例2019.4.2Scranos Rootkit實(shí)例2029.5本章小結(jié)204【思考與實(shí)踐】204第10章惡意軟件的機(jī)理20610.1可執(zhí)行文件20610.1.1可執(zhí)行文件的類型20610.1.2PE文件格式20710.1.3可執(zhí)行文件的生成21010.1.4系統(tǒng)引導(dǎo)與應(yīng)用程序執(zhí)行21210.2PE病毒的機(jī)理21310.2.1PE病毒的基本結(jié)構(gòu)21310.2.2PE病毒的工作機(jī)制21410.3蠕蟲的機(jī)理21610.3.1蠕蟲的基本結(jié)構(gòu)21610.3.2蠕蟲的工作機(jī)制21710.4木馬的機(jī)理21710.4.1木馬的基本結(jié)構(gòu)21710.4.2木馬的工作機(jī)制21710.5Rootkit的機(jī)理21810.5.1Rootkit的基本結(jié)構(gòu)21810.5.2Rootkit的工作機(jī)制21910.6實(shí)例分析22010.6.1構(gòu)造可執(zhí)行PE文件實(shí)例22010.6.2灰鴿子木馬機(jī)理實(shí)例22310.7本章小結(jié)225【思考與實(shí)踐】225第11章惡意代碼防治22711.1惡意代碼逆向分析技術(shù)22711.1.1靜態(tài)逆向分析技術(shù)22711.1.2靜態(tài)逆向分析工具IDA22811.1.3動(dòng)態(tài)逆向分析技術(shù)23011.1.4動(dòng)態(tài)調(diào)試工具OD23211.2基本的惡意代碼檢測(cè)技術(shù)23511.2.1特征值檢測(cè)23511.2.2校驗(yàn)和檢測(cè)23711.2.3基于虛擬機(jī)的檢測(cè)23811.3基于人工智能的惡意代碼檢測(cè)24011.3.1惡意代碼智能檢測(cè)技術(shù)概述24011.3.2主流平臺(tái)上的惡意代碼智能檢測(cè)技術(shù)24111.4實(shí)例分析24411.4.1基于IDA工具的靜態(tài)逆向分析實(shí)例24411.4.2基于OD工具的動(dòng)態(tài)逆向分析實(shí)例24611.5本章小結(jié)249【思考與實(shí)踐】249第五部分軟件侵權(quán)問(wèn)題及權(quán)益保護(hù)第12章軟件侵權(quán)問(wèn)題25312.1軟件知識(shí)產(chǎn)權(quán)與法律25312.1.1軟件知識(shí)產(chǎn)權(quán)25312.1.2開源軟件許可證25412.1.3開源軟件與知識(shí)產(chǎn)權(quán)保護(hù)25612.1.4軟件知識(shí)產(chǎn)權(quán)的相關(guān)法律25712.2軟件侵權(quán)問(wèn)題概述26012.3實(shí)例分析261Oracle公司訴Google公司Java侵權(quán)案實(shí)例26112.4本章小結(jié)262【思考與實(shí)踐】262第13章軟件權(quán)益保護(hù)技術(shù)26413.1軟件權(quán)益保護(hù)概述26413.2軟件版權(quán)保護(hù)技術(shù)26513.2.1用戶合法性驗(yàn)證26513.2.2軟件校驗(yàn)27113.2.3演示版限制使用27213.2.4云計(jì)算SaaS模式下的軟件版權(quán)保護(hù)27313.3軟件防破解技術(shù)27413.3.1軟件破解與防破解27413.3.2代碼混淆27613.3.3程序加殼28113.3.4軟件水印28113.3.5防調(diào)試28213.4實(shí)例分析28413.4.1微信云開發(fā)模式下的軟件版權(quán)保護(hù)實(shí)例28413.4.2Android App防破解實(shí)例28513.5本章小結(jié)288【思考與實(shí)踐】289參考文獻(xiàn)290