2012年7月5日 星期四

軟體安全簡介

軟體安全的心智圖,主要分為三大支柱,風險管理,7Touchpoint,相關知識,而所有均發展於軟體開發週期中(SDLC)。以下簡略說明三大支柱

一.風險管理:是軟體安全的核心要項,而風險分析亦是風險管理框架的中心,依據下圖所示,風險分析在一開始的業務需求和架構設計階段就開始實施,而後面再出現一次是測試階段,也就是依據之前所風險分析之結果進行測試。風險管理框架是一個循環的流程,如下圖右上所示:
  • Step1.從一開始的對於客戶需求的詳細了解
    Step2辨識此業務需求上會有哪些風險,例如購物網站上交易的安全風險
    Step3辨識技術上的風險,例如Buffer Overflow,SQL injection等
    Step4是將前兩的階段所辨識出來的風險做綜合與等級上的區分整理
    Step5是決定降低風險的策略
    Step6執行處置風險的策略
    Step7確認風險處置是有效的
這是風險管理的步驟,而每個步驟亦有其各項措施不再此述,

二.Touchpoints:其中有七項分布在六個開發步驟(SDLC),如下圖左上所示,(每項上面所標示的數字表示其重要程度,不表示順序)
  1. 從客戶需求階段需要的重點
    • Abuse Case:惡意使用的案例分析避免遭受惡意操弄
    • Security Requirment:客戶系統的安全要求了解
    • Risk Analysis:從商業上進行分析,引用風險管理的步驟,了解有哪些風險
  2. 軟體架構與設計
    • Risk Analysis:從技術上進行分析,引用風險管理的步驟,了解有哪些風險
  3. 擬定測試計畫
    • Risk-based Security Text:依據風險分析的結果擬定測試計畫
  4. 程式開發
    • Code Review:利用工具進行原始碼檢測,如RATS,ITS4都是檢測工具,找出是否有不當的程式邏輯會造成bug
  5. 系統測試
    • Risk Analysis:依據分險分析結果和測試計畫進行測試
    • Penetration Text:對系統進行滲透測試,看是否有漏洞,通常會委由專人進行
  6. 回饋報告
    • Penetration Text:對系統進行滲透測試,看是否有漏洞,通常會委由專人進行
    • Security Operations:系統作業的安全
三.知識 :是支持整個軟體安全所需的基礎,分為三種類別七種類型的知識,如下圖右下所示
  1. 規則類
    • Princlpies:安全的原則,模型等
    • Guidelines:安全的指引
    • Rules:安全的規則,標準等
  2. 特徵類
    • Attack Patterns:攻擊的形式
    • Vulnerabilities:應用系統,作業平台等弱點
    • Exploites:可被攻擊利用的
  3. 歷史類
    •  Historical:過去的攻擊事件,漏洞,弱點等歷史資料


沒有留言:

張貼留言

  資訊安全管理重要流程 資訊安全管理包含眾多工作,組織中有多少資訊系統,資訊設備,提供哪些資訊服務,自行開發或是委外開發時之系統之安全性,如何確保服務的正常運作及機敏資料的安全,當有資安事件時,是否有適當人員來處置與緊急應變,要如何監控資訊環境,這些工作需要有系統的規劃,每項工...