ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法

Roman Canlas 著 蔡孟玹 (Alan Tsai) 譯

  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-1
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-2
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-3
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-4
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-5
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-6
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-7
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-8
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-9
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-10
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-11
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-12
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-13
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-14
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-15
  • ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-16
ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法-preview-1

買這商品的人也買了...

商品描述

OWASP發展至今,前10大排名的弱點已不再是單純的一種攻擊名稱,而是一種不安全的行為。作者以弱點復現來說明其弱點成因,是我推薦本書的主要原因,希望本書能帶給程式設計師更多安全開發的觀念!
——登豐數位科技創辦人/白帽駭客 黃建笙(Jason 方丈) 專文推薦

雖然這本書是資訊安全的書籍,卻沒有艱深難懂的理論,利用輕鬆的攻與防,讓讀者在攻防戰之間提升資安與安全程式碼二者的經驗值,讓你一次擁有劍與盾兩件寶物。
——微軟MVP最有價值專家 陳傳興(Bruce Chen) 專文推薦


ASP.NET Core開發人員經常會收到安全性測試的結果,報告中顯示的是在Web應用程式中所發現的漏洞。雖然這些報告可以提供一些高階的修復建議,但是它們往往沒有說明,為了解決或是修復這些測試所發現的弱點,你需要採取哪些確切的步驟?

在本書的第1章中,首先,你將學習安全程式碼的基本概念。然後,在第2章到第11章中,我們將帶領你一步步學習識別常見的Web應用程式漏洞。在閱讀的過程中,我們也會介紹如何在ASP.NET Core Web應用程式中修復不安全的組態設定。我們更進一步展示如何解決不同類型的跨網站指令碼(XSS)。最後還有獨立的一章,專門指導你修復不再屬於OWASP Top 10清單的其他漏洞。

本書的寫作格式屬於訣竅式風格(recipe style):每一個訣竅都代表一個問題,我們會先展示不安全程式碼的範例,接著提供相應的解決方案,讓你學習如何根除應用程式中的安全錯誤。遵循簡單的訣竅步驟,你將探索ASP.NET Core Web應用程式中不同類型的安全性弱點,理解什麼樣的程式碼會導致應用程式不安全,然後一步步練習如何修復它們,由此建立強健又安全的解決方案。

讀完這本書,你將獲得解決ASP.NET Core Web應用程式安全性漏洞的實用訣竅,以及修復安全性缺陷的實戰經驗。

你將從本書學會:
如何消滅ASP.NET Core Web應用程式中的bug
探索不同類型的注入攻擊,並防止這個漏洞被利用
修復與無效的身分驗證和授權相關的安全問題
使用多種保護技術,排除敏感資料外洩的風險
啟用ASP.NET Core Web應用程式的安全功能,防止不安全的組態設定
探索ASP.NET Web應用程式的其他漏洞,以及安全開發的最佳實踐

目標讀者
本書的目標讀者是那些使用「ASP.NET Core框架」開發Web應用程式的開發人員和軟體工程師。本書非常適合初學者和經驗豐富的資深工程師:本書將指導新手學習編寫「安全程式碼」的必要基礎,而資深工程師也可以利用這本書,作為一個逐步編寫「ASP.NET Core安全程式碼」的快速參考。

對於那些希望深入理解「如何透過程式碼來保護ASP.NET Core應用程式」的應用系統安全工程師來說,這本書也能提供很好的幫助。本書將協助他們瞭解「如何修復」他們每天執行的安全測試所發現的問題。

作者簡介

Roman Canlas是一名資深應用程式安全工程師,他在一家財星500強的公司工作,在那裡,他成功地從頭開始建立了全球的應用程式安全計劃。多年的開發經驗使他成為「安全程式碼審查」和「靜態應用程式安全測試」方面的專家,專注於Web技術。

Roman擁有多項認證:GIAC Web Application Penetration Tester(GWAPT)、ISC2的Certified Secure Software Lifecycle Professional(CSSLP),以及EC-Council的Certified Application Security Engineer in .NET(CASE.NET)。

Roman還擁有資訊系統碩士學位和電腦科學學士學位。

目錄大綱

推薦序一|黃建笙(Jason 方丈)

推薦序二|陳傳興(Bruce Chen)

推薦序三|Ed Price

前言

Chapter 01:安全程式碼的基礎
技術需求
輸入驗證
使用驗證屬性啟用白名單驗證
使用FluentValidation程式庫進行白名單驗證
語法和語義驗證
輸入清理
使用HtmlSanitizer程式庫進行輸入清理
輸出編碼
使用HtmlEncoder進行輸出編碼
使用UrlEncoder進行輸出編碼
使用JavaScriptEncoder進行輸出編碼
使用Data Protection API保護敏感資料

Chapter 02:注入缺陷
技術需求
什麼是SQL注入?
使用Entity Framework修復SQL注入
在ADO.NET中修復SQL注入
修復NoSQL注入
修復命令注入
修復LDAP注入
修復XPath注入

Chapter 03:無效的身分驗證
技術需求
修復「身分驗證嘗試次數過多」的錯誤限制
修復「未充分保護的認證」
修復「使用者列舉」
修復「弱密碼要求」
修復「工作階段過期時間」的不足


Chapter 04:敏感資料外洩
技術需求
修復傳輸中資料保護不足的問題
修復遺漏的HSTS標頭
修復弱協定
修復寫死的密碼編譯金鑰
禁用關鍵網頁的快取

Chapter 05:XML外部實體
技術需求
啟用XML驗證
使用XmlDocument修復XXE注入
使用XmlTextReader修復XXE注入
使用LINQ to XML修復XXE注入

Chapter 06:無效的存取控制
技術需求
修復IDOR
修復不正確的授權
修復遺漏的存取控制
修復開放式重新導向漏洞

Chapter 07:不安全的組態設定
技術需求
在非開發環境中禁用偵錯功能
修復被禁用的安全功能
禁用不必要的功能
修復經由「錯誤訊息」而導致的資訊暴露
修復經由「不安全的cookie」而導致的資訊暴露

Chapter 08:跨網站指令碼
技術需求
修復反射型XSS
修復儲存性/持續性XSS
修復DOM XSS

Chapter 09:不安全的反序列化
技術需求
修復不安全的反序列化
修復「使用不安全的反序列化器」的問題
修復「不受信任的資料」的反序列化

Chapter 10:使用具有已知漏洞的元件
技術需求
修復使用「易受攻擊的第三方JavaScript程式庫」的問題
修復使用「易受攻擊的NuGet套件」的問題
修復使用「來自不受信任來源的程式庫」的問題

Chapter 11:記錄和監控不足
技術需求
修復例外記錄不足的問題
修復資料庫交易記錄不足的問題
修復過多的資訊記錄
修復缺乏安全監控的問題


Chapter 12:其他漏洞
技術需求
修復被禁用的「CSRF保護」
防止伺服器端請求偽造
防止記錄注入
防止HTTP回應分割
防止點擊劫持
修復隨機性不足

Chapter 13:最佳實踐
技術需求
正確的例外處理
使用與安全相關的cookie屬性
使用內容安全性原則(CSP)
修復留下的偵錯程式碼