軟件安全技術
孫玉霞 翁健 李哲濤 許穎媚 羅亮
相關主題
商品描述
目錄大綱
目錄
第一部分軟件安全引論
第1章軟件安全概述31.1軟件安全的重要性3
1.1.1軟件的作用與軟件安全3
1.1.2安全威脅的形勢與軟件安全4
1.1.3對軟件安全的重視6
1.2軟件安全的概念6
1.2.1軟件安全的定義6
1.2.2軟件的安全屬性7
1.3軟件安全問題9
1.3.1軟件漏洞9
1.3.2惡意軟件10
1.3.3軟件侵權12
1.3.4軟件後門13
1.4軟件安全技術與標準14
1.4.1軟件安全開發技術14
1.4.2軟件安全防護技術15
1.4.3軟件安全的相關標準15
1.5白帽子與黑帽子16
1.5.1黑白有別16
1.5.2白帽子的重要性17
1.6實例分析18
羅賓漢勒索軟件事件實例18
1.7本章小結19
【思考與實踐】19第二部分軟件安全開發
第2章軟件安全開發周期232.1軟件安全開發過程23
2.2軟件安全開發模型25
2.2.1微軟公司的SDL模型25
2.2.2OWASP的SAMM模型29
2.2.3McGraw的BSI模型33
2.2.4SEI的TSPSecure模型36
2.3實例分析37
某醫療行業軟件安全開發方案實例37
2.4本章小結38
【思考與實踐】38
〖3〗軟件安全技術目錄〖3〗第3章軟件安全分析與設計40
3.1軟件安全需求分析40
3.1.1安全需求分析的方法40
3.1.2攻擊用例42
3.2軟件安全設計44
3.2.1安全設計的內容與原則44
3.2.2安全設計的方法與模式48
3.2.3威脅建模51
3.3實例分析53
3.3.1軟件安全需求分析實例53
3.3.2軟件威脅建模實例56
3.4本章小結60
【思考與實踐】60
第4章安全編程61
4.1安全編程概述61
4.1.1安全編程原則61
4.1.2安全編程環境62
4.1.3編程語言安全性65
4.2基本安全編程67
4.2.1輸入安全67
4.2.2異常處理安全70
4.2.3內存安全73
4.2.4線程與進程安全76
4.3數據安全編程82
4.3.1加密算法安全82
4.3.2密鑰安全86
4.4應用安全編程88
4.4.1權限控制安全88
4.4.2遠程調用安全89
4.4.3面向對象應用的安全編程92
4.4.4Web應用的安全編程93
4.5實例分析95
4.5.1Web應用登錄模塊的安全編程實例95
4.5.2某教務管理系統權限管理的安全編程實例96
4.6本章小結98
【思考與實踐】99
第5章軟件安全測試101
5.1軟件安全測試的內容101
5.2軟件安全測試的方法103
5.3靜態的軟件安全測試104
5.3.1代碼安全審查104
5.3.2靜態代碼分析105
5.4滲透測試106
5.4.1滲透測試過程106
5.4.2滲透測試工具108
5.4.3滲透測試與法律道德109
5.5模糊測試110
5.5.1模糊測試原理110
5.5.2模糊測試技術112
5.5.3模糊測試工具114
5.6實例分析115
某投資咨詢公司系統的滲透測試實例115
5.7本章小結116
【思考與實踐】116
第三部分軟件漏洞問題及防治
第6章軟件漏洞概述1196.1軟件漏洞的定義119
6.2軟件漏洞的成因與後果120
6.2.1軟件漏洞的成因120
6.2.2軟件漏洞被利用的後果122
6.3軟件漏洞的分類與分級123
6.3.1軟件漏洞的分類123
6.3.2軟件漏洞的分級125
6.4軟件漏洞的管控126
6.4.1軟件漏洞管控的必要性126
6.4.2軟件漏洞管理的標準126
6.5實例分析127
6.5.1區塊鏈API鑒權漏洞事件實例127
6.5.2Zerologon高危漏洞事件實例129
6.6本章小結129
【思考與實踐】130
第7章軟件漏洞機理131
7.1內存漏洞131
7.1.1內存漏洞概述131
7.1.2棧溢出漏洞機理131
7.1.3堆溢出漏洞機理134
7.1.4格式化串漏洞機理136
7.1.5釋放後重用漏洞機理138
7.2Web應用程序漏洞139
7.2.1Web應用程序漏洞概述139
7.2.2SQL註入漏洞機理140
7.2.3跨站腳本漏洞機理143
7.2.4跨站請求偽造漏洞機理146
7.3操作系統內核漏洞148
7.3.1操作系統內核概述148
7.3.2提權漏洞機理148
7.3.3驗證繞過漏洞機理149
7.4實例分析150
7.4.1內存漏洞源碼實例150
7.4.2某設備管控系統的漏洞檢測實例153
7.4.3Windows本地提權漏洞實例155
7.4.4Android簽名驗證繞過漏洞實例158
7.5本章小結161
【思考與實踐】161
第8章軟件漏洞防治163
8.1軟件漏洞防範概述163
8.2軟件漏洞防護機制164
8.2.1數據執行保護164
8.2.2地址空間佈局隨機化165
8.2.3安全結構化異常處理166
8.2.4棧溢出檢測的編譯選項167
8.3漏洞挖掘168
8.3.1漏洞挖掘概述168
8.3.2基於源碼的靜態漏洞分析169
8.3.3基於二進制碼的靜態漏洞分析171
8.3.4基於二進制碼的動態漏洞分析174
8.4實例分析177
8.4.1Windows漏洞防護技術應用實例177
8.4.2基於模糊測試的二進制碼漏洞檢測實例178
8.5本章小結181
【思考與實踐】181
第四部分惡意軟件問題及防治
第9章惡意代碼概述1859.1惡意代碼的定義185
9.2惡意代碼的類型及特徵185
9.2.1病毒185
9.2.2蠕蟲190
9.2.3木馬192
9.2.4勒索軟件194
9.2.5Rootkit196
9.2.6發展趨勢197
9.3惡意代碼的管控199
9.3.1惡意代碼的相關法律法規199
9.3.2惡意代碼的防治管理201
9.4實例分析201
9.4.1GandCrab勒索軟件實例201
9.4.2Scranos Rootkit實例202
9.5本章小結204
【思考與實踐】204
第10章惡意軟件的機理206
10.1可執行文件206
10.1.1可執行文件的類型206
10.1.2PE文件格式207
10.1.3可執行文件的生成210
10.1.4系統引導與應用程序執行212
10.2PE病毒的機理213
10.2.1PE病毒的基本結構213
10.2.2PE病毒的工作機制214
10.3蠕蟲的機理216
10.3.1蠕蟲的基本結構216
10.3.2蠕蟲的工作機制217
10.4木馬的機理217
10.4.1木馬的基本結構217
10.4.2木馬的工作機制217
10.5Rootkit的機理218
10.5.1Rootkit的基本結構218
10.5.2Rootkit的工作機制219
10.6實例分析220
10.6.1構造可執行PE文件實例220
10.6.2灰鴿子木馬機理實例223
10.7本章小結225
【思考與實踐】225
第11章惡意代碼防治227
11.1惡意代碼逆向分析技術227
11.1.1靜態逆向分析技術227
11.1.2靜態逆向分析工具IDA228
11.1.3動態逆向分析技術230
11.1.4動態調試工具OD232
11.2基本的惡意代碼檢測技術235
11.2.1特徵值檢測235
11.2.2校驗和檢測237
11.2.3基於虛擬機的檢測238
11.3基於人工智能的惡意代碼檢測240
11.3.1惡意代碼智能檢測技術概述240
11.3.2主流平臺上的惡意代碼智能檢測技術241
11.4實例分析244
11.4.1基於IDA工具的靜態逆向分析實例244
11.4.2基於OD工具的動態逆向分析實例246
11.5本章小結249
【思考與實踐】249
第五部分軟件侵權問題及權益保護
第12章軟件侵權問題25312.1軟件知識產權與法律253
12.1.1軟件知識產權253
12.1.2開源軟件許可證254
12.1.3開源軟件與知識產權保護256
12.1.4軟件知識產權的相關法律257
12.2軟件侵權問題概述260
12.3實例分析261
Oracle公司訴Google公司Java侵權案實例261
12.4本章小結262
【思考與實踐】262
第13章軟件權益保護技術264
13.1軟件權益保護概述264
13.2軟件版權保護技術265
13.2.1用戶合法性驗證265
13.2.2軟件校驗271
13.2.3演示版限制使用272
13.2.4雲計算SaaS模式下的軟件版權保護273
13.3軟件防破解技術274
13.3.1軟件破解與防破解274
13.3.2代碼混淆276
13.3.3程序加殼281
13.3.4軟件水印281
13.3.5防調試282
13.4實例分析284
13.4.1微信雲開發模式下的軟件版權保護實例284
13.4.2Android App防破解實例285
13.5本章小結288
【思考與實踐】289
參考文獻290