首页 > 其他分享 >恶意 Prompt 攻击

恶意 Prompt 攻击

时间:2024-11-01 17:58:24浏览次数:2  
标签:场景 Prompt 攻击 模型 用户 恶意

黑掉大模型?恶意 Prompt 攻击成无解之谜? https://mp.weixin.qq.com/s/vliCct-0PwEdaGFSpYt9tQ

黑掉大模型?恶意 Prompt 攻击成无解之谜?

原创 Atone 腾讯技术工程 2024年11月01日 17:35 广东


作者:Atone,混元安全防守团队成员

随着大模型应用的逐步发展,出现了一种新型的攻击手法,它的隐蔽性强且难以检测。本文将探讨如何有效检测此类攻击,并在实际战场中的有所成效。

 

一、新的安全战场

由于大模型独有的对话业务特性:通过大量的数据训练,学会了从用户输入的 Prompt 中理解和生成语言。恶意 Prompt 攻击正在成为新的安全威胁战场。

攻击者可以通过精心设计的恶意 Prompt 来操纵模型行为,进而诱导模型调用插件产生错误的输出、执行恶意命令或泄露各类敏感信息,这种恶意 Prompt 攻击的隐蔽性极强,且通过传统的安全检测能力难以察觉。

图片

(图1:大模型时代下面临的安全威胁分类)

 

以下简单列举几个典型案例,由恶意 Prompt 攻击引发的大模型安全事件:

 

1.1 借助大模型“黑掉”你的电脑

近期,某海外大厂发布了前沿大模型的新功能 —— “Computer Use“ ,这是一个可以让大模型控制计算机的神奇能力。它通过截取屏幕截图来做出决策,可以运行 bash 命令、控制鼠标键盘等操作,听起来很神奇吧?但同时也带来了很大的安全隐患,那就是恶意 Prompt 攻击。

只需要准备好三样东西就可以黑掉你的电脑。接下来我们来看一下黑客是如何借助大模型实现的:

1、 准备好 C2 Server(黑客控制的服务器)、恶意文件、下载页面(让大模型下载木马文件);

2、  诱导大模型模仿正常用户,点击下载恶意文件;

3、  利用大模型查找、修改权限以运行恶意文件;

4、  用户电脑在大模型的帮助下成功“上线”(被黑客获取机器权限)。

 

图片

(图2:绕过某大模型产品的应用层限制,诱导模型下载恶意文件)

 

图片

(图3:大模型模仿用户点击下载恶意文件)

 

图片

(图4:大模型在本地查找并运行恶意文件)

 

图片

(图5:用户电脑被黑客远程控制并查看目录)

 

1.2 “唾手可得”服务器权限

黑客通过 Prompt 注入 + 代码变形 + 字符串编码拼接等攻击手法组合利用,成功绕过应用层的限制,从而让大模型应用在后端容器中执行任意代码或者命令,拿到对应服务器权限。

图片

(图6:绕过某大模型产品的对话层限制,成功执行系统命令)

 

图片

(图7:利用某大模型产品工作流,成功获取云服务凭证)

 

1.3 “手到擒来” 用户隐私数据

黑客通过散布含有恶意配置的钓鱼 URL 或文件,利用大模型的长期记忆(Memory Update)功能漏洞,植入虚假记忆或恶意指令。用户在对话中触发这些链接或文件后,其对话内容会被恶意配置,导致后续对话记录被拼接成 Markdown 图片链接泄露到外部URL,从而实现对用户隐私的窃取。

图片

(图8:某大模型产品泄露用户对话数据)

 

图片

(图9:某大模型产品泄露用户对话数据)

 

二、新战场的布防

2.1 大模型方案的优势

传统Web应用防火墙(WAF)因其局限性,无法理解自然语义的目的,导致真实攻击事件频频漏检,难以应对新型威胁,比如恶意用户在进行攻击测试,由于 Prompt 的内容未命中WAF正则关键词,导致该攻击被识别成正常请求,未被拦截。

图片

( 图10:真实攻击漏报事件)

 

基于行业内三种通用解决方案进行不同方案优劣势进行对比, 发现在检测外部恶意 Prompt 攻击场景下,大模型在泛化能力、检出效果、维护成本上均优于另外两个方案,详细情况如下表:

可选方案

基于大语言模型

基于传统机器学习引擎

基于正则引擎

方案说明

基于大模型海量知识底座,利用Prompt调优进行恶意攻击场景泛化识别。

利用机器学习算法对大量的正常和恶意流量进行分析,从而自动学习并识别恶意流量模式,然后对流量进行分类和阻止。

基于专家经验针对各种攻击类型提炼的特征编写正则,对流量进行正则特征匹配检测。

方案优点

维护成本低

有安全知识基础

场景泛化能力极强

无需规则维护

能够自我学习,一定程度可以应对未知威胁

开发成本较低

方案缺点

偶尔存在模型幻觉、分析结论不稳定情况

对数据量和质量要求较高,不同攻击类型需要单独训练,泛化能力较差,误报率较高

正则维护繁琐,且检测模式单一,无法应对未知威胁

检测效果

维护效率

泛化能力

⭐️⭐️⭐️⭐️

⭐️⭐️⭐️⭐️

⭐️⭐️⭐️⭐️⭐️

⭐️⭐️

⭐️⭐️

⭐️⭐️

⭐️

⭐️⭐️

⭐️

 

2.2 大模型 Cosplay 派对侦探

通过聚类分析恶意攻击样本和拦截日志,发现恶意 Prompt 攻击的核心场景在于:如何深入分析提问者的提问实际场景与提问意图。而大模型在这个分析场景下存在天然的优势(超强推理能力、语言理解能力),当仁不让的成为了安全运营分析的最佳助手。

借鉴过往经验设计了一个更有性价比的流程。想象一下,在一个派对上,你要辨别哪些宾客可能是不受欢迎的捣蛋鬼,那么的流程如下:

 

1)首先,用一份“不受欢迎名单”筛选出可疑人物,初步过滤掉正常行为的来宾。(恶意攻击特征初筛)

2)接着你请来一位侦探朋友,他凭借出色的观察力和理解力,进一步识别出潜在的麻烦制造者。(大模型检测)

3)最后,只有侦探依然怀疑是捣蛋鬼的宾客,才需要你亲自处理。(人工研判处置)

图片

(图11:恶意 Prompt 检测分析流程)

 

这个过程就像一个漏斗,逐步筛选出捣蛋鬼。但有时侦探也会粗心大意,所以你会使用一些策略和行为标签来提高他的准确性,确保派对顺利且尽可能少的出问题。

同样的,也可以通过黑白样本多维度验证,结合提示词工程(Prompt Engineering)以及通用攻击子场景归类拆分,以帮助这位侦探更好地识别出恶意的捣蛋鬼。具体包括:

 

1)通用攻击场景拆分:根据现网样本日志,划分六大类场景,细化 30+ 攻击子场景,让大模型利用其语义理解能力和网络安全知识储备,快速判断用户行为并根据场景归类打标。

 

2)Prompt Engineering:通过构造 Prompt 来引导大模型如何进行打标和分类。若发现大模型识别错误、子场景描述模糊或是不准确的情况,通过对大模型的回答内容的分析,反哺运营同学对子场景精细化定义与阐释,闭环场景分类的优化。

除此之外,为应对复杂 Prompt 的人工审核漏判/误判问题,引入大模型辅助安全运营,自主识别并提供解释,配合人工快速复核。同时,利用企业微信机器人来推送恶意 Prompt 至群内,便于运营人员迅速研判和处理。

 

2.3 老生常谈的沙箱加固

随着各种功能丰富的插件以及工作流的引入,一种常见的攻击方式是通过恶意 Prompt 来调用大模型运行恶意代码,通过插件实现服务器入侵,直接威胁到用户数据以及业务敏感文件。

图片

( 图12:某大模型产品遭受 Prompt 攻击泄露内部云账号密码)

 

因此,除了前端恶意 Prompt 的检测,后端的组件加固也十分重要。通过容器加固后,能实现网络、多用户隔离及容器逃逸防护,确保用户代码执行环境与业务环境完全隔离,实现较为安全的代码执行环境。

 

 

三、总结

恶意 Prompt 攻击仅仅是大模型时代安全挑战的冰山一角。安全从业人员面临的不仅是技术难题,更是一场持久的安全攻防战。

安全不是一蹴而就的工程,而是一个需要持续投入、不断更新的过程。我们要正视当前的挑战,同时也要未雨绸缪,为未来可能出现的新型威胁做好准备。

这条安全之路没有终点,期待与诸位同僚一起,不断前行。

 

 

翻译

搜索

复制

标签:场景,Prompt,攻击,模型,用户,恶意
From: https://www.cnblogs.com/papering/p/18520985

相关文章

  • 技术分享|恶意软件攻击介绍及防御,零基础入门到精通,收藏这一篇就够了
    恶意软件(Malware)是指一类被设计用于在未经授权的情况下对计算机系统、网络或个人设备造成破坏、干扰或盗取信息的软件。恶意软件攻击涉及使用恶意软件未经授权地访问计算机系统,这可能导致数据泄露、系统崩溃、个人隐私泄露、金融损失,以及其他安全风险。通常,恶意软件攻击的......
  • 变形恶意代码
    成绩《实验3:变形恶意代码》实验报告目录一、实验目标 3二、实验工具 3三、实验内容 31.任意编写一个程序,用VisualStudio2022 32.用OD打开该EXE程序,改变开始部分的代码如下: 43.再次用OD打开修改后的EXE,发现病毒变了,代码莫名其妙了。 7四、实验心得 7一、实验目标理解变形的原......
  • 论文翻译 | PROMPTING GPT-3 TO BE RELIABLE
    摘要        大型语言模型(LLMs)通过少量提示展现出了令人印象深刻的的能力。商业化的API,如OpenAI的GPT-3,进一步增加了它们在现实世界语言应用中的使用。然而,如何提高GPT-3的可靠性这一关键问题仍然尚未得到充分探索。虽然可靠性是一个广泛且定义模糊的术语,但我们将其......
  • Prompt工程八大技巧:打造高效LLM应用
    文章目录前言一、明确认知过程边界二、明确指定输入/输出三、实施防护栏四、与人类认知过程对齐(一)模仿人类思维的步骤分解(二)多步骤/代理的应用五、利用结构化数据六、精心设计上下文数据七、保持简单八、不断迭代零基础入门AI大模型1.学习路线图2.视频教程3.......
  • TCP攻击实验
       作业题目本实验的学习目标是让学生获得有关漏洞以及针对这些漏洞的攻击的第一手经验。聪明人从错误中学习。在安全教育中,我们研究导致软件漏洞的错误。研究过去的错误不仅有助于学生理解为什么系统容易受到攻击,为什么“看似良性”的错误会变成灾难,以及为什么需要许多安......
  • XSS攻击实验(Elgg)
       作业题目跨站点脚本(XSS)是一种常见于web应用程序中的计算机安全漏洞。此漏洞使攻击者有可能将恶意代码(如JavaScripts)注入受害者的web浏览器。为了演示攻击者可以做什么,我们在预先构建的UbuntuVM映像中设置了一个名为Elgg的web应用程序。我们已经注释掉了Elgg的一些保护......
  • 软件安全领域 5 大注入攻击
    注入攻击指的是针对注入漏洞的任何类型的攻击——注入漏洞是一大类网络安全漏洞,其中包括几个严重的应用程序安全风险。尽管攻击向量种类繁多,但注入攻击的共同点是攻击者能够通过未经验证的用户输入将有效负载插入已执行的应用程序代码中。根据具体的漏洞和攻击目标,注入可能涉及数......
  • 前端防止XSS跨站脚本攻击处理(DOMPurify)
      在项目中碰到安全部门测试,输入一段脚本'<iframesrcdoc="<script>alert('xss]</script></iframe>">','<p>TestXSS<imgsrc=Xonerror=prompt(123423423423)>123123ff</p>',然后就会出现弹窗,针对于这种情况,初始情况涉及地方不多可......
  • DNS放大攻击
    DNS服务的原理DNS(域名系统)服务的原理是将易于人们记忆的域名转换为计算机能够理解的IP地址,其具体步骤如下:1、用户请求:当你在浏览器中输入一个域名时,计算机会向DNS解析器发送请求。2、DNS解析器:DNS解析器是一个负责查询DNS记录的服务器。它首先检查自己的缓存中是否有该域名......