[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 图书资源 >> 計算機與網絡 >> 《C和C++安全編碼(中文版)》( Secure Coding in C and C++ )掃描版[PDF]
《C和C++安全編碼(中文版)》( Secure Coding in C and C++ )掃描版[PDF]
下載分級 图书资源
資源類別 計算機與網絡
發布時間 2017/7/10
大       小 -
《C和C++安全編碼(中文版)》( Secure Coding in C and C++ )掃描版[PDF] 簡介: 中文名 : C和C++安全編碼(中文版) 原名 : Secure Coding in C and C++ 作者 : Robert C. Seacord 譯者 : 榮耀 羅翼 圖書分類 : 網絡 資源格式 : PDF 版本 : 掃描版 出版社 : 機械工業出版社 書號 : 9787111261483 發行時間 : 2010年01月 地區 : 大陸 語言 : 簡體中文
電驢資源下載/磁力鏈接資源下載:
全選
"《C和C++安全編碼(中文版)》( Secure Coding in C and C++ )掃描版[PDF]"介紹
中文名: C和C++安全編碼(中文版)
原名: Secure Coding in C and C++
作者: Robert C. Seacord
譯者: 榮耀
羅翼
圖書分類: 網絡
資源格式: PDF
版本: 掃描版
出版社: 機械工業出版社
書號: 9787111261483
發行時間: 2010年01月
地區: 大陸
語言: 簡體中文
簡介:

評論處1樓有網盤鏈接
內容介紹:
  本書是關於c和c++安全編碼的著作。本書介紹了c和c++程序中已經導致危險的、破壞性的基本編程錯誤,包括在字符串、指針、動態內存管理、整數、格式化輸出、文件i/o等中的漏洞或缺陷。本書還提供了對這些編程錯誤的深入剖析,並給出緩解策略,以減少或消除惡意利用漏洞的風險。.
   本書適合c/c++程序員、軟件安全工程師參考。
   洞悉軟件漏洞的成因,熟知規避之道..
   通常而言,可利用的軟件漏洞都由本可避免的軟件缺陷所導致。在分析了過去10年中近18000份漏洞報告後,cert/cc發現少量的根本原因導致了這些漏洞的產生。本書識別並解釋了這些原因,而且展示了預防利用漏洞的步驟。此外,本書還鼓勵程序員采用最佳安全實踐,並培養安全的開發理念,這不但有助於保護軟件免遭當前的攻擊,更可使它們免遭將來可能發生的攻擊。
   基於cert/cc的報告和總結,robert seacord系統地揭示了最可能導致安全缺陷的編程錯誤,展示了這些缺陷的利用方式,介紹了可能導致的後果,並提供了安全的替代做法。
   本書特別討論了如下技術細節:
   ■ 改善任何c/c++應用程序的整體安全性。
   ■ 抵御利用不安全的字符串操作邏輯的緩沖區溢出和棧粉碎攻擊。
   ■ 避免因對動態內存管理函數的不當使用而導致的漏洞和安全缺陷。
   ■ 消除與整數相關的問題,包括整數溢出、符號錯誤以及截斷錯誤等。
   ■ 正確地使用格式化輸出函數,避免引入格式字符串漏洞。
   ■ 避免i/o漏洞,包括競爭條件等。
   本書提供了許多針對windows和linux的安全代碼、不安全代碼以及利用程序的例子。如果你負責創建安全的c或c++軟件,或者需要保持這類軟件的安全性,本書為你提供了詳盡的專家級協助。在這方面,其他任何書籍都望塵莫及。...
內容截圖:



目錄:
譯者序.
序言
前言
作譯者簡介
第1章 夾縫求生 1
1.1 衡量危險 3
1.1.1 損失的現狀 4
1.1.2 威脅的來源 5
1.1.3 軟件安全 6
1.2 安全概念 7
1.2.1 安全策略 8
1.2.2 安全缺陷 8
1.2.3 漏洞 9
1.2.4 利用 10
1.2.5 緩解措施 10
1.3 c和c++ 11
1.3.1 c和c++簡史 11
1.3.2 c存在的問題 12
1.3.3 遺留代碼 13
1.3.4 其他語言 13
.1.4 開發平台 13
1.4.1 操作系統 13
1.4.2 編譯器 15
1.5 本章小結 16
1.6 閱讀材料 16
第2章 字符串 17
2.1 字符串特征 17
2.2 常見的字符串操作錯誤 18
2.2.1 無界字符串復制 18
2.2.2 差一錯誤 20
2.2.3 空結尾錯誤 21
2.2.4 字符串截斷 21
2.2.5 與函數無關的字符串錯誤 21
2.3 字符串漏洞 22
2.3.1 安全缺陷 23
2.3.2 緩沖區溢出 24
2.4 進程內存組織 24
2.5 棧粉碎 27
2.6 代碼注入 30
2.7 弧注入 32
2.8 緩解策略 34
2.8.1 預防 34
2.8.2 字符串流 44
2.8.3 檢測和恢復 45
2.9 著名的漏洞 48
2.9.1 遠程登錄 49
2.9.2 kerberos 49
2.9.3 metamail 49
2.10 本章小結 50
2.11 閱讀材料 51
第3章 指針詭計 52
3.1 數據位置 52
3.2 函數指針 53
3.3 數據指針 54
3.4 修改指令指針 54
3.5 全局偏移表 56
3.6 .dtors區 57
3.7 虛指針 58
3.8 atexit()和on_exit()函數 60
3.9 longjmp()函數 61
3.10 異常處理 62
3.10.1 結構化異常處理 62
3.10.2 系統默認異常處理 64
3.11 緩解策略 65
3.11.1 w^x 65
3.11.2 canaries 65
3.12 本章小結 65
3.13 閱讀材料 66
第4章 動態內存管理 67
4.1 動態內存管理 67
4.2 常見的動態內存管理錯誤 69
4.2.1 初始化 69
4.2.2 檢查返回值失敗 70
4.2.3 引用已釋放的內存 71
4.2.4 多次釋放內存 72
4.2.5 不匹配的內存管理函數 73
4.2.6 未正確區分標量和數組 73
4.2.7 對分配函數的不當使用 73
4.3 doug lea的內存分配器 74
4.3.1 內存管理 74
4.3.2 緩沖區溢出 76
4.3.3 雙重釋放漏洞 80
4.3.4 寫入已釋放的內存 83
4.4 rtlheap 83
4.4.1 win32中的內存管理 83
4.4.2 rtlheap的數據結構 85
4.4.3 緩沖區溢出 88
4.4.4 緩沖區溢出(再回顧) 89
4.4.5 寫入已釋放內存 92
4.4.6 雙重釋放 92
4.4.7 look-aside表 95
4.5 緩解策略 95
4.5.1 空指針 95
4.5.2 一致的內存管理約定 96
4.5.3 堆完整性檢測 96
4.5.4 phkmalloc 97
4.5.5 隨機化 98
4.5.6 哨位頁 98
4.5.7 openbsd 98
4.5.8 運行時分析工具 99
4.5.9 windows xp sp2 100
4.6 著名的漏洞 101
4.6.1 cvs緩沖區溢出漏洞 102
4.6.2 微軟數據訪問組件(mdac) 102
4.6.3 cvs服務器雙重釋放漏洞 103
4.6.4 mit kerberos 5中的漏洞 103
4.7 本章小結 103
4.8 閱讀材料 103
第5章 整數安全 105
5.1 整數 105
5.1.1 整數表示法 106
5.1.2 整數類型 106
5.1.3 整數取值范圍 108
5.2 整型轉換 109
5.2.1 整型提升 109
5.2.2 整數轉換級別 109
5.2.3 從無符號整型轉換 111
5.2.4 從帶符號整型轉換 112
5.2.5 帶符號或無符號字符 113
5.2.6 普通算術轉換 113
5.3 整數錯誤情形 113
5.3.1 整數溢出 114
5.3.2 符號錯誤 115
5.3.3 截斷錯誤 115
5.4 整數操作 116
5.4.1 加法 117
5.4.2 減法 119
5.4.3 乘法 120
5.4.4 除法 122
5.5 漏洞 126
5.5.1 整數溢出 126
5.5.2 符號錯誤 127
5.5.3 截斷錯誤..128
5.6 非異常的整數邏輯錯誤 129
5.7 緩解策略 130
5.7.1 范圍檢查 130
5.7.2 強類型 131
5.7.3 編譯器運行時檢查 131
5.7.4 安全的整數操作 132
5.7.5 任意精度的算術 136
5.7.6 測試 137
5.7.7 源代碼審查 137
5.8 著名的漏洞 137
5.8.1 xdr庫 137
5.8.2 windows directx midi庫 138
5.8.3 bash 138
5.9 本章小結 139
5.10 閱讀材料 140
第6章 格式化輸出 141
6.1 變參函數 142
6.1.1 ansi c標准參數 142
6.1.2 unix system v varargs 144
6.2 格式化輸出函數 144
6.2.1 格式字符串 145
6.2.2 gcc 147
6.2.3 visual c++.net 147
6.3 對格式化輸出函數的漏洞利用 148
6.3.1 緩沖區溢出 148
6.3.2 輸出流 149
6.3.3 使程序崩潰 149
6.3.4 查看棧內容 150
6.3.5 查看內存內容 151
6.3.6 覆寫內存 152
6.3.7 國際化 156
6.4 棧隨機化 156
6.4.1 阻礙棧隨機化 156
6.4.2 以雙字的格式寫地址 157
6.4.3 直接參數存取 158
6.5 緩解策略 160
6.5.1 靜態內容的動態使用 160
6.5.2 限制字節寫入 161
6.5.3 iso/iec tr 24731 162
6.5.4 iostream與stdio 162
6.5.5 測試 163
6.5.6 編譯器檢查 164
6.5.7 詞法分析 164
6.5.8 靜態污點分析 164
6.5.9 調整變參函數的實現 165
6.5.10 exec shield 166
6.5.11 formatguard 166
6.5.12 libsafe 167
6.5.13 靜態二進制分析 167
6.6 著名的漏洞 168
6.6.1 華盛頓大學ftp daemon 168
6.6.2 cde tooltalk 168
6.7 本章小結 169
6.8 閱讀材料 170
第7章 文件i/o 171
7.1 並發 171
7.1.1 競爭條件 171
7.1.2 互斥和死鎖 172
7.2 檢查時間和使用時間 173
7.3 作為鎖的文件和文件鎖定 174
7.4 文件系統利用 176
7.4.1 符號鏈接利用 176
7.4.2 臨時文件打開利用 178
7.4.3 unlink()競爭利用 180
7.4.4 受信文件名 180
7.4.5 非唯一的臨時文件名 181
7.5 緩解策略 181
7.5.1 關閉競爭窗口 182
7.5.2 消除競爭對象 184
7.5.3 控制對競爭對象的訪問 187
7.5.4 競爭偵測工具 188
7.6 本章小結 189
第8章 推薦的實踐 190
8.1 安全的軟件開發原則 191
8.1.1 機制經濟性原則 192
8.1.2 失敗-保險默認原則 192
8.1.3 完全仲裁原則 192
8.1.4 開放式設計原則 192
8.1.5 特權分離原則 192
8.1.6 最小特權原則 193
8.1.7 最少公共機制原則 193
8.1.8 心理可接受性原則 194
8.2 系統質量需求工程 194
8.3 威脅建模 195
8.4 使用/誤用案例 196
8.5 架構與設計 196
8.6 現成軟件 198
8.6.1 現有代碼中的漏洞 198
8.6.2 安全的包裝器 199
8.7 編譯器檢查 199
8.8 輸入驗證 200
8.9 數據淨化 201
8.9.1 黑名單 201
8.9.2 白名單 202
8.9.3 測試 203
8.10 靜態分析 203
8.10.1 fortify 203
8.10.2 prexis 204
8.10.3 prevent 204
8.10.4 prefix和prefast 205
8.11 質量保證 205
8.11.1 滲透測試 205
8.11.2 模糊測試 206
8.11.3 代碼審計 206
8.11.4 開發人員准則與檢查清單 206
8.11.5 獨立安全審查 207
8.12 內存權限 207
8.12.1 w^x 207
8.12.2 pax 208
8.12.3 數據執行防護 208
8.13 深層防御 209
8.14 tsp-secure 209
8.14.1 計劃和跟蹤 209
8.14.2 質量管理 210
8.15 本章小結 211
8.16 閱讀材料 211
參考文獻 212
縮略語 ...223



相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved