事件回應分類和軟體漏洞發現是大型語言模型成功的兩個領域,儘管誤報很常見。
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掃描遠端系統:Get-ChatGPTIoCScanResults-apiKey OpenAI API key https://beta.openai.com/docs/api-reference/authentication -SkipWarning []-Path -IoCOnly []Export only Indicators of compromise-ComputerName Remote Computer's Name-Credential Remote Computer's credentials我們用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/
以上是應用威脅偵測技術:保護網路安全的關鍵,風險也需考慮的詳細內容。更多資訊請關注PHP中文網其他相關文章!