課程簡介
A01:2025 – 存取控制失效
存取控制執行策略,使用戶無法超出其預定權限行事。失效通常導致未經授權的資訊洩漏、所有資料的修改或破壞,或執行超出用戶限制的業務功能。
實務內容
-
存取控制失效的實務範例
-
安全的存取控制和最佳實踐
A02:2025 – 安全配置錯誤
安全配置錯誤是指系統、應用程式或雲端服務從安全角度設置不正確,從而產生漏洞。
實務內容
-
配置錯誤的真實世界範例
-
防止配置錯誤的步驟,包括配置管理和自動化工具
A03:2025 – 軟體供應鏈失效
軟體供應鏈失效是指在構建、分發或更新軟體過程中的中斷或其他妥協。這通常是由於系統依賴的第三方程式碼、工具或其他依賴項中存在漏洞或惡意變更所引起。
A04:2025 – 加密失效
一般來說,所有傳輸中的資料都應在傳輸層(OSI 第 4 層)進行加密。過去 CPU 效能和私鑰/憑證管理的障礙,現在已由支援加密加速指令(如 AES 支援)的 CPU 解決,而私鑰和憑證管理則透過 LetsEncrypt.org 等服務簡化,主要雲端供應商也為其特定平台提供更緊密集成的憑證管理服務。
除了保護傳輸層外,確定哪些資料需要靜態加密以及哪些資料需要在傳輸中進行額外加密(應用層,OSI 第 7 層)也很重要。
例如,密碼、信用卡號、健康記錄、個人資訊和商業機密需要額外保護,特別是如果這些資料受隱私法律管轄,例如歐盟的《通用資料保護規定》(GDPR) 或法規如 PCI 資料安全標準 (PCI DSS)。
實務內容
-
詳細分析加密失效,如弱加密演算法或不當的鑰匙管理
-
強加密機制、安全協議 (SSL/TLS) 的重要性,以及網頁安全中現代加密的範例
A05:2025 – 注入攻擊
注入漏洞是一種系統缺陷,允許攻擊者將惡意程式碼或命令(如 SQL 或 shell 程式碼)插入程式的輸入欄位,誘使系統執行這些程式碼或命令,彷彿它們是系統的一部分。這可能導致嚴重的後果。
實務內容
-
詳細分解 SQL、NoSQL、OS 和 LDAP 注入
-
使用預備陳述、參數化查詢和轉義輸入的緩解技術
A06:2025 – 不安全設計
不安全設計是一個廣泛的類別,代表不同的弱點,表現為“缺乏或無效的控制設計”。
不安全設計並非其他十大風險類別的根本原因。請注意,不安全設計和不安全實現之間存在差異。我們區分設計缺陷和實現缺陷是有原因的,它們具有不同的根本原因,發生在開發過程的不同階段,並需要不同的修復方法。
安全的設計仍可能因實現缺陷而導致可被利用的漏洞。而不安全的設計無法透過完美的實現來修復,因為從未創建必要的安全控制來防禦特定攻擊。
導致不安全設計的因素之一是缺乏對正在開發的軟體或系統的業務風險配置檔案,從而無法確定所需的安全設計水平。
實務內容
-
我們將探索導致漏洞的設計缺陷,如不當的輸入驗證
-
我們將學習安全架構策略和安全設計原則
A07:2025 – 身份驗證失效
當攻擊者能夠欺騙系統將無效或不正確的用戶識別為合法用戶時,就存在此漏洞。
實務內容
-
常見的身份驗證問題
-
安全的身份驗證策略,如多因素身份驗證和適當的會話處理
A08:2025 – 軟體或資料完整性失效
軟體和資料完整性失效與未保護代碼和基礎設施免受將無效或不可信的代碼或資料視為可信和有效的情況相關。
一個範例是應用程式依賴來自不可信來源、儲存庫和內容分發網路 (CDN) 的插件、函式庫或模組。
不安全且未消費和提供軟體完整性檢查的 CI/CD 管道可能引入未經授權的存取、不安全或惡意代碼或系統妥賠的潛在風險。
另一個範例是 CI/CD 從不可信的地方拉取代碼或工件,和/或在使用前未進行驗證(通過檢查簽名或類似機制)。
實務內容
-
重點關注不可信的軟體更新和資料竄改等問題
-
安全的更新機制和資料完整性檢查
A09:2025 – 安全記錄與警報失效
沒有記錄和監控,無法檢測攻擊和洩漏事件;沒有警報,在安全事件期間很難快速有效地回應。
任何時候,不足的記錄、持續監控、檢測和警報以啟動積極回應都是問題。
實務內容
-
記錄安全相關資訊和監控可疑活動的重要性
-
用於適當記錄和即時監控以早期檢測洩漏事件的工具和方法
A10:2025 – 例外狀況處理不當
軟體中的例外狀況處理不當發生在程式無法防止、檢測和回應異常和不可預見的情況時,導致崩潰、意外行為,有時甚至漏洞。
這可能涉及以下三個失敗中的一项或多項:
-
應用程式未能防止異常情況發生
-
未能識別正在發生的情況
-
事後對情況回應不佳或無回應
SAST – 靜態應用程式安全測試
-
靜態分析是什麼,以及何時在 SDLC 中運行(左移)
-
可透過 SAST 檢測的漏洞類型,易受攻擊的代碼 vs 安全的代碼
-
SAST 工具概覽(例如 Semgrep, SonarQube, Checkmarx,取決於客戶技術棧)
-
實務練習:在故意引入漏洞的儲存庫上運行 SAST 掃描,解釋結果,區分誤報和真實漏洞
DAST – 動態應用程式安全測試
-
SAST 和 DAST 的區別,對運行中應用程式的黑盒測試
-
DAST 掃描流程,爬蟲,模糊測試,回應分析
-
DAST 工具概覽(例如 OWASP ZAP, Burp Suite)
-
實務練習:在易受攻擊的測試應用程式(例如 OWASP Juice Shop)上運行 DAST 掃描,識別並驗證發現
SCA – 軟體成分分析
-
第三方依賴項和函式庫的風險,繼承的漏洞
-
SBOM,軟體材料清單,它是什麼以及為什麼重要
-
SCA 工具概覽(例如 Dependency Check, Snyk, GitHub Dependabot)
-
實務練習:在真實專案上運行 SCA 掃描,識別易受攻擊的依賴項並建立修復計劃(更新、補丁、緩解)
最低要求
參與者應具備:
- 基礎的軟體開發概念知識
- 對網頁應用程式和常見網頁技術的基本理解
- 熟悉軟體開發生命週期(SDLC)
- 對原始碼和軟體依賴項的基本理解
- 具備安全概念知識為佳,但非強制要求
目標受眾
- 軟體開發人員
- 軟體工程師
- QA 和軟體測試工程師
- DevOps 和 DevSecOps 工程師
- 應用程式安全專業人士
- 安全工程師
- 軟體架構師
- 技術負責人
- 從事安全軟體開發和應用程式安全測試的專業人士
客戶評論 (3)
經驗分享,這是教師的訣竅和寶貴之處。
Carey Fan - Logitech
課程 - C/C++ Secure Coding
機器翻譯
深入瞭解產品以及RHDS與開源OpenLDAP之間的一些關鍵區別。
Jackie Xie - Westpac Banking Corporation
課程 - 389 Directory Server for Administrators
機器翻譯
培訓師的知識非常豐富,他清楚地知道自己在說什麼,並且能夠回答我們的問題
Adam - Fireup.PRO
課程 - Advanced Java Security
機器翻譯