要想用好GPT,我们必须跑得比“黑客”更快

AI前线
+ 关注
2023-07-19 14:05
583次阅读
GPT 在安全领域已经卷起来了

今年,在 OpenAI 的 ChatGPT 展现出了惊人表现后,一众明星大佬纷纷表示自己为新技术激动得“彻夜不眠”。

跟这一众明星大佬同样激动的其实还有“黑客”。毕竟业界还在为落地场景“摸石头过河”,而利用生成式 AI 进行诈骗,基本已经是一骗一个准儿:“网友遭遇新型 AI 诈骗,10 分钟被骗 430 万”、“AI 冒充卷福诈骗电影公司 20 万英镑”......

AIGC 给黑产灰产行业带来了巨额利润,让这些不合规的行业也就成为了新技术应用最快、最深入的行业。而且,AIGC 给社会带来的威胁只会越来越大,ChatGPT 出现后,黑客效率得到了极大提升,“脚本小子”进化为了“Prompt 小子”,不仅让攻击方式变得更加多样,还能利用 ChatGPT 来寻找漏洞,制定攻击方案和提供攻击策略,而 AIGC 生成的代码带有漏洞在当前又是不可避免的。

这就是当前令人担忧的现实。在这个背景下,我们不得不重视“安全”,而要想改变现有的网络安全态势,安全企业必然需要拥抱这波人工智能技术。所以,比起其他不确定的业务场景,“安全”肯定是最先被 GPT 革新的行业之一。

“这确实是划时代的一个东西,跟原来的 AI 人工智能期确实是不一样的。”

大语言模型对社会基础知识,尤其是文字知识的理解,远超了一般人。大语言模型的“涌现”能力更是让人非常震撼,“涌现”标志着这波 AI 已经具备了类似于人的一种思考能力,这也是与原来的 AI 不一样的地方。与各行各业积极寻求落地场景不同,安全行业却是“被迫”必须跟进的行业之一。

在安全领域,大家普遍认为“攻”走在“防”的前面,特别现在大模型的能力已经让社会工程攻击变得更加个性化和自动化,难以被识别。“观察下来,最明显的趋势就是很多人都在用 AI 来做欺诈、编写钓鱼邮件和恶意软件。社会工程攻击大多是链式的,一步接着一步,大模型的出现使得社工整个链路的自动化程度大大提升了。以前的手段多为模版,ChatGPT 这类大模型在交互上的进步则为这些场景带来了模拟特定角色的能力,可以和被攻击者进行多轮对话而不被识破。”腾讯安全大数据实验室高级研究员杨政恺谈到当前网络安全态势时说道。

新技术的应用模式和效果也出人意料,一个令人印象深刻的例子是用 AIGC 制作安装免费软件的视频,上传到 Youtube 这类的平台,引导观看者按照它的操作来下载植入恶意代码的软件。不仅目前的机制难以检测视频中引导和潜在的恶意行为,而且随着视频的推荐算法,这样的视频又能够传播到更多的目标群体,让攻击变得更大,并且更加有效,“在几个小时内,可能会有数百名用户成为牺牲品”。

要想用好GPT,我们必须跑得比“黑客”更快

社会上研究造假的比研究怎么预防造假的还要领先,这是事实,但这种落后并不是技术难度导致的。知道创宇副总裁、TGO 会员李伟辰表示,“研究预防造假往往无利可图,而黑产灰产这些非法行业却只受‘利益’牵引。真实世界就是这样,互联网技术刚普及的时候,应用最快的也是一些黄赌毒非法领域。但最后我们还是会想到很多方式来治理它。大模型也会有同样的发展过程。”

而且,从检测原理上来讲,AIGC 生成内容的时候,一定是依据某个模型出来的。现在市面上最基本的模型并不多,所以绝大多数的这些 AIGC 内容,都是基于少数几个模型做出来的,生成的数据有一定模式或者说是一些共通的东西。只要收集到足够的最终成品的数据,通过聚类或匹配其他算法,找出固有的特征,就能检测出来哪些是生成的哪些是真实的。技术原理比较简单,关键是要有足够的数据和足够的算力,李伟辰表示,目前业界在数据和算力上投入不够,才导致了对抗技术的落后状态。

腾讯安全内容风控技术专家李镐泽表示企业防御主要还是在于要“主动出击”:要全链路、主动发掘、提前预防,因为 AIGC 伴随的数据量级非常大,各个媒体平台、社交平台和网络传播速度非常快,“所以说我们不能只是事后来防御,我们要从生成它的时候、训练的时候提早来进行内容安全风险的防范。”

“我们不仅要投资大语言模型,也要投资建设更好的扫描工具。”

软件开发人员也对生成式 AI 感到兴奋,有统计说一个有经验的开发人员需要半小时才能写出的东西,用 GPT 只需 40 秒。

当然,总有一个“但是”,虽然生产力提高了,但是 GPT 对软件开发的风险可能仍然大于收益。有人曾使用 Copilot 编写了一些基本的网络开发代码,生成代码中就了包含不少错误,比如使网页对 SQL 注入开放、使用过时的哈希算法...... 去年底,有研究表明,Copilot 编写的程序中有 40% 包含至少一个漏洞。这些常见漏洞还跨站脚本攻击、信息泄露、路径遍历、命令注入等等。一位研究员点评,“这些工具根本不考虑安全性!”

现在的生成模型其实就在做一件事,在给定的上文的情况下预测下一个最有可能的 token,不停地重复这个过程,你就得到了生成模型生成的下文。在大量代码库的训练下,模型学到了在给定注释、函数名、部分代码实现(作为上文),来预测接下来的代码实现(下文)的能力,也就有了现在的代码生成。

大模型会学习到不安全的代码,也无法在生成时考虑所有的情况,所以安全风险无法避免。

拿 C/C++ 举例来说,代码生成最难绕开的,是指针相关问题,AIGC 无法将其规则完全地考虑到。AIGC 完全不知道相关代码是否是一个空指针,很多代码不会强制对指针使用进行检查;从全局看,由于上下文的组合变换,生成的代码不会强行限制只能被 free 一次,有一些 API 的行为是黑盒的,甚至你也不知道它会把指针 free 掉。如果不具备安全知识,就可能会存在空指针解引用、UAF、Double free 这方面的问题,最后带来信息泄漏、命令注入提权等危害。

检查代码准确性、安全性的一些工作目前还不能落到人工智能的肩上。腾讯安全大数据实验室高级研究员陈鹏认为目前 ChatGPT 的安全检测能力是跟不上传统的安全工具的,因为从程序的动静态分析的角度来说,传统的分析可以把所有程序做一个全局的分析,但用 GPT 进行检测的时候,因为它的限制,以及它的学习机制的问题,只能去做一些局部的分析,在实际情况下,可能就仅对上传的那块代码之内进行分析,对一些由于链路比较长导致的比较复杂的问题,它是检测不出来的。

而且通过自身的体会,陈鹏认为用 GPT 检查代码基本上是一件得不偿失的事情:“我是不会在目前的状况上拿 ChatGPT 来帮我检测漏洞的。首先我对自己写的代码还是比较有信心的,如果它能检测出来的话,我也能通过简单的代码 review 发现。现在看来它只能检测出比较简单的漏洞,对于非常复杂的漏洞,可能真的检测不出来。另外 ChatGPT 的检测会带来很多误报,如果去看这些误报,会分担我额外的精力。”

也就是说,目前 GPT 在生成代码方面还没有“自愈”能力。其代码水平大概相当于一个入职一两个月的实习生。而且据外媒报道,Forrester、Gartner 以及一些其他咨询公司建议企业推迟使用 ChatGPT 进行代码生成、代码安全扫描和安全代码审查,因为大型语言模型仍然难以编写干净的代码并且容易出现错误信息。

这是一个矛盾的状态,大模型能大幅提升交付代码的速度和效率,但又充满错误或不安全的代码,大家还担心自己赶不上这波人工智能的潮流,那我们该如何选择?

作为安全行业资深技术专家,李伟辰认为我们还是要“拥抱变化”,并且关键还得看我们如何使用它们:如果将 GPT 比为职场新人,职场新人写的代码肯定是存在问题的,但我们不能不使用新人。我们应该将 GPT 代码生成当工作的第一步,后面还需要有完整的测试,包括白盒黑盒测试、单元测试、集成测试等,以及持续集成,以及验收手段。

“质量保证一定要做好!这实际上是对支撑平台和质量保证体系提出了更高的要求,需要我们更加制度化、更加自动化的去使用这些工具。其实没有什么新的方式,只是需要比原来的要求更严格。”

OpenSSF CTO Brian Behlendorf 对此测试驱动开发的最佳实践原则也非常赞同,他认为程序员必须为自己的代码负责,不要想着借 GPT 之手搞定一切,不然“纯属自作自受”。

Brian 认为,在投入时间相同的前提下,GPT 生成的代码仍然比人类更安全。只是有些安全漏洞需要参考整个系统才能被检测出来,这对 AI 系统来说就很困难了。所以开发者还是得保持深入研究、了解问题根源的能力,并且特别有必要了解大语言模型中的各个层及其构建方式,知晓这些工具内部到底是怎样运作的。

无论如何,大语言模型将成为一种非常高效的加速器,能帮助更多人成为 10 倍开发者。“我认为开发永远是人与工具的结合。所以我们不仅要投资大语言模型,也要投资建设更好的扫描工具,这一点非常重要。”

“我觉得肯定能用 AI 帮助开发者构建更好的扫描工具,检测出更多安全漏洞。目前已经有人在应用机器学习来扫描漏洞,虽然难度很高而且尚处于早期发展阶段,但我仍看好这方面探索。”

给予时间,努力提高常用开源项目的质量下限,以此来减少大语言模型可能在代码中引入的常见 bug,代码生成工具终将会变得更完善。

“这有点像赛车运动,无论是使用手动变速箱还是自动变速箱不是重点,重点在于怎样比其他对手跑得更快。开发也是,要不要使用 AI 生成的代码并不是重点,重点在于如何更好地构建安全代码并帮助其他人安全使用开发成果。”“而且构建构建安全代码这事并不难掌握,OpenSSF 在培训网站上发布了一门完全免费的课程,整个学习过程大概是 16 个小时。”

6 月 1 日,OpenAI 发布公告称,正在启动一项“网络安全拨款计划”。该计划投入 100 万美元,以促进高水平人工智能和网络安全的“进化”。OpenAI 表示,“我们希望先进的人工智能首先让防御者受益;目标是与全球网安人士进行合作,通过在网安领域应用人工智能,来简化安全工作,提升效率,改变网络安全现有的态势。”具体工作包括检测和缓解社会工程策略、自动化事件分类、识别源代码中的安全问题、协助开发人员开发设计安全和默认安全的软件、帮助安全工程师和开发人员创建强大的威胁模型等等。

OpenAI 开始卷网络安全,也说明大模型给安全行业带来了新的机遇。AIGC 出现后,大家都希望利用到它的红利,希望用它来改造自己所在的行业,但目前真正能落地到行业中的很少。但是在安全行业里,社会工程攻击量在全世界范围内急剧增加,大家对这个行业的关注度很高,并且安全本身有其专业性,全球几百万家安全企业,几乎都处于不同的细分领域里,所以 AIGC 在安全行业里的应用还算靠前的。

“OpenAI 给出来的几个问题,其实都是都蛮大的问题,具体怎么去做,还是得需要一些好的想法。这需要结合特定领域的场景,以及传统的安全技术沉淀下来的数据和积累的大量领域知识,去训练出符合该领域需求的大模型。”陈鹏指出。

而安全霸主微软,早在三个月前,就推出了 Security Copilot,让 GPT-4 进入到了网络安全领域。Security Copilot 通过提供一个“对话框”,让用户能够用自然语言调用微软收集到的安全数据,形成安全报告,让用户及时发现潜在威胁和漏洞。但 Copilot 又并不仅仅是一个“对话框”,它要理解用户的问题,调用合适的应用拿到相关数据,再结合背景信息,制定安全策略,再以人类能读懂的文字或图片形式进行反馈。

如果是靠安全专家来做这个事情,他需要做很多数据分析处理工作。比如分析漏洞会影响哪些业务系统,然后根据攻击来源及其漏洞影响范围,将企业里防火墙、网络交换机、个人电脑等来自不同地方的相关数据汇总成我们能理解的图表。这种活儿刚好大模型特别擅长,GPT 在理解领域知识或不同来源日志数据的方面,有着传统及其无法比拟的便利性,它能将来自不同来源的数据经过加工分析,呈现出一个人类能理解的形式,然后展现给最终用户。李伟辰认为 Security Copilot 这类的产品将来会变得很普及,降低人工在这里边的投入,提升算法在结果里的贡献。

而且李伟辰特别看好 GPT 在安全行业的这种数据治理能力:“Transformers 这类算法能在大数据背景下找到语言内部的逻辑关系。我们在处理安全里边的大数据的时候,也遇到过一些非常棘手的问题,那就是用传统的知识图谱的思路去做的时候,发现维度增多,数量变大,现有的算力已经完全没法支持。这时候就可以尝试用 GPT 这类模型,在处理多维度的数据的关联分析上,它的剪枝能力能将计算量降低到一个我们可以承受的范围,数据治理工作量呈现了几何级的下降,这种方式能给安全带来一些革命性的变化。”

Copilot 这类的产品将数据治理简化之后,会直接影响到 XDR 态势分析和 SOAR 自动化运维这两个非常依赖于经验和历史项目积累的行业。现在这两个行业是严重依赖安全工程师的人力去跟其他产品对接,跟客户进行各种沟通,按照客户的需求定制各种策略。未来这个局面会大大改观。

两三年之内还能看到的另外一个趋势,就是在内容安全上。因为内容安全也是国家近两年一个重点的治理方向。AIGC 产生的内容的合规性的问题是越来越突出了,监管方面也正在出台相关的法律法规。有了监管的推动,可能在这方面会创造出一个新产品品类。那对于整个安全行业也是一个促进。国内如知道创宇这样的安全企业也都在积极提供 AIGC 智能审核定制、内容合规鉴别服务,同时针对 AI 对话、AI 绘画、AI 办公、AI 搜索、AI 视频、AI 音频等 AIGC 应用场景,提供 ScanA 全栈式内容风控体系解决方案。

最重要的是,传统的安全行业做的很多苦事、脏活累活,都有可能由 GPT 来代替。“谁能最先探索出这样一条模式来,谁就能走上一个负担较轻的、快速发展的产品的模式。”

相关阅读

https://www.infoq.cn/article/dalIGpeiZNB8m93pPGti

本文来自微信公众号“AI前线”(ID:ai-front),采访嘉宾:李伟辰、Brian Behlendorf、 杨政恺、陈鹏、李镐泽,编辑:Tina,36氪经授权发布。

[免责声明]

原文标题: 要想用好GPT,我们必须跑得比“黑客”更快

本文由作者原创发布于36氪企服点评;未经许可,禁止转载。

资深作者AI前线
0
消息通知
咨询入驻
商务合作