iT邦幫忙

2026 iThome 鐵人賽

0

DAY36 安全軟體開發生命週期

不能等到漏洞出現後才去修,應該要在軟體開發的過程中,就把安全一起做進去


一. SDLC 軟體開發生命週期

Software Development Life Cycle,SDLC
軟體開發生命週期

就是從軟體的開發規劃,一路到正式使用的過程

開發的生命週期

  1. 需求
  2. 設計
  3. 實作
  4. 測試
  5. 部署
  6. 維運
  1. 需求階段 Requirements

    • 不能只有功能需求,例如:使用者可以登入
    • 也要加入安全需求,例如:
    • 登入需身分驗證、限制錯誤次數等等
    • 不能等程式寫完才想
  2. 設計階段 Design

    • 在系統設計階段進行威脅建模,分析要保護的資產、可能的攻擊方式、弱點,再設計對應的防護措施
    • 系統還沒被攻擊前,先思考可能從哪裡被攻擊
    • 以上面的登入系統來舉例,可能就要思考:
    • 暴力破解、權限繞過等等
    • 要提前設計好防禦
  3. 實作階段 Implementation

    • 在程式設計階段要思考
    • 使用安全的API與函式
    • 還有威脅有沒有抵擋好,例如:
    • SQL注入->預備陳述式
    • 緩衝區溢位->邊界檢查
  4. 測試階段 Verification

    • 不能只看功能有沒有用
    • 還要測這個功能安不安全,例如:
    • 模糊測試 Fuzz Testing
    • 故意輸入:錯誤格式、異常資料、超長資料、奇怪字元等等
    • 看程式會不會出現異常或當機
  5. 部署階段 Release

    • 系統上線前要做:
    • 最終安全檢查 Final Security Review
      • 確認安全需求、測試結果、未修正問題,判斷是否符合發行條件
    • 事件回應計畫 Incident Response Plan
      • 事先安排事故發生時的通報、分工、控制損害、復原方式

IPAS 115-1 第二科 Q28
在軟體開發生命週期(SDLC)中,何時開始考慮安全性(Security)的處理成本最高?
D :系統維運階段
拖到最後才補安全最貴,對應最晚的維運階段


上一篇
DAY35 HTTP 請求走私與記憶體弱點
下一篇
DAY37 SAST 靜態應用程式安全測試
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 37 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言