ChatGPT 在威脅檢測領域的應用及潛在風險
事件響應分類和軟件漏洞發現是大型語言模型成功的兩個領域,盡管誤報很常見。
ChatGPT 是一個開創性的聊天機器人,由基于神經網絡的語言模型 text-davinci-003 提供支持,并在來自互聯網的大型文本數據集上進行訓練。它能夠生成各種樣式和格式的類似人類的文本。ChatGPT 可以針對特定任務進行微調,例如回答問題、總結文本,甚至解決與網絡安全相關的問題,例如,生成事件報告或解釋反編譯代碼。安全研究人員和人工智能黑客都對ChatGPT產生了興趣,嘗試探索 LLM 的弱點,而其他研究人員以及網絡犯罪分子則試圖將LLM引誘到黑暗面,將其設置為產生力工具,用于生成更好的網絡釣魚電子郵件或生成惡意軟件。已經有一些案例表明不法分子已經嘗試利用ChatGPT生成惡意對象,例如,網絡釣魚電子郵件,甚至多態惡意軟件。
安全分析師的許多實驗都在表明,流行的大型語言模型(LLM)ChatGPT 可能有助于幫助網絡安全防御者分類潛在的安全事件并發現代碼中的安全漏洞,即使人工智能(AI)模型沒有專門針對此類活動進行訓練。
在對 ChatGPT 作為事件響應工具的實用程序的分析中,安全分析師發現 ChatGPT 可以識別在受感染系統上運行的惡意進程。通過使用Meterpreter和PowerShell Empire代理感染了一個系統,以對手的角色采取了共同的步驟,然后對系統運行了ChatGPT驅動的惡意程序掃描器。LLM 識別出系統上運行的兩個惡意進程,并正確忽略了137個良性進程,利用ChatGPT 在很大程度上減少了開銷。
安全研究人員也在研究通用語言模型如何在特定的防御相關任務上執行。去年12月,數字取證公司Cado Security使用ChatGPT分析來自真實安全事件的JSON數據創建了黑客入侵的時間表,從而生成了一份很好的但并不完全準確的報告。安全咨詢公司NCC Group則嘗試使用ChatGPT作為查找代碼漏洞的一種方式,雖然ChatGPT確實做到了,但漏洞識別并不總是很準確。
從實際的使用來看,安全分析師,開發人員和逆向工程師在使用 LLM 時需要小心,特別是對于超出其能力范圍的任務。安全咨詢公司NCC Group的首席科學家Chris Anley說,“我絕對認為專業開發人員和其他使用代碼開展工作的人應該探索 ChatGPT 和類似的模型,但更多的是為了靈感,而不是絕對正確的事實結果,”他說,并補充說“安全代碼審查不是我們應該使用 ChatGPT 的事情,所以期望它第一次就完美是不公平的。”
使用 AI 分析 IoC
安全和威脅研究通常會以報告、演示文稿、博客文章、推文和其他類型的內容的形式公開披露其調查結果(對手指標、戰術、技術和程序)。
因此,我們最初決定檢查 ChatGPT 對威脅研究的了解,以及它是否可以幫助識別簡單的、眾所周知的對手工具,如 Mimikatz 和快速反向代理,并發現常見的重命名策略。輸出看起來很有希望!
那么對于經典的入侵指標,例如眾所周知的惡意哈希和域名ChatGPT能回答正確嗎?不幸的是,在我們的快速實驗中,ChatGPT 無法產生令人滿意的結果:它未能識別 Wannacry 的知名哈希值(哈希:5bef35496fcbdbe841c82f4d1ab8b7c2).
對于多個 APT 活動使用的域名,ChatGPT 生成了一個基本相同的域名列表并提供了 APT 攻擊者的描述,我們可能對有些域名一無所知?
至于 FIN7 使用的域名,chatGPT 正確地將它們歸類為惡意域名,盡管它給出的原因是,“域名很可能是試圖欺騙用戶相信它是一個合法的域名”,而不是有眾所周知的入侵指標。
雖然最后一個針對模仿知名網站域名的實驗給出了一個有趣的結果,但還需要更多的研究:很難說為什么 ChatGPT 對基于主機的安全事件產生的結果要比對域名和哈希等簡單指標的結果更好。某些過濾器可能已應用于訓練數據集,或者如果以不同的方式構建問題本身(定義良好的問題就是解決了一半的問題!)
無論如何,由于對基于主機的安全事件的響應看起來更有希望,我們指示 ChatGPT 編寫一些代碼來從測試 Windows 系統中提取各種元數據,然后詢問元數據是否是泄露的指標:
某些代碼片段比其他代碼片段更方便使用,因此我們決定繼續手動開發此 PoC:我們篩選了 ChatGPT 的回答中包含有關存在入侵指標為“yes”的語句的事件輸出,添加了異常處理程序和 CSV 報告,修復了小錯誤,并將代碼片段轉換為單獨的 cmdlet, 這樣就產生了一個簡單的 IoC 安全掃描器 HuntWithChatGPT.psm1,能夠通過WinRM掃描遠程系統:
我們用Meterpreter和PowerShell Empire代理感染了目標系統,并模擬了一些典型的攻擊程序。在針對目標系統執行掃描程序時,它會生成一個包含 ChatGPT 結論的掃描報告:
在 137 個良性進程中正確識別了兩個惡意運行的進程,沒有任何誤報。
請注意,ChatGPT 提供了它得出元數據是泄露指標的結論的原因,例如“命令行正在嘗試從外部服務器下載文件”或“它正在使用”-ep bypass“標志,該標志告訴 PowerShell 繞過通常存在的安全檢查”。
對于服務安裝事件,我們稍微修改了問題,引導 ChatGPT “一步一步地思考”,這樣它就會減慢速度并避免認知偏差,正如 Twitter 上的多位研究人員所建議的那樣:
下面的 Windows 服務名稱“ $ServiceName”和下面的 Launch String“ $Servicecmd”是妥協的指示器嗎?請一步一步地思考。
ChatGPT 成功識別了可疑的服務安裝,沒有出現誤報。它產生了一個有效的假設,即“代碼被用于禁用Windows系統上的日志記錄或其他安全措施”。對于第二項服務,它提供了關于為什么該服務應被歸類為入侵指標的結論:“這兩條信息表明 Windows 服務和啟動服務的字符串可能與某種形式的惡意軟件或其他惡意活動相關聯,因此應被視為入侵指標”。
在相應的 PowerShell cmdlets Get-ChatGPTSysmonProcessCreationIoC 和 Get-ChatGPTProcessCreationIoC 的幫助下,分析了 Sysmon 和 Security 日志中的進程創建事件。最后報告強調,有些事件是惡意的:
ChatGPT 在 ActiveX 代碼中識別出可疑模式:“命令行包括啟動新進程 (svchost.exe) 和終止當前進程 (rundll32.exe) 的命令”。
正確地描述了 lsass 進程轉儲嘗試:“a.exe 正在使用提升的權限運行,并使用 lsass(代表本地安全機構子系統服務)作為其目標;最后,dbg.dmp 表示在運行調試程序時正在創建內存轉儲”。
正確檢測到 Sysmon 驅動程序卸載:“命令行包括卸載系統監視驅動程序的說明”。
在檢查 PowerShell 腳本塊時,我們修改了問題,不僅檢查指標,還檢查是否存在混淆技術:
以下 PowerShell 腳本是否經過模糊處理或包含入侵指標?“$ScriptBlockText”
ChatGPT 不僅能夠檢測到混淆技術,還列舉了一些 XOR加密,Base64編碼和變量替換。
當然,這個工具并不完美,可以同時產生誤報或漏報。
在下面這個例子中,ChatGPT 沒有檢測到通過 SAM 注冊表轉儲系統憑據的惡意活動行為,而在另一個示例中,將 lsass.exe 進程描述為可能表明“惡意活動或安全風險,例如系統上運行的惡意軟件”:
這個實驗的一個有趣的結果是數據集中的數據縮減。在測試系統上模擬對手后,分析師要驗證的事件數顯著減少:
請注意,測試是在新的非生產系統上執行的。如果是生產系統可能會產生更多的誤報。
實驗結論
在上面的實驗中,安全分析師開展的實驗始于向 ChatGPT 詢問幾種黑客工具,如 Mimikatz 和 Fast Reverse Proxy。AI模型成功地描述了這些工具,但是當被要求識別眾所周知的哈希和域名時,ChatGPT失敗了,沒有正確描述。例如,LLM 無法識別WannaCry惡意軟件的已知哈希值。然而,識別主機上惡意代碼的相對成功使得安全分析師嘗試要求ChatGPT創建一個PowerShell腳本,目的是為了從系統中收集元數據和入侵指標,并將其提交給LLM。
總體而言,安全分析師使用 ChatGPT 分析了測試系統上 3500 多個事件的元數據,發現了 74 個潛在的入侵指標,其中 17 個是誤報。該實驗表明,ChatGPT 可用于為那些在未運行端點檢測和響應 (EDR) 系統、檢測代碼混淆或逆向工程代碼二進制文件的公司收集取證信息。
雖然 IoC 掃描的確切實施目前可能不是一個非常具有成本效益的解決方案,每個主機大約15-25美元,但它顯示了有趣的中性結果,并揭示了未來研究和測試的機會。我們在研究過程中注意到如下幾個ChatGPT作為安全分析師生產力工具的領域:
系統檢查入侵指標,尤其是在您仍然沒有充滿檢測規則的 EDR 并且需要執行一些數字取證和事件響應 (DFIR) 的情況下;
將當前基于簽名的規則集與 ChatGPT 輸出進行比較以識別差距 — 總有一些技術或程序是您作為分析師不知道或忘記為其創建簽名的。
檢測代碼混淆;
相似性檢測:將惡意軟件二進制文件提供給 ChatGPT,并嘗試詢問它是否有新的二進制文件與其他二進制文件相似。
正確提出問題就已經解決了一半的問題,試驗問題和模型參數中的各種語句可能會產生更有價值的結果,即使對于哈希和域名也是如此。此外,要當心這可能產生的誤報和漏報。因為歸根結底的說,這只是另一個容易產生意外結果的統計神經網絡。
合理使用和隱私規則需要澄清
類似的實驗還提出了一些關于提交給OpenAI的ChatGPT系統的數據的關鍵問題。公司已經開始反對使用互聯網上的信息創建數據集,Clearview AI和Stability AI等公司面臨訴訟,試圖減少其機器學習模型的使用。
隱私是另一個問題。NCC Group的Anley說,“安全專業人員必須確定提交的入侵指標是否暴露了敏感數據,或者提交軟件代碼進行分析是否侵犯了公司的知識產權。”,“向 ChatGPT 提交代碼是否是個好主意在很大程度上取決于具體情況,”他還說,“很多代碼都是專有的,受到各種法律保護,所以我不建議人們向第三方提交代碼,除非他們得到許可。”
其他安全專家也發出了類似的警告:使用 ChatGPT 檢測入侵會向系統發送敏感數據,這可能違反公司政策,并可能帶來業務風險。通過使用這些腳本,你可以將數據(包括敏感數據)發送到OpenAI,所以要小心,事先咨詢系統所有者。
本文翻譯自:https://securelist.com/ioc-detection-experiments-with-chatgpt/108756/