Black Hat USA 2025 | Kernel-Enforced DNS Exfiltration Security
三句話摘要
利用 eBPF 在 Linux 核心層攔截 DNS C2 命令與控制通道,結合 AI 模型實現微秒級惡意植入程式終止。 --- 將 eBPF 核心層深封包檢測與 AI 模型推論結合,可在 Ring 0 層以 56 微秒級速度偵測並終止 DNS C2 植入程式,徹底繞過現有被動式 IDS 的延遲盲點。 1. DNS 是 C2 的首選通道,根本原因在協議設計本身
重點整理
重點- 1
1. DNS 是 C2 的首選通道,根本原因在協議設計本身
- 2
DNS 作為雲端服務探索的基礎協議,防火牆永遠開放、日誌幾乎無人監控、UDP 無狀態特性讓攻擊者可用一次性廉價基礎設施操控。攻擊者將指令編碼嵌入 subdomain(NetBIOS、hex、Base64),每個 label 最多 63 字元,充分利用 255 字元上限傳輸 C2 命令。
- 3
2. C2 基礎設施透過 DGA 和 Redirector Fleet 實現大規模規避
- 4
攻擊者不只註冊單一域名,而是部署 Redirector Fleet(代理鏈)隱藏真實 C2 伺服器位置,並搭配 DGA(Domain Generation Algorithm)自動生成數千個域名,一個被黑名單後立即切換。現有的靜態黑名單和被動流量分析面對此類 IP 突變 + 域名突變組合幾乎失效。
- 5
3. 現有防禦是被動的、有延遲的,必須轉向核心層主動偵測
- 6
現有 IDS/IPS 依賴流量聚合、異常統計、Domain Reputation,偵測到時 C2 植入程式早已執行命令、開啟 child process 甚至橫向移動。研究者的方向是:讓端點 agent 在 eBPF 核心層監控每一個封包,在 DNS 查詢離開系統前就做決策,實現「偵測即攔截」。
- 7
4. eBPF + AI 形成核心與使用者空間的持續強化回路
- 8
eBPF 程式注入核心網路堆疊(kprobes、Traffic Control、LSM),做深封包檢測並將封包重導至使用者空間給 AI 模型推論;若判定為惡意,將進程 ID 寫回 eBPF Maps,核心程式在下次封包通過時直接 drop,迫使惡意程式重試——每次重試都被記錄為行為證據,累積足夠 telemetry 後直接殺死進程。
- 9
--
實用技巧與重點
乾貨- 具體數字與效能
- 85%:APT 組織使用 DNS 做 C2 的比例(Unit 42 分析)
- 255 字元:DNS query name 最大長度限制
- 63 字元:DNS 單一 label 最大長度
- 6000 萬筆:訓練資料集域名數量(合成 + ISP 真實流量)
- 99.89%:深度學習模型精確率(Precision)
- 0.7:二元分類閾值(高於此值判定為惡意)
- 56 微秒:主動模式每次滲出嘗試的平均響應時間
- 1 input layer + 3 hidden layers + 1 output layer:模型架構
- ReLU 激活函數 + Sigmoid 輸出層
- 工具與框架
- eBPF / BPF syscall / JIT Compiler / eBPF Verifier
- Linux Security Modules(LSM)
- Traffic Control(TC)深封包檢測
- kprobes / tracepoints(進程排程器掛鉤)
- Sliver C2(Bishop Fox 開源對手模擬框架,Demo 使用)
- PowerDNS(DNS 伺服器,Demo 使用)
- Kafka(Message Broker,Demo 使用)
- Prometheus + Grafana(Telemetry 匯出與視覺化)
- Response Policy Zone(RPZ,動態域名黑名單機制)
- ONNX(Open Neural Network Exchange,模型序列化格式)
- Shannon Entropy(log base 2)用於 DNS 查詢隨機性分析
- DGA 四種類型
- Time-based(最易偵測)
- Seed-based(取得種子即可預測)
- Wordlist-based(偽隨機,較難偵測)
- Character-based(偽隨機,較難偵測)
- 攻擊類型
- DNS C2(嵌入命令,長期持久化)
- DNS Tunneling(穿透防火牆封鎖的協議)
- Raw Exfiltration(單向大量資料外洩後自毀)
- 兩種防禦模式
- 主動模式(Active Enforcement):封包重導至使用者空間,零資料損失,可容忍少量延遲,僅適用 UDP
- 被動模式(Passive/Clone Redirect):核心複製封包不中斷流量,適用 TCP,累積行為分析後再 drop
- 未來方向
- TLS fingerprinting(含 WireGuard / IPSec 核心加密通道)
- GAN + LSTM 持續模型演進
- XDP(eXpress Data Path)DDoS 防護整合
- --
結論
結論“將 eBPF 核心層深封包檢測與 AI 模型推論結合,可在 Ring 0 層以 56 微秒級速度偵測並終止 DNS C2 植入程式,徹底繞過現有被動式 IDS 的延遲盲點。”
完整解析
詳細現代 APT 組織(包含中國 Volt Typhoon、俄羅斯 Cozy Bear、越南 Ocean Lotus)長期以來將 DNS 作為首選 C2 通訊管道,原因簡單而致命:DNS 是所有雲端環境服務探索的基礎,防火牆上 53 埠永遠開放,協議本身無加密、基於 UDP 且無狀態,日誌在大多數環境中幾乎無人主動監控。Unit 42 分析顯示 85% 的 APT 攻擊利用 DNS 進行隱蔽 C2 操作與資料外洩。攻擊者將加密或編碼後的命令嵌入 DNS 查詢的 subdomain 欄位,充分利用每個 label 63 字元、總長 255 字元的協議上限,並以 Base64、Hex、NetBIOS 等方式混淆,產生高熵值、非字典詞彙的查詢字串。
為了對抗偵測,現代 C2 基礎設施在規模上進行了大幅升級。攻擊者部署 Redirector Fleet 作為代理鏈隱藏真實 C2 伺服器,並結合 DGA(Domain Generation Algorithm)算法動態生成數千個備用域名,一旦某個域名被列入黑名單,植入程式自動切換,每個域名背後還綁定多個 IP 做負載均衡。這種「IP 突變 + 域名突變」的組合讓現有防禦中的靜態黑名單幾乎無效。而現有的 IDS/IPS 依賴被動流量聚合與機器學習異常偵測,偵測到威脅時往往已有顯著延遲——C2 植入程式可能在此期間已完成命令執行、開啟子進程、啟動橫向移動,甚至安裝 Rootkit。
研究者提出的解法是將防禦層下沉至 Linux 核心的 Ring 0 層,利用 eBPF 技術在不修改核心原始碼的情況下動態注入安全程式。eBPF 程式附掛於三個核心子系統:kprobes/tracepoints 掛鉤進程排程器以追蹤 C2 植入程式的 fork 與子進程行為;cgroup socket maps 監控 DNS socket 創建事件;Traffic Control(TC)層進行核心層深封包檢測,直接解析 SKB(socket kernel buffer)中的原始 DNS 封包。LSM(Linux Security Modules)確保所有注入程式的完整性,搭配自定義 CA 驗證。使用者空間的 EDR Agent 持有兩個關鍵資源:快取全球頂級域名白名單,以及一個基於 ONNX 序列化的量化深度神經網路(1 輸入層 + 3 隱藏層 + 1 輸出層,ReLU + Sigmoid),訓練於 6000 萬筆合成域名資料,精確率達 99.89%,分類閾值設為 0.7 以降低誤報。
整個系統形成一個「核心 ↔ 使用者空間」的持續強化回路:eBPF 程式在核心層重導(或複製)可疑封包至使用者空間,AI 模型進行 Shannon 熵值與詞彙分析後將惡意進程 ID 寫回 eBPF Maps;下一個封包到達時,核心程式直接 drop,迫使植入程式重試——每次重試都累積更豐富的行為 telemetry。主動模式(UDP 專用)在 10 次滲出嘗試下平均響應時間僅 56 微秒;被動模式(適用 TCP)則透過封包複製累積行為分析後再終止進程,二者最終均將進程強制終止。雲端部署架構中,各端點 eBPF Agent 將核心 ring buffer telemetry 串流至 Kafka,Controller Node 消費事件後動態更新 PowerDNS RPZ 黑名單,並將黑名單更新廣播回所有資料平面節點,實現全叢集的協同防禦。Demo 中以 Sliver C2 框架進行實測,成功在植入程式建立 reverse shell、執行遠端命令後,由 EDR Agent 啟動並在累積足夠 telemetry 後完整終止惡意進程。
---
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

