“類ChatGPT”在ATT&CK情報提取中的研究
一. 背景介紹
美國人工智能公司OpenAI的ChatGPT是一個基于自然語言處理的聊天機器人,在自然語言處理方面具有一定的優勢,可以用于識別和理解文本中的實體和關系,提取威脅漏洞、攻擊者、攻擊方法等情報信息。360劉煥勇《NLP前沿技術:One-shot就能做事件抽取?ChatGPT在信息抽取上的強大應用》中實驗得出ChatGPT完全勝任信息抽取工作的結論。
在ChatGPT推出兩個月前,微軟公開了基于GPT2的ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)情報提取工具MitreMap,并集成到Azure Sentinel云原生SIEM平臺。ATT&CK威脅情報信息如TTPs(技術、戰術和程序)等提取分析有助于提高對威脅的識別和響應能力,從而幫助組織更好地保護自己的網絡和數據資產。
安全界已經掌握了使用來自OSINT系統或第三方供應商的機器可讀資料,但這些資料通常提供IOC或IOA,而沒有背景信息。另一方面,我們擁有豐富的威脅分析報告,包含在內部事件響應報告、公共博客和白皮書中。這些報告描述了ATT&CK威脅情報信息,包括網絡攻擊者的行動、工具、戰術和程序等,而當前無法自動消費或使用這些數據,因為它們是由非結構化文本組成的。威脅分析員通過手動操作來提取與他們的威脅模型最相關的對手信息,但這種手動工作存在時間和成本上的瓶頸。
如何從已有的威脅分析報告中提取ATT&CK情報信息用來洞察安全態勢?微軟基于GPT2的 MitreMap工具是否能有效自動化提取分析ATT&CK情報信息?基于GPT3.5以上的ChatGPT是否可以直接應用于ATT&CK情報提取?本文通過測試分析“類ChatGPT”基于自然語言處理(NLP)技術在ATT&CK情報提取上的“洞察”能力,展望“類ChatGPT”在威脅情報分析領域的應用前景。
二. ATT&CK情報信息提取工具
威脅分析報告大部分是由非結構化文本數據組成,描述了攻擊者或攻擊團體在網絡攻擊過程中使用的工具、技術和程序等,報告通常來自于安全博客、社區論壇、安全廠商或情報共享平臺。目前越來越多的網絡威脅分析報告公布了ATT&CK映射關系,然而傳統依賴于人工從不斷增長的報告中分析提取出ATT&CK技術是不現實的,為了減輕安全研究人員的分析疲勞,通過NLP技術提取非結構化報告中的ATT&CK,實現威脅報告中不同威脅信息自動映射ATT&CK十分必要。下面分析三種自動化的ATT&CK情報信息提取工具:微軟的MitreMap、OpenAI的ChatGPT和綠盟自研NS-IE。
2.1
微軟MitreMap
微軟MitreMap是一個基于MITRE ATT&CK框架的威脅情報可視化工具。它可以幫助安全分析師更好地理解和可視化威脅情報,以及威脅行為的攻擊鏈和關聯關系。
MitreMap可以與微軟 Defender for Endpoint和Azure Sentinel等安全產品集成,從而提高安全分析和響應的效率和準確性。MitreMap集成到Azure Sentinel云原生SIEM平臺,該平臺依靠微軟強大的安全解決方案以及ML的分析能力實現對企業、用戶和服務的各種維度的監控及探測,還為客戶自定義搜查場景提供運維平臺Jupyter Notebook,方便客戶創建及運維主動調查的腳本及算力支撐。MitreMap集成在Notebook中可以協助安全分析人員快速分析安全報告,同時也可在Notebook外獨立運行。
MitreMap采用的DistilGPT-2模型是一種更快、更輕量、經過知識蒸餾的GPT-2模型,它用于將描述文本中攻擊技術術語與歷史技術描述相關聯,完成文本到ATT&CK技術的映射,另外還支持IOC的抽取。相比于算法上的提升,MitreMap在數據量上也有突破,MitreMap從TRAM、Sentinel Hunting和檢測規則等數據源收集了1萬3千條數據。
值得一提的是,MitreMap為DistilGPT-2模型的ATT&CK技術預測結果提供了部分可解釋性,展示了正相關和負相關的相關短語或詞匯。

圖 1 MitreMap-NoteBook演示
2.2
OpenAI ChatGPT
ChatGPT是由OpenAI開發的大型語言模型,建立在GPT-3.5之上,是GPT-3.5微調的產物,可以進行信息抽取、語義理解、問答等自然語言處理任務。ChatGPT在NLP(知識抽取與構建)和IR(知識檢索,問答等)相關任務的研究范式上提出了新的思路,圖2是ChatGPT在信息抽取中的作用。

圖 2 ChatGPT交互式信息抽取
事件抽取是信息抽取的關鍵技術之一,ChatGPT提供了一個通用事件抽取例子,如圖3所示,可以準確地識別文本中的關鍵信息,抽取通用事件信息基本正確,并給出了解釋。可見ChatGPT可以幫助企業和機構從大量文本數據中提取通用事件信息,提高數據分析、決策的效率和準確性。ChatGPT是否可以應用于安全領域ATT&CK相關攻擊事件抽取有待后續實驗驗證。

圖 3 ChatGPT交互式事件抽取
2.3
綠盟自研NS-IE
綠盟天樞實驗室在威脅報告分析、安全知識圖譜構建和推理分析方面積累了較多技術經驗,并自研ATT&CK提取算法(以下簡稱NS-IE)從網絡威脅報告中自動化提取和預測ATT&CK技術,從而降低非結構數據的分析成本,提升ATT&CK在綠盟產品的檢測和防御能力。
綠盟對關于威脅報告ATT&CK提取的研究或工具分析總結如表1,其中具有代表性的工作有MITRE威脅信息防御中心CTID提出的TRAM(https://github.com/center-for-threat-informed-defense/tram/)和開源項目rcATT(https://github.com/vlegoy/rcATT)。下面通過模型框架、應用效果等方面綜合分析現有ATT&CK提取分析工具。
表 1 ATT&CK情報信息抽取工具匯總

在對上述ATT&CK提取工具的調研實踐中發現,其準確性和穩定性存在不足,主要存在的問題有:
- 攻擊行為無關的語句打上ATT&CK技術標簽
- 部分ATT&CK技術分類準確率較低
- 缺乏可解釋性
- TTPDrill完全依賴行為規則分類,維護成本高

圖 4 ATT&CK分類混淆矩陣
ATT&CK技術分類容易產生誤報原因之一在于不同技術之間存在交叉性,在文本描述上呈現趨同性容易混淆。例如,從圖4所示的部分技術分類混淆矩陣可以看出技術T1546(Event Triggered Execution)與T1033(System Owner/User Discovery)易混淆,原因在于兩段技術描述中,system、user、account均為高頻詞匯,而分類器從詞特征上很難準確提取描述文本語義,容易生成誤報。
因此我們提出了自己的ATT&CK提取算法(以下簡稱NS-IE),進行數據和算法優化改進:
- 借鑒TRAM,提供一系列交互功能,包括結果校驗、自定義機器學習模型,從上圖能看出預測結果直接和對應語句建立關聯,并支持用戶反饋校驗結果;
- 以數據為中心,人工標記數據擴充TRAM訓練數據集,添加噪音數據,對非攻擊技術相關語句進行初篩,從而降低誤報;
- 融和專家經驗知識,添加技術行為觸發詞,通過攻擊行為相關短語和詞匯來區分易混淆的ATT&CK技術,提供可解釋性。
NS-IE不僅集成了ATT&CK提取算法模型,還支持抽取威脅報告中其他關鍵信息如攻擊者、惡意軟件、攻擊目標和IOC等實體。基于NS-IE關鍵信息抽取算法,我們構建了威脅報告分析展示平臺,如圖5所示,我們對關鍵信息做了列表化和圖譜化呈現,實體關系圖譜中包括了勒索家族(black basta)、目標行業(retail)和使用的攻擊方法(collect data and credentials),其中攻擊方法由原文中的行為短語組成,可進一步映射到ATT&CK技術,通過圖譜形式提供圖可解釋性。同時NS-IE除了協助分析人員高效直觀地獲取信息,還支持用戶交互,對分析結果進行校驗反饋。

圖 5 NS-IE系統截圖
三. 工具的對比實驗分析
通過以下實驗,對比分析微軟MitreMap,OpenAI ChatGPT和綠盟自研NS-IE三個工具在ATT&CK情報提取方面的優劣勢。
3.1
實驗1:遠控木馬行為分析
針對如下一段話進行ATT&CK情報信息提取測試分析遠控木馬的攻擊行為:
During the initial connection to the remote server (after an initial ping to check for internet connectivity), the Trojan will send the machine\u2019s name, installed Windows version, logged username, webcam availability and the version of the RAT in use.


圖 6 MitreMap-實驗1 抽取預測分析可視化
MitreMap所使用的DistilGPT-2模型,這段話描述了遠控木馬在連接到遠程服務器后,會發送受害主機的Windows版本和登陸用戶名等敏感信息給服務器,從圖6MitreMap分析結果來看分析結果不是很理想,預測結果并不全面。因為攻擊者經常使用新的攻擊技術和工具,而且ATT&CK框架也在不斷發展和更新,使得預測變得更加困難。

圖 7 ChatGPT-實驗1對話提取分析
ChatGPT可在對話過程中理解我的意圖,并知道ATT&CK技術框架的概念,但是預測結果會給出多種可能性的推測,需要安全專家進一步人工驗證分析。

圖 8 NS-IE-實驗1抽取預測結果圖譜展示
NS-IE預測標簽為
T1082(System Information Discovery),沒有預測出T1033(System Owner/User Discovery), 沒有完整的識別出描述中所有攻擊技術。但是提供相關行為觸發詞,同時NS-IE對抽取出的技術實體進行圖譜化展示,支持用戶圖交互下鉆分析,發現更多關聯知識,如惡意樣本家族、攻擊者和攻擊工具等。
3.2
實驗2:惡意軟件行為分析
針對如下一段話進行ATT&CK情報信息提取測試分析惡意軟件的攻擊行為:
Although most of these samples are known, cybercriminals rely on a plethora of obfuscation tools and techniques in order to change the malware structure so as to bypass signature scanning and avoid antivirus detection.


圖 9 MitreMap-實驗2 抽取預測分析可視化
MitreMap預測分析結果并不理想,可信度較低。預測ATT&CK技術是一項非常復雜的任務,需要全面的數據、準確的算法和配置、以及深入的上下文信息等多個因素的綜合考慮。因此,即使使用最好的工具和方法,也不能保證完全準確地預測出所有的ATT&CK技術。

圖10 ChatGPT-實驗2對話提取分析
在對惡意軟件的繞過簽名行為描述中,ChatGPT能夠準確預測ATT&CK技術并給出合理的解釋,與在實驗1中的表現完全不同,這里我們將實驗1和實驗2兩段話打包整合在一起讓ChatGPT進行判斷:

圖 11 ChatGPT-實驗2對話提取結果
可以看出ChatGPT能正確抽取出對應的ATT&CK技術名稱并給出中文解釋,然而在ATT&CK-ID映射上出現錯誤:

Obfuscated Files or Information對應的ATT&CK技術ID應為
T1027(https://attack.mitre.org/techniques/T1027/),該技術初次發布時間為2017年5月并且未被修改過技術ID,其映射錯誤的T1218: System Binary Proxy Execution(https://attack.mitre.org/versions/v12/techniques/T1218/) 發布時間為2018年4月,而ChatGPT訓練數據使用了更新至2021年的大量語料,對于2021年之前的常識信息判斷失誤。可以看出ChatGPT的效果不太穩定。

圖 12 NS-IE-實驗2抽取預測結果圖譜展示
圖12是NS-IE相關圖譜,展示了ATT&CK技術T1027相關的樣本家族和工具等信息,展示中自動關聯了多個威脅報告中所提取ATT&CK情報信息,完整描述了T1027相關上下文信息。可見,攻擊者通過各種手段,例如釣魚攻擊、漏洞利用等方式,將惡意軟件植入到受害者系統中。為了防御T1027技術,企業可以采取多種措施,例如限制用戶權限、監控系統啟動項、使用安全軟件等,以及實施安全加固措施來減少攻擊面。
3.3
實驗3:進程注入行為分析
針對如下一段話進行ATT&CK情報信息提取測試分析進程注入的行為:
CreateProcessAsUserA is called with the following as the CommandLine parameter :\\\\rundll32.exe,zxFunction001zxFunction001 modifies the current process memory, uses data contained in the named pipe to create a socket, and then executes the code that sends the remote desktop session to the server controller.",Before the service is started ChangeServiceConfig is called to modify the service type to shared and interactive.


圖 13 MitreMap-實驗3 抽取預測分析可視化
微軟MitreMap仍然沒有正確預測出該段描述所涉及的ATT&CK技術。針對ATT&CK預測不準確的情況,需要后續采取措施來優化提高預測的準確性和效果。

圖 14 ChatGPT-實驗3對話提取分析
ChatGPT這次能正確理解語義,分析出ATT&CK技術外,還給出了對應解釋以及戰術名稱。在正確預測到T1055-進程注入攻擊技術外,還給出其他兩個弱關聯的技術分類預測(T1043和T1543.003)可見ChatGPT預測僅僅是基于提供的信息和知識經驗而得出的結論,仍然需要進行進一步的確認和驗證。

圖 15 NS-IE-實驗3抽取預測結果圖譜展示
NS-IE預測標簽為T1055-Process Injection,圖15圖譜展示了ATT&CK技術T1055相關上下文信息,包括樣本家族、入侵集和攻擊工具等。進程注入技術是一種難以檢測和防御的攻擊方法,圖譜展示中為防御者給出可以采取的防御措施來提高安全性,如通過端點行為防護中應用程序白名單、監控進程行為和限制系統權限等。
3.4
實驗結果對比
從上面3個實驗測試分析中可以看出,MitreMap不能完全理解威脅描述的語義,并準確提取正相關詞語,提供可解釋性,猜測一方面與訓練集質量相關,數據未經過人工校驗,并且標簽數量多達191個,雖然包括了所有企業域ATT&CK技術,然而這些技術與技術、以及子技術之間存在部分交叉重合。也正因如此,我們提出的NS-IE工具中僅對父技術做分類,保持了較高可信度。另外一方面經過知識蒸餾的GPT-2小模型,其泛化能力不足。
從ChatGPT對話中能看出,能給出靠譜的答案也能給出離譜的預測,其上限高下限低,在做出準確判斷的同時,還能給出合理的解釋以及相關戰術知識補充,然而也能在ATT&CK技術與ID映射關系上犯下“低級失誤”,在專業領域場景下缺乏穩定性輸出。可見雖然ChatGPT可以理解和分析自然語言文本,但是它并沒有專門針對提取ATT&CK情報信息的算法和模型,因此不適合作為專業的ATT&CK情報信息提取工具。
綠盟自研NS-IE測試結果目前稍優,得益于這兩年ATT&CK情報信息提取在訓練數據積累和加強、算法的迭代優化,同時引入多種技術加強預測正確性,主要在預測流程上做了優化,如圖16所示,首先對攻擊行為文本初篩,過濾掉非攻擊行為相關文本,另外設計攻擊行為動作分析方法,對非結構化描述中的具體行為進行抽取, 若抽取出ATT&CK技術高度相關動作如bypass、phishing等短語,可以直接通過規則映射到ATT&CK技術,另外攻擊動作短語能作為ATT&CK技術分類器的特征輸入,提供可解釋性并提高置信度。

圖 16 NS-IE-算法流程
四. 總結
在威脅報告ATT&CK分析場景下,目前來看無論是MitreMap的DistilGPT-2模型還是ChatGPT都無法提供穩定可靠的結論。ChatGPT在傳統NLP任務上如智能問答、關鍵信息抽取、文本生成上都表現出極強的連貫性和邏輯能力,突破了傳統AI系統的程式化交流方式。但是ChatGPT并不是一個專門用于安全領域情報信息抽取的工具,由于安全領域的很多數據都是敏感的,不適合共享或公開,導致訓練數據不足,模型訓練結果難以達到專業情報信息抽取工具的精度和效果。
因此,如果您需要進行安全領域的專業情報信息抽取分析,一方面使用專門的情報信息抽取工具和技術,提供更多安全領域特定數據經過訓練和優化,可以更準確地識別和提取文本中的關鍵信息,更有效地處理大量的威脅情報數據,并提取有用的信息,幫助您更好地理解和應對潛在的威脅。另一方面,ChatGPT所展現的通用信息抽取能力強大,在大模型時代,我們應該思考如何將其應用在安全垂直領域,融合安全領域相關的特異性知識,如ATT&CK技術間差異性和同質性,從而對模型結構進行改進,讓模型適用于領域數據的同時提高數據質量,做好特定任務。