注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Windows一個都不能有:軟件的19個致命安全漏洞

一個都不能有:軟件的19個致命安全漏洞

一個都不能有:軟件的19個致命安全漏洞

定 價:¥38.00

作 者: (美)豪沃、勒伯蘭克、維加
出版社: 清華大學出版社
叢編項: 安全技術經(jīng)典譯叢
標 簽: 暫缺

ISBN: 9787302138044 出版時間: 2006-11-01 包裝: 平裝
開本: 16 頁數(shù): 252 字數(shù):  

內(nèi)容簡介

  我們通常期望計算機可以按照我們的指示去執(zhí)行任務,在現(xiàn)實生活中,我們通過使用軟件來完成這些期望。目前計算機及其軟件都變得非常的復雜,從我們點擊鼠標到看到期望的結果這一過程中,可能經(jīng)過了多層軟件。為了充分利用計算機平臺的能力,我們通常要依賴于這些軟件層自身執(zhí)行的正確性。對于這些軟件層來說,每一層都可能出現(xiàn)問題,軟件運行的結果并不是作者所需要的,或者至少不是計算機操作者需要的。這些漏洞為我們的系統(tǒng)引入了一定的不確定因素,隨之而來的是重大的安全漏洞。這些漏洞有些比較簡單,比如軟件或系統(tǒng)崩潰(可用于拒絕服務攻擊),或者緩沖區(qū)溢出(攻擊者可以以此來替換應用程序的代碼,從而執(zhí)行任意的命令)。本書本著小巧、易讀、實用的原則,涵蓋了目前流行的編程語言和運行平臺,覆蓋了最為常見的與軟件安全相關的19個致命漏洞。該書采用理論和實踐相結合的方式,對于每個漏洞都給出了詳細的描述、產(chǎn)生的原理、查找的方法、彌補的措施等內(nèi)容,同時,對于每個漏洞,作者還精選了系統(tǒng)中實際出現(xiàn)的例子加以說明,使其更直觀,令讀者印象更為深刻。另外,在彌補措施中,作者結合多種不同的語言給出具體的代碼彌補方案,從而更增強了實用性。

作者簡介

  本書提供作譯者介紹Michael Howard,Microsoft公司安全工程組的高級安全項目管理經(jīng)理,同時也是獲獎書籍Writing Secure Code的作者之一。他還是IEEE Security&Privacy Magazine雜志“Basic Training”欄目作者之一、美國國家網(wǎng)絡安全伙伴任務小組為國土安全部編寫的“Processes to Produce Secure Software”一文的作者之一。作為微軟“安全開發(fā)生命周期”的架構師,Michael花費了大量的時間來制定和實施最佳安全實踐,促進軟件開發(fā)過程改進,為普通用戶提供更為安全的軟件。.David LeBlanc博士目前是...

圖書目錄

第1章  緩沖區(qū)溢出    1
1.1  漏洞概述    1
1.2  受影響的編程語言    2
1.3  漏洞詳細解釋    2
1.3.1  受漏洞影響的C/C++    5
1.3.2  相關漏洞    8
1.4  查找漏洞模式    8
1.5  在代碼審查中查找該漏洞    8
1.6  發(fā)現(xiàn)該漏洞的測試技巧    9
1.7  漏洞示例    10
1.7.1  CVE-1999-0042    10
1.7.2  CVE-2000-0389
   — CVE-2000-0392    10
1.7.3  CVE-2002-0842、
     CVE-2003-0095、
     CAN-2003-0096    11
1.7.4  CAN-2003-0352    11
1.8  彌補措施    12
1.8.1  替換危險的字符串
     處理函數(shù)    12
1.8.2  審計分配操作    12
1.8.3  檢查循環(huán)和數(shù)組訪問    12
1.8.4  使用C++字符串來替
   換C字符串緩沖區(qū)    12
1.8.5  使用STL容器替代靜
   態(tài)數(shù)組    13
1.8.6  使用分析工具    13
1.9  其他防御措施    13
1.9.1  棧保護    14
1.9.2  不可執(zhí)行的棧和堆    14
1.10  其他資源    14
1.11  本章總結    16
第2章  格式化字符串問題    17
2.1  漏洞概述    17
2.2  受影響的編程語言    18
2.3  漏洞詳細解釋    18
2.3.1  受漏洞影響的C/C++    20
2.3.2  相關漏洞    20
2.4  查找漏洞模式    21
2.5  在代碼審查中查找該漏洞    21
2.6  發(fā)現(xiàn)該漏洞的測試技巧    21
2.7  漏洞示例    22
2.7.1  CVE-2000-0573    22
2.7.2  CVE-2000-0844    22
2.8  彌補措施    23
2.9  其他防御措施    23
2.10  其他資源    23
2.11  本章總結    24
第3章  整數(shù)溢出    25
3.1  漏洞概述    25
3.2  受影響的編程語言    25
3.3  漏洞詳細解釋    26
3.3.1  受漏洞影響的C和C++    26
3.3.2  受漏洞影響的C#    31
3.3.3  受漏洞影響的Visual Basic和Visual Basic.net    32
3.3.4  受漏洞影響的Java    33
3.3.5  受漏洞影響的Perl    34
3.4  查找漏洞模式    35
3.5  在代碼審查中查找漏洞    35
3.5.1  C/C++    35
3.5.2  C#    37
3.5.3  Java    37
3.5.4  Visual Basic和Visual
     Basic.NET    38
3.5.5  Perl    38
3.6  發(fā)現(xiàn)該漏洞的測試技巧    38
3.7  漏洞示例    38
3.7.1  在Windows腳本引擎中
     存在的漏洞可以導致
     任意代碼執(zhí)行    38
3.7.2  在SOAPParameter的對象
     構造函數(shù)中存在整數(shù)溢出    39
3.7.3  在HTR塊編碼中存在的
     堆溢出可以導致Web
     服務器遭到入侵    39
3.8  彌補措施    39
3.9  其他防御措施    41
3.10  其他資源    41
3.11  本章總結    42
第4章  SQL注入    43
4.1  漏洞概述    43
4.2  受影響的編程語言    44
4.3  漏洞詳細解釋    44
4.3.1  受漏洞影響的C#    44
4.3.2  受漏洞影響的PHP    45
4.3.3  受漏洞影響的Perl/CGI    46
4.3.4  受漏洞影響的Java
     和JDBC    46
4.3.5  受漏洞影響的SQL    47
4.3.6  相關漏洞    48
4.4  查找漏洞模式    49
4.5  在代碼審查中查找該漏洞    49
4.6  發(fā)現(xiàn)該漏洞的測試技巧    50
4.7  漏洞示例    52
4.7.1  CAN-2004-348    52
4.7.2  CAN-2002-0554    52
4.8  彌補措施    52
4.8.1  驗證所有的輸入    52
4.8.2  不要使用字符串連接來
     構造SQL語句    53
4.9  其他防御措施    56
4.10 其他資源    56
4.11  本章總結    57
第5章  命令注入    59
5.1  漏洞概述    59
5.2  受影響的編程語言    59
5.3  漏洞詳細解釋    59
5.4  查找漏洞模式    61
5.5  在代碼審查中查找該漏洞    61
5.6  發(fā)現(xiàn)該漏洞的測試技巧    63
5.7  漏洞示例    64
5.7.1  CAN-2001-1187    64
5.7.2  CAN-2002-0652    64
5.8  彌補措施    65
5.8.1  數(shù)據(jù)驗證    65
5.8.2  當檢查失敗時    67
5.9  其他防御措施    67
5.10  其他資源    68
5.11  本章總結    68
第6章  未能處理錯誤信息    69
6.1  漏洞概述    69
6.2  受影響的編程語言    69
6.3  漏洞詳細解釋    69
6.3.1  產(chǎn)生太多的信息    70
6.3.2  忽略了錯誤信息    70
6.3.3  曲解了錯誤信息    71
6.3.4  使用了無用的錯誤值    71
6.3.5  處理了錯誤的異常    71
6.3.6  處理所有的異常    71
6.3.7  受漏洞影響的C/C++    72
6.3.8  Windows上受漏洞
     影響的C/C++    72
6.3.9  受漏洞影響的C++    73
6.3.10  受漏洞影響的
   C#、VB.NET及Java    73
6.3.11  相關漏洞    74
6.4  查找漏洞模式    74
6.5  在代碼審查中查找該漏洞    74
6.6  發(fā)現(xiàn)該漏洞的測試技巧    75
6.7  漏洞示例    75
6.8  彌補措施    76
6.8.1  C/C++彌補措施    76
6.8.2  C#、VB.NET和Java
     彌補措施    76
6.9  其他資源    77
6.10  本章總結    77
第7章  跨站腳本    79
7.1  漏洞概述    79
7.2  受影響的編程語言    79
7.3  漏洞詳細解釋    79
7.3.1  受漏洞影響的
     C/C++ ISAPI應用程序
     或者過濾程序    80
7.3.2  受漏洞影響的ASP    81
7.3.3  受漏洞影響的
     ASP.NET表單    81
7.3.4  受漏洞影響的JSP    81
7.3.5  受漏洞影響的PHP    81
7.3.6  受漏洞影響的使用
     Perl的CGI程序    82
7.3.7  受漏洞影響的mod_perl    82
7.4  查找漏洞模式    82
7.5  在代碼審查中查找該漏洞    83
7.6  發(fā)現(xiàn)該漏洞的測試技巧    84
7.7  漏洞示例    85
7.7.1  IBM Lotus Domino跨站
     腳本和HTML注入漏洞    85
7.7.2  Oracle HTTP服務器的
  “isqlplus”輸入驗證漏洞
     允許遠程用戶實施跨站
     腳本攻擊    85
7.7.3  CVE-2002-0840    85
7.8  彌補措施    85
7.8.1  ISAPI C/C++彌補措施    86
7.8.2  ASP彌補措施    86
7.8.3  ASP.NET表單彌補措施    87
7.8.4  JSP彌補措施    87
7.8.5  PHP彌補措施    89
7.8.6  CGI彌補措施    89
7.8.7  mod_perl彌補措施    90
7.8.8  關于HTML編碼的
     注意事項    90
7.9  其他防御措施    91
7.10  其他資源    91
7.11  本章總結    92
第8章  未能保護好網(wǎng)絡流量    93
8.1  漏洞概述    93
8.2  受影響的編程語言    94
8.3  漏洞詳細解釋    94
8.4  查找漏洞模式    96
8.5  在代碼審查中查找漏洞    96
8.6  發(fā)現(xiàn)該漏洞的測試技巧    99
8.7  漏洞示例    99
8.7.1  TCP/IP    100
8.7.2  電子郵件協(xié)議    100
8.7.3  電子商務    100
8.8  彌補措施    101
8.9  其他防御措施    104
8.10  其他資源    104
8.11  本章總結    104
第9章  使用Magic URL及隱藏
    表單字段    105
9.1  漏洞概述    105
9.2  受影響的編程語言    105
9.3  漏洞詳細解釋    105
9.3.1  Magic URL    106
9.3.2  隱藏表單字段    106
9.3.3  相關漏洞    106
9.4  查找漏洞模式    107
9.5  在代碼審查中查找該漏洞    107
9.6  發(fā)現(xiàn)該漏洞的測試技巧    108
9.7  漏洞示例    109
9.7.1  CAN-2000-1001    109
9.7.2  MaxWebProtal隱藏表單
     字段修改    109
9.8  彌補措施    109
9.8.1  攻擊者瀏覽數(shù)據(jù)    110
9.8.2  攻擊者重放數(shù)據(jù)    110
9.8.3  攻擊者預測數(shù)據(jù)    112
9.8.4  攻擊者更改數(shù)據(jù)    113
9.9  其他防御措施    114
9.10  其他資源    114
9.11  本章總結    114
第10章  未能正確使用SSL和TLS    115
10.1  漏洞概述    115
10.2  受影響的編程語言    115
10.3  漏洞詳細解釋    116
10.4  查找漏洞模式    118
10.5  在代碼審查查找該漏洞    119
10.6  發(fā)現(xiàn)該漏洞的測試技巧    120
10.7  漏洞示例    121
10.7.1  電子郵件客戶端    121
10.7.2  Safari Web瀏覽器    121
10.7.3  Stunnel SSL代理    122
10.8  彌補措施    122
10.8.1  選擇協(xié)議版本    123
10.8.2  選擇加密套件    124
10.8.3  確保證書的有效性    124
10.8.4  驗證主機名    126
10.8.5  檢查證書撤銷    126
10.9  其他防御措施    128
10.10  其他資源    129
10.11  本章總結    129
第11章  使用基于弱口令的系統(tǒng)    131
11.1  漏洞概述    131
11.2  受影響的編程語言    131
11.3  漏洞詳細解釋    131
11.4  查找漏洞模式    133
11.5  在代碼審查中查找該漏洞    134
11.5.1  口令內(nèi)容策略    134
11.5.2  口令修改和重置    134
11.5.3  口令協(xié)議    135
11.5.4  口令處理和存儲    135
11.6  發(fā)現(xiàn)該漏洞的測試技巧    136
11.7  漏洞示例    136
11.7.1  CVE-2005-1505    136
11.7.2  CVE-2005-0432    137
11.7.3  TENEX漏洞    137
11.7.4  Paris Hilton劫持    138
11.8  彌補措施    138
11.8.1  多方式認證    138
11.8.2  存儲以及檢查口令    139
11.8.3  選擇協(xié)議的原則    142
11.8.4  口令重置的原則    142
11.8.5  口令選擇的原則    143
11.8.6  其他原則    144
11.9  其他防御措施    144
11.10  其他資源    145
11.11  本章總結    145
第12章  未能安全地存儲和
         保護數(shù)據(jù)    147
12.1  漏洞概述    147
12.2  受影響的編程語言    147
12.3  漏洞詳細解釋    147
12.3.1  采用脆弱的訪問控制機
    制“保護”秘密數(shù)據(jù)    148
12.3.2  受漏洞影響的訪問控制    149
12.3.3  代碼中內(nèi)嵌秘密數(shù)據(jù)    151
12.3.4  相關漏洞    151
12.4  查找漏洞模式    151
12.5  在代碼審查中查找漏洞    152
12.6  發(fā)現(xiàn)該漏洞的測試技巧    153
12.7  漏洞示例    155
12.7.1  CVE-2000-0100    155
12.7.2  CAN-2002-1590    155
12.7.3  CVE-1999-0886    155
12.7.4  CAN-2004-0311    156
12.7.5  CAN-2004-0391    156
12.8  彌補措施    156
12.8.1  使用操作系統(tǒng)的
    安全技術    157
12.8.2  C/C++ Windows 2000以
       及更新版本的彌補措施    157
12.8.3  ASP.NET 1.1以及更新
    版本的彌補措施    159
12.8.4  C# .NET Framework 2.0
    彌補措施    159
12.8.5  C/C++ Mac OS X 10.2
    以及更新版本的
    彌補措施    159
12.8.6  無需操作系統(tǒng)支持的
    彌補措施(不在代碼
    中保存秘密數(shù)據(jù))    160
12.8.7  Java和Java KeyStore
    的注意事項    162
12.9  其他防御措施    163
12.10  其他資源    164
12.11  本章總結    165
第13章  信息泄漏    167
13.1  漏洞概述    167
13.2  受影響的編程語言    167
13.3  漏洞詳細解釋    168
13.3.1  旁路    168
13.3.2  TMI:太多的信息!    169
13.3.3  信息流安全模型    171
13.3.4  受漏洞影響的C#(以
    及其他的編程語言)    173
13.3.5  相關漏洞    173
13.4  查找漏洞模式    173
13.5  在代碼審查中查找該漏洞    173
13.6  發(fā)現(xiàn)該漏洞的測試技巧    175
13.7  漏洞示例    175
13.7.1  Dan Bernstein的
    AES定時攻擊    175
13.7.2  CAN-2005-1411    176
13.7.3  CAN-2005-1133    176
13.8  彌補措施    177
13.8.1  C#(以及其他編程語言)
    彌補措施    177
13.8.2  本地網(wǎng)絡的彌補措施    178
13.9  其他防御措施    178
13.10  其他資源    178
13.11  本章總結    179
第14章  不恰當?shù)奈募L問    181
14.1  漏洞概述    181
14.2  受影響的編程語言    182
14.3  漏洞詳細解釋    182
14.3.1  在Windows上受
    漏洞影響的C/C++    182
14.3.2  受漏洞影響的C/C++    183
14.3.3  受漏洞影響的Perl    183
14.3.4  受漏洞影響的Python    183
14.3.5  相關漏洞    184
14.4  查找漏洞模式    184
14.5  在代碼審查中查找該漏洞    184
14.6  發(fā)現(xiàn)該漏洞的測試技巧    185
14.7  漏洞示例    186
14.7.1  CAN-2005-0004    186
14.7.2  CAN-2005-0799    186
14.7.3  CAN-2004-0452和
    CAN-2004-0448    186
14.7.4  CVE-2004-0115
    Microsoft的Mac
    版Virtual PC    186
14.8  彌補措施    187
14.8.1  Perl彌補措施    187
14.8.2  *nix上C/C++的
    彌補措施    187
14.8.3  Windows上C/C++的
    彌補措施    188
14.8.4  獲取用戶臨時文件
    的目錄    188
14.8.5  .NET代碼彌補措施    188
14.9  其他防御措施    189
14.10  其他資源    189
14.11  本章總結    189
第15章  輕信網(wǎng)絡域名解析    191
15.1  漏洞概述    191
15.2  受影響的編程語言    191
15.3  漏洞詳細解釋    192
15.3.1  受漏洞影響的應用程序    194
15.3.2  相關漏洞    194
15.4  查找漏洞模式    195
15.5  在代碼審查中查找該漏洞    195
15.6  發(fā)現(xiàn)該漏洞的測試技巧    195
15.7  漏洞示例    196
15.7.1  CVE-2002-0676    196
15.7.2  CVE-1999-0024    196
15.8  彌補措施    197
15.9  其他資源    198
15.10  本章總結    198
第16章  競爭條件    199
16.1  漏洞概述    199
16.2  受影響的編程語言    199
16.3  漏洞詳細解釋    199
16.3.1  受漏洞影響的代碼    201
16.3.2  相關漏洞    201
16.4  查找漏洞模式    202
16.5  在代碼審查中查找該漏洞    202
16.6  發(fā)現(xiàn)該漏洞的測試技巧    203
16.7  漏洞示例    204
16.7.1  CVE-2001-1349    204
16.7.2  CAN-2003-1073    204
16.7.3  CVE-2000-0849    204
16.8  彌補措施    205
16.9  其他防御措施    206
16.10  其他資源    206
16.11  本章總結    207
第17章  未認證的密鑰交換    209
17.1  漏洞概述    209
17.2  受影響的語言    209
17.3  漏洞詳細解釋    209
17.4  查找漏洞模式    211
17.5  在代碼審查中查找該漏洞    211
17.6  發(fā)現(xiàn)該漏洞的測試技巧    212
17.7  漏洞示例    212
17.7.1  Novell Netware MITM
    攻擊    212
17.7.2  CAN-2004-0155    212
17.8  彌補措施    213
17.9  其他防御措施    213
17.10  其他資源    213
17.11  本章總結    214
第18章  密碼學強度隨機數(shù)    215
18.1  漏洞概述    215
18.2  受影響的編程語言    215
18.3  漏洞詳細解釋    215
18.3.1  受漏洞影響的非
    密碼學生成器    216
18.3.2  受漏洞影響的
    密碼字生成器    216
18.3.3  受漏洞影響的真
    隨機數(shù)生成器    217
18.3.4  相關漏洞    218
18.4  查找漏洞模式    218
18.5  在代碼審查中查找該漏洞    218
18.5.1  什么時候應該
    使用隨機數(shù)    218
18.5.2  查找使用PRNG
    的地方    218
18.5.3  判斷CRNG是否
    正確地播種    219
18.6  發(fā)現(xiàn)該漏洞的測試技巧    220
18.7  漏洞示例    220
18.7.1  Netscape瀏覽器    220
18.7.2  OpenSSL問題    221
18.8  彌補措施    221
18.8.1  Windows    221
18.8.2  .NET代碼    222
18.8.3  UNIX    222
18.8.4  Java    223
18.8.5  重放數(shù)字流    223
18.9  其他防御措施    224
18.10  其他資源    224
18.11  本章總結    224
第19章  不良可用性    225
19.1  漏洞概述    225
19.2  受影響的語言    225
19.3  漏洞詳細解釋    225
19.3.1  誰是您的用戶?    226
19.3.2  雷區(qū):向您的用戶呈現(xiàn)安全相關的信息    227
19.3.3  相關漏洞    227
19.4  查找漏洞模式    227
19.5  在代碼審查中尋找該漏洞    227
19.6  發(fā)現(xiàn)該漏洞的測試技巧    228
19.7  漏洞示例    228
19.7.1  SSL/TLS證書認證    228
19.7.2  Internet Explorer 4.0
    根證書安裝    229
19.8  彌補措施    230
19.8.1  簡化UI以便用戶參與    230
19.8.2  為用戶做出安全決策    230
19.8.3  使有選擇的松弛安全策
    略變得簡單    231
19.8.4  明確指出后果    232
19.8.5  提供可操作性    235
19.8.6  提供集中管理    235
19.9  其他資源    235
19.10  本章總結    236
附錄A  19個致命漏洞與OWASP
    的“前10名”漏洞的
    對應關系    237
附錄B  “要”與“不要”提示總結    239
譯者術語表    247

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號