恶意 Prompt 攻击

news/2025/1/12 18:06:54/文章来源:https://www.cnblogs.com/papering/p/18520985

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

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

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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825347.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『模拟赛』多校A层冲刺NOIP2024模拟赛17

『模拟赛记录』多校A层冲刺NOIP2024模拟赛17Rank 一般A. 网络 签不上的签到题。 首先考虑枚举路径的做法,如果先枚举再计算的话复杂度会是 \(\mathcal{O(\binom{n+m-2}{n-1}(n+m))}\) 的,稍微优化一点的过程中可以去掉后面的 \((n+m)\)。考虑此时我们要记什么,首先遇到加号其…

rust学习五、认识所有权

在<<The rust programming language>>的中译版<<rust权威指南>>中,作者用了30页的篇幅来阐述这个问题。 如作者所言,所有权是学习rust语言的基础,不掌握这个,无需继续往下,所以,这是初学rust就必须会的。正是所有权概念和相关工具的引入,Rust才…

给予爱快路由器使用阿里云DDNS远程访问家庭网络

一、阿里云域名准备1、首先需要购买一个阿里云域名,选简短好记性价比高的即可,如果域名只是用来解析路由器IP地址,不做服务器类应用,则不需要备案。 2、想做动态域名解析,光有域名还不行,还需要在阿里云控制台建立一个访问授权,路由器才能动态同步远营商的IP地址到DNS服…

KingbaseES V8R6集群备份恢复案例之---主库single-pro备份恢复

KingbaseES、repmgr、sys_rman案例说明: KingbaseES V8R6集群物理备份支持single-pro方式,本案例在集群执行single-pro方式备份并多次切换集群后,对集群执行了恢复测试,文档记录了恢复的详细过程。 适用版本: KingbaseES V8R6 集群架构:ID | Name | Role | Status …

号码变换配置对接运营商IMS

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 fs直接对接运营商,调试过程中的号码变换规则比较容易出问题。 本文档记录一个较为通用的对接IMS配置方案。 环境 CentOS 7.9 freeswitch 1.10.7 模块配置 号码变换主要使用mod_translate模块和dialplan拨号计划实现。 确…

Idea上Git仓库不见了是什么原因

在使用IntelliJ IDEA进行项目开发时,Git仓库突然消失是开发者常遇到的问题。该问题可能由多个因素引起,包括:1.环境配置问题;2.软件或插件更新;3.目录结构变更;4.用户权限问题;5.其他软件干扰。理解这些因素并采取相应的解决措施,不仅能快速恢复Git仓库,还能避免类似问…

【算法学习】扫描线

这篇题解写的难以言喻,可能只有我能看的懂! 前言 虽然我觉得这个算法目前不太可能会考,但是我觉得挺有意思的,而且学个算法也挺好,我是为自己学的!!! 定义 扫描线可以求二维图形的面积,也可以求周长等多种用途…… P5490 【模板】扫描线 & 矩形面积并 这就是扫描线…

leetcode 740 删除并获得点数

740 删除并获得点数 题意 给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。…

Navicat 17下载与安装

1、安装包 Navicat 17: 链接:https://pan.quark.cn/s/c75e892c4705 提取码:YvyF Navicat 16: 链接:https://pan.quark.cn/s/63c07b20ea7b提取码:B9ij 2、安装教程(这里以安装Navicat 17 为例) 1) 如之前已安装的需卸载当前Navicat,如未安装,直接双击无限试用…

gitlab怎么保护分支

​GitLab作为一个流行的版本控制工具其中“分支保护”是一个关键功能,用以防止开发过程中的不当操作对代码造成不可逆的影响。本文将指导你如何在GitLab中保护分支:1.理解保护分支的重要性;2.学会使用GitLab的界面进行分支的保护操作;3.了解与合并请求的关联使用;4.探讨在…

[编程笔记] 搞人心态的代码含毒事件 “svn无法成功完成操作因为文件包含病毒或潜在的垃圾软件”

svn无法成功完成操作因为文件包含病毒或潜在的垃圾软件,Windows Defender误判?今天突然冒出来的问题,烦死了!     svn拉取代码报毒了,不用想,基本就是下面几个可能性:1、某人提交的代码有毒2、电脑上的第三方杀毒软件引发3、Windows Defender误判报毒的代码是一个dl…