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

news2025/2/6 0:20:39

今天小李哥将开启全新的技术分享系列,为大家介绍生成式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攻击盗取数据),确保应用既具备弹性又安全。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch基于FastText实现词嵌入

FastText 是 Facebook AI Research 提出的 改进版 Word2Vec,可以: ✅ 利用 n-grams 处理未登录词 比 Word2Vec 更快、更准确 适用于中文等形态丰富的语言 完整的 PyTorch FastText 代码(基于中文语料),包含&#xff1…

Docker技术相关学习三

一、Docker镜像仓库管理 1.docker仓库:用于存储和分发docker镜像的集中式存储库,开发者可以将自己创建的镜像推送到仓库中也可以从仓库中拉取所需要的镜像。 2.docker仓库: 公有仓库(docker hub):任何人都可…

在Mac mini M4上部署DeepSeek R1本地大模型

在Mac mini M4上部署DeepSeek R1本地大模型 安装ollama 本地部署,我们可以通过Ollama来进行安装 Ollama 官方版:【点击前往】 Web UI 控制端【点击安装】 如何在MacOS上更换Ollama的模型位置 默认安装时,OLLAMA_MODELS 位置在"~/.o…

Python 网络爬虫实战:从基础到高级爬取技术

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 网络爬虫(Web Scraping)是一种自动化技术,利用程序从网页中提取数据,广泛…

python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素均值处理

【1】引言 前序学习进程中,对图像的操作均基于各个像素点上的BGR值不同而展开。 对于彩色图像,每个像素点上的BGR值为三个整数,因为是三通道图像;对于灰度图像,各个像素上的BGR值是一个整数,因为这是单通…

控件【QT】

文章目录 控件QWidgetenabledgeometrysetGeometry qrcwindowOpacityQPixmapfonttoolTipfocusPolicystyleSheetQPushButtonRadio ButtionCheck Box显示类控件QProgressBarcalendarWidget 控件 Qt中已经提供了很多内置的控件了(按钮,文本框,单选按钮,复选按钮,下拉框…

STM32 串口发送与接收

接线图 代码配置 根据上一章发送的代码配置,在GPIO配置的基础上需要再配置PA10引脚做RX接收,引脚模式可以选择浮空输入或者上拉输入,在USART配置串口模式里加上RX模式。 配置中断 //配置中断 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE…

【Unity2D 2022:UI】创建滚动视图

一、创建Scroll View游戏对象 在Canvas画布下新建Scroll View游戏对象 二、为Content游戏对象添加Grid Layout Group(网格布局组)组件 选中Content游戏物体,点击Add Competent添加组件,搜索Grid Layout Group组件 三、调整Grid La…

Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API

目前国内少有调用ChatGPT、Claude、Gemini等国外大模型API的库。 Python库sider_ai_api 提供了调用这些大模型的一个完整解决方案, 使得开发者能调用 sider.ai 的API,实现大模型的访问。 Sider是谷歌浏览器和Edge的插件,能调用ChatGPT、Clau…

密云生活的初体验

【】在《岁末随笔之碎碎念》里,我通告了自己搬新家的事情。乙巳年开始,我慢慢与大家分享自己买房装修以及在新家的居住体验等情况。 跳过买房装修的内容,今天先说说这三个月的生活体验。 【白河】 潮白河是海河水系五大河之一,贯穿…

Leetcode - 周赛434

目录 一、3432. 统计元素和差值为偶数的分区方案二、3433. 统计用户被提及情况三、3434. 子数组操作后的最大频率四、3435. 最短公共超序列的字母出现频率 一、3432. 统计元素和差值为偶数的分区方案 题目链接 本题可以直接模拟,这里再介绍一个数学做法&#xff0…

C32.【C++ Cont】静态实现双向链表及STL库的list

目录 1.知识回顾 2.静态实现演示图 3.静态实现代码 1.初始双向链表 2.头插 3.遍历链表 4.查找某个值 4.任意位置之后插入元素 5.任意位置之前插入元素 6.删除任意位置的元素 4.STL库的list 1.知识回顾 96.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删 97.【C…

记录一次-Rancher通过UI-Create Custom- RKE2的BUG

一、下游集群 当你的下游集群使用Mysql外部数据库时,会报错: **他会检查ETCD。 但因为用的是Mysql外部数据库,这个就太奇怪了,而且这个检测不过,集群是咩办法被管理的。 二、如果不选择etcd,就选择控制面。 在rke2-…

51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时;while循环;unsigned char 可以表示的数字是0~255)

本篇介绍编程实现LED灯闪烁,需要学到一些新的C语言知识。由于单片机执行的速度是非常快的,如果不进行延时的话,人眼是无法识别(停留时间要大于20ms)出LED灯是否在闪烁所以需要学习如何实现软件延时。另外IO口与一个字节位的数据对应关系。 文…

99.20 金融难点通俗解释:中药配方比喻马科维茨资产组合模型(MPT)

目录 0. 承前1. 核心知识点拆解2. 中药搭配比喻方案分析2.1 比喻的合理性 3. 通俗易懂的解释3.1 以中药房为例3.2 配方原理 4. 实际应用举例4.1 基础配方示例4.2 效果说明 5. 注意事项5.1 个性化配置5.2 定期调整 6. 总结7. 代码实现 0. 承前 本文主旨: 本文通过中…

6 [新一代Github投毒针对网络安全人员钓鱼]

0x01 前言 在Github上APT组织“海莲花”发布存在后门的提权BOF,通过该项目针对网络安全从业人员进行钓鱼。不过其实早在几年前就已经有人对Visual Studio项目恶意利用进行过研究,所以投毒的手法也不算是新的技术。但这次国内有大量的安全从业者转发该钓…

MYSQL面试题总结(题目来源JavaGuide)

MYSQL基础架构 问题1:一条 SQL语句在MySQL中的执行过程 1. 解析阶段 (Parsing) 查询分析:当用户提交一个 SQL 语句时,MySQL 首先会对语句进行解析。这个过程会检查语法是否正确,确保 SQL 语句符合 MySQL 的语法规则。如果发现…

redis实际开发应用简单实现

短信登录 首先来看看登录与注册常规实现流程如下: 其中,很多网站都有手机号验证码登录功能 如百度 实现之前咱可以来验证码有啥特点:一定时间内过期、验证码随机、与手机号会唯一匹配 所以可以使用redis的string来实现更容易,k…

Hive on Spark优化

文章目录 第1章集群环境概述1.1 集群配置概述1.2 集群规划概述 第2章 Yarn配置2.1 Yarn配置说明2.2 Yarn配置实操 第3章 Spark配置3.1 Executor配置说明3.1.1 Executor CPU核数配置3.1.2 Executor内存配置3.1.3 Executor个数配置 3.2 Driver配置说明3.3 Spark配置实操 第4章 Hi…

【实践案例】基于大语言模型的海龟汤游戏

文章目录 项目背景提示词构建海龟汤主持人真相判断专家 具体实现流程文心一言大语言模型“海龟汤”插件参考 项目背景 “海龟汤”作为一种聚会类桌游,又称情境推理游戏,是一种猜测情境还原事件真相的智力游戏。其玩法是由出题者提出一个难以理解的事件&…