論文閱讀分析|On Technique Identification and Threat-Actor Attribution using LLMs and Embedding Models

論文基本資訊

  • 論文標題:On Technique Identification and Threat-Actor Attribution using LLMs and Embedding Models
  • 作者:Kyla Guru、Robert J. Moss、Mykel J. Kochenderfer
  • 年份:2025
  • 來源:arXiv:2505.11547
  • 論文連結:https://arxiv.org/abs/2505.11547
  • 程式碼:https://github.com/KylaG/ttp_attribution
  • 主題:CTI、Threat Actor Attribution、MITRE ATT&CK、TTP Extraction、LLM、Embedding Models、Bayesian Inference

On Technique Identification and Threat-Actor Attribution using LLMs and Embedding Models 這篇論文很值得接在 sectools.tw 近期這批 CTI / AI / attribution 論文後面閱讀,因為它不是再做一個泛用的 cyber agent,也不是只測 benchmark 分數,而是直接把 從原始 CTI / forensic 文件抽 TTP,再用這些 TTP 做 threat-actor attribution 的整條流程串起來。

論文核心問題非常務實:如果攻擊歸因的前半段仍高度依賴分析師人工閱讀長篇報告、手動標記 MITRE ATT&CK technique,那麼整個 attribution pipeline 就很難快,也很難規模化。 作者因此想測兩件事:第一,off-the-shelf LLM 到底能不能把非結構化威脅文件轉成可用的 TTP 集合;第二,就算 LLM 抽出的 TTP 不夠乾淨,這些 noisy TTP 是否仍足以支撐後續 threat-actor attribution 模型。

這篇論文想解決什麼問題?

技術性歸因(technical attribution)通常至少包含兩個步驟:

  1. TTP identification:從 incident report、forensic write-up、threat report 中抽出攻擊者使用的 tactics、techniques、procedures
  2. Threat-actor attribution:根據這些行為模式,把事件和已知 threat actor 或 APT group 連結起來

這兩步本來都很吃人工。特別是在大型事件之後,技術調查文檔往往密度高、篇幅長、表述不一致,分析師要先把行為線索從文字裡整理出來,再對照既有 threat group profile,整個過程可能拖很久。作者在導論裡提到,這種延遲在國際級事件後甚至可能影響政策反應與外交表態。

因此,這篇論文真正要處理的不是「LLM 會不會聊天」,而是更接近 CTI 現場的問題:能不能把 LLM 與 embedding search 變成一條可落地的 attribution pipeline,縮短從原始文件到 threat-actor prediction 的時間?

為什麼作者把焦點放在 TTP?

論文延續 CTI 與 attribution 領域一個很重要的觀點:相較於 IP、hash、基礎 IOC、甚至部分 malware code style,TTP 往往更不容易被攻擊者隨手更換或完全偽裝。攻擊者可以快速更換基礎設施、樣本封裝、字串或投遞方式,但要大幅改變整套作戰習慣、工具鏈、橫向移動方式與持久化路徑,成本高得多。

也因為如此,TTP 在 threat attribution 裡通常比低階 IOC 更穩定,特別適合用來建立 group profile。這篇論文沒有採取 malware binary attribution 或 code authorship 的路線,而是直接站在 ATT&CK 導向的行為歸因框架上。

方法概觀:整條 pipeline 怎麼設計?

作者把方法拆成兩個主要子任務:

  1. Step 1:TTP Identification
  2. Step 2:Threat-Actor Attribution

其中第一步又分成兩種做法來比較:

  • LLM prompting:直接讓 GPT-4 從文件中抽取 MITRE ATT&CK TTP
  • Vector Embedding Search:把文件切塊後轉 embedding,再和 MITRE technique / sub-technique 描述做語意比對

第二步則把抽出的 TTP 聚合成 threat actor profile,並以機率模型進行 attribution。整體思路可以簡化成:

Raw CTI / forensic documents
        ↓
TTP extraction
  ├─ GPT-4 prompting
  └─ text-embedding-3-large semantic search
        ↓
Threat actor TTP profile construction
        ↓
Bayesian / probabilistic attribution model
        ↓
Ranked threat actor predictions

這種設計的好處,是把 attribution 拆成可檢查的模組:先看 TTP 抽取對不對,再看這些 TTP 對 attribution 有沒有幫助,而不是直接端出一個黑盒模型說「我猜是某某 APT」。

資料來源與規模

論文與其對應程式碼最有價值的一點,是它不是只拿少量示例做展示,而是整理出一個有一定規模的 threat actor 報告集合。根據作者公開的 repository,整體資料集包含:

  • 728 份 threat intelligence reports
  • 29 個 threat actors
  • 威脅群體涵蓋中國、俄羅斯、伊朗、北韓與財務犯罪集團等不同類型對手

其中包括 APT28、APT29、Lazarus Group、Sandworm、Turla、OilRig、MuddyWater、FIN7、Wizard Spider 等相對常見且在 ATT&CK 上行為輪廓較明顯的 group。作者還另外使用 MITRE ATT&CK Groups 頁面的人工作業結果,作為各群體的 human-generated TTP 參考集合。

這裡有一個關鍵點:作者把 MITRE ATT&CK Groups 上的人類標註 TTP 當成 proxy ground truth。這當然不是完美真值,但在公開可重現研究裡,已經算是相當合理且務實的選擇。

Step 1:LLM 怎麼抽 TTP?

第一條路徑很直觀,就是把原始文件丟給 GPT-4,要求模型輸出可解析的 TTP 清單。這條路的優點是語言模型本身能處理長文本、轉述、變形描述與較隱性的攻擊語句;如果文件裡沒有明確寫出 technique ID,而是用自然語言描述「利用合法帳號遠端登入後進行 lateral movement」,LLM 理論上比較有機會抓到對應 ATT&CK 技術。

但作者也清楚知道這條路的問題:LLM 很可能產生額外噪音、抓錯 technique、遺漏關鍵子技術,或者給出與 MITRE 人工標註不一致的映射。 這也是這篇論文最重要的一個檢驗點——不是預設 LLM 一定會抽得很好,而是實際去比對它與 human-generated TTP sets 的距離。

Step 1 的另一條路:Embedding Search 做語意對齊

除了直接 prompting,作者也設計了一套 vector embedding search 管線。概念上,它不是叫模型先「理解整篇文件再回答」,而是把文件切成多個小片段,再把每個片段映射到向量空間,接著與 MITRE ATT&CK 的 technique / sub-technique 描述做相似度比對。

從作者公開程式碼可以看出幾個重要實作細節:

  • 使用 OpenAI text-embedding-3-large 作為 embedding model
  • 文件以 3 行為一批(3-line batches) 進行切分與比對
  • Technique 描述資料先做 preprocessing,優先保留 sub-techniques,降低 parent / child technique redundancy
  • 以 cosine similarity 做 semantic search,把報告片段對齊到最可能的 MITRE technique

這個方法的好處,是它比直接 prompting 更可控,且更容易檢查是哪些文本片段對應到哪些 techniques;缺點則是它在本質上仍然依賴語意近鄰,若報告措辭過度抽象,或 technique 描述與原文存在較大敘述落差,就可能失配。

HyDE:這篇論文裡一個蠻有意思的強化設計

作者除了標準 embedding search,還加了一個 HyDE(Hypothetical Document Embeddings) 版本。具體作法是:

  • 針對每個 MITRE technique,先用 GPT-4 生成 5 段假想威脅報告文字
  • 再把原始 technique 描述與這些 hypothetical paragraphs 一起轉成 embedding
  • 用這組更「像真實 threat report 語言」的向量表示去做比對

這個點很值得記。因為 ATT&CK technique 定義通常寫得較規範、抽象、 taxonomy-oriented;但真實 threat report 的語言常常是 vendor style、敘事型、包含事件脈絡。HyDE 的目的,就是在兩者之間架一個語言橋樑,讓檢索空間更貼近真實威脅報告語彙。

從設計思路看,這其實很像把一般 RAG / retrieval 裡常見的 query expansion,改造成 technique-side representation enhancement。在 CTI 場景中,這招比單純加 prompt 工程更有結構性。

數學形式:論文怎麼定義任務?

這篇論文少見地把 task formalization 寫得相當明確。作者把每個 threat actor 的文件集合記為 X_doc^(t),對應的人類標註 TTP 集合記為 Y_ttp^(t)。TTP extraction 模型可以看成:

ỹ_ttp^(t,i) = M_ttp(x_doc^(t,i); θ)

也就是對 threat actor t 的第 i 份文件,模型輸出一組預測 TTP。這個模型可以是 LLM prompting,也可以是 embedding search。

在 attribution 階段,論文與公開程式碼實際上採取的是機率式建模。核心想法可以整理成:

P(actor | techniques) ∝ P(actor) × ∏ P(technique_i | actor)

其中:

  • P(actor):threat actor 的先驗機率,可由資料中各 actor 文件量近似
  • P(technique_i | actor):某 technique 在該 actor 行為輪廓中出現的條件機率

也就是說,作者不是直接把 attribution 當成端到端神經分類,而是讓模型建立在「某群體常用哪些 TTP」的可解釋結構上。這種方法非常符合 CTI 實務:分析師在做歸因時,本來就會問『這組技術組合像不像某 actor 的已知行為』。

評估方式:作者怎麼判斷系統好不好?

這篇論文的評估分兩層:

  1. TTP extraction quality:比較 LLM / embedding 方法抽出的 TTP,和 MITRE 的 human-generated TTP sets 有多相近
  2. Attribution quality:把抽出的 TTP 餵給 attribution 模型後,看正確 threat actor 在預測列表中的排名

第二層的 metric 很關鍵。作者不是只看 top-1 accuracy,而是看 correct actor 的 rank position。如果正確群體排名第 1,當然最好;但就算排名第 2 或第 3,對真實分析流程也仍然有價值,因為這代表系統至少能把 analyst 的搜尋空間大幅縮小。

這種評估方式比單純 exact match 更符合 attribution 任務本身的性質。畢竟 threat attribution 很少是完美單點識別,很多時候更像是合理候選集合排序。

主要結果一:LLM 產生的 TTP 與人工資料相似度不高

作者最值得注意的一個發現,是 off-the-shelf LLM 產生的 TTP dataset 帶有明顯噪音,和 MITRE 人工整理的 TTP sets 相似度偏低。換句話說,如果我們把 MITRE ATT&CK Groups 的人工標註當作參考答案,那麼 GPT-4 並沒有神奇到可以乾淨穩定地重建出一模一樣的 threat actor TTP profile。

這點其實非常重要,因為它直接潑冷水給一種常見想像:只要把 CTI 文件丟給大模型,它就會自動抽出高品質 ATT&CK mapping。這篇論文給的答案比較接近:會抽,但不夠乾淨,也不夠穩。

如果把這個結論放到實務上,意思就是:LLM 適合當 analyst 的提取輔助器,但不應直接被當成 ATT&CK mapping 的權威來源。

主要結果二:雖然 noisy,但 TTP 頻率分布仍有用

不過論文最有意思的地方是,作者沒有在「相似度低」這一步就停下來。雖然 LLM 產生的 TTP 集和人工資料不一致,但作者發現:這些自動抽出的 TTP,在 frequency pattern 上仍和 MITRE 現有資料具有某種程度的一致性。

這代表什麼?代表模型未必抓到「完全正確的技術集合」,但它抓到的行為重心可能仍然接近某些 actor 的整體輪廓。從 attribution 角度看,這已經足以形成訊號。

這個觀察相當關鍵,因為它讓我們重新理解 LLM 在 CTI pipeline 裡的角色:LLM 未必要在 extraction 層做到接近人工標註的一對一完美重建,只要它抽出的 TTP 噪音不是完全隨機,而是仍保留行為分布特徵,後面的 attribution model 就有機會利用。

主要結果三:用這些 TTP 訓練出的 attribution 模型仍能高於 baseline

論文的核心結論可以濃縮成一句話:即使 LLM / embedding 方法抽出的 TTP 與人工 ground truth 不完全一致,這些 TTP 仍然可以支撐一個表現高於 baseline 的 threat-actor attribution pipeline。

這裡的意義不小。它說明 threat attribution 不一定要求上游 extraction 完美;只要抽出的特徵在統計上仍保留 actor-specific signal,後段模型仍可學到可用的區辨能力。這是一個很典型、也很現實的 security ML 結論:feature noise 並不必然讓任務失效,關鍵在於 noise 是否淹沒了真正的 discriminative pattern。

為什麼這篇結果很像真實世界?

如果從 analyst workflow 的角度看,這篇論文的結果其實非常合理。真實世界裡:

  • 威脅報告的敘述風格本來就不一致
  • 不同 vendor 對同一事件的 technique mapping 可能略有差異
  • APT group 本身也會共享工具、共享技巧,甚至刻意偽裝

在這種背景下,要期待 LLM 重建出和人工 ATT&CK mapping 完全一致的 TTP 集合,本來就不太現實。相對地,只要系統能穩定把最有區辨力的一批 TTP 排到前面,再讓 attribution 模型把 actor 候選收斂到小範圍,這就已經很接近可用的 analyst assistive system 了。

這篇論文和 AURA、CTIBench、RAGIntel 的差別在哪?

如果把它放進最近幾篇常被一起討論的 CTI / LLM 研究脈絡,可以這樣看:

  • CTIBench 比較像能力測驗,問的是 LLM 在 CTI 任務上到底行不行
  • RAGIntel 比較像 investigation QA 系統,重點在 retrieval-enhanced 回答品質
  • AURA 強調多代理與知識增強的 attribution reasoning
  • 這篇論文 則更聚焦在 attribution pipeline 裡最基礎、也最難規模化的一段:如何從原始文件抽出可供歸因使用的 TTP 表徵

也就是說,它不是把 attribution 當成最後一步的 fancy reasoning problem,而是回到上游訊號建構:如果 evidence representation 做不好,後面再強的 agent 都只是建立在鬆動基礎上。

方法上的強項

我認為這篇研究至少有四個方法層面的優點:

  1. 把 attribution 拆成可觀察模組:先看 TTP extraction,再看 attribution,而不是端到端黑盒
  2. ground truth proxy 合理:使用 MITRE ATT&CK Groups 作為人類標註基準,雖不完美但具公開可重現性
  3. 引入 embedding search 與 HyDE:不是只比較 prompt,而是思考如何在語意空間裡改善 technique 對齊
  4. 輸出 ranked candidates:比單點預測更符合真實歸因工作流

尤其 HyDE 的設計很值得後續研究接手,因為它其實暗示了一個方向:在 CTI 場景中,問題不只是要不要用 LLM,而是怎麼把 ATT&CK taxonomy 語言、threat report 語言、與 analyst reasoning 語言對齊。

這篇論文的限制

當然,這篇研究也有明顯限制,而且其中幾個限制本身就很值得寫進閱讀筆記:

  • MITRE ATT&CK 的 human-generated TTP 並不是真正完整 ground truth,而只是公開可用代理
  • 資料集規模雖然不小,但 threat actor 分布不均,像 APT28、APT29、Lazarus 這類大群體資料較多,其他 actor 樣本偏少
  • 歸因依然主要建立在 TTP,尚未納入 target sector、地理區域、時間序列、基礎設施重用等其他歸因特徵
  • LLM 與 embedding 模型仍為 off-the-shelf,沒有做專門 domain adaptation 或 fine-tuning
  • 模型評估偏向已知 actor 閉集排序,尚未處理 open-set attribution,也就是新 actor / 未知 actor 的情境

其中我認為最重要的限制,是最後一點。現實世界的歸因任務常常不是「29 個 actor 裡猜哪一個」,而是先判斷這事件到底像不像已知群體,還是其實是未收錄的新 campaign。閉集問題能做得不錯,不代表 open-world attribution 就已經成熟。

對後續研究有什麼啟發?

這篇論文其實丟出幾個很值得接續的方向:

  • 把 TTP extraction 和 evidence citation 綁在一起,要求每個 technique 都附對應文本片段,提升 analyst 可驗證性
  • 把 RAG 接進 technique identification,用 ATT&CK、CAPEC、vendor report 做多來源對照,而不是只做單一路徑 semantic matching
  • 加入 temporal modeling,因為 actor 的 TTP profile 本來就會隨時間演化
  • 從 closed-set ranking 走向 open-set attribution,讓模型能回答「不像任何已知 actor」
  • 把 attribution 輸出改造成 analyst-facing explanation,不是只給分數,而是列出支持與反證 evidence

如果把這篇論文和近年的 RAG / multi-agent attribution 研究串起來看,它比較像是在幫整個領域補一塊地基:先把從文字到 TTP feature 的路打通,再談更高階的 reasoning orchestration。

重點整理

  • 這篇論文聚焦 從原始 CTI / forensic 文件抽取 TTP,並用於 threat-actor attribution 的端到端流程。
  • TTP extraction 比較了兩條路徑:GPT-4 promptingtext-embedding-3-large semantic search
  • 作者另外加入 HyDE,為每個 ATT&CK technique 生成假想威脅報告文本,改善 technique 與真實報告語言的對齊。
  • 資料集依公開 repository 說明包含 728 份 threat reports、29 個 threat actors
  • Attribution 採用可解釋的機率式建模,核心概念近似 P(actor | techniques) ∝ P(actor) × ∏ P(technique | actor)
  • 重要發現是:LLM 產生的 TTP 與人工資料相似度不高,但仍保有足夠行為分布訊號,使 attribution 模型表現高於 baseline。
  • 這代表 LLM 在 CTI attribution pipeline 中更適合當作 noisy-but-useful feature generator,而不是直接取代 analyst 的最終歸因判斷。

Takeaway

這篇論文最重要的價值,不是證明 GPT-4 已經能可靠地做 threat attribution,而是更精準地告訴我們:LLM 在歸因流程中的真正位置,可能不是「直接判案」,而是「把原始威脅文件轉成夠有訊號的 TTP 表徵,再交給可解釋的 attribution 模型做候選排序」。

對 CTI 與 threat attribution 研究來說,這是個非常務實的結論。它一方面提醒我們,不要把 LLM 自動 TTP mapping 當成乾淨 ground truth;但另一方面也指出,即使 extraction 有噪音,只要保留了行為分布特徵,整體 pipeline 仍可能產生有價值的歸因輔助。對想把 AI 放進 CTI workflow 的團隊來說,這篇論文的啟發很直接:先把 evidence representation 做對,再談高階 agent 與自動化決策。

免責聲明

本文由 AI 協助整理與撰寫,內容主要依據公開論文、作者提供之程式碼與可取得之研究資料進行彙整、解讀與摘要。儘管已盡力確保內容之完整性與可讀性,仍可能因模型理解限制、資料來源差異或語意轉譯過程而存在疏漏、不精確或更新延遲之處。本文內容僅供研究交流與知識分享參考,實際技術細節、實驗設定與最終結論,仍應以原始論文、官方文件及作者公開資料為準。

You may also like