iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
1
Security

資訊系統安全與 CISSP 的簡單應用系列 第 21

[Day 21] 安全評估與測試 (Security Testing Methodology)

  • 分享至 

  • xImage
  •  

資訊系統安全性之測試設計和開發設計相似,都是高智慧的創造性工作,也是可能會產生錯誤的設計,因而浪費了時間。我們一樣需要測試模型 (Modeling) 與技術解決方案 (Technical Solution) 的指導,使我們成為一位有效的安全測試者 (Effective Executive)。從今天開始,我們就叫這門學問為「安全性測試的方法論」。

攻擊模型 (Attack Models)


我們在 [Day 10] 安全工程 (Security Models and Architecture Design) 談過模型的使用時機。建立模型是一個研究、漸進的過程,測試模型是研究的成果。我們如何衡量模型的價值呢?是用「發現漏洞的效率」。所以,資安測試人員應當以「實際的測試需求」來推動模型的發展。而且正如資安攻防賽的實景,隨著一輪又一輪的競技,我們一次一次修正自己的攻防模型。

如果把以前談的看作是「防守模型」,那麼今天揭示的就是「攻擊模型」了:

  1. 啟發式策略攻擊模型 (Heuristic Strategy Attack Model):
    從攻擊技術(功能/壓力/流程/使用者/風險/自動化)、待測物元素(使命/訊息/開發者關係/團隊/進度/裝置)、待測物專案過程(結構/資料/介面/平台/操作/時間)、待測物品質標準(能力/可靠性/可用性/可伸縮性/相容性),這四項作為主幹,發展自己的攻擊策略,所以這個模型圖會像樹枝狀展開。
  2. 輸入與輸出攻擊模型 (IO Attack Model):
    掌握輸入變數(有意無意的輸入/系統程序狀態/配置資源/來自合作端用互端的輸入)可以控制或影響待測物的行為,掌握輸出變數(被監控未被監控的輸出/系統程序狀態/對相連裝置和系統資源的影響/發給協同作業的用戶端之輸出)可以觀察行為的後果。
  3. 系統生態攻擊模型 (Ecosystem Attack Model):
    在攻擊一個比較複雜的資訊系統時,攻擊者需要分析系統的內部結構、外部依賴和訪問介面。我們建議攻擊者繪製一幅圖來描述系統的生態環境,它綜合了傳統的語境圖和部署圖,可以幫助攻擊人員系統性地探索整個系統。

21 Attack Model

  1. 實體關係攻擊模型 (Entity-Relationship Attack Model):
    實體攻擊模型專注的是每一個實體的屬性欄位,以及企圖擾亂它們之間一對一、一對多、多對多的關係。系統可能提供了多種方式來修改實體、關係和屬性。
  2. 狀態機攻擊模型 (State Machine Attack Model):
    您的攻擊涵蓋所有狀態嗎?您的攻擊涵蓋所有狀態變遷嗎?您的攻擊涵蓋所有觸發事件了嗎?建立狀態機攻擊模型的第一步是識別狀態。使用者命令會觸發狀態,系統自身會觸發狀態,系統的外部環境會觸發狀態,時間會觸發狀態。

記錄模型可以幫助模型的演進,提升您的攻擊能力。一個攻擊模型可以應用於多種資訊系統的攻擊,記錄並重複使用這些模型能夠提高攻擊效率。

攻擊技術解決方案 (Attack Technical Solution)


累積解決方案有什麼用呢?解決方案是我們可以直接拿來用的具體方法,透過選擇或修改合適的解決方案,我們能夠達到靈活機動運用的境界。

以下先給大家一個水平式的全貌圖:

  1. 關注「範圍與涵蓋」的攻擊技術:
    • 功能性攻擊
    • 整合性攻擊
    • 漫游攻擊
    • 邊界攻擊
    • 最佳代表攻擊
    • 領域知識攻擊
    • 漏洞目錄攻擊
    • 狀態變遷攻擊
    • 介面元素訪問攻擊
  2. 關注「誰來使用」的攻擊技術:
    • 實際使用攻擊
    • 所有人員、不同視角、大掃除攻擊
    • 領域專家攻擊
    • 結對攻擊
    • 當地市場文化者攻擊
  3. 關注「潛在風險」的攻擊技術:
    • 快速攻擊
    • 輸出入攻擊
    • 邏輯組合攻擊
    • 壓力負載攻擊
    • 基於歷史的攻擊
    • 互操作性介面攻擊
    • 長序列攻擊 (記憶體、競態、懸掛指標)
  4. 關注「攻擊執行方式」的攻擊技術:
    • 亂數隨機攻擊
    • 範例操作攻擊
    • 情境攻擊
    • 猴子自動攻擊
  5. 關注「評估判斷安全與否」的攻擊技術:
    • 數學先知型攻擊
    • 約束檢查型攻擊
    • 參考功能等價測試
    • 自檢驗資料攻擊 (雜湊值傳播,模組間傳遞,再計算竄改檢查)
    • 診斷工具比較
  6. 關注「特定產出」的攻擊技術:
    • 建構產物攻擊

以上應該已經足夠啟發各位駭客很多攻擊想法了,由於本人獨鍾於「快速攻擊」,所以底下再加碼開一節來談。

快速攻擊


安總有一句名言:「再快也不會太快,再強也不會太強。」因此,我們來好好欣賞一下「快速之美」吧。快速攻擊是一組基於風險的攻擊方法,其特徵是針對某種常見的軟體缺陷,實施專項攻擊,通常不需要大量的測試時間和產品相關知識

方法名稱 所針對風險與攻擊手段
快樂路徑 系統在典型使用情境中失效
中斷 恰當地中斷某一項軟體操作,然後再次執行。
挖牆角 軟體不能正確處理一些異常情況,如刪除它要訪問的檔案、關閉它將訪問的網路服務、啟動另一個程式去鎖住它要修改的資料庫表格等。
調整 在軟體執行過程中,修改某些配置值或參數
狗刨 將一組操作重複多次,用並行再並行的流程、巢狀再巢狀的結構去考驗軟體
持續使用 長時間攻擊一個系統,不關閉它,在此過程中用工具觀察它所使用之資源,是否存在洩漏、誤差累積等缺陷。
誇張互動 針對相互使用或共用資料的一組功能,用誇張的資料或操作來壓迫它們
瘋狂點擊 資源洩漏和軟體崩潰
猛踩攻擊 在每個介面都實施多個並行的輸入
眨眼測試 將軟體輸出的資料視覺化,使得明顯的錯誤值可以在瞬間被識別
錯誤訊息後遺症 系統一旦跳出錯誤訊息,其內部狀態可能遭到了破坏,此時要對系統實施猛烈的攻擊
資源饑餓 在資源緊張的情況下,軟體可能犯錯
多個實例 並行執行的多個實例會互相干擾
瘋狂配置 將系統字體設為最大,或將解析度調為最低,破壞軟體的介面布局,找出漏洞或使功能不能正常訪問
廉價工具 InCtrl5 (環境監視工具)、Process Monitor (處理程序監視工具)、Application Verifier (除錯輔助工具)、Perfmon (Windows 效能監視器)、Process Explorer (程式查看工具)、Windows 管理員、一個便宜的攝影機 (用於拍攝測試過程)、HTML 驗證器。

攻擊人員需要持續留意有價值的工具,以豐富自己的武器庫


主辦單位以 5 分鐘一個回合,參賽隊伍只要在其他隊伍伺服器找到一個一般性的漏洞,就可以發動攻擊得分,對方被攻擊就會扣分。
CTF 現場攻防得分規則
《CTF 現場攻防得分規則》
資料來源:臺灣 HITCON,https://www.ithome.com.tw/news/102969


上一篇
[Day 20] 安全評估與測試 (Security Testing Knowledge Management)
下一篇
[Day 22] 安全評估與測試 (Security Testing Automation)
系列文
資訊系統安全與 CISSP 的簡單應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言