感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程時長 14 時間:
課程簡介
第1天
IT安全與安全編碼
- 安全的本质
- IT安全相關術語
- 風險的定義
- IT安全的不同面向
- 不同應用領域的要求
- IT安全與安全編碼
- 從漏洞到殭屍網路與網路犯罪
- 安全缺陷的本質
- 困難的原因
- 從受感染的電腦到針對性攻擊
- 安全缺陷的分類
- Landwehr分類法
- 七大有害王國
- OWASP十大風險2013
- OWASP十大風險比較2003–2013
Microsoft®安全開發生命週期(SDL)簡介
- 議程
- 遭受攻擊的應用程式...
- 網路犯罪演進
- 攻擊正聚焦於應用程式
- 大多數漏洞存在於較小的ISV應用程式中
- Microsoft SDL的起源...
- Microsoft的安全時間表...
- 哪些應用程式需要遵循SDL?
- Microsoft安全開發生命週期(SDL)
- Microsoft安全開發生命週期(SDL)
- SDL前置要求:安全培訓
- 第一階段:需求
- 第二階段:設計
- 第三階段:實作
- 第四階段:驗證
- 第五階段:發佈–回應計畫
- 第五階段:發佈–最終安全審查
- 第五階段:發佈–封存
- SDL後置要求:回應
- LOB應用程式的SDL流程指引
- 敏捷方法論的SDL指引
- 安全軟體開發需要流程改善
安全設計原則
- 攻擊面
- 攻擊面縮減
- 攻擊面–範例
- 攻擊面分析
- 攻擊面縮減–範例
- 隱私
- 隱私
- 了解應用程式行為與考量
- 縱深防禦
- SDL核心原則:縱深防禦
- 縱深防禦–範例
- 最小權限原則
- 最小權限–範例
- 安全預設值
- 安全預設值–範例
安全實作原則
- 議程
- Microsoft安全開發生命週期(SDL)
- 緩衝區溢位基礎
- Intel 80x86處理器–主要暫存器
- 記憶體位址配置
- x86上C/C++的函式呼叫機制
- 區域變數與堆疊框架
- 堆疊溢位
- 堆疊上的緩衝區溢位
- 練習–簡介
- 練習BOFIntro
- 練習BOFIntro–判斷堆疊配置
- 練習BOFIntro–簡單的利用
- 輸入驗證
- 輸入驗證概念
- 整數問題
- 負整數的表示方式
- 整數溢位
- 算術溢位–猜猜輸出!
- 練習IntOverflow
- Math.Abs(int.MinValue)的值是什麼?
- 整數問題緩解
- 整數問題緩解
- 避免算術溢位–加法
- 避免算術溢位–乘法
- 在C#中使用checked關鍵字偵測溢位
- 練習–在C#中使用checked關鍵字
- C#中溢位觸發的例外狀況
- 案例研究–.NET中的整數溢位
- 真實世界的整數溢位漏洞
- 利用整數溢位漏洞
- 路徑遍歷漏洞
- 路徑遍歷緩解
第2天
安全實作原則
- 注入
- 典型的SQL注入攻擊方法
- 盲注與基於時間的SQL注入
- SQL注入防護方法
- 命令注入
- 失效的驗證–密碼管理
- 練習–雜湊密碼的弱點
- 密碼管理與儲存
- 用於密碼儲存的特殊用途雜湊演算法
- 跨站指令碼(XSS)
- 跨站指令碼(XSS)
- CSS注入
- 利用:透過其他HTML標籤注入
- XSS防範
- 缺少功能層級存取控制
- 篩選檔案上傳
- 實用密碼學
- 使用對稱加密提供機密性
- 對稱加密演算法
- 區塊加密–操作模式
- 雜湊或訊息摘要
- 雜湊演算法
- 訊息驗證碼(MAC)
- 使用對稱金鑰提供完整性與真實性
- 使用公開金鑰加密提供機密性
- 經驗法則–持有私密金鑰
- 密碼管理中的常見錯誤
- 練習–硬編碼密碼
- 結論
安全驗證原則
- 功能測試與安全測試
- 安全漏洞
- 優先排序
- SDLC中的安全測試
- 測試規劃的步驟(風險分析)
- 範圍界定與資訊收集
- 利害關係人
- 資產
- 攻擊面
- 測試的安全目標
- 威脅建模
- 威脅建模
- 攻擊者概況
- 基於攻擊樹的威脅建模
- 基於誤用/濫用案例的威脅建模
- 誤用/濫用案例–簡單的Web商店範例
- MS SDL的STRIDE逐元素威脅建模方法
- 識別安全目標
- 繪製圖表–DFD元素範例
- 資料流程圖–範例
- 威脅列舉–MS SDL的STRIDE與DFD元素
- 風險分析–威脅分類
- DREAD威脅/風險排序模型
- 安全測試技術與工具
- 一般測試方法
- SDLC各步驟的技術
- 程式碼審查
- 軟體安全的程式碼審查
- 汙點分析
- 啟發式方法
- 靜態程式碼分析
- 靜態程式碼分析
- 練習–使用靜態程式碼分析工具
- 測試實作
- 手動執行時期驗證
- 手動與自動化安全測試
- 滲透測試
- 壓力測試
- 模糊測試
- 自動化安全測試–模糊測試
- 模糊測試的挑戰
- Web漏洞掃描器
- 練習–使用漏洞掃描器
- 檢查與強化環境
- 通用漏洞評分系統–CVSS
- 漏洞掃描器
- 公開資料庫
- 案例研究–表單驗證繞過
- NULL位元組終止漏洞
- 程式碼中的表單驗證繞過漏洞
- 利用表單驗證繞過
知識來源
- 安全編碼來源–入門套件
- 漏洞資料庫
- MSDN上的.NET安全編碼指引
- .NET安全編碼速查表
- 推薦書籍–.NET與ASP.NET
客戶評論 (3)
經驗分享,這是教師的訣竅和寶貴之處。
Carey Fan - Logitech
課程 - C/C++ Secure Coding
機器翻譯
培訓師的知識非常豐富,他清楚地知道自己在說什麼,並且能夠回答我們的問題
Adam - Fireup.PRO
課程 - Advanced Java Security
機器翻譯
主題非常前沿,我需要更新知識
Damilano Marco - SIAP s.r.l.
課程 - Secure Developer Java (Inc OWASP)
機器翻譯