第一部分 現(xiàn)代安全
第1章 對安全系統(tǒng)的需求
1. 1 "瘋狂的Web網(wǎng)"上的應用程序
1. 2 可信計算的需要
1. 3 讓每個人都參與進來
1. 3. 1 巧妙地向企業(yè)推銷安全
1. 3. 2 使用搞破壞的方法
1. 4 灌輸安全意識的一些主意
1. 4. 1 讓老板發(fā)一封電子郵件
1. 4. 2 任命安全宣傳員
1. 5 攻擊者的優(yōu)勢和防御者的劣勢
1. 5. 1 因素1:防御者必須對所有的環(huán)節(jié)都進行防御, 而攻擊者可以選擇最薄弱的環(huán)節(jié)
1. 5. 2 因素2:防御者只能針對已知的攻擊進行防御, 而攻擊者則可以探測未知的漏洞
1. 5. 3 因素3:防御者必須永遠保持警惕, 而攻擊者卻可以隨意"罷工"
1. 5. 4 因素4:防御者的活動必須遵循相應的規(guī)則, 而攻擊者則可以采用一些卑鄙的手段
1. 6 本章小結(jié)
第2章 主動的安全開發(fā)過程
2. 1 不斷改進開發(fā)過程
2. 2 安全教育的角色
2. 2. 1 強制培訓的阻力
2. 2. 2 不斷更新的培訓
2. 2. 3 安全科學的進步
2. 2. 4 教育證明"更多的眼睛"不代表更安全
2. 2. 5 有力的證據(jù)1
2. 3 設(shè)計階段
2. 3. 1 面試期間的安全問題
2. 3. 2 定義產(chǎn)品的安全目標
2. 3. 3 安全是產(chǎn)品的一種特性
2. 3. 4 要有足夠的時間考慮安全問題
2. 3. 5 安全的設(shè)計源于威脅建模
2. 3. 6 終結(jié)不安全的特性
2. 3. 7 設(shè)置bug門檻
2. 3. 8 安全小組審查
2. 4 開發(fā)階段
2. 4. 1 只有核心成員能夠查看新代碼(簽字確認)
2. 4. 2 新代碼的同級安全審查(簽字確認)
2. 4. 3 定義安全的編碼準則
2. 4. 4 審查舊的缺陷
2. 4. 5 外部安全審查
2. 4. 6 安全推動活動
2. 4. 7 留心自己的錯誤數(shù)量
2. 4. 8 記錄錯誤
2. 4. 9 沒有驚喜, 也沒有圣誕節(jié)彩蛋!
2. 5 測試階段
2. 6 發(fā)行和維護階段
2. 6. 1 如何知道已完成
2. 6. 2 響應過程
2. 6. 3 責任制
2. 7 本章小結(jié)
第3章 賴以生存的安全法則
3. 1 設(shè)計安全. 默認安全和部署安全
3. 1. 1 設(shè)計安全
3. 1. 2 默認安全
3. 1. 3 部署安全
3. 2 安全法則
3. 2. 1 從錯誤中吸取教訓
3. 2. 2 盡可能縮小攻擊面
3. 2. 3 采用安全的默認設(shè)置
3. 2. 4 縱深防御
3. 2. 5 使用最小特權(quán)
3. 2. 6 向下兼容總是不安全的
3. 2. 7 假設(shè)外部系統(tǒng)是不安全的
3. 2. 8 失敗時的應對計劃
3. 2. 9 失敗時進入安全模式
3. 2. 10 切記:安全特性不等于安全的特性
3. 2. 11 決不要將安全僅維系于隱匿
3. 2. 12 不要將代碼與數(shù)據(jù)混在一起
3. 2. 13 正確地解決安全問題
3. 3 本章小結(jié)
第4章 威脅建模
4. 1 通過威脅建模進行安全的設(shè)計
4. 1. 1 成立威脅建模小組
4. 1. 2 分解應用程序
4. 1. 3 確定系統(tǒng)所面臨的威脅
4. 1. 4 以風險遞減的順序給威脅分級
4. 1. 5 選擇應付威脅的方法
4. 1. 6 選擇緩和威脅的方法
4. 2 安全技術(shù)
4. 2. 1 身份認證
4. 2. 2 授權(quán)
4. 2. 3 防篡改和增強保密性的技術(shù)
4. 2. 4 保護秘密或最好不要保存秘密
4. 2. 5 加密. 散列. MAC和數(shù)字簽名
4. 2. 6 審核
4. 2. 7 過濾. 節(jié)流和服務質(zhì)量
4. 2. 8 最小特權(quán)
4. 3 緩和工資表范例程序的威脅
4. 4 各種威脅及解決方案
4. 5 本章小結(jié)
第二部分 安全的編碼技術(shù)
第5章 頭號公敵:緩沖區(qū)溢出
5. 1 堆棧溢出
5. 2 堆溢出
5. 3 數(shù)組下標錯誤
5. 4 格式字符串錯誤
5. 5 Unicode和ANSI緩沖區(qū)大小不匹配
5. 6 預防緩沖區(qū)溢出
5. 6. 1 字符串處理方面的安全問題
5. 6. 2 關(guān)于字符串處理函數(shù)的警告
5. 7 VisualC++. NET的/GS選項
5. 8 本章小結(jié)
第6章 確定適當?shù)脑L問控制
6. 1 ACL何以如此重要
6. 2 ACL的組成
6. 3 選擇好的ACL的方法
6. 4 創(chuàng)建ACL
6. 4. 1 在WindowsNT4中創(chuàng)建ACL
6. 4. 2 在Windows 2000中創(chuàng)建ACL
6. 4. 3 用活動模板庫創(chuàng)建ACL
6. 5 對ACE進行正確的排序
6. 6 留意終端服務器和遠程桌面的SID
6. 7 NULLDACL和其他的危險ACE類型
6. 7. 1 NULLDACL和審核
6. 7. 2 危險的ACE類型
6. 7. 3 如果無法改變NULLDACL該怎么辦
6. 8 其他的訪問控制機制
6. 8. 1 . NET框架角色
6. 8. 2 COM+角色
6. 8. 3 IP限制
6. 8. 4 SQLServer觸發(fā)器和權(quán)限
6. 8. 5 一個醫(yī)學方面的示例
6. 8. 6 關(guān)于訪問控制機制的重要說明
6. 9 本章小結(jié)
第7章 以最小特權(quán)運行
7. 1 現(xiàn)實中的最小特權(quán)
7. 1. 1 病毒和特洛伊木馬
7. 1. 2 破壞Web服務器
7. 2 訪問控制簡介
7. 3 特權(quán)簡介
7. 3. 1 SeBackupPrivilege問題
7. 3. 2 SeRestorePrivilege問題
7. 3. 3 SeDebugPrivilege問題
7. 3. 4 SeTcbPrivilege問題
7. 3. 5 SeAssignPrimaryTokenPrivilege和SeIncreaseQuotaPrivilegeI司題
7. 3. 6 SeLoadDriverPrivilege問題
7. 3. 7 SeRemoteShutdownPrivilege問題
7. 3. 8 SeTakeOwnershipPrivilege問題
7. 4 令牌簡介
7. 5 令牌. 特權(quán). SID, ACL和進程之間的關(guān)系
7. 6 應用程序要求提高特權(quán)的三個理由
7. 6. 1 ACL問題
7. 6. 2 特權(quán)問題
7. 6. 3 使用LSA秘密
7. 7 解決提高特權(quán)的問題
7. 7. 1 解決ACL問題
7. 7. 2 解決特權(quán)問題
7. 7. 3 解決LSA問題
7. 8 確定適當特權(quán)的過程
7. 8. 1 步驟1:找到應用程序使用的資源
7. 8. 2 步驟2:找到應用程序使用的特權(quán)API
7. 8. 3 步驟3:哪一個帳戶是必需的
7. 8. 4 步驟4:獲取令牌的內(nèi)容
7. 8. 5 步驟5:所有SID和特權(quán)是否都是必需的
7. 8. 6 步驟6:調(diào)整令牌
7. 9 WindowsXP和WindowsServer2003中的低特權(quán)級服務帳戶
7. 10 模擬特權(quán)和WindowsServer2003
7. 11 調(diào)試最小特權(quán)問題
7. 11. 1 為什么以普通用戶運行時應用程序失敗
7. 11. 2 如何判斷應用程序失敗的原因
7. 12 本章小結(jié)
第8章 加密的弱點
8. 1 使用不良的隨機數(shù)
8. 1. 1 問題:rand函數(shù)
8. 1. 2 Win32中的加密隨機數(shù)
8. 1. 3 托管代碼中的加密隨機數(shù)
8. 1. 4 Web頁中的加密隨機數(shù)
8. 2 使用口令生成加密密鑰
8. 3 密鑰管理問題
8. 3. 1 長期密鑰和短期密鑰
8. 3. 2 使用合適的密鑰長度保護數(shù)據(jù)
8. 3. 3 將密鑰保存在靠近數(shù)據(jù)源的地方
8. 3. 4 密鑰交換問題
8. 4 創(chuàng)建自己的加密函數(shù)
8. 5 使用相同的流密碼加密密鑰
8. 5. 1 人們?yōu)槭裁词褂昧髅艽a
8. 5. 2 流密碼的缺陷
8. 5. 3 如果必須使用相同的密鑰怎么辦
8. 6 針對流密碼的位替換攻擊
8. 6. 1 解決位替換攻擊
8. 6. 2 何時使用散列. 密鑰散列或數(shù)字簽名
8. 7 重用明文和密文的緩沖區(qū)
8. 8 使用加密技術(shù)緩和威脅
8. 9 在文檔中說明你使用的加密算法
8. 10 本章小結(jié)
第9章 保護機密數(shù)據(jù)
9. 1 攻擊機密數(shù)據(jù)
9. 2 有時并不需要保存秘密
9. 2. 1 創(chuàng)建干擾散列
9. 2. 2 使用PKCS#5增加攻擊的難度
9. 3 獲取用戶的秘密信息
9. 4 保護Windows 2000及其以后版本中的秘密信息
9. 5 保護WindowsNT4中的秘密信息
9. 6 保護Windows95/98/ME/CE中的秘密
9. 7 不要選擇最低共同點解決方案
9. 8 管理內(nèi)存中的秘密
9. 8. 1 編譯器優(yōu)化警告
9. 8. 2 對內(nèi)存中的機密數(shù)據(jù)進行加密
9. 9 鎖定內(nèi)存以防敏感數(shù)據(jù)被分頁
9. 10 保護托管代碼中的機密數(shù)據(jù)
9. 11 提高安全門檻
9. 11. 1 把數(shù)據(jù)存儲在FAT系統(tǒng)的文件中
9. 11. 2 使用嵌入密鑰和XOR對數(shù)據(jù)進行編碼
9. 11. 3 使用嵌入密鑰和3DES加密數(shù)據(jù)
9. 11. 4 使用3DES加密數(shù)據(jù)并把密碼存放在注冊表中
9. 11. 5 使用3DES加密數(shù)據(jù)并把強密鑰存儲在注冊表中
9. 11. 6 使用3DES加密數(shù)據(jù), 把強密鑰存儲在注冊表中, 并使用ACL控制文件和注冊表項
9. 11. 7 使用3DES加密數(shù)據(jù), 把強密鑰存儲在注冊表中, 要求用戶輸入密碼, 并使用ACL控制文件和注冊表項
9. 12 保護機密數(shù)據(jù)時的折衷方案
9. 13 本章小結(jié)
第10章 一切輸入都是有害的
10. 1 問題
10. 2 誤信他人
10. 3 防御輸入攻擊的策略
10. 4 如何檢查合法性
10. 5 Perl中被污染的變量
10. 6 使用正則表達式檢查輸入
10. 7 正則表達式和Unicode
10. 8 正則表達式的"羅塞塔石碑"
10. 8. 1 Perl中的正則表達式
10. 8. 2 托管代碼中的正則表達式
10. 8. 3 腳本中的正則表達式
10. 8. 4 C++中的正則表達式
10. 9 不使用正則表達式的最佳做法
10. 10 本章小結(jié)
第11章 規(guī)范表示的問題
11. 1 規(guī)范的含義及其存在的問題
11. 2 規(guī)范文件名的問題
11. 2. 1 繞過Napster名稱過濾
11. 2. 2 Apple Mac OS X和Apache的漏洞
11. 2. 3 DOS設(shè)備名漏洞
11. 2. 4 Sun公司的StarOffice/tmp目錄的符號鏈接漏洞
11. 2. 5 常見的Windows規(guī)范文件名錯誤
11. 3 基于Web的規(guī)范問題
11. 3. 1 繞過AOL的父母控制
11. 3. 2 繞過eEye的安全檢查
11. 3. 3 安全區(qū)域和IE4的"無點IP地址"錯誤
11. 3. 4 IIS4. 0的::$DATA漏洞
11. 3. 5 何時一行變成了兩行
11. 3. 6 另一個Web問題--轉(zhuǎn)義
11. 4 視覺等效攻擊和同形異義詞攻擊
11. 5 預防規(guī)范化錯誤
11. 5. 1 不要根據(jù)文件名進行決策
11. 5. 2 使用正則表達式限制文件名的格式
11. 5. 3 停止生生8. 3格式的文件名
11. 5. 4 不要相信PATH環(huán)境變量, 要使用完整的路徑名
11. 5. 5 嘗試規(guī)范化文件名
11. 5. 6 安全地調(diào)用CreateFile
11. 6 基于Web的規(guī)范化問題的補救措施
11. 6. 1 限制合法輸入
11. 6. 2 處理UTF-8字符時要謹慎
11. 6. 3 ISAPI一巖石和硬地之間
11. 7 最后的考慮:非基于文件的規(guī)范化問題
11. 7. 1 服務器名
11. 7. 2 用戶名
11. 8 本章小結(jié)
第12章 數(shù)據(jù)庫輸入問題
12. 1 問題
12. 2 偽補救措施1, 用引號將輸入括起來
12. 3 偽補救措施3:使用存儲過程
12. 4 補救措施1:永不以sysadmin身份連接
12. 5 補救措施2:以安全的方式創(chuàng)建SQL語句
12. 6 縱深防御示例
12. 7 本章小結(jié)
第13章 Web特有的輸入問題
13. 1 跨網(wǎng)站腳本:輸出何時變壞了
13. 1. 1 有時攻擊者不需要<SCRIPT>塊
13. 1. 2 攻擊者不需要用戶點擊鏈接!
13. 2 與XSS有關(guān)的其他攻擊
13. 2. 1 針對本地文件的XSS攻擊
13. 2. 2 針對HTML資源的XSS攻擊
13. 3 XSS的補救措施
13. 3. 1 將輸出編碼
13. 3. 2 為所有的標簽屬性加上雙引號
13. 3. 3 將數(shù)據(jù)插入innerText屬性
13. 3. 4 強制使用代碼頁
13. 3. 5 IE 6. 0 SPI的cookie選項HttpOnly
13. 3. 6 IE的"Web標記"
13. 3. 7 IE的<FRAME SECURITY>屬性
13. 3. 8 ASP. NET 1. 1的ValidateRequest配置選項
13. 4 不要只是尋找不安全的結(jié)構(gòu)
13. 5 我只是想讓用戶向我的Web站點發(fā)送
13. 6 如何審查代碼中的XSS錯誤
13. 7 基于Web的其他安全主題
13. 7. 1 eval()可能是壞的
13. 7. 2 HTTP信任問題
13. 7. 3 ISAPI應用程序和過濾器
13. 7. 4 警惕"可預知的Cookie"
13. 7. 5 SSL/TLS客戶端的問題
13. 8 本章小結(jié)
第14章 國際化問題
14. 1 I18N安全的黃金準則
14. 2 在應用程序中使用Unicode
14. 3 預防I18N緩沖區(qū)溢出
14. 4 驗證I18N
14. 4. 1 視覺驗證
14. 4. 2 不要使用LCMapString驗證字符串
14. 4. 3 使用CreateFile驗證文件名
14. 5 字符集轉(zhuǎn)換問題
14. 6 調(diào)用MultiByteToWideChar時使用MB_PRECOMPOSED和MB_ERR_INVALID CHARS
14. 7 調(diào)用WideCharToMultiByte時使用WC_NO_BEST_FIT_CHARS445
14. 8 比較和排序
14. 9 Unicode字符屬性
14. 10 規(guī)范化
14. 11 本章小結(jié)
第三部分 更安全的編碼技術(shù)
第15章 Socket安全
15. 1 避免服務器被劫持
15. 2 TCP窗口攻擊
15. 3 選擇服務器接口
15. 4 接受連接
15. 5 編寫防火墻友好的應用程序
15. 5. 1 只用一個連接工作
15. 5. 2 不要要求服務器連接回客戶端
15. 5. 3 使用基于連接的協(xié)議
15. 5. 4 不要通過另外一個協(xié)議使你的應用程序進行多路復用
15. 5. 5 不要在應用層數(shù)據(jù)中嵌入主機IP地址
15. 5. 6 讓你的應用程序可配置
15. 6 欺騙. 基于主機和基于端口的信任
15. 7 IPv6即將到來
15. 8 本章小結(jié)
第16章 RPC. ActiveX控件和DCOM安全
16. 1 RPC入門
16. 1. 1 什么是RPC
16. 1. 2 創(chuàng)建RPC應用程序
16. 1. 3 RPC應用程序的通信原理
16. 2 RPC安全最佳實踐
16. 2. 1 使用/robust MIDL開關(guān)參數(shù)
16. 2. 2 使用[range]屬性
16. 2. 3 要求對連接進行驗證
16. 2. 4 使用數(shù)據(jù)包的保密性和完整性
16. 2. 5 使用嚴格的上下文句柄
16. 2. 6 不要依靠上下文句柄來進行訪問檢查
16. 2. 7 注意空的上下文句柄
16. 2. 8 不要信任你的對等端
16. 2. 9 使用安全回調(diào)
16. 2. 10 在單一進程中駐留多個RPC服務器
16. 2. 11 使用主流的協(xié)議
16. 3 DCOM安全最佳實踐
16. 3. 1 DCOM基礎(chǔ)
16. 3. 2 應用層的安全
16. 3. 3 DCOM用戶上下文環(huán)境
16. 3. 4 可編程實現(xiàn)的安全性
16. 3. 5 源端和接收端
16. 4 ActiveX入門
16. 5 ActiveX安全最佳實踐
16. 5. 1 什么樣的ActiveX組件是初始化安全和腳本安全的
16. 5. 2 初始化安全和腳本安全的最佳實踐
16. 6 本章小結(jié)
第17章 拒絕服務攻擊的防范
17. 1 應用程序失敗攻擊
17. 2 CPU不足攻擊
17. 3 內(nèi)存不足攻擊
17. 4 資源不足攻擊
17. 5 網(wǎng)絡(luò)帶寬攻擊
17. 6 本章小結(jié)
第18章 編寫安全的. NET代碼
18. 1 代碼訪問安全概述
18. 2 FxCop, "必備的"工具
18. 3 程序集是強命名的
18. 4 指定程序集權(quán)限需求
18. 4. 1 請求最小的權(quán)限集
18. 4. 2 拒絕不必要的權(quán)限
18. 4. 3 請求可選的權(quán)限
18. 5 過分熱衷于使用Assert方法
18. 6 關(guān)于Demand和Assert方法的進一步信息
18. 7 及時禁用斷言
18. 8 請求和鏈接請求
18. 9 慎用SuppressUnmanagedCodeSecurityAttribute屬性
18. 10 遠程請求
18. 11 限制代碼的使用范圍
18. 12 不要在XML或配置文件中存儲敏感數(shù)據(jù)
18. 13 審查允許部分信任的程序集
18. 14 檢查非托管代碼的托管包裝的正確性
18. 15 委托的問題
18. 16 序列化的問題
18. 17 隔離存儲的作用
18. 18 在部署ASP. NET應用程序之前禁用跟蹤和調(diào)試
18. 19 不要遠程發(fā)布冗長的錯誤信息
18. 20 對來源不可信的數(shù)據(jù)進行反序列化
18. 21 失敗時不要讓攻擊者知道太多
18. 22 本章小結(jié)
第四部分 特殊的安全問題
第19章 安全性測試
19. 1 安全性測試人員的角色
19. 2 安全性測試與一般測試的區(qū)別
19. 3 根據(jù)威脅模型制定安全性測試計劃
19. 3. 1 分解應用程序
19. 3. 2 確定組件接口
19. 3. 3 按照潛在的漏洞對接口進行分級
19. 3. 4 確定每一個接口使用的數(shù)據(jù)結(jié)構(gòu)
19. 3. 5 STRIDE類型的攻擊程序
19. 3. 6 用數(shù)據(jù)變種攻擊應用程序
19. 3. 7 測試之前
19. 3. 8 開發(fā)查找缺陷的工具
19. 4 用欺詐性的服務程序測試客戶軟件
19. 5 用戶是否應看到或修改數(shù)據(jù)
19. 6 用安全模板進行測試
19. 7 發(fā)現(xiàn)一個錯誤時測試并未結(jié)束
19. 8 測試碼應有很高的質(zhì)量
19. 9 測試端到端解決方案
19. 10 確定攻擊面
19. 10. 1 確定根攻擊向量
19. 10. 2 確定攻擊向量的偏差
19. 10. 3 統(tǒng)計產(chǎn)品中有偏差的攻擊向量
19. 11 本章小結(jié)
第20章 審查安全代碼
20. 1 處理大型應用程序
20. 2 多遍審查方法
20. 3 從易處著手
20. 4 整數(shù)溢出
20. 5 檢查返回結(jié)果
20. 6 對指針代碼進行額外的審查
20. 7 絕不要相信網(wǎng)絡(luò)上的數(shù)據(jù)
20. 8 本章小結(jié)
第21章 安全的軟件安裝
21. 1 最小特權(quán)原則
21. 2 安裝后立即清除密碼
21. 3 使用安全配置編輯器
21. 4 低層的安全API
21. 5 使用Windows Installer
21. 6 本章小結(jié)
第22章 在應用程序中加入隱私策略
22. 1 對隱私的惡意侵犯和令人討厭的侵犯
22. 2 主要的隱私立法
22. 2. 1 個人身份信息
22. 2. 2 關(guān)于數(shù)據(jù)保護的歐盟法令
22. 2. 3 安全海港原則
22. 2. 4 其他隱私立法
22. 3 隱私與安全
22. 4 建立隱私基礎(chǔ)設(shè)施
22. 4. 1 首席隱私官的作用
22. 4. 2 隱私倡導者的作用
22. 5 設(shè)計尊重隱私的應用程序
22. 5. 1 在開發(fā)過程中加入隱私策略
22. 5. 2 了解隱私的特點
22. 6 本章小結(jié)
第23章 常用的好做法
23. 1 不要向攻擊者透露任何信息
23. 2 關(guān)于服務的最佳做法
23. 2. 1 安全. 服務和交互式桌面
23. 2. 2 服務帳戶準則
23. 3 不要以標志字符串的形式泄漏信息
23. 4 在補丁中改變錯誤信息時要謹慎
23. 5 復查錯誤路徑
23. 6 讓它保持關(guān)閉
23. 7 核心態(tài)錯誤
23. 7. 1 高級安全問題
23. 7. 2 句柄
23. 7. 3 符號鏈接
23. 7. 4 配額
23. 7. 5 序列化原語
23. 7. 6 緩沖區(qū)處理問題
23. 7. 7 IRP取消
23. 8 在代碼中添加關(guān)于安全的注釋
23. 9 借助于操作系統(tǒng)的功能
23. 10 不要依賴用戶去做正確的選擇
23. 11 安全地調(diào)用CreateProcess函數(shù)
23. 11. 1 不要將lpApplicationName設(shè)置為NULL
23. 11. 2 用引號把lpCommandLine中可執(zhí)行文件的路徑括起來
23. 12 不要創(chuàng)建共享的/可寫的代碼段
23. 13 正確使用模擬函數(shù)
23. 14 不要將用戶文件寫人\ProgramFiles目錄
23. 15 不要把用戶數(shù)據(jù)寫入HKLM
23. 16 不要以"完全控制"權(quán)限打開對象
23. 17 對象創(chuàng)建錯誤
23. 18 慎用CreateFile
23. 19 安全地創(chuàng)建臨時文件
23. 20 Setup程序和EFS文件系統(tǒng)的問題
23. 21 文件系統(tǒng)重解析點問題
23. 22 客戶端安全是自相矛盾的說法
23. 23 范例就是模板
23. 24 以身作則, 親身體驗
23. 25 你得向用戶負責
23. 26 基于管理員SID確定訪問權(quán)限
23. 27 允許使用長口令
23. 28 慎用_alloca
23. 29 ATL轉(zhuǎn)換宏
23. 30 不要嵌入公司的名稱
23. 31 將字符串移至資源DLL中
23. 32 應用程序日志
23. 33 從危險的C/C++遷移到托管代碼
第24章 編寫安全文檔和錯誤消息
24. 1 文檔中的安全問題
24. 1. 1 關(guān)于文檔的基礎(chǔ)知識
24. 1. 2 通過文檔緩和威脅
24. 1. 3 編寫安全性文檔的最佳做法
24. 2 錯誤消息中的安全問題
24. 3 典型的安全消息
24. 4 信息泄漏問題
24. 4. 1 知情同意
24. 4. 2 累進泄漏
24. 4. 3 消息要具體
24. 4. 4 最好不要提問
24. 5 對安全消息進行可用性測試
24. 6 審閱產(chǎn)品說明書時的注意事項
24. 7 安全設(shè)置的可用性
24. 8 本章小結(jié)
第五部分 附 錄
附錄A 危險的API
附錄B 安全誤區(qū)
附錄C 設(shè)計人員的安全措施核對清單
附錄D 開發(fā)人員的安全措施核對清單
附錄E 測試人員的安全措施核對清單
最后的一點思考
參考文獻