iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
Security

備考 CISSP 敗部復活 雜草談 系列 第 14

喔不,剛做好的軟件被河蟹了

  • 分享至 

  • xImage
  •  

運用專業知識把一項東西從無到有做出來就是做東西的精髓,做東西則必須要注意每個流程的安全性元素及生命週期的重要性。

生命週期要一起看的有以下兩種

SSDLC (Secure Software Development Life Cycle)

  • 軟體安全開發生命週期

流程如下

  • 計畫階段 (Plan)
    • 先寫計畫書及決定開發方法
    • 組建團隊 (IPT)
      • Integrated Product Team
      • 依照產品需求找尋相關能力而整合型的一個團隊簡稱
  • 分析階段 (Analysis)
    • 收集需求
      • URS (User Requirements Specification)
        • 使用者要求規範
    • 分析及記錄需求
      • SRS (Software Requirements Specification)
      • 軟體要求規範
      • 這在某些組織中是有順序性的,先從使用者需求分析後而產出SRS
    • 紀錄需求
      • 內部驗證正確性 (Verification)
        • 例如: 電氣訊號產品就是要去驗EMC/ EMI/ SI的部分
      • 外部驗證有效性 (Validation)
        • 驗證資訊系統及其週邊的相容性問題,是否符合客戶需求
  • 設計階段 (Design)
    • 從架構開始設計
    • 細部設計
    • 設計審查
      • 再次驗證是否滿足 V & V
      • V & V (Verification & Validation)
      • 正確性 & 有效性
      • 威脅建模
        • 種類超多
          • TRA & RRA
            • 威脅及風險分析 & 快速風險分析
            • 主要是用在專案的快速分析上

            參考自 RRA intro

          • DREAD (CISSP 考試範圍)
            • D - 損害
            • R - 可再重現性
            • E - 可利用程度
            • D - 受影響用戶及可發現性
            • 微軟有提供DREAD 威脅建模的工具,但怎麼使用不在此討論,有興趣的讀者可以前往MS DREAD tool 自行參考
          • VAST (CISSP 範圍)

參考自 威脅建模

  • 開發階段 (Development)
    • 按照設計圖施工
    • 需要有版本庫 (Code Repository)
      • 個人使用
        • 簽入/ 簽出
      • 組織使用
        • 拉/ 推 (pull/ push)
    • 物件導向的程式設計原則 (OOP)
  • 測試階段 (Testing)
    • 測試種類
      • 箱子測試
        • 黑箱: 測試人員對受測物不存在任何知識情報
        • 白箱: 測試人員對受測物非常了解所有知識情報
        • 灰箱: 測試人員對受測物的知識情報似懂非懂
      • 動靜態測試
        • 靜態測試
          • 程式(Program)放在硬碟中就直接進行測試而稱之
        • 動態測試
          • 程式執行後載入到記憶體中(Process),進行的測試稱之
        • DAST
          • 測試對象
            • HTTP/HTTPS - Web應用程式
              • 此指桌面板的web 應用程式
          • 黑盒測試技術
          • 原理:
            • 發送漏洞封包來進行Web APP的安全性測試
          • 缺點:
            • 影響可用性
            • 可能造成業務持續及產品及服務中斷的風險
        • SAST
          • 直接對原始碼進行檢測的一種方法
          • 原理:
            • 將程式先轉譯成一種中介語言並針對程式中的各種不安全的變數、邏輯進行一系列的評估
          • 缺點:
            • 誤報率非常高
      • 手動測試 <> 自動測試
        • 探索性測試: 使用者依照手動測試的方式,使用各種嘗試方法去做的測試而稱之,沒有固定的手動測試流程及方法
        • 固定流程: 依照定義好的手動測試步驟進行測試
        • 自動測試: 經手動流程轉為自動化流程的測試工具後所進行的測試而稱之

參考

IDEA 軟體開發模型總共有五個階段

  • Initialing (發起)
  • Diagnosing (診斷)
  • Establishing (建立)
  • Acting (行動)
  • Learning (學習)

參考自實體書籍 OSG 9th

[10萬個WHY] DevOps <> DevSecOps 差別?

DevOps 的流程中,最讓人擔心的點在於沒有經過授權就可以隨意發布到終端,這就會造成一定的負面風險。所以有人提出要在DevOps 設入安全斷點在重要的地方,名稱就變成DevSecOps。

NIST System Development Life Cycle (SDLC)

  • 系統開發的生命週期
  • 流程元素如下
    • 啟動
    • 開發 或收購
    • 實施/ 評估
    • 運營及維護
    • 廢止後的處置

看到黑影(SDLC)就開槍,結果就GG了

不能看到生命週期就直接以為都是指軟體或系統的,但其實兩者間也可能存在交互關係,而不能直接單獨看待。其實並不知道生命周期指的是軟體的還是指系統的生命週期


上一篇
煉金術的奧秘
下一篇
GDPR v.s 個人資料 。。。
系列文
備考 CISSP 敗部復活 雜草談 35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言