SlideShare a Scribd company logo
.NET 安全應用程式開發 – 開發與檢測工具
.NET Security Application Development –
Part IV
Blackie Tsai
blackie1019@gmail.com
August 2018
課程大綱
• 開發與檢測工具介紹
• 安全軟體開發生命週期
工具介紹
早期發現、早期治療
• 資安在開發期及測試期的缺陷,損害只占上線前期的1/100,000
• 此可知資安在越前面的階段執行,損害代價越小:
• 組織內的資安專家/設備,多專長在網路/作業系統/伺服器等基礎建設
• 應用程式功能愈來愈多,架構愈來愈複雜,時程壓力又大,程式人員往往不瞭解/
忽視安全問題
• 即使被告知應用系統漏洞,可能也不曉得從何處理起
• 處理應用程式安全問題變成上線的瓶頸
• 無法密集委外檢測Web應用程式是否有新的漏洞
• 網站是否符合政府/產業資安法規
• 委外開發的Web應用程式,難以驗收其安全性
Visual Studio Integrated Plug-in
• VS2010 - VS2017
• Dotfuscator - PreEmptive Protection
• ReSharper
• VS2017
• Microsoft Code Analysis 2017
• VS2015 - VS2017
• Security Code Scan
• VS2010 - VS2015
• Roslyn Security Guard
• VS2005 - VS2008
• CAT.NET
• A set of roslyn analyzers that aim to help security audits on .NET
applications
• Bug patterns
• Code fixes
• VS integration
• Taint analysis
• Continuous integration
• Open-source
• https://dotnet-security-guard.github.io/
Roslyn Security Guard
• Detects various security vulnerability patterns:
• SQL Injection, Cross-Site Scripting (XSS),
• Cross-Site Request Forgery (CSRF),
• XML external Entity Injection (XXE).
• Taint analysis to track user input data.
• One click refactoring for some vulnerabilities.
• Analyzes .NET and .NET Core projects in a background
(intelligence) or during a build.
• Continuous Integration (CI) through MSBuild.
• Open-source
• https://security-code-scan.github.io/
Security Code Scan
SQL Server - 弱點評量
• 僅支援 SQL Server Management Studio (SSMS) v17.4 或之後的版本.
• 支援 SQL Server 2008 - SQL Server 2017
• 支援 SQL Server 2000 與 SQL Server 2005, 但部分功能會失效
SonarQube
• Continuous Code Quality
• Code Smells
• Bugs
• Vulnerabilities
• 評量標準
• Reliability
• Security
• Maintainability
• Coverage
• Duplication
• Size
• https://www.sonarqube.org/
• https://github.com/SonarSource/sonar-csharp
整合所有流程
Open VAS
• 是開放式漏洞評估系統,其核心部分是一個服務器。該服務器包括一套網
絡漏洞測試程序,可以檢測遠程系統和應用程序中的安全問題
http://www.openvas.org/
Microsoft Baseline Security Analyze
• 是一個簡單易用的工具,可協助中小型企業判斷其安全性狀態是否符合
Microsoft 的安全性建議,並會根據結果提供具體的矯正指示。使用
MBSA 偵測一般常犯的安全性設定錯誤和電腦系統所遺漏的安全性更新,
以增強您的安全性管理流程。
• 安全更新(security updates)
• 匯整服務包(rollups and service packs)
• 系統安全設定和組態
• Internet Information Server
• SQL Server
• Office
https://www.microsoft.com/en-us/download/details.aspx?id=7558
其他資訊
• Microsoft Technical Security Notifications
• Security Update Email Alerts
• E-mail: Security Notification Service
• Security Advisories Alerts
• E-mail: Security Notification Service Comprehensive Edition
• RSS: Security Advisories
• Web Site: Security Advisories
• Microsoft Security Response Center Blog Alerts
• RSS: MSRC Blog
• Windows 的 Security 安全性更新 OS patch
• NET Framework 的 Security 安全性更新 Hotfix
• 升級 .NET Framework Version
安全軟體開發生命週期
Microsoft SDL
培訓
• 核心訓練
需求
• 分析安全與隱私風險
• 定義品質門檻
設計
• 風險朔模
• 資安層級分析
執行
• 指定工具
• 強制禁止的功能
• 靜態分析
驗證
• 隨機測試
• 驗證威脅模型與攻擊
層級
發佈
• 回應計畫
• 最終安全回顧
• 發佈版本
回應
• 執行回應
威脅模型化(Threat modeling)
• 尋找系統潛在威脅以建立對抗的策略,以建立安全的系統
• 攻擊者導向(Attacker-centric)
• 攻擊者導向的威脅模型分析是以一位攻擊者為出發點,評估攻擊者的目的與他們如
何達成目的
• 軟體導向(Software-centric)
• 思考點是系統的設計方式與系統的運作目的,並尋找對此系統或其內部模組相關類
型的攻擊方式
• 資產導向(Asset-centric)
• 資產導向的分析方式是從系統所託管的資源著手分析
白帽滲透測試
• 黑箱測試:測試者除了知道網站或軟體的名稱外,對目標一無所知
• 白箱測試:測試者完全了解網絡組態與應用程式架構,也能進入網絡和使
用相關裝置甚至修改程式原始碼
• 灰箱測試:測試者掌握若干資訊和某程度的進入權。企業選擇什麼類型的
測試,取決於它最想保護什麼、最擔心什麼類型的敵人,以及它估計敵人
會蒐集多少資訊來發動惡意攻擊。
滲透測試(Penetration Testing)
• 模擬各種駭客攻擊的手法,以無害的方式去測試運行中的Web應用程式,
根據系統的回應,判斷系統是否存在各種安全性問題,並按照問題的輕重
緩急順序,提供可立即處理問題的建議做法
• 特點:
• 檢測範圍較廣。無論後端使用什麼程式語言、運行在什麼平台、使用什麼DB都能
檢測
• 就像駭客用工具找漏洞一樣,直接使用系統,準確度較高
• 不需提供任何程式碼
• 限制:以檢測OS, Web系統和Web Service為主
源碼檢測(Source Code Analysis)
• 分析提供的原始碼,以理論模式去判斷系統是否存在各種安全性問題,指
出有安全問題的原始碼位置,並按照問題的輕重緩急順序,提供可立即處
理問題的建議做法
• 特點:
• 找出程式碼的安全漏洞,直接點出有問題的程式碼,加快開發人員進行問題的修正
• 不侷限於Web系統
• 不需要先部署系統,讓系統運行
• 限制:工具必須完整認識受測系統採用的開發語言(例:Java,.NET,
C++)及開發架構 (例:Struts,Spring)
公司整體安全政策
• 例如資訊安全, 安全流程規範, 數位資產防護, USB/行動電腦使用規範等
• 這樣的培訓通常會在新員工入職舉辦, 或是定期公司以宣傳的方式進行,
• 網路安全從業人員對於網路安全業務的處理, 會有更其他網路安全從業要
求的培訓,
• 除了一般常見的軟體安全技術, 例如: 安全編碼 or 安全需求等
• 主要在於必須要識別出關鍵的安全需求風險
• 哪些軟體的設計會導致安全合規的障礙或是缺失必須要識別出, 提煉出相關軟體的
安全需求, 安全設計, 確認清單
安全架構設計與安全設計
• 安全架構設計
• 軟體的安全指的是透過 SDL (Secure Development Lifecyle)保障軟體的安全
• 安全設計
• 包含整體性攻擊與威脅防護的安全設計方案
威脅分析
• 在設計階段時會進行威脅分析的討論, 針對每個模組進行 STRIDE 的威脅
與防護的分析
• 隨著時間的累積, 會累積一定的資料庫
• 必須避免流於形式, 為了符合流程而只是做拷貝複製類似模組的威脅分析
• 必須厘清現有的削減措施與建議消減措施以便落地于產品開發中
• 必須與團隊溝通達成實作的平衡
• 安全工程師
• 開發工程師
• 業務單位
• 成本、風險與威脅、急迫性與嚴重性
• 80/20 法則
安全編碼
• 針對開發的語言確保編譯安全, 安全編碼掃描工具使用, 加密演算法使用等
• 值得參考的安全編碼規範有
• CWE
• OWASP
網路法規, 個人隱私保護與商業需求
• 歐洲 GDPR 個人隱私資料保護法的實施, 讓個人隱私資料保護成為各互聯
網企業的顯學
• 在中國有<網路安全法> 確保隱私資料外洩
• 國際上也有ISO-27001, ISO-20000 等既有國際法規
• 商業安全需求
• 客戶
• 法規
• 行業 OWASP, NIST, CSA
• 安全認證
• 業務場景衍生

More Related Content

What's hot (20)

PPTX
2017.11.22 OWASP Taiwan Week (Lucas Ko)
Lucas Ko
 
PDF
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
ChinaNetCloud
 
PDF
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir Lab
 
PDF
6.web 安全架构浅谈
Hsiao Tim
 
PPT
1116 Windows server 2008 - 使用 IIS 7.0 建置安全站台
Timothy Chen
 
PDF
使安全成為軟體開發必要部分
Taien Wang
 
PDF
DevSecOps-The Key of Continuous Security
4ndersonLin
 
PDF
用戶端攻擊與防禦
Taien Wang
 
PDF
Symantec Endpoint Protection 12.1
零壹科技股份有限公司
 
PDF
Azure mobileservice
twMVC
 
PPT
Web应用安全:过去,现在,未来(Public Ver)
ph4nt0m
 
PPTX
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
Wales Chen
 
PPTX
Internet System Security Overview
ChinaNetCloud
 
PDF
20140610 net tuesday - 行動裝置安全
Net Tuesday Taiwan
 
PDF
基礎網頁程式攻擊檢驗
Taien Wang
 
PPTX
Microsoft Azure的20大常见安全漏洞与配置错误
Cheah Eng Soon
 
PDF
優碩-20120629_Openfind Solution Day_防堵機密外洩一氣呵成!從個資盤點到檔案保護
Amy Ho, PMP, PMI-ACP
 
PDF
V mware v shield - 部署最安全云环境的基础
ITband
 
PPTX
分散It廠商系統依賴
Nick Lu
 
PDF
議題三:政府網站常見弱點與分析
Nicolas su
 
2017.11.22 OWASP Taiwan Week (Lucas Ko)
Lucas Ko
 
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
ChinaNetCloud
 
Hiiir 資安講座 II 使安全成為軟體開發的一部分
Hiiir Lab
 
6.web 安全架构浅谈
Hsiao Tim
 
1116 Windows server 2008 - 使用 IIS 7.0 建置安全站台
Timothy Chen
 
使安全成為軟體開發必要部分
Taien Wang
 
DevSecOps-The Key of Continuous Security
4ndersonLin
 
用戶端攻擊與防禦
Taien Wang
 
Symantec Endpoint Protection 12.1
零壹科技股份有限公司
 
Azure mobileservice
twMVC
 
Web应用安全:过去,现在,未来(Public Ver)
ph4nt0m
 
賽門鐵克端點安全教戰守則 - Symantec Endpoint Protection 及 Symantec Critical System Protec...
Wales Chen
 
Internet System Security Overview
ChinaNetCloud
 
20140610 net tuesday - 行動裝置安全
Net Tuesday Taiwan
 
基礎網頁程式攻擊檢驗
Taien Wang
 
Microsoft Azure的20大常见安全漏洞与配置错误
Cheah Eng Soon
 
優碩-20120629_Openfind Solution Day_防堵機密外洩一氣呵成!從個資盤點到檔案保護
Amy Ho, PMP, PMI-ACP
 
V mware v shield - 部署最安全云环境的基础
ITband
 
分散It廠商系統依賴
Nick Lu
 
議題三:政府網站常見弱點與分析
Nicolas su
 

Similar to .NET Security Application/Web Development - Part IV (20)

PDF
10個步驟保護敏捷開發:應用程式安全的作業方法
Galaxy Software Services
 
PDF
單元演講F-1_資安篇 【微服務、雲端化、容器化、AI 化】的資安嶄新機制探討.pdf
alex349518
 
PDF
軟體安全防護大作戰
Galaxy Software Services
 
PDF
應用系統安全常見的5種資安防護措施
Galaxy Software Services
 
PPT
11/14王團研究室—安全大師王團論毒 in台中
T客邦
 
PDF
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
Hacks in Taiwan (HITCON)
 
PPT
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
T客邦
 
PPTX
如何因應連網商機下的資安風險
Onward Security
 
PDF
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS
 
PPT
0328 Windows Server 2008 應用程式相容性
Timothy Chen
 
PDF
零壹科技 個人資料管理系統 (PIMS) WorkShop
零壹科技股份有限公司
 
PDF
OWASPTop10ProactiveControls2016-Chinese
Tony Hsu
 
PDF
議題二:Web應用程式安全防護
Nicolas su
 
PDF
Check Point 2014 資安報告
Mars Chen
 
PDF
資安健檢因應配套
Galaxy Software Services
 
PPTX
網路安全防護
Hsuan-Chih Wang
 
PDF
黃健瑋(解決方案架構師):Microsoft 365 資安快易通
開拓文教基金會
 
PPT
Sec.3 遠端安全連線解決方案-array adonis
道成資訊股份有限公司
 
PPT
機密圖檔與敏感資料庫資料防洩漏方案
道成資訊股份有限公司
 
PPSX
WCF 4.0-企業級雲端服務應用實務
John Chang
 
10個步驟保護敏捷開發:應用程式安全的作業方法
Galaxy Software Services
 
單元演講F-1_資安篇 【微服務、雲端化、容器化、AI 化】的資安嶄新機制探討.pdf
alex349518
 
軟體安全防護大作戰
Galaxy Software Services
 
應用系統安全常見的5種資安防護措施
Galaxy Software Services
 
11/14王團研究室—安全大師王團論毒 in台中
T客邦
 
HITCON FreeTalk 2024 台灣駭客協會媒體小聚【議題一:資安地圖 - 資安領域與趨勢介紹】
Hacks in Taiwan (HITCON)
 
11/21王團研究室—火線殺毒完全攻略—菁英課程:2010防毒新趨勢
T客邦
 
如何因應連網商機下的資安風險
Onward Security
 
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS
 
0328 Windows Server 2008 應用程式相容性
Timothy Chen
 
零壹科技 個人資料管理系統 (PIMS) WorkShop
零壹科技股份有限公司
 
OWASPTop10ProactiveControls2016-Chinese
Tony Hsu
 
議題二:Web應用程式安全防護
Nicolas su
 
Check Point 2014 資安報告
Mars Chen
 
資安健檢因應配套
Galaxy Software Services
 
網路安全防護
Hsuan-Chih Wang
 
黃健瑋(解決方案架構師):Microsoft 365 資安快易通
開拓文教基金會
 
Sec.3 遠端安全連線解決方案-array adonis
道成資訊股份有限公司
 
機密圖檔與敏感資料庫資料防洩漏方案
道成資訊股份有限公司
 
WCF 4.0-企業級雲端服務應用實務
John Chang
 
Ad

More from Chen-Tien Tsai (20)

PDF
關於軟體工程師職涯的那些事
Chen-Tien Tsai
 
PPTX
Designing distributedsystems cht6
Chen-Tien Tsai
 
PPTX
Reactive application with akka.NET & .NET Core
Chen-Tien Tsai
 
PPTX
The Cloud - What's different
Chen-Tien Tsai
 
PDF
How to be a professional speaker
Chen-Tien Tsai
 
PPTX
Agile tutorial
Chen-Tien Tsai
 
PPTX
響應式程式開發之 .NET Core 應用 
Chen-Tien Tsai
 
PPTX
Artifacts management with DevOps
Chen-Tien Tsai
 
PPTX
Web optimization with service woker
Chen-Tien Tsai
 
PDF
GCPUG.TW Meetup #25 - ASP.NET Core with GCP
Chen-Tien Tsai
 
PDF
.NET Study Group - ASP.NET Core with GCP
Chen-Tien Tsai
 
PPTX
Webpack and Web Performance Optimization
Chen-Tien Tsai
 
PPTX
DotNet MVC and webpack + Babel + react
Chen-Tien Tsai
 
PPTX
Website Auto scraping with Autoit and .Net HttpRequest
Chen-Tien Tsai
 
PPTX
C# 2 to 5 short Introduction
Chen-Tien Tsai
 
PPTX
Docker - fundamental
Chen-Tien Tsai
 
PPTX
DevOps for dummies study sharing - part II
Chen-Tien Tsai
 
PPTX
Redis tutoring
Chen-Tien Tsai
 
PPTX
Git essential training & sharing self
Chen-Tien Tsai
 
PPTX
How to make a Load Testing with Visual Studio 2012
Chen-Tien Tsai
 
關於軟體工程師職涯的那些事
Chen-Tien Tsai
 
Designing distributedsystems cht6
Chen-Tien Tsai
 
Reactive application with akka.NET & .NET Core
Chen-Tien Tsai
 
The Cloud - What's different
Chen-Tien Tsai
 
How to be a professional speaker
Chen-Tien Tsai
 
Agile tutorial
Chen-Tien Tsai
 
響應式程式開發之 .NET Core 應用 
Chen-Tien Tsai
 
Artifacts management with DevOps
Chen-Tien Tsai
 
Web optimization with service woker
Chen-Tien Tsai
 
GCPUG.TW Meetup #25 - ASP.NET Core with GCP
Chen-Tien Tsai
 
.NET Study Group - ASP.NET Core with GCP
Chen-Tien Tsai
 
Webpack and Web Performance Optimization
Chen-Tien Tsai
 
DotNet MVC and webpack + Babel + react
Chen-Tien Tsai
 
Website Auto scraping with Autoit and .Net HttpRequest
Chen-Tien Tsai
 
C# 2 to 5 short Introduction
Chen-Tien Tsai
 
Docker - fundamental
Chen-Tien Tsai
 
DevOps for dummies study sharing - part II
Chen-Tien Tsai
 
Redis tutoring
Chen-Tien Tsai
 
Git essential training & sharing self
Chen-Tien Tsai
 
How to make a Load Testing with Visual Studio 2012
Chen-Tien Tsai
 
Ad

.NET Security Application/Web Development - Part IV

Editor's Notes

  • #3: - C# 網頁程式設計安全性 - Web Form 70% + Web MVC/API 30% Windows, IIS, C# 等安全設定等級 IIS:7~10 (IIS 7 為主力) .Net Framework:3.5 ~ 4.7.1 mssql:2005 ~ 2014 6-7小時(40% Demo 60% knowledge) Beginning (10 mins, 10 pages) Part I (1.5 hr, 60 pages) Ch.1 - 網際網路安全概觀(30 mins) Ch.2 - 常見安全漏洞與攻擊(60 mins) Part II (3 hr, 100 pages) Ch.3 - .NET 安全開發 - Data Validation(45 mins) Ch.4 - .NET 安全開發 - Authentication & Session Management(45 mins) Ch.5 - .NET 安全開發 - .NET Framework Security(45 mins) Ch.6 - .NET 安全開發 - .NET Core and ASP.NET Core Framework Security(45 mins) Part III (1 hr, 60 pages) IIS & Security Web Development(30 mins) SQL Server Configuration(15 mins) Part IV (1 hr, 60 pages) Security Development Flow(15 mins) Tools(30 mins) Recap (10 mins, 10 pages)
  • #5: 此可知資安在越前面的階段執行,損害代價越小:
  • #6: Community Edition is free for personal use. It's features vs. the Professional Ediiton's features are here: https://www.preemptive.com/products/dotfuscator/compare-editions
  • #7: Roslyn analyzers that aim to help security audits on .NET applications. https://dotnet-security-guard.github.io/
  • #8: WebGoat.NET  <TargetFrameworkProfile /> <!-- Add the line below --> <AdditionalFileItemNames>$(AdditionalFileItemNames);Content</AdditionalFileItemNames> Nuget 安裝 SecurityCodeScan https://dotnet-security-guard.github.io/SG0001.htm Regex rgx = new Regex(@"^[a-zA-Z0-9]+$");
  • #9: Additionally, SSMS 17.x can be installed side by side with SSMS 16.x or SQL Server 2014 SSMS and earlier.
  • #10: https://sonarcloud.io D:\2.Repo\webgoat-net-demo SonarScanner.MSBuild.exe begin /k:"webgoat-net-demo" /d:sonar.organization="blackie1019-github" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="9d7e39a4560ef5da311a5693ec8169e4c6109f4e" MsBuild.exe /t:Rebuild SonarScanner.MSBuild.exe end /d:sonar.login="9d7e39a4560ef5da311a5693ec8169e4c6109f4e"
  • #13: MBSA 2.3 release adds support for Windows 10&Windos Server 2016(need to config), Windows 8.1, Windows 8, Windows Server 2012 R2, and Windows Server 2012.
  • #16: The Security Development Lifecycle (SDL) 軟體發展流程中必要的安全技術與工具 要讓該流程能夠有所落實, 還是必須回歸安全技術 單單依照流程執行還是不夠的, 到底這流程中有執行上有哪些問題與技術要考量? 後面會聊到關於一些安全培訓的方向 但與其說是培訓,不如說這部分更多的是溝通的過程, 安全的培訓內容包含哪些? 
  • #17: 擊者導向(Attacker-centric) 攻擊者導向的威脅模型分析是以一位攻擊者為出發點,評估攻擊者的目的與他們如何達成目的。在這種分析下,攻擊者的動機最常列入考量,比如:某甲想讀某郵件、某乙想盜版某DVD。這種分析方式通常從侵入點或是目標的資產著手思考。 軟體導向(Software-centric) 這類分析方式又稱系統導向(system-centric)、設計導向(design-centric)或架構導向(architecture-centric)。思考點是系統的設計方式與系統的運作目的,並尋找對此系統或其內部模組相關類型的攻擊方式。微軟的SDL(Security Development Lifecycle)便是利用此方式。 資產導向(Asset-centric) 資產導向的分析方式是從系統所託管的資源著手分析。比如系統收集到的敏感性個人資訊。
  • #21: 应用软件开发安全的专业领域 https://www.qa-knowhow.com/?p=4732 软件开发安全流程 SDL (Secure Development LifeCycle) https://www.qa-knowhow.com/?p=4707
  • #24: 今天的課程重點