恶意 Prompt 攻击

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

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


作者: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 攻击仅仅是大模型时代安全挑战的冰山一角。安全从业人员面临的不仅是技术难题,更是一场持久的安全攻防战。

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

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

 

 

posted @ 2024-11-01 18:02  papering  阅读(15)  评论(0编辑  收藏  举报