課程簡介

第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 Agile 方法指南
  • 安全軟體開發需要流程改進
  • 安全設計原則 攻擊面 攻擊面減少
  • 攻擊面 - 一個例子
  • 攻擊面分析
  • 攻擊面減少 - 範例
  • 隱私 隱私
  • 瞭解應用程式行為和關注點 縱深防禦 SDL 核心原則:縱深防禦
  • 縱深防禦 – 示例
  • 最小特權原則 最小許可權 – 示例
  • 安全預設值 安全預設值 - 範例
  • 安全實施原則 議程
  • Microsoft 安全開發生命週期 (SDL)
  • 緩衝區溢出基礎知識 英特爾 80x86 處理器 – 主寄存器
  • 記憶體地址佈局
  • x86 上 C/C++ 中的函數調用機制
  • 局部變數和堆棧幀
  • 堆疊溢出 堆疊上的緩衝區溢出
  • 練習 – 介紹
  • 練習BOFIntro
  • 練習 BOFIntro – 確定堆疊佈局
  • 練習BOFIntro – 一個簡單的漏洞利用
  • 輸入驗證 輸入驗證概念 整數問題 負整數的表示
  • 整數溢出
  • 算術溢出 – 猜猜輸出!
  • 練習 IntOverflow
  • What is the value of Math.Abs(int.MinValue)?
  • 整數問題緩解 整數問題緩解
  • 避免算術溢出 - 加法
  • 避免算術溢出 – 乘法
  • 檢測 C# 中選中關鍵字的溢出
  • 練習 – 在 C# 中使用 checked 關鍵字
  • C# 中的溢出觸發的異常
  • 案例研究 – .NET 中的整數溢出 真實世界的整數溢出漏洞
  • 利用整數溢出漏洞 路徑遍歷漏洞 路徑遍歷緩解
  • 第2天
  • 安全實施原則 注射 典型的 SQL 注入攻擊方法 盲法和基於時間的 SQL 注射 SQL 注射保護方法 命令注入
  • 損壞的身份驗證 - 密碼管理 練習 – 散列密碼的弱點
  • 密碼管理和存儲
  • 用於密碼存儲的特殊用途哈希演算法
  • 跨網站文稿 (XSS) 跨網站文稿 (XSS)
  • CSS 注射
  • 漏洞利用:通過其他 HTML 標籤注入
  • XSS 預防
  • 缺少功能級訪問控制 過濾檔上傳
  • 實用密碼學 通過對稱加密提供機密性
  • Symede 的 symed-up ims
  • 群組密碼 – 操作模式
  • 哈希或消息摘要
  • 哈希演算法
  • 訊息驗證碼 (MAC)
  • 使用對稱金鑰提供完整性和真實性
  • 通過公鑰加密提供機密性
  • 經驗法則 – 擁有私鑰

      密碼管理中的典型錯誤
    練習 – 硬編碼密碼
  • 結論
  • 安全驗證原則 功能測試與安全測試
  • 安全漏洞
  • 優先次序
  • SDLC 中的安全測試
  • 測試計劃(風險分析)的步驟
  • 範圍界定和資訊收集 利害關係人
  • 資產
  • 攻擊面
  • 測試的安全目標
  • 威脅建模 威脅建模
  • 攻擊者配置檔
  • 基於攻擊樹的威脅建模
  • 基於誤用/濫用案例的威脅建模
  • 誤用/濫用案例 – 一個簡單的網上商店示例
  • 威脅建模的按元素 STRIDE 方法 – MS SDL
  • 確定安全目標
  • 圖表 – DFD 元素示例
  • 數據流圖 – 示例
  • 威脅枚舉 – MS SDL 的 STRIDE 和 DFD 元素
  • 風險分析 – 威脅分類
  • DREAD 威脅/風險排名模型
  • 安全測試技術和工具 一般測試方法
  • SDLC各個步驟的技術 代碼審查 軟體安全代碼審查
  • 污點分析
  • 啟發式
  • 靜態代碼分析 靜態代碼分析
  • 靜態代碼分析
  • 練習 – 使用靜態代碼分析工具
  • 測試實現 手動運行時驗證
  • 手動與自動安全測試
  • 滲透測試
  • 壓力測試
  • 模糊 自動化安全測試 - 模糊測試
  • 模糊測試的挑戰
  • Web 漏洞掃描程式 練習 – 使用漏洞掃描程式
  • 檢查和強化環境 常見漏洞評分系統 – CVSS
  • 漏洞掃描程式
  • 公共資料庫
  • 案例研究 – Forms 身份驗證繞過 空位元節終止漏洞
  • 代碼中的 Forms 身份驗證繞過漏洞
  • 利用 Forms 身份驗證繞過
  • 知識來源 安全編碼源 – 入門套件
  • 漏洞資料庫
  • MSDN 上的 .NET 安全編碼準則
  • .NET 安全編碼備忘單
  • 推薦書籍 – .NET 和 ASP.NET
  •  
  •   14 時間:
     

    人數


    開始於

    結束於


    Dates are subject to availability and take place between 09:30 and 16:30.
    Open Training Courses require 5+ participants.

    客戶評論 (9)

    相關課程

    Java and Web Application Security

      21 時間:

    Advanced Java Security

      21 時間:

    Advanced Java, JEE and Web Application Security

      28 時間:

    Comprehensive C# and .NET Application Security

      21 時間:

    Advanced C#, ASP.NET and Web Application Security

      21 時間:

    Web Application Security

      14 時間:

    Security Testing

      14 時間:

    Secure Web Application Development and Testing

      21 時間:

    Secure coding in PHP

      21 時間:

    Combined C/C++, JAVA and Web Application Security

      28 時間:

    Combined JAVA, PHP and Web Application Security

      28 時間:

    課程分類