当前位置: 首页 > news >正文

ChatGPT在安全研究领域的应用实践

引言

ChatGPT是一个人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,并能进行连续对话。目前ChatGPT已经官方已经更新模型到4.0版本,宣称它是“最先进的系统,能生产更安全和更有用的回复”。当前使用ChatGPT进行问答也越来越方便,本文总结了一些ChatGPT在安全研究领域的一些应用实践,有了人工智能的帮助,我们更轻松高效的完成部分研究工作。

01

防护规则编写

ChatGPT能很方便的帮助我们编写各类防护规则。除开规则本身,它还帮你写好了注释,让你不光能快速编写,还能根据注释进行学习。

对于给出的规则编写要求,ChatGPT也不拘泥于给定的条件和范围,会尝试进行发散。如在下图的案例中,在我们原本提的需求之外,ChatGPT在检测的文件内容里脑补了“<?php”字符串,消除了部分误报;同时在上传文件名里除了php外,对php3、php5也做了限制,消除了部分漏报。

除此之外,对于一些指纹类的事件型规则,我们可以很方便的利用ChatGPT完成相应规则的收集,后续只需要做好验证工作就行了。

02

检测规则编写

ChatGPT虽然不能直接帮我们写poc(主要是考虑到了漏洞利用造成的影响),但是对于一些检测插件,还是能很快帮我们写出检测demo示例来:

当需要转换语言或转换poc格式时,利用ChatGPT也能很轻易的帮忙完成相关工作:

03

代码审计&漏洞挖掘

我们当然希望通过ChatGPT帮我们做更多有意义的安全研究工作,比如自动化漏洞挖掘。就笔者目前的测试情况来看,对于逻辑较为简单的代码,ChatGPT能很快找到脆弱点,但稍微设置些“坑”上去,ChatGPT的表现效果就不那么友好了。

我们以一个最简单的sql注入为例,看看ChatGPT的表现效果如何。首先在不做任何过滤的情况下,ChatGPT能很快识别到sql注入:

我们加一个简单的过滤条件,把get方法里获取的参数过滤了,但是查询语句里还是使用request方法获取请求数据,很显然使用post方法传递数据依然可以造成sql注入,我们看看ChatGPT能发现吗?

这里ChatGPT回避了我们设置的“坑”,开始扯怎么绕过正则的问题。这并不是我们想要的答案,在稍加提示后ChatGPT给出了正解。

现在我们难度进一步升级,过滤request里的参数,然后将get里的参数拼接进sql语句,我们先来看看ChatGPT能否帮我们找到突破点。

ChatGPT在这里出现了代码理解错误,认为$_GET没有做任何过滤。我们想让它知道$_GET在$_REQUEST里已经被过滤掉了,于是开始引导:

ChatGPT在思考了一阵好发现确实是自己错了,该代码不存在sql注入,并开始道歉。这时候再给它一点提示,剧情又反转了过来

在一步步引导后ChatGPT终于发现了漏洞点在哪里,并给出了最终的绕过方案。从这个案例可以看出,ChatGPT在基于安全视角的代码理解上还需要不断学习和打磨。

04

社会工程学应用

作为“写小作文”的能手,ChatGPT自然在社会工程学上也有广泛的应用,例如我们可以利用它轻松写一封钓鱼邮件:

当然也可以用它来做钓鱼邮件识别和检测,我很乐意看到它自相矛盾的样子:

除此之外,我们可以根据所掌握的信息,利用ChatGPT生成口令字典:

总结

事实上ChatGPT凭借其强大的训练集有能力帮我们做更多安全研究方面的事情,比如漏洞复现、木马免杀、代码混淆等,只是很多偏攻击向的成果已经被列为了黑名单。在上个月我们还能用ChatGPT辅助生成免杀的webshell,今天尝试的时候同样的请求已经被禁止了。但无论如何,人工智能的存在势必能提高我们的研究效率,也能帮我们探索出更多创新性的研究场景和方向。

相关文章:

  • ChatGPT在安全研究领域的应用实践
  • 脱不下孔乙己的长衫,现代的年轻人该怎么办?
  • mapboxGL实现室内地图
  • 网络安全横向移动指南
  • 基于ssm大学生竞赛活动平台(包含万字文档)020
  • web前端开发和后端开发哪个难度大?
  • 面试了8家软件公司测试岗位,面试题大盘点,我真的尽力了
  • 深度学习(22):如何判断训练过程中深度学习模型损失值不再下降
  • WPF UpdateSourceTrigger属性
  • Python程序员看见一个好看的手机壁纸网站,开撸!
  • Oracle数据库从入门到精通系列之二:SGA和后台进程
  • 【微服务】—— Nacos设计原理
  • 一起Talk Android吧(第五百二十五回:在Android中使用MQTT通信七)
  • 什么是语法糖?Java中有哪些语法糖?
  • c++错误使用迭代器超出引用范围分析与解决
  • 在 Linux 上保护 SSH 服务器连接的 8 种方法
  • 使用 Python 从点云生成 3D 网格
  • 什么是ERP系统?为何工厂都要上erp软件?
  • Neodynamic EPLPrinter SDK 2.0 for .NET Crack
  • 对void的深度理解