回顾 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 风险以及每个风险的详细缓解建议。
相关文章:
回顾 OWASP 机器学习十大风险
日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…...
ENSP软件的基本使用命令(第三十一课)
ENSP软件的基本使用命令(第三十一课) 下面的图片是今天操作的核心基础操作 1 命令行页面 交换机 路由器 PC机 分别展示一下 页面的样子 2 基本命令结构...
五、FreeRTOS数据类型和编程规范
1、数据类型 (1)每个移植的版本都含有自己的portmacro.h头文件,里面定义了2个数据类型。 (2)TickType_t FreeRTOS配置了一个周期性的时钟中断:Tick Interrup每发生一次中断,中断次数累加,这被称为tick counttick count这个变量…...
码出高效_第二章 | 面向对象_上
目录 一. OOP理念1. 概念辨析2. 四大特性1. 抽象2. 封装3. 继承4. 多态 二. 初识Java1. JDKJDK 5-11的重要类、特性及重大改变 2. JRE关于JVM 三. 类1. 概述2. 接口和抽象类1. 概念及相同点2. 不同点3. 总结 3. 内部类4. 访问权限控制1. 由来2. public/private/无/private3. 推…...
大学生课设实训|基于springboot的在线拍卖系统
目录 项目描述 主要技术栈 功能效果 数据库设计 开发顺序 业务功能 大家好!我是龍弟-idea!需要源码资料信息可私聊我【HWL__666666】! 项目描述 本系统是一个网上商品竞拍系统,为拍卖者和竞买者提供一个在线交流平台。本项…...
论文阅读 - Social bot detection in the age of ChatGPT: Challenges and opportunities
论文链接:https://www.researchgate.net/publication/371661341_Social_bot_detection_in_the_age_of_ChatGPT_Challenges_and_opportunities 目录 摘要: 引言 1.1. Background on social bots and their role in society 1.2. The rise of AI-gene…...
FPGA优质开源项目 - UDP RGMII千兆以太网
本文介绍一个FPGA开源项目:UDP RGMII千兆以太网通信。该项目在我之前的工作中主要是用于FPGA和电脑端之间进行图像数据传输。本文简要介绍一下该项目的千兆以太网通信方案、以太网IP核的使用以及Vivado工程源代码结构。 Vivado 的 Tri Mode Ethernet MAC IP核需要付…...
学C的第三十二天【动态内存管理】
相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第三十一天【通讯录的实现】_高高的胖子的博客-CSDN博客 1 . 为什么存在动态内存分配 学到现在认识的内存开辟方式有两种: 创建变量: int val …...
聊聊elasticsearch的data-streams
序 本文主要研究一下elasticsearch的data-streams data-streams 主要特性 首先data streams是由一个或者多个自动生成的隐藏索引组成的,它的格式为.ds-<data-stream>-<yyyy.MM.dd>-<generation> 示例.ds-web-server-logs-2099.03.07-000034&a…...
unreal engine c++ 创建tcp server, tcp client
TCP客户端 TcpConnect.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Common/UdpSocketReceiver.h" #include "GameFramework/Actor.h"DECLARE_DELEGATE…...
24届华东理工大学近5年自动化考研院校分析
今天给大家带来的是华东理工大学控制考研分析 满满干货~还不快快点赞收藏 一、华东理工大学 学校简介 华东理工大学原名华东化工学院,1956年被定为全国首批招收研究生的学校之一,1960年起被中共中央确定为教育部直属的全国重点大学&#…...
初识集合和背后的数据结构
目录 集合 Java集合框架 数据结构 算法 集合 集合,是用来存放数据的容器。其主要表现为将多个元素置于一个单元中,用于对这些元素进行增删查改。例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)。 Java中有很多种集…...
选择适合你的数据可视化工具:提升洞察力的关键决策
导言: 在当今数据驱动的世界中,数据可视化工具成为了帮助我们理解和传达数据见解的关键工具之一。数据可视化不仅能够将复杂的数据转化为易于理解的可视化形式,还能帮助我们发现数据中的模式、趋势和关联。然而,随着市场上可视化工…...
H5中的draggable
基本语法及事件 draggable 属性规定元素是否可拖动。必须设置,否则没有拖拽效果及事件触发 提示: 链接和图像默认是可拖动的。 提示: draggable 属性经常用于拖放操作 语法 <element draggable"true|false|auto"> 值描…...
搭建SVN服务器
简介 SVN(Subversion)是一种版本控制工具,用于管理和跟踪文件的修改历史。它可以帮助团队协作开发,方便地共享和更新代码,同时也可以提供备份和安全控制功能。 使用SVN,你可以创建中央代码库(…...
OpenCV之信用卡识别实战
文章目录 代码视频讲解模板匹配文件主程序(ocr_template_match.py)myutils.py 代码 链接: https://pan.baidu.com/s/1KjdiqkyYGfHk97wwgF-j3g?pwdhhkf 提取码: hhkf 视频讲解 链接: https://pan.baidu.com/s/1PZ6w5NcSOuKusBTNa3Ng2g?pwd79wr 提取码: 79wr 模板匹配文件 …...
Detector定位算法在FPGA中的实现——section1 原理推导
关于算法在FPGA中的实现,本次利用业余的时间推出一个系列章节,专门记录从算法的推导、Matlab的实现、FPGA的移植开发与仿真做一次完整的FPGA算法开发,在此做一下相关的记录和总结,做到温故知新。 这里以Detector在Global Coordinate System(原点为O)中运动为背景,Detect…...
心电信号去噪:方法与应用
目录 1 去噪技术的发展历程 2 滤波器去噪的应用 3 小波去噪的优势 4 深度学习去噪的前景...
睡眠助手/白噪音/助眠夜曲微信小程序源码下载 附教程
睡眠助手/白噪音/助眠夜曲微信小程序源码 附教程 支持分享海报 支持暗黑模式 包含了音频数据 最近很火的助眠小程序,前端vue,可以打包H5,APP,小程序 后台可以设置流量主广告,非常不错的源码 代码完整 完美运营 搭配无…...
Spring Cloud常见问题处理和代码分析
目录 1. 问题:如何在 Spring Cloud 中实现服务注册和发现?2. 问题:如何在 Spring Cloud 中实现分布式配置?3. 问题:如何在 Spring Cloud 中实现服务间的调用?4. 问题:如何在 Spring Cloud 中实现…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
