火出圈的ChatGPT,如何让安全检测更智能

   日期:2024-12-23    作者:hnsy66 移动:http://ljhr2012.riyuangf.com/mobile/quote/8209.html

ChatGPT(Chat Generative Pre-trained Transformer)是一款美国OpenAI研发的聊天机器人程序,能够通过理解和学习人类语言来进行对话,根据聊天的上下文与使用者互动,真正像人类一样聊天交流。它甚至能完成撰写邮件、视频脚本、文案、代码、论文等任务。

ChatGPT的算法基于Transformer架构,这是一种使用自注意力机制处理输入数据的深度神经网络。Transformer架构广泛应用于语言翻译、文本摘要、问答等自然语言处理任务。ChatGPT使用了GPT-3.5大规模语言模型(LLM Large Language Model,并在该模型的基础上,引入强化学习来微调预训练的语言模型。这里的强化学习采用的是RLHF(Reinforcement Learning from Human Feedback,即人工标注方式。目的是通过其奖励惩罚机制,让LLM模型学会理解各种自然语言处理任务,并学会从helpfulness、honest、harmless三个维度判断什么样的答案是优质的。

ChatGPT模型的主要训练流程如下

1、首先利用一系列问答对模型进行监督训练(也叫监督指令微调)。

2、利用强化学习对模型进一步指令微调,即模型在给定环境中,不断根据环境的奖励和惩罚,拟合到一个最适应环境的状态。具体来说,就是在人类的参与下训练一个奖赏网络,这个奖赏网络具有对多个聊天回复进行好坏排序的能力。

3、利用这个奖赏网络,进一步通过强化学习不断优化模型。

在安全检测领域,越来越多的企业组织开始使用人工智能技术,来帮助检测网络流量中的潜在威胁。人工智能的优势在于,它可以处理大量的数据,快速准确地识别并分类异常流量。通过训练神经网络模型,人工智能可以自动化检测识别网络攻击、漏洞利用和恶意软件等行为,减少人工干预和误报,提高检测的准确性与效率。

当前主流的网络攻击检测,核心是基于DPI技术,发展出的针对HTTP访问的检测(WAF,以及针对操作系统的入侵防御检测(IPS)。即部署在应用前,在用户请求到达服务端之前对其进行扫描和过滤,分析校验每个用户请求的网络包,确保每个请求的安全有效,对无效或有攻击行为的请求进行拦截或隔离。目前,常用的攻击检测方式如下

1、签名检测技术。基于事先编写的特定规则或模式(正则表达式)检测网络流量中的威胁,如病毒、恶意软件、入侵行为等。但是由于攻击手段多样化,有经验的黑客可以通过一些语句变化绕过检测。正则表达式是由关键字发展而来的,虽然在一定程度上降低了误报率,但由于正则表达式是基于字符串的过滤,只能检测预定好的攻击行为;针对一些比较复杂的注入方法,同样存在漏报率高的问题。

2、流量分析技术。通过对同类流量的来源IP、协议类型比例、流量上下行趋势等基础元素的建模分析,得到一些异常事件的分析结论。但是流量分析需要对网络流量进行捕获分析,所以需要较高的计算资源和存储资源,会使得整个系统比较庞大。

3、行为分析技术。通过监视网络流量的行为,检测出异常活动。例如,检测出某Web应用服务器访问非业务数据库、突发大量数据流、频繁访问尝试等,进而发现潜在的网络威胁。在这一过程中,会误报一些合法活动(例如临时下载等,且成熟的行为分析模型需要较长时间来训练和学习,因此防护效率可能较低。

4、基于语义的规则匹配。将检测引擎设计成SQL语义解释器或命令行终端,尝试理解用户输入的内容,判断是否有可能构成攻击。目前主要针对SQL注入,使用场景有限。

基于DPI引擎的检测方式,除了有这些使用限制外,还存在多种绕过流量解析引擎进行入侵的方法。例如,利用DPI引擎可能存在的HTTP协议解析缺陷,只识别80端口为HTTP流量,而Web应用端口在8080上,其HTTP流量会被DPI引擎解析为非HTTP,从而绕过应用层攻击检测。

我们按照DPI引擎的解包流程,将原始流量解析出关键字段数据,进行规则匹配。如果能匹配到规则,则说明报文存在攻击行为;如果不能匹配,则说明报文风险较低。DPI引擎收到的流量如下图

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

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

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

ChatGPT作为一种大型自然语言处理模型,可以理解HTTP原始报文信息,这样无论攻击出现在URL、Cookies还是Referer中,都能顺利检测到。

ChatGPT、New Bing等攻击判断模块,会调用OpenAI相关API接口,使用提问的方式让ChatGPT、New Bing等进行攻击判断,示意代码如下

import openai
openai.api_key = "sk-Bew1dsFo3YXoY2***********81AkBHmY48ijxu"	# api token 用来认证
def get_answer(prompt, max_tokens): # 定义一个获取答案的函数
    try:
        response = openai.Completion.create(
            model = "text-davinci-003",     # 模型名称
            prompt = prompt,                # 问题
            temperature = 0.7,              
            max_tokens = max_tokens,        # 返回内容的长度限制
            stream = False,                 # False就是一次性返回, True 就是一个个打出来像打字机, 返回的是迭代器, 需要后面代码处理. 此处没有处理 所以用False
            top_p = 1,                     
            frequency_penalty = 0,          
            presence_penalty = 0           
        )
        return 0, response['choices'][0]['text'].strip()    # 获取返回值关键返回内容
    except Exception as e:                  # 异常处理
        return str(e), None

通过上述函数,就可以达到类似向ChatGPT提问的效果(使用模型为text-davinci-003,如下图

ChatGPT会返回明确的是否存在攻击行为的结论以及行为描述,这样就完成了一次攻击判断。

如上图,可以将流量中大量需要判断的请求,分别存入不同的文件,由ChatGPT进行攻击判读,示例代码如下

def main(read_dir = 'detect'):	# 定义main函数
    args = []					# 缓存列表
    global sign_req, all_req	# 识别计数
    for rf in walk_dir(read_dir, ['.txt']):		# 遍历待检测目录
        all_req += 1							# 总数据包数自增1
        content = read_fileA(rf, 'str')[:2048]	# 提取报文文件前2048个字符
        key_content = content.split('


')[0][:1024]	# 提取http请求
        if len(key_content) < 10: continue						# 如果长度太小就不检测
        err, sign, disc = judge_attack(key_content, rf_rst)		# 调用ChatGPT接口进行攻击检测
        if sign: sign_req += 1									# 如果检测到攻击, 攻击计数自增1

        print('
' + f' 已检测 {all_req: 4} 个报文, 识别到攻击 {sign_req} 个, 检出率: {sign_req/all_req:0.2%}', end='', flush=True) # 打印结论

如此就可以做到批量报文攻击检测。

攻击样本来自Nuclei对靶机的扫描和全PoC检测,因为有一些请求从单个报文中确实看不出来是否存在威胁。

上述情况可能需要更多上下文才能判断,此次已去除此类无法准确判断的请求例,尽量给一些人工条件下能够准确判断的样例,总体检测结果如下图

可见ChatGPT对流量检测的准确率是非常高的,基本上相当于一个安全专家进行快速判断,其安全检测能力值得期待。

有兴趣的读者可以查看完整的项目源码,链接为:GitHub - VitoYane/PcapSplit: 按照会话解包, 然后提取明文txt信息, 让ChatGPT来判断一下是否存在攻击行为

未来,ChatGPT在网络安全中将扮演什么角色、有什么影响,我们很难进行准确预测,这取决于它的使用方式和使用意图。来自人工智能的威胁并不是一个新问题,对网络安全从业者来说,重要的是及时意识到ChatGPT的潜在风险并采取适当的措施来应对。

安全专家预测,国家背景的黑客将率先在网络攻击中利用ChatGPT,而该技术最终会在更多的攻击组织中得到大规模的使用,防守方需要开始研发能够抵御此类攻击的系统。

从网络安全防护的角度来看,企业机构可以采取针对性的应对措施,对ChatGPT等类似模型进行培训,标记恶意活动和恶意代码,同时对其设置难以绕过的护栏。对于ChatGPT引发的威胁,可以向员工提供新型的网络意识培训,掌握识别社会工程攻击的知识,以便识别ChatGPT等人工智能工具创造的钓鱼攻击。

当然仅仅是这样还不够。ChatGPT等人工智能工具会以比人类罪犯更快的速度制造出新的威胁,传播威胁的速度也将超过网络安全人员的反应速度。企业机构跟上这一变化速度的唯一方法,是使用人工智能来应对人工智能。

总的来说一方面,网络安全行业的研究人员、从业者、学术机构和企业组织可以利用ChatGPT的力量进行创新和协作,包括漏洞发现、事件响应和钓鱼检测;另一方面,随着ChatGPT等工具的发展,未来开发新的网络安全工具更加重要。安全厂商应更积极地开发和部署基于行为(而非规则)的AI安全工具,来检测人工智能生成的攻击。

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻
  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号