我們建立了透過跨所有系統的日誌關聯來偵測單一系統無法發現的攻擊機制 #
防火牆的連接埠掃描、VPN 身分驗證失敗、應用程式登入嘗試。每一個個別事件的嚴重程度都很低。但當同一個 IP 同時出現在這 3 個層級中時,這就不是巧合——而是一場攻擊活動。我們在 BASTION 中實作了多層關聯引擎,並在實際攻擊中示範了跨層攻擊活動偵測。
單一設備監控存在結構性的盲點 #
迄今為止,BASTION 一直針對各設備個別分析日誌以偵測異常。防火牆的連接埠掃描、Web 伺服器上的機器人攻擊、AD 身分驗證失敗——只要任一設備超過門檻值,就會加以封鎖。
然而,這種做法無法偵測到結合多個低於門檻值攻擊的攻擊活動。
為了偵測這種「單獨看不出來、但跨系統就能看見」的模式,我們在 BASTION 中實作了多層關聯引擎。
多層防禦架構 #
BASTION 所監控的基礎架構由 5 個防禦層組成。
| 層級 | 防禦對象 | 偵測事件 |
|---|---|---|
| L1:網路邊界 | 防火牆 | 連接埠掃描、DDoS、異常封包 |
| L2:VPN/遠端存取 | VPN 閘道 | TLS 錯誤、身分驗證失敗、憑證探測 |
| L3:身分驗證基礎架構 | AD/LDAP | 登入失敗、帳號鎖定、憑證填充攻擊 |
| L4:應用程式 | Web 伺服器/雲端應用程式 | 機器人垃圾內容、弱點掃描、登入嘗試 |
| L5:端點 | Windows 用戶端 | 可疑的 PowerShell 執行、USB 連接、權限提升 |
過去,這 5 個層級是各自獨立監控的。多層關聯引擎則以相同 IP 為關聯依據,橫向追蹤所有層級。
軌跡累積與關聯 #
多層關聯引擎的核心,是一套能跨層累積攻擊來源 IP「軌跡」的機制。
Periodic analysis every 15 minutes → Extract IPs from logs of each layer → Record to trace registry "when, in which layer, what was detected" → Auto-detect IPs appearing in multiple layers → If threshold exceeded, judge as campaign → Auto-block
即使個別層級顯示的嚴重程度偏低,隨著軌跡在多個層級間累積,關聯分數會隨之上升,一旦被判定為攻擊活動,就會啟動自動封鎖。
軌跡會衰退 #
軌跡並非永久存在。若一段時間內沒有更新,就會自動刪除。若攻擊者停止掃描,軌跡便會消失,誤判風險也隨之降低。反之,若軌跡在短時間內於多個層級重疊,關聯分數就會迅速上升,觸發封鎖。這是一種「會記住,但也會遺忘」的設計。
實際的攻擊活動偵測 #
在實作多層關聯引擎後不久,這套機制就在一次實際攻擊中啟動了攻擊活動偵測。
多層關聯攻擊活動偵測
攻擊來源 IP:xx.xxx.156.12
出現層級(3 層):L1_network、L3_auth、L4_app
事件總數:120
同一個 IP 被偵測到出現在多個防禦層中。
這個 IP 呈現出以下的行為模式。
| 層級 | 偵測內容 | 個別判定 |
|---|---|---|
| L1:網路邊界 | 被防火牆封鎖存取 | —(屬正常雜訊範圍) |
| L3:身分驗證基礎架構 | 偵測到與身分驗證相關的事件 | —(個別而言低於門檻值) |
| L4:應用程式 | 在應用程式層偵測到存取 | —(個別而言低於門檻值) |
單就任何一個層級來看,都不足以觸發高等級判定。但正因為同一個 IP 出現在 3 個層級中,多層關聯引擎才將其判定為攻擊活動,並啟動自動封鎖。
這為何重要 #
與 Fail2Ban 的根本差異 #
Fail2Ban 是一款優秀的工具,但它只能執行單一日誌檔案的門檻值判定。例如「若 nginx-error.log 中出現 10 次 403,就封鎖」。這是侷限於單一設備、單一日誌的判定。
多層關聯引擎則跨所有設備日誌,追蹤同一 IP 的行為模式。它能從日誌脈絡中,偵測出「低頻率、跨多層」的攻擊活動——這是單一設備無法偵測到的。
連接的設備越多,準確度就越高 #
當新設備的 syslog 連接到 BASTION 時,多層關聯就會增加一個新的「層級」。隨著層級增加,同一 IP 的行為模式就能從更多角度被觀察到,攻擊活動偵測的準確度也隨之提升。
這是傳統監控工具(各設備獨立分析)所不具備的特性。在 BASTION 上,被監控的對象越多,整套系統的防禦能力就越強。
「只需指向 syslog」的設計,是這一切的前提 #
第 4 篇文章中實作的機制——「只需指向 syslog,AI 就能自動判定設備種類」——同時也是為多層關聯所打造的導入設計。由於新增設備時無需編輯設定檔或進行設備註冊,我們得以在短時間內,將客戶環境中的所有機器都連接到 BASTION。易於連接的特性,正是多層關聯得以實用化的支撐。
安全性設計 #
由於多層關聯會自動執行封鎖,誤判風險的管理至關重要。
| 安全機制 | 目的 |
|---|---|
| 軌跡自動衰退 | 沒有更新的軌跡會自動刪除。防止因舊軌跡而產生誤判 |
| 白名單比對 | 私有 IP、公司 IP、DNS 伺服器絕不會被封鎖 |
| 重複封鎖檢查 | 已封鎖的 IP 不會被重複封鎖 |
| 24 小時自動解除 | 即使發生誤封鎖,也會在 24 小時內自動恢復 |
| 從 Slack 立即解除 | 一旦對業務造成影響,可立即透過 Slack 指令解除 |
總結 #
我們在 BASTION 中實作了多層關聯引擎,能跨所有系統日誌自動偵測攻擊活動。即使是低於單一設備門檻值的攻擊,只要同一個 IP 出現在多個防禦層中,就會被判定為攻擊活動,並觸發自動封鎖。
實作完成後不久,跨層攻擊活動偵測便在一次橫跨 3 個層級的實際攻擊中啟動,完成了概念驗證。BASTION 正從「單一設備監控工具」演進為「跨系統攻擊活動偵測引擎」。
BASTION 是一項在封閉環境中實現 AI 安全監控的服務。
只要將貴公司整體基礎架構連接到 BASTION,多層關聯防禦即可發揮作用。