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

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%,而 Gartner 则预估到 2025 年约 30% 的网络攻击将利用生成式 AI 技术。与此同时,Capgemini 的调查显示,近 74% 的企业认为 AI 驱动的安全防护至关重要,加上 Cybersecurity Ventures 报告指出,与生成式 AI 相关的安全事件年增长率超过 20%,这充分表明企业和安全供应商正面临日益严峻的安全挑战,并加大投入以构建更全面的防护体系。今天要介绍的就是如何设计生成式AI应用安全解决方案,抵御OWASP Top 10攻击。未来也会分享更多的AI安全解决方案,欢迎大家关注。

目前我们生活中有各色各样的生成式 AI应用,常见的场景之一就是生成式AI对话助手。然而在部署之前,通常还要对应用进行评估,其中包括了解安全态势、监控和日志记录、成本跟踪、弹性等问题。在这些评估中,安全性通常是最高优先级。如果存在无法明确识别的安全风险,我们就无法有效解决这些风向,这可能会阻碍生成式AI应用向生产环境部署的进度。

在本文章中,小李哥将向大家展示一个自己设计的生成式应用的真实场景,并演示如何利用 OWASP安全框架,基于大语言模型应用常见的Top 10安全攻击来评估应用的安全态势,以及实施缓解措施。

生成式 AI 范围框架

在我们开始介绍方案前,我们首先要了解生成式AI应用的两种模式,托管和私有化部署。当我们使用亚马逊云科技的生成式AI安全框架,我们要理解适用于我们应用的部署模式以及对应安全控制,和如何利用亚马逊责任共担模型提升应用安全性。例如下图中我们就针对不同的部署模式对应了5个scope范围,Scope 1的“Consumer Apps”类应用中,比如亚马逊的PartyRock或OpenAI的ChatGPT,通常是面向公众的应用,大部分内部安全由服务提供商掌控,大家在安全方面的责任主要在客户端。与此相对的是Scope 4/5层应用,在这类应用中,大家不仅要自行构建和保障生成式AI应用,还需要负责对底层大语言模型进行微调和训练。Scope 4/5应用的安全控制范围会更多、更广,从前端、后端到LLM模型的安全都有涉及。本文将重点讨论Scope 3生成式AI应用的安全解决方案,这是实际应用中较为常见的案例。

下图展示了亚马逊云科技生成式AI安全范围矩阵的5个scope,并总结了各个范围下模型/部署的类型。

针对大语言模型的OWASP Top 10攻击框架

接下来我们将利用OWASP Top 10攻击框架来理解目前生成式AI应用的威胁和缓解措施,OWASP是评估应用安全性最常见的方法之一。针对大语言模型的OWASP Top 10攻击框架专门应用于生成式AI应用,帮助大家发现、理解并防护生成式 AI 所面临的新型威胁。

生成式AI应用安全解决方案设计

接下来,我们从一个完整的生成式AI的应用架构图出发,展示如何对一个典型的生成式AI应用,在OWASP大语言模型威胁框架下进行风险评估。流程图如下图所示。

在这一架构中,用户的API请求通常会经过以下云环境内的系统组件:

身份验证层

这一层主要是验证连接到AI应用的用户的身份。我们通常通过身份提供商(IdP)功能实现,比如 Okta、亚马逊云科技IAM Identity Center或Amazon Cognito。

应用层

这一层包含大部分应用业务逻辑,负责决定如何处理传入应用的用户请求,包括生成AI模型的提示词并处理AI模型返回的响应,之后再将结果返回给终端的用户。

AI模型与代理

AI基础模型是提供生成式AI应用的核心能力,而AI代理则负责协调完成请求所需的各个任务步骤,这些步骤可能同时涉及AI模型调用和从外部数据源获取数据,以及外部API集成。

代理插件控制层

该组件负责与外部数据源和API集成,同时存储着AI代理引用的外部系统组件的逻辑名称和物理名称之间的匹配关系。

RAG知识库数据存储

知识库检索增强生成(RAG)的数据存储通过数据连接器,从对象存储S3、数据仓库、数据库RDS以及其他SaaS应用中提取最新、精准且有权限管理限制下的信息。

我们将大语言模型的OWASP Top 10风险框架应用到到我们云端应用堆栈的各层,可以识别出从用户界面到后端系统的漏洞。下面我们将讨论位于应用堆栈每个层面的风险,并提供一个基于亚马逊云科技的生成式AI应用安全设计方法,以消除这些风险。

下图展示了在亚马逊云科技上实现生成式AI应用的安全最佳实践架构图。下面我会将下图中应用于各层的解决方案依次进行介绍。

身份验证层(Amazon Cognito)

我们生活中一直活跃着常见的网络攻击,如暴力破解攻击、会话劫持和拒绝服务(DoS/DDoS)攻击等。为了解决这些风险和攻击,我们需要在系统方案中实施安全最佳实践,比如多因素认证(MFA)、网页请求速率限制、会话安全管理、会话超时timeout配置以及定期访问令牌轮换。此外,我们还可以部署亚马逊云科技WAF和分布式拒绝服务(DDoS)解决方案AWS Shield等边缘安全措施,帮助我们防护常见的网络攻击,并在攻击期间保持服务可用性。

在上述架构图中,我们将亚马逊云科技WAF与Amazon API Gateway进行了集成,用于过滤和屏蔽恶意的访问请求,从而保护应用免受SQL注入、跨站脚本(XSS)和DoS/DDoS等攻击。亚马逊云科技WAF Bot Control的功能可以进一步提升应用的安全性,通过对机器人等自动化脚本流量的可视性和控制功能,让大家可以屏蔽或对恶意的机器人进行限速和阻挡。该功能可通过亚马逊云科技 Firewall Manager在多个账号间集中管理,从而为应用提供一致而强大的保护。

Amazon Cognito服务更可以增强这些防御措施,该服务主要功能是实现用户身份验证,支持不同种多样的用户池和身份池,使大家能够在不同设备间无缝切换,而使用相同的用户身份授权并与第三方身份提供商集成。Amazon Cognito也提供其他多样化的安全功能包括MFA、OAuth 2.0、OpenID Connect、安全会话管理以及基于用户行为风险的动态调整的身份验证,防止用户未经授权的访问,该动态调整机制可以通过对登录请求中可疑活动的评估,并通过额外的安全措施(如 MFA 或屏蔽登录)进行响应。此外Amazon Cognito还强制防止密码重用,从而进一步降低密码泄露的风险。

亚马逊云科技Shield Advanced则是为了应对复杂的DDoS攻击提供了额外的保护。它与亚马逊云科技WAF集成,通过定制化攻击检测和基于系统健康状况的评估,为我们的AI应用提供全面的边界保护,增强了我们对DDoS攻击的响应能力。Shield Advanced还提供了全天候的客服支持,由亚马逊云科技Shield客服响应团队提供24*7的支持,服务内容包括了DDoS成本保护,确保应用在保持安全的同时安全成本可控。Shield Advanced与亚马逊云科技WAF结合搭配,为生成式AI应用构建了一个既能抵御各种安全共计与威胁,又能保持服务高可用性的安全框架。

以上的安全方案有效解决了两大OWASP常见的安全攻击问题,分别是LLM10:2025不受限制的使用(DoS/DDoS攻击)和LLM02:2025敏感信息泄露的问题(避免web攻击盗取数据),确保应用既具备弹性又安全。

相关文章:

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%…...

.Net WebAPI -[HttpPut(“{fileServiceId:int}“)]

[HttpPut("{fileServiceId:int}")] 这个写法是 ASP.NET Core 中的一个路由特性,用于定义一个 HTTP PUT 请求的路由,并指定路由参数的类型。 解析 HttpPut [HttpPut]: 这是一个 ASP.NET Core 的路由特性,用于标记一个方…...

[EAI-027] RDT-1B,目前最大的用于机器人双臂操作的机器人基础模型

Paper Card 论文标题:RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation 论文作者:Songming Liu, Lingxuan Wu, Bangguo Li, Hengkai Tan, Huayu Chen, Zhengyi Wang, Ke Xu, Hang Su, Jun Zhu 论文链接:https://arxiv.org/ab…...

C基础寒假练习(7)

一、有 1、2、3、4个数字&#xff0c;能组成多少互不相同且无重复的三位&#xff1f; 都是多少&#xff1f; #include <stdio.h> int main() {// 定义数字数组int digits[] {1, 2, 3, 4};int n sizeof(digits) / sizeof(digits[0]);// 嵌套循环遍历所有排列for (int …...

Ajax:重塑Web交互体验的人性化探索

在数字化时代&#xff0c;网页的交互性和响应速度已成为衡量用户体验的关键指标。Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;&#xff0c;作为前端与后端沟通的桥梁&#xff0c;凭借其异步通信的能力&#xff0c;极大地提升了网页的动态性和用户友好度&…...

【DeepSeek背后的技术】系列二:大模型知识蒸馏(Knowledge Distillation)

目录 1 引言2 操作步骤和公式说明2.1 准备教师模型&#xff08;Teacher Model&#xff09;和学生模型&#xff08;Student Model&#xff09;2.2 生成软标签&#xff08;Soft Labels&#xff09;2.3 定义蒸馏损失函数2.4 训练学生模型2.5 调整超参数2.6 评估与部署 3 其他知识蒸…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.14 内存映射:处理超大型数组的终极方案

2.14 内存映射&#xff1a;处理超大型数组的终极方案 目录 #mermaid-svg-G91Kn9O4eN2k8xEo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-G91Kn9O4eN2k8xEo .error-icon{fill:#552222;}#mermaid-svg-G91Kn9O4eN2k…...

【C++】STL——vector的使用

目录 &#x1f495;1.vector介绍 &#x1f495;2.vector的基本用法 &#x1f495;3.vector功能的具体用法 &#xff08;讲解&#xff09; &#x1f495;4.vector——size&#xff0c;capacity函数的使用 &#xff08;简单略讲&#xff09; &#x1f495;5.resize&#xff…...

springboot/ssm互联网智慧医院体检平台web健康体检管理系统Java代码编写

springboot/ssm互联网智慧医院体检平台web健康体检管理系统Java代码编写 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&am…...

介绍一下Mybatis的Executor执行器

Executor执行器是用来执行我们的具体的SQL操作的 有三种基本的Executor执行器&#xff1a; SimpleExecutor简单执行器 每执行一次update或select&#xff0c;就创建一个Statement对象&#xff0c;用完立刻关闭Statement对象 ReuseExecutor可重用执行器 可重复利用Statement…...

Wide Deep 模型:记忆能力与泛化能力

实验和完整代码 完整代码实现和jupyter运行&#xff1a;https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 Wide & Deep 模型是一种结合了线性模型&#xff08;Wide&#xff09;和深度神经网络&#xff08;Deep&#xff09;的混…...

Hot100之矩阵

73矩阵置零 题目 思路解析 收集0位置所在的行和列 然后该行全部初始化为0 该列全部初始化为0 代码 class Solution {public void setZeroes(int[][] matrix) {int m matrix.length;int n matrix[0].length;List<Integer> list1 new ArrayList<>();List<…...

Python语言的安全开发

Python语言的安全开发 引言 在信息技术迅速发展的今天&#xff0c;网络安全问题愈发凸显。随着Python语言的广泛应用&#xff0c;尤其是在数据分析、人工智能、Web开发等领域&#xff0c;其安全问题越来越受到重视。Python作为一门高效且易于学习的编程语言&#xff0c;虽然在…...

蓝桥杯刷题DAY3:Horner 法则 前缀和+差分数组 贪心

所谓刷题&#xff0c;最重要的就是细心 &#x1f4cc; 题目描述 在 X 进制 中&#xff0c;每一数位的进制不固定。例如&#xff1a; 最低位 采用 2 进制&#xff0c;第二位 采用 10 进制&#xff0c;第三位 采用 8 进制&#xff0c; 则 X 进制数 321 的十进制值为&#xff…...

java项目验证码登录

1.依赖 导入hutool工具包用于创建验证码 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.2</version></dependency> 2.测试 生成一个验证码图片&#xff08;生成的图片浏览器可…...

手写MVVM框架-环境搭建

项目使用 webpack 进行进行构建&#xff0c;初始化步骤如下: 1.创建npm项目执行npm init 一直下一步就行 2.安装webpack、webpack-cli、webpack-dev-server&#xff0c;html-webpack-plugin npm i -D webpack webpack-cli webpack-dev-server html-webpack-plugin 3.配置webpac…...

2025年2月2日(网络编程 tcp)

tcp 循环服务 import socketdef main():# 创建 socket# 绑定tcp_server socket.socket(socket.AF_INET, socket.SOCK_STREAM)tcp_server.bind(("", 8080))# socket 转变为被动tcp_server.listen(128)while True:# 产生专门为链接进来的客户端服务的 socketprint(&qu…...

【Docker项目实战】使用Docker部署MinIO对象存储(详细教程)

【Docker项目实战】使用Docker部署MinIO对象存储 前言一、 MinIO介绍1.1 MinIO简介1.2 主要特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载MinIO镜像五、…...

使用ollama本地部署Deepseek r1

1、下载ollama 在浏览器地址输入&#xff1a;https://ollama.com/ 选择windows版本的下载 2、安装ollama 3、运行ollama 安装完成后&#xff0c;打开命令行工具win r 在命令行输入&#xff1a;ollama 4、使用ollama下载并部署Deepseed r1 在ollama网站&#xff0c;下载…...

Unity飞行代码 超仿真 保姆级教程

本文使用Rigidbody控制飞机&#xff0c;基本不会穿模。 效果 飞行效果 这是一条优雅的广告 如果你也在开发飞机大战等类型的飞行游戏&#xff0c;欢迎在主页搜索博文并参考。 搜索词&#xff1a;Unity游戏(Assault空对地打击)开发。 脚本编写 首先是完整代码。 using System.Co…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...