資訊系統安全性之測試設計和開發設計相似,都是高智慧的創造性工作,也是可能會產生錯誤的設計,因而浪費了時間。我們一樣需要測試模型 (Modeling) 與技術解決方案 (Technical Solution) 的指導,使我們成為一位有效的安全測試者 (Effective Executive)。從今天開始,我們就叫這門學問為「安全性測試的方法論」。
我們在 [Day 10] 安全工程 (Security Models and Architecture Design) 談過模型的使用時機。建立模型是一個研究、漸進的過程,測試模型是研究的成果。我們如何衡量模型的價值呢?是用「發現漏洞的效率」。所以,資安測試人員應當以「實際的測試需求」來推動模型的發展。而且正如資安攻防賽的實景,隨著一輪又一輪的競技,我們一次一次修正自己的攻防模型。
如果把以前談的看作是「防守模型」,那麼今天揭示的就是「攻擊模型」了:
記錄模型可以幫助模型的演進,提升您的攻擊能力。一個攻擊模型可以應用於多種資訊系統的攻擊,記錄並重複使用這些模型能夠提高攻擊效率。
累積解決方案有什麼用呢?解決方案是我們可以直接拿來用的具體方法,透過選擇或修改合適的解決方案,我們能夠達到靈活機動運用的境界。
以下先給大家一個水平式的全貌圖:
以上應該已經足夠啟發各位駭客很多攻擊想法了,由於本人獨鍾於「快速攻擊」,所以底下再加碼開一節來談。
安總有一句名言:「再快也不會太快,再強也不會太強。」因此,我們來好好欣賞一下「快速之美」吧。快速攻擊是一組基於風險的攻擊方法,其特徵是針對某種常見的軟體缺陷,實施專項攻擊,通常不需要大量的測試時間和產品相關知識。
方法名稱 | 所針對風險與攻擊手段 |
---|---|
快樂路徑 | 系統在典型使用情境中失效 |
中斷 | 恰當地中斷某一項軟體操作,然後再次執行。 |
挖牆角 | 軟體不能正確處理一些異常情況,如刪除它要訪問的檔案、關閉它將訪問的網路服務、啟動另一個程式去鎖住它要修改的資料庫表格等。 |
調整 | 在軟體執行過程中,修改某些配置值或參數 |
狗刨 | 將一組操作重複多次,用並行再並行的流程、巢狀再巢狀的結構去考驗軟體 |
持續使用 | 長時間攻擊一個系統,不關閉它,在此過程中用工具觀察它所使用之資源,是否存在洩漏、誤差累積等缺陷。 |
誇張互動 | 針對相互使用或共用資料的一組功能,用誇張的資料或操作來壓迫它們 |
瘋狂點擊 | 資源洩漏和軟體崩潰 |
猛踩攻擊 | 在每個介面都實施多個並行的輸入 |
眨眼測試 | 將軟體輸出的資料視覺化,使得明顯的錯誤值可以在瞬間被識別 |
錯誤訊息後遺症 | 系統一旦跳出錯誤訊息,其內部狀態可能遭到了破坏,此時要對系統實施猛烈的攻擊 |
資源饑餓 | 在資源緊張的情況下,軟體可能犯錯 |
多個實例 | 並行執行的多個實例會互相干擾 |
瘋狂配置 | 將系統字體設為最大,或將解析度調為最低,破壞軟體的介面布局,找出漏洞或使功能不能正常訪問 |
廉價工具 | InCtrl5 (環境監視工具)、Process Monitor (處理程序監視工具)、Application Verifier (除錯輔助工具)、Perfmon (Windows 效能監視器)、Process Explorer (程式查看工具)、Windows 管理員、一個便宜的攝影機 (用於拍攝測試過程)、HTML 驗證器。 |
攻擊人員需要持續留意有價值的工具,以豐富自己的武器庫。
主辦單位以 5 分鐘一個回合,參賽隊伍只要在其他隊伍伺服器找到一個一般性的漏洞,就可以發動攻擊得分,對方被攻擊就會扣分。
《CTF 現場攻防得分規則》
資料來源:臺灣 HITCON,https://www.ithome.com.tw/news/102969