聚焦源代码安全,网罗国内外最新资讯!
作者:DAN BROWNE 和 MUHAMMAD MUNEER
编译:代码卫士
谷歌下属公司 Mandiant 发布博客文章《保护AI管道安全》,简要阐述了AI现状并探索了如何保护AI安全。本文是对该文章的摘译。
谷歌最近发布了保护AI系统安全的概念性框架《AI安全框架 (SAIF)》。该框架主要受到融合安全大趋势和AI系统特有风险的安全最佳实践的启发,由如下六个核心元素组成:
1、将强大的安全基础扩展到AI生态系统。
2、扩展检测和响应,将AI带入组织机构的威胁版图中。
3、自动化防御措施,与现有的和新的威胁保持同步。
4、协调平台级别的控制,确保整个组织的一致安全性。
5、修改控制,调整缓解措施,为AI部署创建更快的反馈循环。
6、在周围业务流程中的AI系统风险上下文化。
保护AI管道安全也基于这些SAIF原则之上。
AI 管道由六个组件组成:收集数据、清洗和处理数据、培训模型、测试模型、非恶意/错误反馈循环、生产。
1、收集数据
在这个阶段,数据科学家一般已经配置出希望构建的预测性模型以及训练及测试该模型所需的数据。例如,犬种模型案例中,数据科学家可能希望收集不同犬种从不同角度以及不同光线条件下拍摄的图片的示例。另外,他们可能希望收集一些反例供模型测试用,如猫、天空、火车以及人员的图片等。换句话说,除了狗以外的其它图片。
2、清理和处理数据
在这个阶段,数据科学家将查看训练数据,确保数据是清洁且有用的。在犬种预测模型中,他们可能希望确保不存在重复的照片以及不存在卡通狗或玩具狗。然后,他们将构建合适的软件脚本,将图片批量投喂到空白模型中,并给出相应的标签,说明某个具体图片的犬种是什么。需注意的是,虽然还可通过无需标注数据的实现方式,但我们在此不再赘述。
3、训练模型
在这一阶段,该空白模型准备好进行训练。数据科学家将启动反复把数据加载脚本运行到模型中的流程,直至模型学习及预测的丢失降到最低。例如,如果训练该模型的目的是识别不同的犬种,那么该模型将针对相应的犬种名称进行训练。
4、测试模型
在这一阶段,该模型经过了训练并做好被测试的准备。数据科学家构建测试脚本并加载到模型从未见过的测试数据示例中。如果该模型运行正确,则将生产出输出,要么将该测试数据(本例中是狗的图片或非狗的图片)标记为“犬种”或“非犬”。在标准的软件测试中,这一阶段通常被称作功能性测试。
5、测试模型的反馈循环是否会给出不可接受的结果(“不要邪恶/错误”)
在这一阶段,我们希望识别出错误和/或恶意的场景。在犬种分类模型中,我们虽然难以想到该模型如何生成恶意/邪恶输出的方式,但训练不当或错误的犬种分类模型将提供不准确的响应。例如,将一张狗的图片预测为不是狗就是错误的。同样,说熊猫是一种狗也是错误的。
对于恶意场景而言,我们可想到一个示例,无人驾驶汽车模型被训练为识别街道标识。将停车表示识别为限速标识可视作恶意或邪恶,具体取决于该系统为何会错误地识别该停车标识。
在标准的软件测试中,这一阶段被称为“滥用案例测试”或“安全测试”。
6、最终生产
在这一阶段,该管道就完整了。该模型经过完全训练和测试,而且已经识别出特定的测试案例正确地测试模型功能,而所识别出的滥用案例不影响该模型。现在该模型做好了交付给用户的准备。
实际上,这个模型与我们十年来所使用的另外一个管道非常像:商业智能 (BI) 管道。BI 管道的组件是:收集数据、清洗和处理数据、构建数据仓库、构建仪表盘、不要错误的反馈循环以及生产。这里之所以提到BI管道是因为它构建于已知技术之上。AI管道也是如此。虽然AI本身具有一些有意思的且全新的前沿特性,但它所构建且赖以生存的技术栈就是使用熟悉的技术。威胁模型是利用已知的攻击向量开发的,检测和防御控制也为已知的攻击向量而设计。
了解了什么是AI管道后,我们需要了解AI管道最可能面临的攻击是什么?Mandiant 执行了针对AI管道的威胁建模评估,之后提出了在威胁模型上下文中10个最可能出现的攻击或漏洞。这10个最可能出现的攻击或漏洞被称为“GAIA Top 10”,GAIA 代表的是“良好的AI评估”。GAIA 构建于我们认为是生成式AI管道最可能的攻击路径之上,而并非对可能攻击路径的穷尽清单。
如下十大AI风险和弱点可被攻击者用于攻击AI管道和GenAI 模型。
G01:提示注入
攻击者尝试将恶意数据或信息注入提示符中,使模型做出你不希望它做的事情,如尝试访问底层操作系统或给出令人尴尬的可共享在社交媒体的输出。
G02:敏感数据暴露
因对训练数据的管理不充分,或攻击者获得对底层技术栈的访问权限,攻击者能够访问敏感数据。
G03:数据完整性失败
攻击者获得对底层技术栈的访问权限后,能够将对抗性数据注入模型或嵌入式数据库中。
G04:访问控制不当
底层技术栈的访问控制不充分,攻击者能够下载该模型或设计API时未考虑访问控制。
G05:提示不充分和幻想过滤
提示符过滤器未通过滥用案例进行测试或红队测试,或者常见的数据幻想通过滥用案例进行正确测试或红队测试。
G06:代理权限过多
公共代理访问私密/受限制的内部API,或公共代理访问私密/受限制的模型,或者代理访问金融系统。
G07:供应链攻击
类似于软件开发技术栈,AI技术栈依赖多种第三方库(尤其是 Python 库)。如果使用开源库,则这些库本可被恶意第三方攻陷。另外,AI模型的第三方仓库可被攻陷。值得注意的是,如果使用 Python 构建模型本身,则可能处于代码和数据混合的默认配置中,并可能在安装时运行攻击者代码。
G08:拒绝服务攻击
未部署限流或速度限制,或者加载均衡不正确。
G09:不充分的日志记录
与标准技术栈类似,存在多种点可收集并向中心化SIEM发送有用的日志数据,从而协助防御人员发现正在进行的攻击活动。日志常是AI管道中的事后考虑。
G10:不安全的公共部署
不安全的公共部署示例可能是在不安全的推理服务器上直接部署模型,或直接可下载。另外,推理API或 Web Service 易受攻击、未修复或未更新一集推理服务器上的服务账户权限过多等也是相关示例。
组织机构在考虑如何保护AI安全时,应该结合 GAIA Top 10 考虑其技术栈。该AI 管道基于已知技术,因此部署的任何缓解措施基本是对已有安全控制的修改。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...