iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
Security

從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台系列 第 6 篇

[Day 06]GitHub Actions - keywords.py 威脅評分引擎

  • 分享至 

  • xImage
  •  

威脅評分引擎:從雜訊中萃取價值的keywords.py

在我們建構的資安情資監控系統中,如果說 fetchers.py 是負責在外蒐集線索的探員,那麼 keywords.py 就是大腦中的「威脅特徵資料庫」。這份檔案的設計理念,完美呼應了我們在系統規劃階段所強調的重點:我們必須透過「關鍵字分析與風險評分」機制來產出標籤,這樣才能讓情資的分類更具實戰意義。
keywords.py 的三大核心設計邏輯:

1. 配置與邏輯徹底分離 (Decoupling)

在軟體工程與自動化管線的設計中,保持程式碼的整潔與可維護性至關重要。

  • 實務上我們會將主程式專注於狀態調度,並將工具(utils)、爬蟲(fetchers)與分析邏輯(processor)獨立拆分為外部模組。
  • keywords.py 的誕生,正是將「資安領域知識(Domain Knowledge)」從「程式運算邏輯」中抽離的具體實踐。
  • 當未來爆發新的零時差漏洞或新型態攻擊手法時,維護人員完全不需要改動處理器的底層程式碼,只需在 keywords.py 字典中新增關鍵字即可,這大幅降低了維護成本與出錯率。

2. 標靶式的情境收斂 (Context-Aware Targeting)

面對海量的開源情報(OSINT),如果不加以收斂,防守方很容易陷入「警報疲勞」。因此,我們在檔案中設計了特定領域的交集比對:

  • 確立防守重心:透過定義 CRITICAL_EQUIPMENT 集合,我們圈出了組織的邊界網通設備、虛擬化基礎架構與身分驗證伺服器。這意味著系統具備了「資產盤點」的視角,能優先抓出針對這些核心重鎮的攻擊情報。
  • 產業客製化視野:加入 FINANCE_KEYWORDS 則是為了賦予系統產業針對性。這樣的架構非常靈活,讀者未來若要將此系統導入醫療或製造業,只需抽換這個區塊的詞彙,就能瞬間打造出專屬該產業的預警雷達。

3. 量化的風險評分矩陣 (Quantifiable Risk Scoring)

抓取到原始資料後,必須加入關鍵字分析與風險評分機制,才能產出具實戰意義的威脅標籤。這些核心分類與權重皆定義在 keywords.py 檔案中:

  • 核心基礎設施與關鍵設備(CRITICAL_EQUIPMENT):此清單定義了組織邊界與身分核心等重鎮,包含邊界網通設備(如 Fortinet、Palo Alto)、虛擬化基礎架構(VMware、Proxmox)以及身分驗證系統(Active Directory、Cyberark)。一旦這些設備出現相關通報,系統即視為最高警戒。
  • 類別關鍵領域詞彙(FINANCE_KEYWORDS):了解類別產業客製化的追蹤指標,涵蓋了特殊關鍵字與分類。
  • 技術威脅層級定義(IMPORTANCE_WEIGHTS):系統將威脅嚴峻程度分為四個層級(T1 至 T4),並賦予對應的風險分數。
  • T1_CRITICAL_EXPLOIT(10 分):鎖定最致命的攻擊特徵,關鍵字包含零時差(zero-day、0-day)、遠端程式碼執行(rce)與未授權(pre-auth)等。
  • T2_AUTH_AND_IMPACT(7 分):聚焦於身分驗證繞過(auth bypass)、權限提升(privilege escalation)以及勒索軟體(ransomware)等具備高度衝擊的威脅。
  • T3_DATA_BREACH_AND_ABUSE(4 分):涵蓋資料外洩(data breach)、憑證竊取與大型釣魚活動。
  • T4_GENERAL_VULN(2 分):針對阻斷服務(dos)、跨網站腳本(xss)與路徑遍歷等一般性漏洞進行標記。

上一篇
[Day 05]GitHub Actions - processor.py 邏輯分析說明
下一篇
[Day 07]GitHub Actions - utils.py 視覺優化風格
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台 共 11 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言