火出圈的ChatGPT,如何让安全检测更智能
ChatGPT(Chat Generative Pre-trained Transformer)是一款美国OpenAI研发的聊天机器人程序 ,能够通过理解和学习人类语言来进行对话 ,圈的全检根据聊天的让安上下文与使用者互动,真正像人类一样聊天交流。测更它甚至能完成撰写邮件、火出T何视频脚本、圈的全检文案 、让安代码 、测更论文等任务。火出T何
ChatGPT的圈的云计算全检算法基于Transformer架构,这是让安一种使用自注意力机制处理输入数据的深度神经网络 。Transformer架构广泛应用于语言翻译、测更文本摘要、火出T何问答等自然语言处理任务。圈的全检ChatGPT使用了GPT-3.5大规模语言模型(LLM Large Language Model) ,让安并在该模型的基础上 ,引入强化学习来微调预训练的语言模型。这里的强化学习采用的是建站模板RLHF(Reinforcement Learning from Human Feedback),即人工标注方式 。目的是通过其奖励惩罚机制 ,让LLM模型学会理解各种自然语言处理任务,并学会从helpfulness、honest、harmless三个维度判断什么样的答案是优质的 。

ChatGPT模型的主要训练流程如下 :
首先利用一系列问答对模型进行监督训练(也叫监督指令微调)。利用强化学习对模型进一步指令微调,即模型在给定环境中,源码库不断根据环境的奖励和惩罚 ,拟合到一个最适应环境的状态 。具体来说,就是在人类的参与下训练一个奖赏网络,这个奖赏网络具有对多个聊天回复进行好坏排序的能力 。利用这个奖赏网络,进一步通过强化学习不断优化模型。
在安全检测领域,越来越多的企业组织开始使用人工智能技术 ,来帮助检测网络流量中的服务器租用潜在威胁。人工智能的优势在于 ,它可以处理大量的数据 ,快速准确地识别并分类异常流量 。通过训练神经网络模型,人工智能可以自动化检测识别网络攻击 、漏洞利用和恶意软件等行为,减少人工干预和误报,提高检测的准确性与效率。
当前主流的网络攻击检测,核心是基于DPI技术,模板下载发展出的针对HTTP访问的检测(WAF),以及针对操作系统的入侵防御检测(IPS)。即部署在应用前 ,在用户请求到达服务端之前对其进行扫描和过滤,分析校验每个用户请求的网络包 ,确保每个请求的安全有效 ,对无效或有攻击行为的请求进行拦截或隔离。目前,常用的攻击检测方式如下 :
1.签名检测技术基于事先编写的高防服务器特定规则或模式(正则表达式)检测网络流量中的威胁,如病毒 、恶意软件 、入侵行为等。但是由于攻击手段多样化 ,有经验的黑客可以通过一些语句变化绕过检测。正则表达式是由关键字发展而来的 ,虽然在一定程度上降低了误报率 ,但由于正则表达式是基于字符串的过滤,只能检测预定好的攻击行为;针对一些比较复杂的注入方法,同样存在漏报率高的问题。
2.流量分析技术通过对同类流量的来源IP 、协议类型比例 、流量上下行趋势等基础元素的建模分析,得到一些异常事件的分析结论 。但是流量分析需要对网络流量进行捕获分析,所以需要较高的计算资源和存储资源 ,会使得整个系统比较庞大。
3.行为分析技术通过监视网络流量的行为 ,检测出异常活动。例如 ,检测出某Web应用服务器访问非业务数据库、突发大量数据流、频繁访问尝试等,进而发现潜在的网络威胁。在这一过程中 ,会误报一些合法活动(例如临时下载等) ,且成熟的行为分析模型需要较长时间来训练和学习 ,因此防护效率可能较低。
4.基于语义的规则匹配将检测引擎设计成SQL语义解释器或命令行终端,尝试理解用户输入的内容 ,判断是否有可能构成攻击 。目前主要针对SQL注入 ,使用场景有限 。
基于DPI引擎的检测方式 ,除了有这些使用限制外 ,还存在多种绕过流量解析引擎进行入侵的方法。例如 ,利用DPI引擎可能存在的HTTP协议解析缺陷 ,只识别80端口为HTTP流量,而Web应用端口在8080上 ,其HTTP流量会被DPI引擎解析为非HTTP ,从而绕过应用层攻击检测 。
哪些环节可以应用ChatGTP
我们按照DPI引擎的解包流程,将原始流量解析出关键字段数据,进行规则匹配。如果能匹配到规则 ,则说明报文存在攻击行为;如果不能匹配 ,则说明报文风险较低 。DPI引擎收到的流量如下图:

DPI引擎会按照会话对流量进行分组 ,在同一个组中的报文 ,一般为同一五元组的请求响应报文:

DPI引擎会将流量按照协议层级进行拆解,直到解析出所有的字段 。

DPI引擎会提取其中应用层的明文请求 ,作为待检测内容:

ChatGPT作为一种大型自然语言处理模型 ,可以理解HTTP原始报文信息,这样无论攻击出现在URL 、Cookies还是Referer中,都能顺利检测到 。
ChatGPT流量检测实践ChatGPT 、New Bing等攻击判断模块,会调用OpenAI相关API接口,使用提问的方式让ChatGPT 、New Bing等进行攻击判断 ,示意代码如下:
复制import openaiopenai.api_key = "sk-Bew1dsFo3YXoY2