幫助中心 | 我的帳號 | 關於我們

軟體開發安全之道(概念設計與實施)

  • 作者:(美)洛倫·科恩費爾德|責編:佘潔|譯者:徐龍泉
  • 出版社:人民郵電
  • ISBN:9787115617736
  • 出版日期:2024/01/01
  • 裝幀:平裝
  • 頁數:226
人民幣:RMB 99.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書共有13章,分為三大部分,即概念、設計和實施。具體內容包括:第一部分(第1?5章)介紹了基礎概念,涉及信息安全和隱私基礎、威脅建模、對可識別威脅進行防禦性緩解的通用策略、安全設計模式,以及使用標準的加密庫來緩解常見的風險。第二部分(第6?7章)分別從設計者和審查員的角度討論了如何使軟體設計變得安全,以及可以應用哪些技術來保障安全性。第三部分(第8?13章)涵蓋了實施階段的安全性,在有了一個安全的設計后,這一部分將會闡釋如何在不引入額外漏洞的情況下進行軟體開發。
    本書是針對軟體專業人士編寫的技術指南,適合那些希望更好地理解軟體安全原則、學習如何實踐軟體安全設計和實施的專業人員,包括架構師、UX/UI設計師、軟體開發工程師、編程人員、測試人員和管理人員閱讀。

作者介紹
(美)洛倫·科恩費爾德|責編:佘潔|譯者:徐龍泉

目錄
第1部分  概念
  第1章  基礎
    1.1  理解安全
    1.2  信任
      1.2.1  信任感
      1.2.2  比特位不是肉眼可見的
      1.2.3  能力與不足
      1.2.4  信任是一個頻譜
      1.2.5  信任決策
    1.3  經典原則
      1.3.1  信息安全的CIA
      1.3.2  黃金標準
      1.3.3  隱私
  第2章  威脅
    2.1  對抗性視角
    2.2  四個問題
    2.3  威脅建模
      2.3.1  從一個模型入手
      2.3.2  判斷資產
      2.3.3  判斷攻擊面
      2.3.4  判斷信任邊界
      2.3.5  判斷威脅
      2.3.6  緩解威脅
    2.4  隱私方面的考量因素
    2.5  無處不在的威脅建模
  第3章  緩解
    3.1  解決威脅
    3.2  結構性的緩解戰略
      3.2.1  把攻擊面減到最小
      3.2.2  縮窄漏洞窗口
      3.2.3  把暴露的數據減到最少
    3.3  訪問策略與訪問控制
    3.4  介面
    3.5  通信
    3.6  存儲
  第4章  模式
    4.1  設計屬性
      4.1.1  極簡設計
      4.1.2  透明設計
    4.2  暴露最少信息
      4.2.1  最小許可權
      4.2.2  最少信息
      4.2.3  默認防禦
      4.2.4  放行列表與阻塞列表
      4.2.5  避免可預測性
      4.2.6  失效安全
    4.3  強力執行
      4.3.1  完全仲裁原則
      4.3.2  最少共同機制
    4.4  冗余

      4.4.1  深度防禦
      4.4.2  許可權分離
    4.5  信任與責任
      4.5.1  不盲目信任
      4.5.2  接受安全責任
    4.6  反模式
      4.6.1  代理混淆問題
      4.6.2  意圖與惡意
      4.6.3  可信的代理
      4.6.4  信任迴流
      4.6.5  第三方Hook
      4.6.6  組件不可修補
  第5章  密碼學
    5.1  加密工具
    5.2  隨機數
      5.2.1  偽隨機數
      5.2.2  加密安全的偽隨機數
    5.3  消息認證代碼
      5.3.1  使用MAC來防止篡改
      5.3.2  重放攻擊
      5.3.3  安全MAC通信
    5.4  對稱加密
      5.4.1  一次性填充
      5.4.2  高級加密標準
      5.4.3  使用對稱加密
    5.5  非對稱加密
    5.6  RSA密碼系統
    5.7  數字簽名
    5.8  數字證書
    5.9  密鑰交換
    5.10  使用加密
第2部分  設計
  第6章  安全的設計
    6.1  在設計中集成安全性
      6.1.1  明確設計中的假定規則
      6.1.2  定義範圍
      6.1.3  設置安全要求
      6.1.4  威脅建模
    6.2  建立緩解措施
      6.2.1  設計介面
      6.2.2  設計數據處理
    6.3  將隱私融入設計
    6.4  規劃整個軟體生命周期
    6.5  權衡取捨
    6.6  設計的簡潔性
  第7章  安全設計審查
    7.1  SDR 流程
      7.1.1  為什麼要執行SDR?
      7.1.2  什麼時候執行SDR?
      7.1.3  文檔是必不可少的

    7.2  SDR 流程
      7.2.1  研究
      7.2.2  詢問
      7.3.3  識別
      7.3.4  合作
      7.3.5  撰寫
      7.3.6  跟進
    7.3  評估設計安全性
      7.3.1  以四個問題為指導
      7.3.2  我們在做什麼?
      7.3.3  會出什麼問題?
      7.3.4  我們要怎麼做?
      7.3.5  我們做的好嗎?
      7.3.6  在哪裡挖掘
      7.3.7  隱私審查
      7.3.8  審查更新
    7.4  處理分歧
      7.4.1  巧妙地溝通
      7.4.2  案例研究:困難的審查
      7.4.3  上報分歧
    7.5  練習
第3部分  實施
  第8章  安全地編程
    8.1  挑戰
      8.1.1  惡意影響
      8.1.2  漏洞是bug
      8.1.3  漏洞鏈
      8.1.4  Bug和熵
      8.1.5  警覺
    8.2  研究:GotoFail
      8.2.1  單行漏洞
      8.2.2  當心Footgun
      8.2.3  GotoFail的教訓
    8.3  編碼漏洞
      8.3.1  原子性
      8.3.2  時序攻擊
      8.3.3  序列化
    8.4  非常嫌疑犯
  第9章  低級編碼缺陷
    9.1  算數漏洞
      9.1.1  定寬整數漏洞
      9.1.2  浮點精度漏洞
      9.1.3  示例:浮點下溢
      9.1.4  示例:整數溢出
      9.1.5  安全算數
    9.2  內存訪問漏洞
      9.2.1  內存管理
      9.2.2  緩衝區溢出
      9.2.3  示例:內存分配漏洞
      9.2.4  案例研究:Heartbleed漏洞

  第10章  不受信任的輸入
    10.1  輸入驗證
      10.1.1  確定有效性
      10.1.2  驗證標準
      10.1.3  拒絕無效輸入
      10.1.4  糾正無效輸入
    10.2  字元串漏洞
      10.2.1  長度問題
      10.2.2  Unicode問題
      10.2.3  編碼和字形
      10.2.4  大小寫轉換
    10.3  注入攻擊漏洞
      10.3.1  SQL注入攻擊
      10.3.2  路徑遍歷
      10.3.3  正則表達式
      10.3.4  XML的危險
    10.4  緩解注入攻擊
  第11章  WEB 安全
    11.1  建立在框架之上
    11.2  Web 安全模型
      11.2.1  HTTP協議
      11.2.2  數字證書和HTTPS
      11.2.3  同源策略
      11.2.4  Web Cookies
    11.3  常見的Web漏洞
      11.3.1  跨站腳本攻擊
      11.3.2  跨站請求偽造攻擊
    11.4  更多的漏洞和緩解措施
  第12章  安全測試
    12.1  什麼是安全測試?
      12.1.1  整數溢出
      12.1.2  內存管理問題
      12.1.3  不可靠輸入
      12.1.4  網頁安全
      12.1.5  異常處理缺陷
    12.2  對GotoFail漏洞執行安全測試
      12.2.1  功能測試
      12.2.2  包含漏洞的功能測試
      12.2.3  安全測試用例
      12.2.4  安全測試的限制
    12.3  編寫安全測試用例
      12.3.1  測試輸入驗證
      12.3.2  測試XSS漏洞
    12.4  模糊測試
    12.5  安全回歸測試
    12.6  可用性測試
      12.6.1  資源消耗
      12.6.2  閾值測試
      12.6.3  分散式拒絕服務攻擊
    12.7  安全測試的最佳實踐

      12.7.1  測試驅動的開發(Test-driven development)
      12.7.2  利用集成測試
      12.7.3  追趕安全測試的進度
  第13章  安全部署最佳實踐
    13.1  代碼質量
      13.1.1  代碼清潔
      13.1.2  異常和錯誤處理
      13.1.3  記錄安全性
      13.1.4  安全代碼審查
    13.2  依賴關係
      13.2.1  選擇安全的組件
      13.2.2  保護介面
      13.2.3  不要做重複的工作
      13.2.4  對抗傳統安全
    13.3  漏洞分類
      13.3.1  DREAD評估
      13.3.2  創建利用漏洞的有效攻擊
      13.3.3  作出分類決策
    13.4  維護一個安全的開發環境
      13.4.1  開發和生產相分離
      13.4.2  保護開發工具
      13.4.3  發布產品
後記
附錄A  設計文檔示例
附錄B  辭彙表
附錄C  練習
附錄D  備忘單

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032