筆記 Secure Software Development Life Cycle, SSDLC 中各階段需要進行的資訊安全作業項目 🔱
說明
需求階段
軟體的安全面向
- Confidentiality (機密性)
- Integrity (完整性)
- Availability (可用性)
- Authentication (驗證)
- Authorization (授權)
- Auditing (稽核)
- Session Management (資料傳輸機制管理)
- Error and Exception Handling (錯誤與例外處理)
- Configuration Management (組態管理)
資料來源:Official (ISC)2 Guide to the CSSLP
相關工作
安全需求萃取
OWASP ASVS
Application Security Verification Standard, ASVS,提供對於應用程式的安全測試基準與指南,同時也對於軟體開發人員條列說明開發上需要注意的事項。ASVS 提供了兩項功能:
(一)指引組織開發與維護安全的應用程式
(二)提供資安廠商、資安工具開發者、資安需求者能夠契合對於資安的需求與供給
📝資通系統資安需求項目查檢表
📝需求追溯表
設計階段
安全軟體設計原則
- Weakest Link:常保警覺,資訊系統中最弱的環節在那裡?程式碼、服務或者介接介面?
- Economy of Mechamism:保持軟體的實作上的簡單,越複雜的軟體越有可能出現漏洞
- Leveraging Existing Components:使用已有經過測試、可受信任的軟體元件,不要自造輪子、製造麻煩
- Defense in Depth:縱深防禦,透過多個環節都分別設立資安防禦機制,例如軟體、網頁伺服器、防火牆、路由器
- Fail Secure:確保資訊系統的故障安全,當錯誤發生時是否會影響 Confidentiality, Integrity, Availability,是否有對應的處理方式
- Single Point of Failure:資訊系統的攻破只需要最後一個弱點環節就足夠
- Least Privilege:最小權限原則,只提供必要的權限
- Complete Mediation:對於每一次的請求都需要進行檢查(傳入的參數與物件綁定、宣稱的權限、要求的目標)
- Separation Of Duties:系統應保持責任分離,不論是使用者的權限、程式的功能
- Psychological Acceptability:太過繁複的安全設定,反而會讓使用者感到不便而使用具有風險的使用方式
- Open Design
- Least Common Mechanism
OWASP - Secure Design Principles
風險處理
- 降低
- 保留
- 避免
- 轉移
威脅分類 STRIDE
- Spoofing : 偽造身分
- Tampering : 惡意竄改輸入與資料
- Repudiation : 無法稽核使用者曾經執行的軌跡
- Information Dsiclosure : 機敏資訊外洩
- Denial of Service : 系統服務可用性被阻斷
- Elevation of Privilege : 未正常的取得授權
威脅風險評估 DREAD
- Dangerous Potential
- Reproduciblity
- Exploitability
- Affected Users
- Discoverability
Risk = (R + E + Discoverability) X (Dangerous + A)
應用程式風險分類
相關工作
EDFD
Threat Modeling
威脅風險評估
發展控制措施
📝Web 應用程式安全查檢表
開發階段
OWASP Top 10
CWE / SANS Top 25
WASC Threat Classification (Attack List / Weaknesses List)
Vulnerability Database
📝OWASP ASVS
📝源碼安全檢查表
📝《Hacksplaining》Developer 不能錯過的安全應用程式設計觀念
測驗階段
源碼檢測, Static Application Security Testing, Checkmarx / Fortify
弱點掃描, Vulnerability Test, Acunetix / Nessus / WebInspect / IBM Security AppScan
📝OWASP ASVS
部署階段
滲透測試, Penetration Test
組態管理
變更管理
持續整合 CI
持續部署 CD
SSL Server Test
Security Headers Scan
維運階段
SIEM
參考資料
技服中心 NCCST
台北區網中心
2020 - 安全軟體發展生命週期(Secure SDLC)