EventCorrelator 實作即時、基於模式的多步驟攻擊偵測。它不是孤立地評估事件,而是維護一個滑動視窗緩衝區,並套用 7 個模式偵測器來識別跨越多個事件的攻擊鏈。
Events ──> [Sliding Window Buffer] ──> [Pattern Detectors] ──> CorrelationResult
Max 1000 events 7 patterns
5-minute window
關聯器在 DetectAgent 內部執行,產生 CorrelationPattern 物件,在 AnalyzeAgent 中提升信心評分。
滑動視窗緩衝區
| 參數 | 值 |
|---|
| 最大事件數 | 1,000 |
| 時間視窗 | 5 分鐘 |
| 淘汰策略 | 超過 5 分鐘的事件被丟棄 |
| 分組方式 | 事件按來源 IP 分組進行模式匹配 |
7 種關聯模式
1. 暴力破解偵測
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1110 |
| 偵測邏輯 | 來自同一來源 IP 的認證失敗 |
| 視窗 | 60 秒 |
| 門檻 | 5 個事件 |
| 信心值 | 基礎 60 + 每多一個事件 +8(最高 100) |
| 範例 | 30 秒內來自 203.0.113.50 的 15 次 SSH 登入失敗嘗試 |
2. 埠掃描偵測
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1046 |
| 偵測邏輯 | 同一 IP 連線至不同的目的埠 |
| 視窗 | 60 秒 |
| 門檻 | 10 個不同的埠 |
| 信心值 | 基礎 65 + 每多一個埠 +3(最高 100) |
| 範例 | 單一 IP 探測埠 22、80、443、3306、5432、6379、8080、8443、9200、27017 |
3. 橫向移動
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1021 |
| 偵測邏輯 | 連線至不同的內部(RFC 1918)IP 位址 |
| 視窗 | 5 分鐘 |
| 門檻 | 3 個不同的內部 IP |
| 信心值 | 基礎 55 + 每多一個 IP +10(最高 100) |
| 範例 | 受損的主機連線至 192.168.1.10、192.168.1.20、192.168.1.30 |
4. 資料外洩
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1041 |
| 偵測邏輯 | 向外部 IP 進行大量出站資料傳輸 |
| 視窗 | 單一事件評估 |
| 門檻 | 10 MB |
| 信心值 | 基礎 50 + 每多 10 MB +15(最高 100) |
| 範例 | 透過 curl 向外部 IP 上傳 45 MB |
5. 後門安裝
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1059 |
| 偵測邏輯 | 檔案寫入 + 處理程序建立 + 出站網路連線的組合 |
| 視窗 | 5 分鐘 |
| 門檻 | 3 種事件類型全部出現 |
| 信心值 | 基礎 55,隨著額外關聯事件增加(最高 100) |
| 範例 | 檔案寫入 /tmp/payload,新處理程序衍生,出站連線至 C2 伺服器 |
6. 權限提升
| 欄位 | 值 |
|---|
| MITRE ATT&CK | T1548 |
| 偵測邏輯 | setuid/setgid/sudo/pkexec 事件 |
| 視窗 | 5 分鐘 |
| 門檻 | 1 個或更多事件 |
| 信心值 | 基礎 50 + 每多一個事件 +15(最高 100) |
| 範例 | 多次 sudo 調用後接 setuid 系統呼叫 |
7. 嚴重性升級
| 欄位 | 值 |
|---|
| MITRE ATT&CK | —(複合模式) |
| 偵測邏輯 | 來自同一來源的低或中嚴重性事件累積 |
| 視窗 | 5 分鐘 |
| 門檻 | 同一嚴重等級 3 個事件 |
| 信心值 | 基礎 40 + 每多一個事件 +10(最高 100) |
| 提升規則 | 3+ 低等級事件提升為中等級;3+ 中等級事件提升為高等級 |
關聯結果
當模式匹配時,關聯器產生包含以下內容的 CorrelationResult:
interface CorrelationResult {
pattern: string; // 例如 "brute_force"
mitreId: string; // 例如 "T1110"
confidence: number; // 0-100
relatedEvents: string[]; // 鏈中的事件 ID
sourceIp: string; // 共同來源 IP
description: string; // 人類可讀的摘要
}
AnalyzeAgent 套用每個關聯事件 +5 的關聯加成,最高加至最終信心評分的 +25。
關聯引擎在記憶體中運作。重新啟動 Guard 引擎會清除滑動視窗緩衝區。當連接 Manager 伺服器時,可使用跨工作階段的持久化關聯。