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

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,今天尝试的时候同样的请求已经被禁止了。但无论如何,人工智能的存在势必能提高我们的研究效率,也能帮我们探索出更多创新性的研究场景和方向。


http://www.kler.cn/a/2121.html

相关文章:

  • JMM内存模型
  • 案例分享 | 金融微服务场景下如何提升运维可观测性
  • DBA使用Shell完成自动化相关工作
  • 【python进阶】你还在使用for循环新建数组?生成器表达式帮你一行解决
  • 文心一言 vs. GPT-4 —— 全面横向比较
  • 一、基础算法3:二分 模板题+算法模板(数的范围,数的三次方根)
  • 【网络】网络层协议——IP
  • MYSQL常用命令大全
  • 前后台程序的嵌入式时间转轮算法
  • 图片怎么做成GIF动态图?分享两种可以实现的方法
  • ​申请专利需要具备什么条件
  • 【C++】初识模板
  • 上海人工智能企业CIMCAI世界第一完成两百万次AI验箱上亿次箱识别,成熟AI产品运行超7百万小时智慧港航智能化上海人工智能企业
  • js数组方法(大全)
  • 【Linux入门篇】操作系统安装、网络配置
  • QT搭建MQTT开发环境
  • 【数据结构】Java实现双向链表
  • 个人小站折腾后记
  • Linux命令---设备管理
  • 太强了,英伟达面对ChatGPT还有这一招...