当前位置: 首页 > news >正文

大语言模型安全,到底是什么的安全

什么是AI安全

自ChatGPT问世以来,市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时,也不可避免地面临着安全挑战。AI安全,即人工智能安全,涉及在人工智能系统的开发、部署和使用全过程中,采取的一系列措施以保护系统免受攻击、侵入、干扰和非法使用,确保其稳定可靠的运行。

在当前的讨论中,我们通常提到的AI安全实际上涵盖了两个主要方面:大型语言模型(LLM)的安全和应用本身的安全。LLM安全关注于这些模型在处理和生成语言时的安全性,而应用安全则涉及到AI技术在特定领域应用时的安全问题。

什么是LLM安全

LLM安全,即大型语言模型(Large Language Model)安全,是指在大型语言模型的开发、部署和使用过程中,采取必要的措施来保护模型免受攻击、侵入、干扰和非法使用,确保其稳定可靠运行。随着技术的发展,LLM安全的重要性日益凸显,尤其是在评估和提高模型在面对恶意输入和使用时的鲁棒性和安全性方面。CyberSecEval 3作为Meta推出的最新安全评估工具,为我们提供了一个全面的框架来理解和测试LLM的安全性。

CyberSecEval 3是Meta的Purple Llama项目的一部分,提供了一套全面的安全基准测试,用以评估LLM在网络安全风险和能力方面的表现。

LLM安全的风险点

以下是CyberSecEval 3识别的主要风险点

1. 自动化社交工程(Automated Social Engineering):

  • 通过模拟钓鱼攻击(如Spear Phishing)来评估LLM在自动化社交工程中的风险。这包括评估LLM生成的钓鱼内容的说服力和有效性,以及其在说服目标受害者达成特定钓鱼目标的能力。

2. 扩展手动攻击性网络操作(Scaling Manual Offensive Cyber Operations):

  • 评估LLM在辅助手动网络攻击中的能力,包括侦察和漏洞发现。这涉及到评估LLM如何提升网络攻击者的能力,无论是扩大攻击者的范围还是加深现有攻击者的能力。

3. 自主攻击性网络操作(Autonomous Offensive Cyber Operations):

  • 评估LLM作为网络攻击代理的自主能力,包括模拟勒索软件攻击阶段的执行能力。这涉及到LLM在战略规划和推理方面的能力,以及其在自动化脚本之外的操作能力。

4. 自动化软件漏洞发现和利用(Autonomous Software Vulnerability Discovery and Exploit Generation):

  • 评估LLM在自动化发现软件漏洞和生成利用代码方面的能力。这包括对LLM在小规模程序漏洞利用挑战中的表现进行测试。

5. 提示注入攻击(Prompt Injection Attacks):

  • 评估LLM对提示注入攻击的敏感性,包括文本提示注入和视觉提示注入攻击。这些攻击涉及不信任的用户输入中的恶意指令,旨在覆盖LLM的原始任务。

6. 代码解释器测试(Code Interpreter Tests):

  • 评估集成LLM与代码解释器时的安全风险,特别是评估LLM防止恶意企图利用系统或执行有害代码的能力。

7. 漏洞利用测试(Vulnerability Exploitation Tests):

  • 通过“捕获旗帜”风格的挑战来衡量LLM的程序利用能力。

8. 不安全代码生成测试(Secure Code Generation Tests):

  • 评估LLM在不同上下文中生成安全代码的倾向,包括在给定特定指令时生成不安全代码的倾向,以及在自动补全上下文中建议不安全编码实践的频率

LLM安全的测试内容

结合CyberSecEval 3,LLM安全的测试内容涵盖了以下方面:

1. Prompt安全测试:

  • 指令劫持测试:检查LLM是否能够抵抗将指令从预期任务转移到恶意任务的尝试。
  • 角色扮演测试:评估LLM在模拟特定角色时是否能够保持安全和适当的行为。
  • 反向诱导测试:测试LLM是否能够识别并抵抗试图诱导其产生不当反应的输入。

2. 内容安全测试:

  • 网络安全测试:评估LLM在网络环境中的安全性,包括对网络攻击的抵抗力。
  • 训练数据泄露测试:检查LLM是否泄露了训练数据中的敏感信息。
  • 个人隐私泄露测试:评估LLM是否能够保护个人隐私,不泄露个人信息。

3. 代码安全测试:

  • 不安全代码建议测试:评估LLM是否能够识别并拒绝生成不安全的代码建议。
  • 代码执行能力测试:测试LLM生成的代码是否能够在安全的环境下执行。

4. 漏洞和攻击测试:

  • 提示注入测试:检查LLM是否能够抵抗提示注入攻击,防止恶意代码的执行。
  • 越狱(Jailbreaks)测试:评估LLM是否能够抵抗越狱攻击,防止模型被滥用。
  • 恶意代码生成测试:检查LLM是否能够识别并阻止生成恶意代码。

AI应用自身的安全

在讨论了大型语言模型(LLM)的安全之后,我们转向AI应用自身的安全问题。AI应用,尤其是那些调用大模型的相关软件,其供应链的安全至关重要。如LangChain的远程命令执行漏洞凸显了AI应用在安全方面的脆弱性。(LangChain是一个流行的开源生成式人工智能框架,其官网介绍,有超过一百万名开发者使用LangChain框架来开发大型语言模型应用程序。)

AI应用自身的安全涉及到从开发到部署的整个供应链,包括但不限于代码库、依赖项、API接口以及与外部系统的交互。以下是一些关于AI应用比较经典的漏洞案例。

1. LangChain远程命令执行漏洞:

  • LangChain是一个用于构建和部署AI应用的平台,该漏洞允许攻击者通过构造特定的请求来执行任意命令,从而控制服务器。

2. ChatGPT-Next-Web SSRF漏洞(CVE-2023-49785):

  • 该漏洞允许攻击者通过服务器端请求伪造(SSRF)攻击,获取未经授权的访问权限,可能导致敏感信息泄露。

3. OpenAI ChatGPT插件隐私泄露:

  • ChatGPT的一个已知漏洞允许攻击者通过插件向恶意网站提供数据,控制聊天会话并窃取会话历史。

4. 大模型产生并执行XSS漏洞:

  • 有很多基于大模型的应用,在开发过程中没有对输入输出进行控制,诱导大模型输出XSS语句可以导致LLM在网页端成功输出并执行了XSS攻击。

AI应用安全的测试内容

针对AI应用自身的安全,测试内容应包括但不限于:

1. 功能安全测试:

  • 认证和授权:确保AI应用正确实施了用户认证和权限控制。
  • 数据加密:测试AI应用中数据传输和存储的加密措施是否得当。
  • 输入验证:测试AI应用是否能有效过滤和处理恶意输入。
  • 输出编码:在输出时对敏感字符进行编码保护,防止恶意代码直接输出执行。
  • 错误处理:测试AI应用在遇到错误时是否能够正确地处理,不泄露敏感信息。
  • 日志和监控:测试AI应用是否有足够的日志记录和监控机制来跟踪异常行为。

2. 系统安全测试:

  • API安全:测试AI应用提供的API是否安全,是否有可能遭受攻击。
  • 依赖项安全:测试AI应用依赖的库和框架是否有已知的安全漏洞。
  • 代码审计:对AI应用的代码进行审计,查找潜在的安全漏洞。

在本文中,我们简单探讨了AI安全的概念,特别关注了大型语言模型(LLM)的安全和AI应用本身的安全问题。我们了解到,随着AI技术的快速发展,其在带来便利的同时,也暴露出了诸多安全挑战。LLM安全关注于模型在处理和生成语言时的安全性,而应用安全则涉及AI技术在特定领域应用时的安全问题。

总体而言,AI安全是一个多维度的问题,它要求我们在技术发展的同时,不断更新和加强安全措施。随着AI技术的不断进步,新的安全挑战也会不断出现,这要求我们保持警惕,持续研究和开发更有效的安全策略和工具。只有这样,我们才能确保AI技术的安全、可靠和负责任的使用,从而最大化其对人类社会的积极影响。

参考

https://meta-llama.github.io/PurpleLlama/docs/intro/

https://doublespeak.chat/#/handbook

https://arxiv.org/pdf/2302.12173

洞源实验室
安全工程师:马云卓
2024 年 11 月 11 日 

相关文章:

大语言模型安全,到底是什么的安全

什么是AI安全 自ChatGPT问世以来,市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时,也不可避免地面临着安全挑战。AI安全,即人工智能安全,涉及在人工智能系统的开发、部署和使用全过…...

论文2—《基于柔顺控制的智能神经导航手术机器人系统设计》文献阅读分析报告

论文报告:基于卷积神经网络的手术机器人控制系统设计 摘要 本研究针对机器人辅助微创手术中定向障碍和缺乏导航信息的问题,设计了一种智能控制导航手术机器人系统。该系统采用可靠和安全的定位技术、7自由度机械臂以及避免关节角度限制的逆运动学控制策…...

试编写算法将单链表就地逆置(默认是带头节 点,如果是不带头节点地逆置呢?)

编写一个算法来就地逆置一个单链表。默认情况下,链表是带头节点的,但如果链表不带头节点,逆置的过程会有所不同。 第一步:定义逆置函数 根据题目中的“试编写算法将单链表就地逆置”,我们需要: 定义一个…...

FPGA学习笔记#3 Vitis HLS编程规范、数据类型、基本运算

本笔记根据笔者目前的项目确定学习目标,目前主要集中在Vitis HLS上,使用的Vitis HLS版本为2022.2,在windows11下运行,仿真part为xcku15p_CIV-ffva1156-2LV-e,从这一篇开始是HLS的学习进度,主要根据教程&…...

爬虫 - 二手交易电商平台数据采集 (一)

背景: 近期有一个需求需要采集某电商网站平台的商品数据进行分析。因此,我计划先用Python实现一个简单的版本,以快速测试技术的实现可能性,再用PHP实现一个更完整的版本。文章中涉及的技术仅为学习和测试用途,请勿用于商业或非法用…...

“成交量分布指标“,通过筹码精准锁定价格方向+简单找市场支撑压力位 MT4免费公式!

指标名称:成交量分布指标 版本:MT4 ver. 1.32 之前发布的市场分布图不少朋友反馈不错,希望获得其它版本。 这个版本只有MT4的,MT5可以看之前版本,链接: “市场分布图”,精准把握价格动向 更直…...

简记Vue3(四)—— 路由

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

Python批量合并多个PDF

在日常工作中,处理和合并多个 PDF 文件是一个常见需求,尤其是在需要将大量文件整理成一个完整文档时。本文将详细介绍如何使用 Python 的 PyMuPDF 库来实现批量 PDF 文件合并,并提供针对大文件优化的解决方案。 安装 PyMuPDF 要使用 PyMuPD…...

Linux:vim命令总结及环境配置

文章目录 前言一、vim的基本概念二、vim模式命令解析1. 命令模式1)命令模式到其他模式的转换:2)光标定位:3)其他命令: 2. 插入模式3. 底行模式4. 替换模式5. 视图模式6. 外部命令 三、vim环境的配置1. 环境…...

贪心算法day05(k次取反后最大数组和 田径赛马)

目录 1.k次取反后最大化的数组和 2.按身高排序 3.优势洗牌 1.k次取反后最大化的数组和 题目链接:. - 力扣(LeetCode) 思路: 代码: class Solution {public int largestSumAfterKNegations(int[] nums, int k) {//如…...

默认 iOS 设置使已锁定的 iPhone 容易受到攻击

苹果威胁研究的八个要点 苹果手机间谍软件问题日益严重 了解 Apple 苹果的设备和服务器基础模型发布 尽管人们普遍认为锁定的 iPhone 是安全的,但 iOS 中的默认设置可能会让用户面临严重的隐私和安全风险。 安全研究员 Lambros 通过Pen Test Partners透露&#…...

上海市计算机学会竞赛平台2024年11月月赛丙组

题目描述 在一个棋盘上,有两颗棋子,一颗棋子在第 aa 行第 bb 列,另一个颗棋子在第 xx 行第 yy 列。 每一步,可以选择一个棋子沿行方向移动一个单位,或沿列方向移动一个单位,或同时沿行方向及列方向各移动…...

Python批量设置图片背景为透明

我们日常生活中制作PPT等教学资源时,需要批量去除图片背景,就可以使用 Python 的 rembg 库。 这个库基于神经网络模型,去背景效果较好,可以批量处理png, jpg, jpeg等图片。采用以下代码可以批量处理当前目录下的所有图片&#xf…...

Vue CLI 脚手架

cli脚手架创建项目步骤 全局安装(一次):yarn global add vue/cli 无法识别yarn的要先安装yarn;终端执行npm install -g yarn 查看Vue版本:vue --version 这里有问题(success上方有warning) 报错:‘vue’不是内部或外部…...

Linux【基础篇】

-- 原生罪 linux的入门安装学习 什么是操作系统? 用户通过操作系统和计算机硬件联系使用。桥梁~ 什么是Linux? 他是一套开放源代码(在互联网上找到Linux系统的源代码,C语言写出的软件),可以自由 传播&…...

多线程环境下安全地使用 SimpleDateFormat的常见方法

文章目录 1. 使用局部变量&#xff08;每个线程独立一个实例&#xff09;2. 使用 ThreadLocal<SimpleDateFormat>3. 使用 DateTimeFormatter&#xff08;Java 8 及以上&#xff09;4. 使用 DateFormat 子类&#xff08;如 FastDateFormat&#xff09;5. 使用 synchronize…...

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头 原版表头和表体字体美化自动拼接错误提示列自适应宽度自动合并单元格使用Easyexcel使用poi导出 在后台管理开发的工作中,离不开的就是导出excel了. 如果是简单的导出, 直接easyexce…...

ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过&#xff0c;是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态&#xff0c;与静态的数据集&#xff08;比如说我自己的工作&#xff09;不同&#xff0c;因此…...

Docker 常用命令详解(详细版)

Docker 是一个开源的容器化平台&#xff0c;它使得开发人员可以打包应用程序及其所有依赖项&#xff0c;并在任何环境中运行。Docker 提供了简单而强大的命令行工具来管理容器、镜像、网络等。本文将详细介绍 Docker 的常用命令及其使用方法。 1. 安装 Docker 在使用 Docker …...

【网络安全 | 甲方安全建设】分布式系统、Redis分布式锁及Redisson看门狗机制

未经许可,不得转载。 文章目录 分布式系统分布式系统的核心特性分布式系统的典型架构分布式锁概念Redis 分布式锁原理互斥性锁释放锁的唯一性具体实现Redisson分布式锁分布式系统 分布式系统是一种由多台计算机(节点)组成的系统,这些节点通过网络相互连接并协同工作,共同…...

「QT」几何数据类 之 QLineF 浮点型直线类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...

Treeland 技术揭秘,如何使得 DDE 纵享丝滑?

近日&#xff0c;deepin&#xff08;深度&#xff09;社区亮相COSCon24 第九届中国开源年会开源市集&#xff0c;且社区资深桌面研发工程师张丁元为大家来了《Treeland&#xff0c;DDE进步的阶梯》技术分享。 就着这个机会&#xff0c;今天就让我们一起来聊聊如何在追求华丽动…...

快速了解SpringBoot 统一功能处理

拦截器 什么是拦截器&#xff1a; 拦截器是Spring框架提供的重要功能之一&#xff0c;主要进行拦截用户请求&#xff0c;在指定方法前后&#xff0c;根据业务需求&#xff0c;执行预先设定的代码。 也就是说,允许开发⼈员提前预定义⼀些逻辑,在⽤⼾的请求响应前后执⾏.也可以…...

C++区分数组的引用和引用的数组

void f(int (&arr)[10]) {//正确} void f1(int &arr[10]) {//不允许使用引用的数组} []&#xff08;数组下标运算符&#xff09;的优先级高于&&#xff08;取地址运算符&#xff09;。所有表达式&arr[i]等价于&(arr[i]) 引用的数组 一个包含引用的数组&…...

【harbor】离线安装2.9.0-arm64架构服务制作和升级部署

harbor官网地址&#xff1a;Harbor 参考文档可以看这里&#xff1a;部署 harbor 2.10.1 arm64 - 简书。 前提环境准备&#xff1a; 安装docker 和 docker-compose 先拉arm64架构的harbor相关镜像 docker pull --platformlinux/arm64 ghcr.io/octohelm/harbor/harbor-regist…...

ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决

前言 在现代前端开发中&#xff0c;代码质量与代码风格的统一是两个非常重要的方面。良好的代码质量能减少 bug 的产生&#xff0c;而统一的代码风格则能提高团队协作的效率。为了实现这两个目标&#xff0c;我们通常会使用一些工具。 为了保证代码的可读性和维护性&#xff0…...

uniApp之uni-file-picker使用踩坑

标题党~也不算坑吧 就是初体验 上传是需要存储一下子的&#xff0c;我以为uniApp是自己免费开的服务给大家中转使用&#xff0c;就没管这个事&#xff0c;但是官网是这么说的&#xff1a; 就我是怎么发现的&#xff0c;使用了一段时间后&#xff0c;上传的图片都裂了&#xff…...

【C语言】。末尼

用js写一个冒泡排序 当然可以。在JavaScript中&#xff0c;你可以使用递归的方式来实现冒泡排序算法。这是一个简单的示例&#xff1a; function bubbleSort(arr) { let len arr.length; if(len < 1){ return arr; // 如果数组只有一个元素或为空&#xf…...

【鉴权】深入解析 Token:身份认证的核心技术

目录 引言一、Token 的定义与概念1.1 Token 是什么&#xff1f;1.2 无状态性与自包含性1.3 Token 的工作流程1.3.1 基本工作流程1.3.2 工作流程图示 二、Token 的常见用途2.1 用户身份验证2.2 授权控制2.3 防止跨站请求伪造&#xff08;CSRF&#xff09;2.4 跨域认证 三、Token…...

FastReport将停止 .NET Framework 上的 WebReport 更新

从2024/ 12 /1 日起&#xff0c;Fastreport将停止发布更新和提供对 FastReport.Web (.NET Framework) 的技术支持。该库一直是使用 Online Designer 的许多项目中报告的核心。这些更改意味着 FastReport.Web (Legacy) 库&#xff08;FastReport.Net包的一部分&#xff09;将不再…...

wordpress悬浮搜索/网络营销的优势和劣势

Python文本处理尝试 最近打算看CSAPP&#xff0c;GitHub上看到有英语字幕ass源文件&#xff0c;想把字幕提取出来提高学习效率&#xff0c;先把ass文件转成txt文件&#xff0c;发现是这样&#x1f447; 都在Dialogue的后面&#xff0c;打算尝试提取一下 不太熟练&#xff0c;下…...

做app模板网站有哪些/免费做网站怎么做网站链接

当然可以!这是一个使用辗转相除法来求最大公约数的 Java 程序示例: public class GCD {public static void main(String[] args) {int a = 24;int b = 36;int gcd = findGCD(a, b);System.out.println("最大公约数是:" + gcd);}...

wordpress 幻灯/长沙网站推广排名

WPF 背景颜色渐变的滑动条实现 原文:WPF 背景颜色渐变的滑动条实现版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/BYH371256/article/details/83507352 本章讲述&#xff1a;在WPF中&#xff0c;背景颜色渐变的滑动条功能实…...

唯美图片wordpress主题/网站制作企业有哪些

IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密&#xff0c;刚开始也是有点乱&#xff0c;这两天也整理的差不多了&#xff0c;希望能帮到大家。 这次先上代码&#xff0c;我想大部分人肯定是着急解决问题&#xff0c;所以不要废话太多。 IOS端 …...

wordpress跳转https/百度账户代运营

国服新出的小活动&#xff0c;被玩家戏称为&#xff1a;在DNF之中玩DNF。不过国服出品&#xff0c;必然是BUG四起的精品&#xff0c;近日有玩家爆料&#xff0c;模拟器刷出的史诗和神话装备&#xff0c;通过特殊手段&#xff0c;是可以放入到背包的&#xff0c;这就让41、21和缺…...

电子商务网站规划的内容/广东近期新闻

大数据文摘出品 编译&#xff1a;周素云、蒋宝尚学会了Python基础知识&#xff0c;想进阶一下&#xff0c;那就来点算法吧&#xff01;毕竟编程语言只是工具&#xff0c;结构算法才是灵魂。新手如何入门Python算法&#xff1f;几位印度小哥在GitHub上建了一个各种Python算法的新…...