回顾 OWASP 机器学习十大风险

日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。

数十亿美元正在投入到机器学习研究生产中。市场显然对机器学习项目有着强烈的兴趣,训练这些模型时需要牢记哪些安全风险?

OWASP机器学习安全十大分析了与机器学习相关的最常见漏洞。下面总结前十名列表中的每个风险,并考虑如何保护模型从创建到部署的完整性和安全性。

OWASP 机器学习安全前十名

ML01:2023 对抗性攻击

这种攻击类型涉及恶意行为者故意更改模型的输入数据。例如,考虑图像分类模型。攻击者可以创建一个具有轻微变化的对抗性图像,从而导致错误分类。在网络安全环境中,对抗性变化可以帮助攻击者避免被机器学习驱动的入侵检测系统检测到。

ML02:2023 数据中毒攻击

另一个需要考虑的风险是攻击者操纵模型训练的数据。如果数据存储系统受到损害,攻击者可能会插入错误标记的数据。例如,这可能会导致垃圾邮件检测模型将垃圾邮件误识别为合法通信。不正确的分类和错误的决策可能会导致潜在的不安全结果。

ML03:2023 模型反转攻击

当参与者对模型进行逆向工程以获得隐藏信息时,就会发生模型反转攻击。反转模型可以通过训练一个模型并使用它来反转另一个模型的预测来完成。此漏洞可能会导致攻击不被察觉,或者黑客根据模型的预测获取敏感或个人信息。

ML04:2023 成员资格推断攻击

成员资格推断是另一种攻击类型,攻击者能够从模型中推断出敏感数据。黑客可以通过获取训练数据,然后使用该模型来查询特定个人的记录是否包含在数据集中来做到这一点。成员资格推断风险对于利用和检测来说都具有一定的挑战性。

ML05:2023 模型窃取

这种攻击涉及不良行为者或竞争对手窃取或复制模型本身。部署的模型可能不安全,因此很容易被盗。或者,可以对该模型进行逆向工程。一旦被盗,该模型可能会被用于竞争性商业目的,从而给原始模型所有者造成经济损失。

ML06:2023 损坏的包

大多数现代软件都依赖于大量的开源或第三方依赖项,机器学习也是如此。一个风险是黑客可能会插入恶意代码来破坏模型所依赖的公共库。一旦 ML 项目下载了更新版本,就会危及该项目。

ML07:2023 迁移学习攻击

迁移学习是指工程师采用预先训练的模型并使用附加数据对其进行微调。攻击者可以使用此策略在恶意数据集上重新训练现有模型。如果他们能够成功地改变最终应用程序使用的模型,他们就能成功绕过入侵检测系统之类的东西。

ML08:2023 模型倾斜

另一个风险涉及攻击者利用 MLOps 反馈过程来扭曲训练数据。例如,黑客可以输入反馈数据,重新训练整个模型以优先获得特定结果。模型倾斜攻击可能会引入偏差并损害系统的准确性和公平性。

ML09:2023 输出完整性攻击

输出完整性攻击是指攻击者获取机器学习模型的输出并操纵该输出以提供伪造信息。例如,如果显示 ML 输出的界面遭到破坏,黑客就可以通过中间人 (MitM) 攻击来更改其出现的行为或编辑结果。

ML10:2023 神经网络重编程

最后,这种攻击是指攻击者操纵模型的参数来改变其预期行为。例如,这可以通过更改训练集中的图像或修改参数来实现。神经网络重新编程攻击可能会导致模型做出错误的判断,这可能会被不良行为者利用来获取经济利益。

降低 10 大机器学习风险

所有这些策略都是相似的,因为它们可能会导致模型做出错误的决定或不安全的行为。那么,在开发和部署机器学习模型时如何降低风险呢?以下是 OWASP 推荐的一些高级预防技巧:

■ 训练模型的对抗性变化并包括防御机制。

■ 确保训练数据经过仔细验证和保护。

■ 限制对模型预测的访问并加密模型的代码。

■ 实施严格的访问控制以保护机器学习模型。

■ 验证包签名并使用第三方软件的受信任存储库。

■ 定期监控和更新您的数据集。

■ 验证反馈数据的真实性。

■ 通过安全通信和加密保护模型接口。

还值得注意的是,与网络安全的其他领域一样,许多风险本质上不是技术性的,而是由社会工程策略产生的,例如贿赂或威胁。因此,应认真考虑内部威胁,并对所有开发环境(包括机器学习项目)采用零信任模型。

随着我们继续加大对人工智能的投资,保护机器学习项目将继续成为重中之重。上面总结了开发机器学习模型时需要记住的关键问题。在继续开发和在生产中运行 ML 之前,网络安全专业人员应考虑审查每个 OWASP 风险以及每个风险的详细缓解建议。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《零基础入门学习Python》第076讲:GUI的终极选择:Tkinter13

这节课我们来学习 Tkinter 的布局管理器,那什么是布局管理器呢?说白了,就是用于管理你的组件如何排列。Tkinter 提供了 3 大布局管理器:pack、grid 和 place。 pack 是按添加顺序排列组件grid 是按行/列形式排列组件place 则允许…

秋招算法备战第37天 | 738.单调递增的数字、968.监控二叉树、贪心算法总结

738. 单调递增的数字 - 力扣(LeetCode) 这个问题是关于找到一个小于或等于给定数字n的最大单调递增数字。 我们可以将数字n转换为字符数组,然后从左到右扫描,寻找第一个违反单调递增条件的位置。一旦找到这样的位置,…

uni-app:实现列表单选功能

效果图&#xff1a; 核心解析&#xff1a; 一、 <view class"item_all" v-for"(item, index) in info" :key"index"><view classposition parameter-info text-over :classitem.checked?"checked_parameter":""…

在java中操作redis_Data

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 2.配置Redis数据源 redis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sk…

驱动工作原理

驱动原理 在Linux操作系统中&#xff0c;硬件驱动程序中实现对硬件直接操作&#xff0c;而用户空间&#xff0c;通过通用的系统调用接口&#xff08;open() 打开相应的驱动设备,ioctl()控制相应的功能等&#xff09;&#xff0c;实现对硬件操作&#xff0c;应用程序没有直接操作…

EdgeBox_tx1_A200 PyTorch v1.9.0 环境部署

大家好&#xff0c;我是虎哥&#xff0c;今天远程帮助几个小伙伴在A200 控制器上安装PyTorch v1.9.0 torchvision v0.10.0&#xff0c;中间也是经历了很多波折&#xff0c;当然&#xff0c;大部分是网络问题和版本适配问题&#xff0c;所以完事后&#xff0c;将自己完整可用的过…

分布式Redis详解

目录 前言安装redis的俩种方法Redis 与 MySQL的区别Redis可以实现那些功能Redis常用的数据类型有序列表的底层是如何实现的?什么是跳跃表 Redis在Spring中的使用 前言 Redis我们最近学习必备工具之一了, 接下来我们将讲解Redis的简单应用 ,以及相关原理 安装redis的俩种方法…

20230802-下载并安装android-studio

下载 android-studio 安装包 https://developer.android.google.cn/studio/ 安装android-studio 双击安装包 D:\Android Studio

基于 Flink Paimon 实现 Streaming Warehouse 数据一致性管理

摘要&#xff1a;本文整理自字节跳动基础架构工程师李明&#xff0c;在 Apache Paimon Meetup 的分享。本篇内容主要分为四个部分&#xff1a; 背景 方案设计 当前进展 未来规划 点击查看原文视频 & 演讲PPT 一、背景 ​ 早期的数仓生产体系主要以离线数仓为主&#xf…

vue-baidu-map-3x 使用记录

在 Vue3 TypeScript 项目中&#xff0c;为了采用 标签组件 的方式&#xff0c;使用百度地图组件&#xff0c;冲浪发现了一个开源库 ovo&#xff0c;很方便&#xff01;喜欢的朋友记得帮 原作者 点下 star ~ vue-baidu-map-3xbaidu-map的vue3/vue2版本&#xff08;支持v2.0、v…

论文笔记:SUPERVISED CONTRASTIVE REGRESSION

2022arxiv的论文&#xff0c;没有中&#xff0c;但一作是P大图班本MIT博&#xff0c;可信度应该还是可以的 0 摘要 深度回归模型通常以端到端的方式进行学习&#xff0c;不明确尝试学习具有回归意识的表示。 它们的表示往往是分散的&#xff0c;未能捕捉回归任务的连续性质。…

MCU的类型和应用领域简介

MCU&#xff08;Microcontroller Unit&#xff09;根据存储器类型可分为无片内ROM型和带片内ROM型。无片内ROM型的芯片需要外接EPROM才能应用&#xff0c;而带片内ROM型则有不同的子类型&#xff0c;如片内EPROM型、MASK片内掩模ROM型和片内Flash型。 MCU还可以按照用途分为通…

策略模式——算法的封装与切换

1、简介 1.1、概述 在软件开发中&#xff0c;常常会遇到这种情况&#xff0c;实现某一个功能有多条途径。每一条途径对应一种算法&#xff0c;此时可以使用一种设计模式来实现灵活地选择解决途径&#xff0c;也能够方便地增加新的解决途径。为了适应算法灵活性而产生的设计模…

【分布式应用】ELK企业级日志分析系统

目录 一、ELK 简介 1.1 ELK各组件介绍 ElasticSearch&#xff1a; Kiabana&#xff1a; Logstash&#xff1a; 1.2 可以添加的其它组件&#xff1a; Filebeat&#xff1a; 缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09;&#xff1a; Fluentd&#xf…

向表中随机插入字符串数据

已知表 向该表中插入指定次数的随机字符串&#xff1a; 代码如下: DROP PROCEDURE sc //CREATE PROCEDURE sc(num INT) BEGIN DECLARE str VARCHAR(26) DEFAULT "abcdefghijklmnopqrstuvwxyz"; DECLARE cnt INT DEFAULT 0; DECLARE startIndex INT DEFAULT 1; DE…

React Native获取手机屏幕宽高(Dimensions)

import { Dimensions } from react-nativeconsole.log(Dimensions, Dimensions.get(window)) 参考链接&#xff1a; https://www.reactnative.cn/docs/next/dimensions#%E6%96%B9%E6%B3%95 https://chat.xutongbao.top/

【电源专题】充电IC与DC-DC有什么区别

充电IC和DC-DC一样使用很广泛,如手机、平板等需要电池供电的系统中,一般都会见到充电IC的身影。那么大家有没有考虑过一个问题。充电IC与DC-DC有什么区别? 首先如下所示为充电IC的两个阶段,一个阶段是恒流充电阶段,我们一般称之为CC阶段,另一个是恒压充电阶段,我们称之为…

EtherCAT转Profinet网关连接西门子PLC与凯福科技总线步进驱动器通讯

西门子S7-1200/1500系列的PLC&#xff0c;采用Profinet实时以太网通讯协议&#xff0c;需要连接带EtherCAT的通讯功能的伺服驱动器等设备&#xff0c;就必须进行通讯协议转换。捷米特JM-EIP-RTU系列的网关提供了&#xff0c;快速可行的解决方案 捷米特JM-ECTM-PN在PROFINET一侧…

学习左耳听风栏目90天——第一天 1-90(学习左耳朵耗子的工匠精神,对技术的热爱)【洞悉技术的本质,享受科技的乐趣】

洞悉技术的本质&#xff0c;享受科技的乐趣 第一篇&#xff0c;我的感受就是 耗叔是一个热爱技术&#xff0c;可以通过代码找到快乐的技术人。 作为it从业者&#xff0c;我们如何可以通过代码找到快乐呢&#xff1f;这是一个问题&#xff1f; 至少目前&#xff0c;我还没有这种…

wordpress发表文章时报错: rest_cannot_create,抱歉,您不能为此用户创建文章(已解决)

使用wordpress 的rest api发布文章&#xff0c;首先使用wp-json/jwt-auth/v1/token接口获取token&#xff0c;然后再使用/wp-json/wp/v2/posts 接口发表文章&#xff0c;但是使用axios请求时&#xff0c;却报错&#xff1a; 但是&#xff0c;我在postman上却是可以的&#xff0…