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

OWASP发布大模型安全风险与应对策略(QA测试重点关注)

     开放式 Web 应用程序安全项目(OWASP)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。

    帮助开发者和测试同学更好地理解和应对这些挑战,我们介绍LLM应用中常见的安全问题,并提供了相应的应对策略。

    

一、提示注入(Promt Injections)

问题概述:提示注入漏洞涉及狡猾的输入,导致未检测到的操作,影响范围从数据暴露到未经授权的操作。攻击者通过构建的输入提示操纵LLM,利用对LLM输出的固有信任,实现恶意目标。

应对策略

  • 权限限制:将LLM的权限限制为其功能所需的最低权限。
  • 输入验证:实施可靠的输入验证和清理方法,过滤掉潜在恶意提示输入。
  • 信任边界:在LLM、外部源和可扩展功能之间建立信任边界。

二、不安全输出(Insecure Output Handling)

问题概述:当插件或应用程序盲目接受LLM输出并直接传递给后端或客户端函数时,可能导致XSS、CSRF等安全漏洞。

应对策略

  • 输出编码:将来自模型的输出进行编码,减少不必要的代码解释。
  • 输入验证:对从模型到后端函数的响应应用适当的输入验证。
三、训练数据投毒(Training Data Poisoning)

问题概述:攻击者通过引入漏洞的训练数据,破坏LLM模型,使用户接触到不正确的信息。

应对策略

  • 数据验证:验证培训数据的供应链和合法性。
  • 沙盒隔离:确保存在足够的沙盒,防止模型抓取意外数据源。
  • 模型多样化:针对不同用例使用单独的训练数据制作不同的模型。

四、拒绝服务(Denial of Service)

问题概述:攻击者以特别消耗资源的方式与LLM交互,导致服务质量下降或高资源成本。

应对策略

  • 资源限制:限制每个请求和步骤的资源使用量。
  • 队列控制:限制系统中对LLM响应的排队操作数和总操作数。
五、供应链完整性风险

问题概述:LLM供应链可能受到攻击,影响训练数据、ML模型和部署平台的完整性。

应对策略

  • 供应商审查:仔细审查来源和供应商。
  • 漏洞扫描:对组件进行漏洞扫描,包括开发和测试阶段。
  • 稳健性测试:对提供服务的整个链路进行稳健性测试。

六、权限问题(Permission Issues)

问题概述:插件之间缺乏授权跟踪,可能导致权限提升、机密性丢失和远程代码执行。

应对策略

  • 手动授权:需要手动授权敏感插件执行的任何操作。
  • 插件隔离:每个用户输入调用不超过一个插件,调用间重置插件数据。
  • 污点跟踪:对所有插件内容执行污点跟踪,确保授权级别对应。
七、数据泄漏

问题概述:LLM通过响应意外泄露敏感信息,导致隐私和安全漏洞。

应对策略

  • 数据清理:执行足够的数据清理和验证。
  • 用户教育:让用户了解与LLM交互的风险。
八、其他安全问题概览

除了上述六大问题外,OWASP还指出了其他四个关键安全问题,包括沙盒不足、模型窃取、模型逆向工程和隐私侵犯。这些问题同样需要引起开发者的重视,并采取相应的预防措施。

  • 沙盒不足:确保LLM在受限的环境中运行,防止其访问敏感资源。
  • 模型窃取:通过加密和访问控制保护模型不被非法复制。
  • 模型逆向工程:使用混淆和加密技术增加模型逆向工程的难度。
  • 隐私侵犯:明确用户数据的使用条款,确保用户隐私得到保护。
九、大模型的攻击与防御

对于大模型的威胁来说,可以分为攻击和防御,前者研究的是如何攻击模型,后者研究的是如何防御,提升模型鲁棒性。

攻击包括了这4种攻击类别:

1、白盒攻击,主要是基于输入梯度产生对抗样本,相关算法有FGSM、BIM、PGD、DeepFool等;

2、基于迁移的黑盒攻击,利用AI系统获取训练数据,训练一个替代模型,用于生成对抗样本,相关算法有MIM、DIM、TI等;

3、基于预测分数的黑盒攻击,利用数据获取AI系统的预测分数,生成对抗样本,相关算法有ZOO、NES、SPSA、P-RGF等;

4、基于决策的黑盒攻击,利用数据获取AI系统的预测标签,生成对抗样本,相关研究有基于决策边界攻击的方式、基于优化器的方法、基于进化攻击的方法。

防御包括了这4种防御策略:

1、对抗训练,在训练模型的时候加入对抗样本,提升模型鲁棒性,相关算法有PGD-AT、TRADES、SMART等;

2、认证防御,这方面的研究包括了训练可认证的鲁棒模型、随机化平滑等方法,但这类方法要么计算量大,要么难以达到SOTA鲁棒性;

3、推理阶段防御,这方面的研究主要尝试在推理阶段解决这个问题,譬如对输入数据先进行线性转换或去燥等处理,去除对抗扰动,获得干净的输入。

4、对抗检测,这部分的研究主要是研究如何识别对抗样本。

十、总结与提高

随着深度学习技术的发展和研究的深入,未来大模型的攻防将在动态抗衡中不断升级,同时,大模型需要应对的新型安全威胁也将不断涌现和升级。

ChatGPT 可能已经具备了某种意识,新的优先级的事情是要阻止超级人工智能干坏事。未来可能面临以下新型安全问题。

一是自适应对抗攻击。随着大模型变得更加复杂,攻击者可能会开发出能够自适应模型防御机制的高级对抗性攻击,这些攻击可能在大模型更新或变更时迅速演化。

二是深度伪造与信任危机。利用大模型生成的深度伪造内容将更加逼真,这可能导致公众对数字媒体的信任度下降,引发社会层面的信息验证危机。

三是人工智能辅助的自动化攻击。人工智能技术本身将被用于自动化攻击流程,实现快速识别系统漏洞、自动生成攻击脚本,大幅提高攻击效率和威胁级别。

四是伦理和法律合规性问题。随着大模型在更多敏感领域的应用,如医疗、司法等,它们必须符合更高的伦理和法律标准。未来可能会出现更多关于大模型决策过程和结果的合规性争议。

五是大模型的可解释性和透明度问题。大模型的决策过程往往不够透明,这可能导致在关键领域中难以对其输出结果进行验证和信任。未来可能会出现更多要求提高大模型可解释性和透明度的需求。

相关文章:

OWASP发布大模型安全风险与应对策略(QA测试重点关注)

开放式 Web 应用程序安全项目(OWASP)发布了关于大模型应用的安全风险,这些风险不仅包括传统的沙盒逃逸、代码执行和鉴权不当等安全风险,还涉及提示注入、对话数据泄露和数据投毒等人工智能特有的安全风险。 帮助开发者和测试同学更…...

【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量

ArkTS是HarmonyOS开发的编程语言 ArkTS语法中的变量 【语法格式】: let 变量名: 类型 值 let:是定义变量的关键字类型: 值数据类型, 常用的数据类型 字符型(string)、数字型(number&#xf…...

UI自动化测试示例:python+pytest+selenium+allure

重点应用是封装、参数化: 比如在lib文件夹下,要存储封装好的方法和必要的环境变量(指网址等) 1.cfg.py:封装网址和对应的页面 SMP_ADDRESS http://127.0.0.1:8234SMP_URL_LOGIN f{SMP_ADDRESS}/login.html SMP_URL_DE…...

C/C++ 编程小工具

编写了 tools.h 和 tools.cpp&#xff0c;用于 Debug、性能测试、打印日志。 tools.h #ifndef TOOLS_H #define TOOLS_H#include <time.h> #include <fstream> #include <iostream> #include <random> #include <chrono> #include <vector&…...

第四十二章 使用 WS-ReliableMessaging

文章目录 第四十二章 使用 WS-ReliableMessaging从 Web 客户端发送一系列消息 第四十二章 使用 WS-ReliableMessaging IRIS 支持 WS-ReliableMessaging 规范的部分内容&#xff0c;如简介中所述。此规范提供了一种按顺序可靠地传递一系列消息的机制。本页介绍如何手动使用可靠…...

利士策分享,婚姻为何被称为大事?

利士策分享&#xff0c;婚姻为何被称为大事&#xff1f; 在历史的长河中&#xff0c;婚姻一直被视为人生中的头等大事&#xff0c;这一观念跨越时空&#xff0c;深深植根于各种文化和社会结构中。 古人为何将婚姻称为“大事”&#xff0c;这背后蕴含着丰富的社会、文化和心理寓…...

malloc源码分析之 ----- 你想要啥chunk

文章目录 malloc源码分析之 ----- 你想要啥chunktcachefastbinsmall binunsorted binbin处理top malloc源码分析之 ----- 你想要啥chunk tcache malloc源码&#xff0c;这里以glibc-2.29为例&#xff1a; void * __libc_malloc (size_t bytes) {mstate ar_ptr;void *victim;vo…...

软考系统分析师知识点五:数据通信与计算机网络

前言 今年报考了11月份的软考高级&#xff1a;系统分析师。 考试时间为&#xff1a;11月9日。 倒计时&#xff1a;32天。 目标&#xff1a;优先应试&#xff0c;其次学习&#xff0c;再次实践。 复习计划第一阶段&#xff1a;扫平基础知识点&#xff0c;仅抽取有用信息&am…...

windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)

windows客户端SSH连接ubuntu/linux服务器&#xff0c;三种网络连接&#xff1a;局域网&#xff0c;内网穿透&#xff08;sakuraftp&#xff09;&#xff0c;虚拟局域网&#xff08;zerotier&#xff09; 目录 SSH简述、三种网络连接特点SSH简述局域网内连接内网穿透&#xff08…...

Python 工具库每日推荐【openpyxl 】

文章目录 引言Python Excel 处理库的重要性今日推荐:openpyxl 工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:自动生成月度销售报告案例分析高级特性条件格式数据验证扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeScript 设计…...

本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?

当前&#xff0c;各大平台的本地生活服务业务日渐兴盛&#xff0c;提高创业者入局意向的同时&#xff0c;也让本地生活服务项目有哪些等问题也成为了多个创业者社群中的热议对象。而从目前的讨论情况来看&#xff0c;在创业者们所询问的众多本地生活服务项目中&#xff0c;通过…...

ML 系列:【13 】— Logistic 回归(第 2 部分)

文章目录 一、说明二、挤压方法三、Logistic 回归中的损失函数四、后记 一、说明 ​ 在这篇文章中&#xff0c;我们将深入研究 squashing 方法&#xff0c;这是有符号距离方法&#xff08;第 12节&#xff09;的一种很有前途的替代方案。squashing 方法通过提供增强的对异常值…...

45岁被裁员的程序员,何去何从?

在当今快速变化的技术行业&#xff0c;职业生涯的稳定性受到挑战。在45岁被裁员&#xff0c;对很多程序员来说&#xff0c;可能是一种惊慌失措的体验。然而&#xff0c;这个阶段也可以被视为一个重新审视和调整方向的机会。本文将对可能的出路进行全方位的分析&#xff0c;并提…...

云计算Openstack Neutron

OpenStack Neutron是OpenStack云计算平台中的网络服务组件&#xff0c;它为OpenStack提供了强大的网络连接功能。 一、基本概念 Neutron是一个网络服务项目&#xff0c;旨在为OpenStack提供网络连接。它允许用户创建和管理虚拟网络&#xff0c;包括子网、路由、安全组等&…...

PointNet++网络详解

数据集转换 数据集转换的意义在于将原本的 txt 点云文件转换为更方便运算的npy点云文件&#xff0c;同时&#xff0c;将原本的xyzrgb这 6 个维度转换为xyzrgbc&#xff0c;最后一个c维度代表该点云所属的类别。 for anno_path in anno_paths:print(anno_path)try:elements a…...

Java | Leetcode Java题解之第459题重复的子字符串

题目&#xff1a; 题解&#xff1a; class Solution {public boolean repeatedSubstringPattern(String s) {return kmp(s s, s);}public boolean kmp(String query, String pattern) {int n query.length();int m pattern.length();int[] fail new int[m];Arrays.fill(fa…...

【动态规划-最长公共子序列(LCS)】【hard】力扣1092. 最短公共超序列

给你两个字符串 str1 和 str2&#xff0c;返回同时以 str1 和 str2 作为 子序列 的最短字符串。如果答案不止一个&#xff0c;则可以返回满足条件的 任意一个 答案。 如果从字符串 t 中删除一些字符&#xff08;也可能不删除&#xff09;&#xff0c;可以得到字符串 s &#x…...

‌图片编辑为底片,智能工具助力,创作精彩视觉作品

在当今数字化时代&#xff0c;图像编辑已成为表达创意和美化视觉作品的重要手段。借助智能工具&#xff0c;即使是初学者也能轻松驾驭图片编辑。接下为大家展示图片编辑为底片图片的效果。 1.打开“首助编辑高手”&#xff0c;选择这里“图片批量处理”版块页面上 2.导入保存有…...

机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+

时间序列在回归预测的领域的重要性&#xff0c;不言而喻&#xff0c;在数学建模中使用及其频繁&#xff0c;但是你真的了解ARIMA、AR、MA么&#xff1f;ACF图你会看么&#xff1f;&#xff1f; 时间序列数据如何构造&#xff1f;&#xff1f;&#xff1f;&#xff0c;我打过不少…...

回溯算法之值子集和问题详细解读(附带Java代码解读)

子集和问题&#xff08;Subset Sum Problem&#xff09; 是一个经典的组合优化问题。问题可以这样描述&#xff1a; 给定一个整数集合和一个目标整数 target&#xff0c;我们需要从集合中选出若干个整数&#xff0c;使它们的和等于 target。如果这样的子集存在&#xff0c;返回…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...