安全漏洞检查
几乎每一项新技术的出现,都会首先被运用在安全领域,ChatGPT 也不例外。在 ChatGPT 出现的第一时间,利用 ChatGPT 编写钓鱼邮件,进行社会工程学攻击,辅助分析代码漏洞等等就成为热门话题。其实技术只是工具,ChatGPT 同样在防守侧的安全运营分析方面有用。
我们以Oracle官方修复过的两个安全漏洞为例,尝试进行一次安全运营分析。这两个漏洞分别是CVE-2020-14882和CVE-2020-14883。其中CVE-2020-14882可以允许未授权的用户绕过管理控制台的权限验证访问后台,而CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,就能通过一个HTTP请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。
首先,我们直接询问 ChatGPT 怎么处理 CVE-2020-14882 漏洞,看看它是不是知道这个漏洞,如果知道,能不能给出合理建议:
在安全运营中如果发现 CVE-2020-14882 漏洞利用事件,应该如何处置
没问题,ChatGPT 对 CVE-2020-14882 的理解是正确的,并且给出的建议也符合一般安全运营人员对待漏洞的惯例:隔离、评估、修复、加固等等。那我们就开始着手准备隔离漏洞对自己 IT 环境造成的影响吧。首先,要知道漏洞可能影响的范围,我们继续问:
这个漏洞影响哪些版本?
回答也很精准,那么修复措施就可以接着继续问:
可以升级到什么版本?
接下来,需要根据实际情况,评估漏洞是否已经造成损失。漏洞被人利用,肯定会留下一些蛛丝马迹,现在需要 ChatGPT 告诉我们,应该从什么地方开始排查。一般来说,企业内部都会建设 SIEM 安全信息与事件管理系统,集中化存储各种系统和应用日志,我们只需要知道查什么日志里的什么文本,就可以快速搜索了。现在让 ChatGPT 告诉我们最关键的这点:
安全运营人员看什么日志,以及日志里出现什么文本内容时,可以确认是这个漏洞?
给出的示例稍微有些冗长,ChatGPT 似乎很担心我们看不懂似的,把攻击过程的要素也讲述了一遍。事实上,我们只需要看到其中 URL 的关键字就够了。图中显示,我们要注意的是 console/image/%2e%2e%2f
这段文本。因此,我们只需要在 SIEM 系统中,搜索访问日志里的这段文本,即可确认自己的 IT 系统,是否已经被利用,利用方的来源 IP 地址、时间等信息。
由于多数 SIEM 系统采用了类似 Search Processing Language 或 Elasticsearch Query DSL 等的查询方式,事实上,我们还可以继续让 ChatGPT 针对该漏洞的直接编写评估利用情况的分析查询语句,把全流程都托管给 ChatGPT 来分析决策。这也是微软最新发布的 Security Copilot 套件的基础原理。