庄元勋
随着近日大型语言模型ChatGPT的流行,许多网络安全工作者也开始实验它在抵御安全威胁方面的能力。目前已有多项实验表明,ChatGPT不仅能够对潜在的安全事件进行分类,还能从中发现代码的安全漏洞,即便它没有专门针对此类活动进行训练。
近日,卡巴斯基在一项实验中,将ChatGPT作为事件响应工具的实用程序进行分析。他们模仿一般攻击者使用Meterpreter和PowerShell Empire代理感染了一个系统,用ChatGPT对受感染的进程进行识别。结果显示,ChatGPT在没有误报的情况下正确排除了137个良性进程,识别出了2个恶意进程,并且还供了该服务应被归类为陷落标识(indicator of compromise)的原因和结论。
最终,卡巴斯基分析师使用ChatGPT分析了测试系统上3500多个事件的元数据,发现了74个潜在的危害指标,其中17个是误报。该实验表明,ChatGPT可用于为未运行端点检测和响应系统、检测代码混淆或逆向工程代码二进制文件的公司收集取证信息。
这项实验是从向ChatGPT询问Mimikatz和Fast Reverse Proxy等几种黑客工具开始的。人工智能模型成功地描述了这些工具,但当被要求识别哈希值和域时却失败了,例如,ChatGPT无法识别恶意软件WannaCry的哈希值。
但显而易见,卡巴斯基在识别主机上的恶意代码方面则较为成功,他们要求ChatGPT创建一个PowerShell脚本,以从系统中收集元数据和危害指标并提交。在手动改进代码后,安全人员在受感染的测试系统上使用了该脚本。
在此之前,其他安全公司也在研究如何通过此类模型来执行特定的防御相关任务。2022年12月,数字取证公司 Cado Security使用ChatGPT创建了一个事件中的JSON数据的妥协时间表,生成了一份“不完全准确但总体良好”的报告。
由此看出,ChatGPT得出的结果到底是否可用。安全咨询公司NCC集团尝试用ChatGPT作为寻找代码中的漏洞的方法,得到了“不总是准确”的结果。NCC集团首席科学家Chris Anley表示,安全分析师、开发人员和逆向工程师在使用如ChatGPT的大型语言模型时要小心行事,尤其是对于超出其能力范围的任务。
“我赞同专业开发人员和其他使用代码的人去探索ChatGPT和类似模型,但更多的是为了获得灵感,而不是为了获得绝对正确、真实的结果。”Chris Anley说道:“用ChatGPT进行安全代码审查不是我们的最佳选择,所以期望它第一次就做到完美有点不公平。"
卡巴斯基事件响应团队负责人Victor Sergeev也警告称,结果不准确是一个非常现实的问题,要注意这些这可能产生的误报和漏报,并称:“目前的ChatGPT也只是另一个容易产生意外结果的统计神经网络。”
目前,已经有公司开始对使用互联网上的信息创建数据集提出异议,NCC Group的Anley表示,安全专家必须确定提交的入侵指标是否暴露了敏感数据,或者提交软件代码进行分析是否侵犯了公司的知识产权。向ChatGPT提交代码是否是个好主意,很大程度上取决于具体情况。很多代码是专有的,受到各种法律保护,所以不建议人们提交代码给第三方,除非他们得到许可。
Sergeev也发出了类似的警告。使用ChatGPT檢测漏洞,必然会向系统发送敏感数据,这可能违反了公司政策,并可能带来商业风险。