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