上一篇文章我們提到透過設計階段以威脅建模的方式列出常見的威脅,而下一階段則是開始實作與開發。
可以參考一些規範協助我們開發的過程,能開發出更安全的程式碼。
這個階段需要開發者了解安全的開發原則,並參考常見的資安威脅,避免開發出來的系統容易被攻擊。
開發階段完成後,就可以進入測試階段,確保開發出來的系統沒有問題,並且可以抵擋攻擊。
除了瞭解安全開發原則和參考常見資安威脅外,開發階段還需要做到以下幾點:
開發階段主要是將設計轉為程式碼,並確保符合資安標準。
OWASP Top Ten 是由開放網路應用程式安全計劃(OWASP)發布的重要文件,
自2003年首次發布以來,已成為網路應用程式安全領域最具影響力的指南之一。
這份文件識別並排序了當前最關鍵的網路應用程式安全風險,為開發者、安全專業人員和組織提供了重要參考。
OWASP Top Ten 並非靜態文件,而是隨著技術發展和威脅形勢變化不斷更新:
每次更新都反映了網路應用程式安全領域的最新趨勢和挑戰。
為有效應對這些風險,組織應該:
雖然 OWASP Top 10 主要用於提升資安意識和認知,
但許多企業仍將其作為應用程式安全標準。
但是,使用 OWASP Top 10 作為標準時,
必須了解它只是最低限度的指標,僅作為起點。
從概念理解到實際應用,再到問題分析和解決方案,
形成一個完整的學習循環的方法如下:
ASVS 定義了三個安全驗證等級:
ASVS 分為 14 個主要章節
在本篇文章中,我們將深入探討安全軟體開發的第三個階段——開發階段。我們將介紹開發者在此階段應該如何了解並應用安全開發原則,避免常見的資安威脅。同時,我們詳細說明了如何在開發過程中整合 OWASP Top 10 和 ASVS 等安全標準,確保開發出的系統能夠抵禦各種攻擊,提升系統的安全性和可靠性。
在軟體開發的開發階段,以下哪一項不是開發者需要執行的任務?
A. 了解安全開發原則
B. 參考常見的資安威脅
C. 進行威脅建模
D. 撰寫安全的程式碼
答案: C
解析: 威脅建模通常在設計階段進行,而開發階段的重點在於實際撰寫安全的程式碼,並應用安全開發原則和參考資安威脅。
以下哪一項是 OWASP Top Ten 2021 中列為第一位的安全風險?
A. 不安全的設計 (Insecure Design)
B. 注入式攻擊 (Injection)
C. 存取控制失效 (Broken Access Control)
D. 安全組態錯誤 (Security Misconfiguration)
答案: C
解析: 在 OWASP Top Ten 2021 中,A01 為「存取控制失效 (Broken Access Control)」,被列為最嚴重的安全風險。
為了縮小系統的攻擊面,下列哪一項是適當的做法?
A. 啟用所有功能以提升使用者體驗
B. 關閉或移除不必要的功能、埠口和服務
C. 使用預設的管理員密碼
D. 開放所有網路埠口供外部存取
答案: B
解析: 縮小攻擊面應該關閉或移除不必要的功能和服務,以減少被攻擊的可能性。
以下關於 OWASP ASVS 的描述,哪一項是不正確的?
A. 提供全面的安全驗證要求
B. 適用於不同安全需求的應用程式
C. 僅適用於高安全需求的關鍵應用程式
D. 由資安社群共同建立和維護
答案: C
解析: OWASP ASVS 提供不同的驗證等級,適用於各種安全需求的應用程式,不僅僅是高安全需求的應用。
在開發階段整合 OWASP Top 10 時,以下哪一項是建議的最佳實踐?
A. 將 OWASP Top 10 作為開發人員安全培訓的教材
B. 將 OWASP Top 10 作為唯一的安全標準
C. 忽略 OWASP Top 10 的局限性
D. 只在開發完成後再考慮 OWASP Top 10
答案: A
解析: OWASP Top 10 可用於提升開發人員的安全意識,但不應該被視為唯一的安全標準,應結合其他資安規範。