|
-- 會員 / 註冊 --
|
|
|
|
Web安全開發指南 ( 簡體 字) |
作者:[美] 約翰·保羅·米勒 ( John Paul Mueller ) | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 47071 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:5/1/2017 |
頁數:251 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115454089 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書分為5大部分,共17章,詳細介紹了Web安全開發的bi備知識,旨在讓前端開發人員、設計師、產品經理等前端開發相關人士了解新形勢下的安全技能,涉及從zui新的智能手機到老舊的臺式計算機等各種設備,并且不限定平臺。具體內容包括:制訂安全計劃,運用成功的編碼實踐,創建有用及高效的測試策略,實現維護周期,查找安全資源。 |
目錄:前言 xv 第一部分 制訂安全計劃 第1 章 定義應用環境 2 1.1 明確Web 應用威脅 3 1.2 理解軟件安全保障 6 1.2.1 考慮OSSAP 7 1.2.2 定義SSA 的要求 8 1.2.3 對數據和資源分類 9 1.2.4 進行必要的分析 9 1.3 探究與語言相關的問題 12 1.3.1 定義HTML 的關鍵問題 12 1.3.2 定義CSS 的關鍵問題 13 1.3.3 定義JavaScript 的關鍵問題 13 1.4 考慮端點的防御要素 14 1.4.1 預防安全漏洞 14 1.4.2 檢測安全漏洞 15 1.4.3 修復受損的軟件 16 1.5 處理云存儲 16 1.6 使用外部代碼和資源 17 1.6.1 定義庫的使用 18 1.6.2 定義API 的使用 19 1.6.3 定義微服務的使用 20 1.6.4 訪問外部數據 21 1.7 允許他人訪問 22 第2 章 迎合用戶需求與期望 24 2.1 從用戶的視角看待應用程序 24 2.2 考慮自帶設備的問題 25 2.2.1 理解基于Web 的應用程序的安全性 26 2.2.2 考慮原生應用的問題 27 2.2.3 使用定制化瀏覽器 27 2.2.4 驗證代碼兼容性問題 29 2.2.5 處理幾乎連續的設備更新 31 2.3 設計密碼的可選方案 32 2.3.1 使用口令 33 2.3.2 使用生物識別的方案 33 2.3.3 依靠鑰匙卡 35 2.3.4 依靠USB key 36 2.3.5 實現令牌策略 36 2.4 聚焦用戶期望 37 2.4.1 讓應用程序易于使用 37 2.4.2 讓應用程序快速運行 37 2.4.3 創建可靠的環境 38 2.4.4 客觀看待安全性 38 第3 章 獲取第三方幫助 39 3.1 發現第三方安全解決方案 39 3.2 考慮云安全方案 41 3.2.1 理解數據倉庫 42 3.2.2 處理文件共享問題 43 3.2.3 考慮云存儲 46 3.3 選擇產品類型 47 3.3.1 使用庫 47 3.3.2 訪問API 48 3.3.3 考慮微服務 49 第二部分 運用成功的編碼實踐 第4 章 開發成功的界面 52 4.1 評估UI 53 4.1.1 創建簡潔的界面 53 4.1.2 使界面靈活 56 4.1.3 提供輔助功能 58 4.1.4 定義可訪問性問題 59 4.2 提供受控制的選擇 61 4.3 選擇UI 的解決方案級別 65 4.3.1 實現標準的HTML 控件 65 4.3.2 使用CSS 控件 65 4.3.3 用JavaScript 創建控件 67 4.4 校驗輸入 68 4.4.1 只允許特定的輸入 68 4.4.2 查找鬼祟的輸入 69 4.4.3 請求新的輸入 69 4.4.4 使用客戶端和服務器端校驗 70 4.5 期待意外 71 第5 章 構建可靠的代碼 72 5.1 區分可靠性和安全性 73 5.1.1 定義可靠性和安全性的角色 73 5.1.2 避免可靠代碼中的安全漏洞 76 5.1.3 聚焦應用程序的功能 77 5.2 開發團隊協議 77 5.3 創建經驗教訓的反饋回路 80 5.4 考慮成套解決方案的問題 81 5.4.1 處理外部庫 82 5.4.2 處理外部API 83 5.4.3 使用框架 85 5.4.4 調用微服務 87 第6 章 包含庫 88 6.1 考慮庫的使用 89 6.1.1 用庫增強CSS 89 6.1.2 用庫與HTML 交互 91 6.1.3 用庫擴展JavaScript 93 6.2 區分內部存儲庫和外部存儲庫 95 6.3 定義庫帶來的安全威脅 95 6.3.1 啟用嚴格模式 97 6.3.2 開發CSP 99 6.4 安全地包含庫 100 6.4.1 充分研究庫 101 6.4.2 精確定義庫的使用 101 6.4.3 保持庫的小規模和內容聚焦 101 6.4.4 執行必需的測試 102 6.5 區分庫和框架 103 第7 章 慎用API 105 7.1 區分API 和庫 106 7.1.1 考慮流行速度上的差異 106 7.1.2 區分用法上的差異 107 7.2 用API 擴展JavaScript 108 7.2.1 定位合適的API 108 7.2.2 創建簡單示例 109 7.3 定義API 帶來的安全威脅 113 7.3.1 MailPoet 毀了你的好聲譽 113 7.3.2 開發閱后即焚的圖片 114 7.3.3 使用“找回我的iPhone”卻丟了手機 114 7.3.4 Heartbleed 泄露你最重要的信息 115 7.3.5 遭受Shellshock 攻擊 115 7.4 通過JavaScript 安全訪問API 116 7.4.1 驗證API 的安全性 116 7.4.2 測試輸入和輸出 117 7.4.3 保持數據的局部性和安全性 117 7.4.4 防御性編碼 117 第8 章 考慮使用微服務 118 8.1 定義微服務 119 8.1.1 詳述微服務的特點 119 8.1.2 區分微服務與庫 120 8.1.3 區分微服務與API 120 8.1.4 考慮微服務的策略 120 8.2 用JavaScript 調用微服務 121 8.2.1 理解通信中REST 的角色 122 8.2.2 用JSON 傳輸數據 123 8.2.3 用Node.js 和Seneca 創建微服務 124 8.3 定義微服務帶來的安全威脅 126 8.3.1 缺少一致性 126 8.3.2 考慮虛擬機的角色 126 8.3.3 使用JSON 進行數據傳輸 127 8.3.4 定義傳輸層的安全 128 8.4 創建可替換的微服務路徑 129 第三部分 創建有用及高效的測試策略 第9 章 像黑客一樣思考 132 9.1 定義Web 安全掃描的需求 132 9.2 構建測試系統 136 9.2.1 考慮測試系統的使用 136 9.2.2 接受必需的訓練 136 9.2.3 創建正確的環境 137 9.2.4 使用虛擬機 137 9.2.5 獲取工具 138 9.2.6 配置系統 138 9.2.7 恢復系統 139 9.3 定義最常見的漏洞源 139 9.3.1 避免SQL 注入攻擊 140 9.3.2 理解跨站腳本攻擊 141 9.3.3 解決拒絕服務攻擊問題 142 9.3.4 去除可預測的資源定位 142 9.3.5 克服無意的信息泄露 143 9.4 在BYOD 環境中進行測試 143 9.4.1 配置遠程訪問區域 144 9.4.2 檢查跨應用程序的攻擊 144 9.4.3 處理真正古老的設備和軟件 145 9.5 依靠用戶測試 145 9.5.1 讓用戶橫沖直撞 146 9.5.2 開發可重現的步驟 147 9.5.3 讓用戶發聲 147 9.6 使用外部的安全測試人員 148 9.6.1 考慮滲透測試公司 148 9.6.2 管理項目 149 9.6.3 覆蓋要點 149 9.6.4 獲取報告 149 第10 章 創建API 安全區域 151 10.1 理解API 安全區域的概念 152 10.2 定義API 安全區域的需求 153 10.2.1 確保API 可以工作 153 10.2.2 實現快速開發 153 10.2.3 證明最佳的集成 154 10.2.4 在負載情況下驗證API 的表現 158 10.2.5 使API 遠離黑客 159 10.3 用API 沙盒進行開發 159 10.3.1 使用現成的解決方案 161 10.3.2 使用其他供應商的沙盒 162 10.4 考慮虛擬環境 164 10.4.1 定義虛擬環境 164 10.4.2 區分虛擬環境和沙盒 164 10.4.3 實現虛擬化 165 10.4.4 依靠應用程序虛擬化 165 第11 章 檢查庫和API 的漏洞 167 11.1 創建測試計劃 168 11.1.1 考慮目的和目標 168 11.1.2 測試內部庫 175 11.1.3 測試內部API 175 11.1.4 測試外部庫 175 11.1.5 測試外部API 176 11.1.6 擴展測試到微服務 176 11.2 單獨測試庫和API 177 11.2.1 為庫創建測試框架 177 11.2.2 為API 創建測試腳本 178 11.2.3 將測試策略擴展到微服務 178 11.2.4 開發響應策略 178 11.3 執行集成測試 179 11.4 測試與語言相關的問題 180 11.4.1 設計針對HTML 問題的測試 180 11.4.2 設計針對CSS 問題的測試 181 11.4.3 設計針對JavaScript 問題的測試 181 第12 章 使用第三方測試 184 12.1 找到第三方測試服務 185 12.1.1 定義聘請第三方的理由 185 12.1.2 考慮測試服務的范圍 186 12.1.3 確保第三方是合法的 188 12.1.4 面試第三方 188 12.1.5 對測試的搭建進行測試 188 12.2 創建測試計劃 189 12.2.1 指明第三方在測試中的目的 189 12.2.2 創建書面的測試計劃 189 12.2.3 枚舉測試輸出和報告的要求 190 12.2.4 考慮測試需求 190 12.3 實施測試計劃 190 12.3.1 確定公司參與測試的程度 191 12.3.2 開始測試過程 191 12.3.3 執行必需的測試監控 191 12.3.4 處理意外的測試問題 192 12.4 使用結果報告 192 12.4.1 與第三方討論報告輸出 192 12.4.2 向公司展示報告 193 12.4.3 根據測試建議采取行動 193 第四部分 實現維護周期 第13 章 明確定義升級周期 196 13.1 制訂詳細的升級周期計劃 196 13.1.1 尋找升級 198 13.1.2 確定升級的要求 198 13.1.3 定義升級的臨界點 200 13.1.4 檢查升級的問題 201 13.1.5 創建測試場景 202 13.1.6 實施變更 203 13.2 制訂升級測試計劃 203 13.2.1 執行所需的預測試 204 13.2.2 執行所需的集成測試 204 13.3 將升級移到生產環境 205 第14 章 考慮更新選項 207 14.1 區分升級和更新 208 14.2 確定何時更新 209 14.2.1 處理庫的更新 209 14.2.2 處理API 和微服務的更新 210 14.2.3 接受自動更新 211 14.3 更新語言套件 212 14.3.1 創建語言支持清單 212 14.3.2 獲得可靠的語言專家 213 14.3.3 驗證與語言相關的提示符能否在應用程序中起效 214 14.3.4 確保數據以正確的格式呈現 214 14.3.5 定義語言支持測試的特殊要求 214 14.4 執行緊急更新 215 14.4.1 盡可能避免緊急情況 215 14.4.2 組建快速響應團隊 215 14.4.3 執行簡化的測試 216 14.4.4 制訂持久的更新計劃 216 14.5 制訂更新測試計劃 216 第15 章 考慮報告的需要 218 15.1 使用報告以做出改變 219 15.1.1 避免無用的報告 219 15.1.2 安排時間為升級和更新做出報告 220 15.1.3 使用自動生成的報告 221 15.1.4 使用定制的報告 221 15.1.5 創建一致的報告 222 15.1.6 使用報告執行特定的應用任務 223 15.2 創建內部報告 223 15.2.1 確定使用哪些數據源 223 15.2.2 指定報告的使用 224 15.3 依靠外部生成的報告 225 15.3.1 從第三方獲取完整的報告 225 15.3.2 從原始數據創建報告 225 15.3.3 保持內部數據安全 225 15.4 提供用戶反饋 226 15.4.1 獲取用戶反饋 226 15.4.2 確定用戶反饋的可用性 227 第五部分 查找安全資源 第16 章 跟蹤當前的安全威脅 230 16.1 發現安全威脅信息的來源 231 16.1.1 閱讀與安全相關的專業文章 231 16.1.2 查看安全網站 232 16.1.3 獲取顧問的意見 234 16.2 避免信息泛濫 235 16.3 為基于威脅的升級制訂計劃 236 16.3.1 預判不需要采取任何行動的情況 236 16.3.2 決定升級還是更新 236 16.3.3 定義升級計劃 238 16.4 為基于威脅的更新制訂計劃 238 16.4.1 驗證更新是否可解決威脅 239 16.4.2 確定威脅是否緊急 240 16.4.3 定義更新計劃 240 16.4.4 要求來自第三方的更新 240 第17 章 獲取必需的培訓 241 17.1 制訂內部的安全培訓計劃 242 17.1.1 定義所需的培訓 242 17.1.2 設置合理的目標 243 17.1.3 使用內部培訓師 243 17.1.4 監控結果 244 17.2 獲取第三方對開發人員的培訓 245 17.2.1 指定培訓的要求 246 17.2.2 為公司聘請第三方培訓師 247 17.2.3 使用在線學校 247 17.2.4 依靠培訓中心 248 17.2.5 利用本地的學院和大學 248 17.3 確保用戶有安全意識 249 17.3.1 制定專門的安全培訓 249 17.3.2 結合書面指南進行培訓 249 17.3.3 創建并使用替代的安全提醒 250 17.3.4 進行培訓有效性檢查 250 關于作者 251 關于封面 251 版權聲明 252
|
序: |
|