【论文学习】机器学习模型安全与隐私研究综述

机器学习在数据层模型层以及应用层面临的安全和隐私威胁,呈现出多样性、隐蔽性和动态演化的特点。
应用领域:计算机视觉、自然语言处理、语音识别等
应用场景:自动驾驶、人脸识别、智慧医疗等
Key words: machine learning; poisoning attack; adversarial example; model privacy; artificial intelligence security

引言

机器学习模型在生命周期的各个阶段都可能面临着不同程度的安全风险,导致模型无法提供正常的服务或者是泄露模型的隐私信息。例如,攻击者可能对模型的训练数据和输入样本进行恶意篡改或是窃取模型参数,从而破坏模型的机密性、可用性和完整性,这就是机器学习模型面临的安全与隐私问题。

机器学习的CIA模型

机器学习模型安全需求总结为三个特性:机密性(Confidentiality)、完整性(Integrity)和可用性
(Availability),即机器学习中的 CIA 模型。
机器学习的 CIA 三个特性都有可能被攻击破坏,所对应的攻击方法分别称为机密性攻击完整性攻击可用性攻击

数据安全风险与保护

攻击者通过将精心制作的样本插入训练集中来操纵训练数据分布,以达到改变模型行为和降低模型性能的目的,这种类型的攻击被称为“数据投毒”(Data Poisoning)攻击。

投毒攻击

后门攻击(Backdoor Attack)
木马攻击(Trojan Attack)

防御方法

大多数针对投毒攻击的防御机制依赖于一个事实(前提),即投毒样本通常在预期输入分布之外。因此可以将投毒样本视为异常值,可以使用数据清理(即攻击检测和删除)和鲁棒学习(即基于对边远训练样本本质上不太敏感的鲁棒统计的学习算法)来净化训练样本。
鲁棒学习:基于主成分分析(Principal Component Analysis,PCA)的投毒攻击检测模型
数据清理:掩蔽特征(Masked Features)、DUTI
后门攻击检测:激活聚类(Activation Clustering,AC)

模型安全风险与保护

攻击者试图通过各种方法改变模型输入特征以绕过现实任务中的机器学习模型的检测,或直接对模型进行攻击以破坏其完整性,从而达到对抗的目的。
其中,攻击者最常用的攻击手段是通过向正常样例中添加精心设计的、人类无法感知的噪音来构造对抗性样例,这种攻击方法称为“对抗攻击”或者是“对抗样例攻击”。
与其他攻击不同,对抗性攻击的核心在于如何构造能促使机器学习模型产生误分类的对抗样例,因此主要攻击过程发生在对抗样例构造阶段。在对抗样例的构造过程中,根据攻击者所获取的目标模型具体信息多少分为白盒对抗攻击黑盒对抗攻击

白盒攻击(计算机视觉领域)

基于优化:EAD
基于梯度:FGSM、I-FGSM、PGD、JSMA
基于分类超平面:Deepfool算法、对抗扰动(Universal Adversarial Perturbation,UAP)
基于生成模型:对抗性转换网络(Adversarial Transformation Network,ATN)、条件生成模型(Conditional Generative Models)、GAN(Generative Adversarial Network)
对抗补丁:对抗补丁(Adversarial Patch)、PS-GAN
其他:空域变换
物理世界的实际攻击:变换期望算法(Expectation Over Transformation,EOT)、 R P 2 RP_2 RP2(Robust Physical Perturbations)

黑盒攻击(计算机视觉领域)

基于迁移性的方法:蓄水池算法(Reservoir Sampling)
基于梯度估计的方法:基于零阶优化的有限差分算法ZOO
基于决策的攻击方法:边界攻击(Boundary Attack)
基于采样的方法:NES

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

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

相关文章

设计模式之Strategy策略模式

Strategy策略模式 我的理解是在不同情况下使用不同方法,而方法可以增加,所以写一个方法父类,让所有方法继承下来,在子类写实现,添加时写新的子类就可以 动机 在软件构建过程中,某些对象使用的算法可能多…

【星火大模型】api使用

讯飞星火官方首页 准备工作 注册讯飞星火账号申请开发者api试用 从一个demo开始 讯飞星火官方的程序员为我们提供了非常优秀的demo,基本涵盖了大多数常用语言。 demo下载链接 这里我选用Java带上下文调用示例 下载后可以看到这是一个idea项目,直接…

2336. 无限集中的最小数字 : 容易又高效的分类做法

题目描述 这是 LeetCode 上的 「2336. 无限集中的最小数字」 ,难度为 「中等」。 Tag : 「优先队列(堆)」、「哈希表」 现有一个包含所有正整数的集合 。 实现 SmallestInfiniteSet 类: SmallestInfiniteSet() 初始化 SmallestIn…

Python实现学生信息管理系统(详解版)

Python实现学生信息管理系统-详解版 个人简介实验名称:学生信息管理系统系统功能实验步骤详讲添加入住学生信息删除学生的住宿信息修改学生的住宿信息查询学生的住宿信息显示所有学生住宿信息显示所有请假学生的信息 运行截图展示1.主界面2.添加新的入住学生信息3.显…

Django路由分发

首先明白一点,Django的每一个应用下都可以有自己的templates文件夹,urls.py文件夹,static文件夹,基于这个特点,Django能够很好的做到分组开发(每个人只写自己的app),作为老大&#x…

如何自定义spring-boot-starter

1. 创建自定义starter 1.1 生成Maven工程 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-quickstart -DarchetypeVersion1.4交互式输入groupId、artificatId、version,生成Maven工程后用IDEA打开 …

详细学习Pyqt5中的2种弹簧

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图(Item View) 快速弄懂Pyqt5的4种项目部件(Item Widget) 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…

第十三章 python之爬虫

Python基础、函数、模块、面向对象、网络和并发编程、数据库和缓存、 前端、django、Flask、tornado、api、git、爬虫、算法和数据结构、Linux、设计题、客观题、其他 第十三章 爬虫 1. 写出在网络爬取过程中, 遇到防爬问题的解决办法。 在网络爬取过程中,可能会遇…

工业物联网数据传输方式探究

文章目录 引言Modbus RTU:传统数据采集的基础Modbus TCP:现代工业物联网的关键演进与影响 结语 引言 工业物联网的发展为工业数据采集带来了巨大的变革。从最初的 Modbus RTU 到现在广泛应用的 Modbus TCP,数据采集方式的演进使得工业领域的…

element ui 表格合计项合并

如图所示&#xff1a; 代码&#xff1a; <el-table height"400px" :data"tableData " borderstyle"width: 100%"stripe show-summaryref"table"id"table"> </el-table>监听表格 watch: { //监听table这个对象…

【LeeCode】54.螺旋矩阵

给定一个二维数组 array&#xff0c;请返回「螺旋遍历」该数组的结果。 螺旋遍历&#xff1a;从左上角开始&#xff0c;按照 向右、向下、向左、向上 的顺序 依次 提取元素&#xff0c;然后再进入内部一层重复相同的步骤&#xff0c;直到提取完所有元素。 示例 1&#xff1a;…

【华为数通HCIP | 网络工程师】821刷题日记-IS-IS(2)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

【面试】typescript

目录 为什么用TypeScript&#xff1f; TS和JS的区别 控制类成员可见性的访问关键字&#xff1f; public protected&#xff09;&#xff0c;该类及其子类都可以访问它们。 但是该类的实例无法访问。 私有&#xff08;private&#xff09;&#xff0c;只有类的成员可以访问…

Apache Flink(三):Flink核心特性及应用场景

&#x1f3e1; 个人主页&#xff1a;IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;加入大数据技术讨论群聊&#xff0c;获取更多大数据资料。 &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你大数据的个人空间-豹…

三次握手和四次挥手

TCP 协议简述 TCP 提供面向有连接的通信传输&#xff0c;面向有连接是指在传送数据之前必须先建立连接&#xff0c;数据传送完成后要释放连接。 无论哪一方向另一方发送数据之前&#xff0c;都必须先在双方之间建立一条连接。在TCP/IP协议中&#xff0c;TCP协议提供可靠的连接…

com.mongodb.MongoSocketOpenException: Exception opening socket

估计mongodb数据库没开启&#xff0c;或者链接错误了&#xff0c;谁又改了&#xff0c;唉 2023-11-29 16:19:45.818 INFO 39552 --- [127.0.0.1:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server 127.0.0.1:27017…

PC企业微信http协议接口调用,发送小程序

产品说明 一、 hook版本&#xff1a;企业微信hook接口是指将企业微信的功能封装成dll&#xff0c;并提供简易的接口给程序调用。通过hook技术&#xff0c;可以在不修改企业微信客户端源代码的情况下&#xff0c;实现对企业微信客户端的功能进行扩展和定制化。企业微信hook接口…

Intellij idea 内存不够用了,怎么处理?

目录 如何判断内存不够用了 下面演示一下如何开启内存指示器&#xff08;Memory Indicator&#xff09; 解决方案 第一种&#xff1a;双击"内存指示器(Mempory Indicator)" 第二种&#xff1a;增大Intellij Idea 最大可使用内存 如何判断内存不够用了 运行项目后…

linux下Qt使用LinuxDeployqt打包

linux下Qt使用LinuxDeployqt打包 环境: Ubuntu2204 一、直接使用linuxDeployqt程序打包 1.下载linuxdeployqt-continuous-x86_64.AppImage https://github.com/probonopd/linuxdeployqt/releases 2.修改名称和权限 mv linuxDeployqt-x86_64.AppImage linuxdeployqt sudo…

rocketmq 集群环境部署及与spring cloud 集成

1 下载zip 安装包 rocketmq-all-5.1.4-bin-release.zip 2 修改启动配置&#xff0c;防止默认内存配置过高 runserver.sh/runbroker.sh/tools.sh 3 启动namesrv nohup sh bin/mqnamesrv >>namesrv.log & 4 启动brokerproxy 单点模式&#xff1a; nohup sh bin…