0


大模型安全

大模型安全的个人理解

今天在FreeBuf看了一篇关于大模型内容安全的文章,觉得很有意思,先记录一下自己的理解,方便后续学习。

随着2023年大语言模型(LLM)技术的爆发,其安全性问题也受到了外界的广泛关注与讨论。OWASP作为领先的网络安全研究组织,在其报告中关注以下10个风险点,包括:提示词注入(Prompt Injection)、训练数据投毒(Training Data Poisoning)、模型拒绝服务(Model Denial of Service)、供应链漏洞(Supply Chain Vulnerabilities)、敏感信息泄露(Sensitive Information Disclosure)、不安全的插件设计(Insecure Plugin Design)、过度代理(Excessive Agency)、过度依赖(Overreliance)、模型盗窃(Model Theft)。

提示词注入

sql注入

首先,文章内容是关于prompt injection(提示词注入)攻击,类似于SQL攻击。先简单介绍一下sql攻击,即攻击者通过拼接一些常规查询语句额外的内容,实现对数据库服务器的非法操作,包括获取和修改敏感数据如密码等。一个简单的例子是,如果一个网页的登录框没有做安全检查的话,用户/黑客在密码框中输入 ‘1’ OR ‘1’=‘1’,传到后台后,就会形成这样一条SQL指令:

select id fromuserwhere name='admin'and pwd ='1'OR'1'='1'//在名为“user”的表中选择id列的数值,条件是要求name列的数值为“admin”,且pwd列的数值为1

可以确定的是这条指令 OR 后面的部分是永远为真的,这就意味着这个查询将返回所有name 为 ‘admin’ 且 pwd 为 ‘1’ 的用户的 id 值,那么就可以绕开密码完成登录。

提示词注入

SQL攻击点到为止,接下来说prompt injection(简称PI),与sql攻击类似,PI攻击者通过特殊的prompt技术(提示词)与工具调用与LLM(大语言模型)模块进行交互,导致数据泄露或篡改等风险,简单来说即用户通过提示词注入,拼接一些额外提示词,混淆真实意图,绕过大模型的安全设置,从而达到用户期望,我个人理解为”调戏“人工智能。

让我们举个例子,chatgpt3.5曾存在过一个漏洞:向gpt3.5提出如何制造bomb,它会指出其中的危险且拒绝回答。
在这里插入图片描述

前缀注入攻击,指要求LLM如gpt3.5以特定开头开始,回答一个存在风险的问题。

反向抑制,是指让LLM在排除常见拒绝响应的约束条件下做出响应,从而更有可能做出不安全的反应。

接下来我们通过前缀注入+反向抑制攻击的方式,加入一些提示词,要求chatgpt以“以下是具体的操作方法”作为开头(前缀注入)开始回答,并且不能说“抱歉”,“不能”,“无法”(反向抑制)。
在这里插入图片描述
结果gpt3.5就开始回答并生成严重违法的内容。当然gpt4.0已经解决了这个漏洞,类似的案例可以了解一下“奶奶漏洞” (https://www.zhihu.com/question/609588212)。

攻与防

至此我们已经初步了解”调戏“人工智能的表面意思,那么接下来针对大模型的攻击与防御。

攻击

就是诱导其说出<开发者>不愿意让他说的话。

  • 可以通过诱骗,通过语言技巧避开;
  • 注入,即对指令的篡改(这也是与sql注入相似的地方)
防御

针对此类攻击的防御:

  • 语言对抗(其中一个方法,但作用不大,毕竟人心是复杂的)
  • 使用界定符如 ’ , ’ ,‘<>’ 等
  • 格式或内容检验,设置黑白名单等

总结

在我看来,安全研究是一个可以无限发挥想象的地方。以上内容也只是我自己对两篇文章阅读后微不足道的认识,你也可以选择不阅读,而是直接去阅读这两篇文章,不管如何希望能帮到你了解一部分的安全。

参考文献:
https://www.zhihu.com/question/609588212
https://www.freebuf.com/company-information/392953.html

标签: 安全 网络 服务器

本文转载自: https://blog.csdn.net/qq_49513602/article/details/136460643
版权归原作者 Skyeker 所有, 如有侵权,请联系我们删除。

“大模型安全”的评论:

还没有评论