21、机器学习模型安全保障:概念与开放问题
机器学习模型安全保障:概念与开放问题
1. 引言
机器学习(ML)模型正逐步取代传统算法,广泛应用于各个领域。然而,ML 模型部署后,面临着与传统系统截然不同的攻击方式。攻击者常篡改训练数据,且这些攻击可能超出使用 ML 系统的组织的控制范围。此外,ML 模型除了要保证准确性,还需具备性能、透明度和公平性等非功能属性。本文聚焦于 ML 模型的安全属性,包括保密性、完整性、可用性和隐私性,以及训练和操作过程的质量、记录保存、人工监督和鲁棒性。
2. 初步概念
2.1 机器学习生命周期
ML 生命周期包含一系列独立且迭代的阶段,组织通过这些阶段开发 ML 模型并将其集成到完整的数据管道中。
- 数据管理 :包括数据摄取、探索、预处理和特征选择等活动。例如,数据摄取负责收集实现业务目标所需的所有数据,通常将摄取的数据整理为多维数据点。
- 模型训练 :选择 ML 模型结构,从训练数据中学习模型的内部参数。同时,在模型调优阶段设置控制训练过程的超参数。
- 模型测试 :验证模型在未见过的数据上的泛化能力。
- 模型部署 :将训练和验证后的 ML 模型集成到生产环境中,并进行持续监控。
- 模型维护 :监控模型运行情况,必要时对模型进行重新校准和训练。
以下是 ML 生命周期的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(数据管理):::process --> B(模型训练):::process
B --> C(模型测试):::process
C --> D(模型部署):::process
D --> E(模型维护):::process
E --> A
2.2 学习范式
根据训练数据类型、接收方式、测试数据性质以及学习者的主动性和学习策略,可将学习范式分为以下四种:
| 学习范式 | 训练数据 | 目标 | 细分类型 |
| — | — | — | — |
| 监督学习 | 输入向量和期望输出的对 | 学习从输入到输出的映射函数 | 分类问题、回归问题 |
| 无监督学习 | 仅未标记的输入数据 | 发现数据的属性或结构 | 聚类问题、关联问题 |
| 半监督和强化学习 | 少量标记数据和大量未标记数据(半监督);奖励系统(强化) | 半监督:增强未标记数据;强化:最大化奖励 | - |
| 联邦学习 | 多个节点的本地训练集 | 多个节点独立训练本地模型,协作训练全局模型 | 同步梯度下降(SGD)、联邦平均(FedAvg) |
3. 对抗性机器学习
监督 ML 的一个基本假设是训练数据能准确代表学习所针对的底层现象。但当数据被有意或无意改变,导致训练集和测试集的统计分布不同时,就会出现数据集偏移问题,这是导致训练后的 ML 模型性能下降的主要原因之一。在对抗性场景中,攻击者会恶意修改训练数据,给训练者带来更大挑战。
4. 威胁建模
对抗性利用 ML 漏洞的情况在多个应用领域都有记录,这促使了对抗性机器学习这一新兴研究领域的出现。该领域旨在识别 ML 系统的潜在弱点、设计攻击方法并评估其影响,以及提出相应的对策。威胁模型通常基于攻击者的目标、能力和知识这三个维度来刻画可能的攻击向量。
4.1 威胁模型维度
- 对抗性目标 :攻击者可能导致的安全违规类型包括违反保密性、完整性和可用性,以及获取敏感信息。攻击可分为针对性攻击和无差别攻击,误差可分为特定误差攻击和通用误差攻击。
- 对抗性能力 :攻击者对训练数据或输入样本的影响程度,以及是否能观察训练模型的输出。攻击可分为因果攻击和探索性攻击,数据操纵可分为数据插入和数据更改。
- 对抗性知识 :攻击者对 ML 系统组件的了解程度,可分为白盒攻击和黑盒攻击,黑盒攻击又可细分为有限知识攻击(使用替代数据或替代模型)。
以下是威胁模型维度的列表总结:
1. 对抗性目标
- 安全违规类型:保密性、完整性、可用性
- 攻击特异性:针对性攻击、无差别攻击
- 误差特异性:特定误差攻击、通用误差攻击
2. 对抗性能力
- 攻击类型:因果攻击、探索性攻击
- 数据操纵模型:数据插入、数据更改
3. 对抗性知识
- 攻击设置:白盒攻击、黑盒攻击
- 黑盒攻击细分:有限知识攻击(替代数据、替代模型)
4.2 对抗条件下的训练
ML 系统在整个生命周期的各个阶段都可能受到攻击,当前研究主要关注模型训练和测试这两个核心阶段的攻击。测试时攻击(逃避攻击)旨在通过修改干净的目标实例来逃避训练好的 ML 模型,而投毒攻击则在模型的初始训练或重新训练阶段进行,通过插入、编辑或删除训练集中的点来影响 ML 系统的性能。
投毒攻击是针对 ML 模型最有效的攻击之一,攻击者通过控制部分训练数据来影响模型。攻击可分为通用误差投毒攻击和特定误差攻击,例如标签翻转攻击,攻击者通过修改训练集中的标签信息来引入标签噪声。以下是投毒攻击的示例:在 MNIST 数据集中,攻击者将所有 7 翻转为 1,成功攻击后,模型将无法正确分类 7,而将其预测为 1。
机器学习模型安全保障:概念与开放问题
5. 防御策略
对抗性机器学习研究主要有两个分支,一是设计攻击 ML 系统的方法,二是研究增强 ML 系统应对攻击能力的策略。近年来,许多研究致力于提高 ML 系统对训练时攻击的鲁棒性,但这些技术在适用性、防御的攻击类型、对准确性的影响以及训练复杂度的增加等方面存在局限性。
5.1 基于检测的方案
- 数据清理 :通过评估每个可疑数据对模型性能的影响,丢弃对模型性能有显著负面影响的数据点。例如,Reject on Negative Impact 防御技术,最初用于防范垃圾邮件过滤器投毒攻击,但存在运行时开销大、容易过拟合的问题。还有一些基于异常检测的预处理过滤技术,可在训练数据稀缺时减轻攻击影响,以及利用 k - 最近邻(kNN)模型检测可疑数据并重新标记的方法。
- 鲁棒估计 :基于鲁棒统计的概念,旨在提高 ML 模型的泛化能力。一些研究关注高维数据集的均值和协方差估计、高斯和二元乘积分布的估计等,以实现对 ML 模型的鲁棒估计。
以下是基于检测的方案的表格总结:
| 方案类型 | 具体方法 | 优点 | 缺点 |
| — | — | — | — |
| 数据清理 | Reject on Negative Impact、异常检测预处理过滤、kNN 模型检测 | 可减轻特定攻击影响 | 运行时开销大、过拟合、依赖估计准确性 |
| 鲁棒估计 | 高维数据集统计估计 | 提高模型泛化能力 | - |
5.2 模型增强机制
- 对抗性投毒 :通过对训练数据进行预处理,如使用强数据增强技术(如 mixup 和 cutout),使模型对攻击者准备的触发和数据扰动不敏感。这是对抗训练的一种特殊形式,旨在使 ML 模型对数据投毒引起的特定扰动脱敏。
- 模型组合 :利用集成学习,通过划分训练集来减少投毒样本的影响。常见的方法是基于 Bootstrap 聚合(bagging)框架,研究表明 bagging 不仅可以提高准确性,还能增强模型在对抗环境中的鲁棒性。此外,一些研究探索了结合集成和可证明鲁棒性的方法,以开发针对数据投毒的可证明鲁棒防御。
以下是模型增强机制的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(对抗性投毒):::process --> B(模型增强):::process
C(模型组合):::process --> B
6. 联邦学习
在联邦学习(FL)场景中,多个本地模型在各自的训练集上独立训练,其参数用于更新全局模型。训练集可能独立采样或不独立,且统计分布可能相同或不同。
6.1 威胁模型和防御
FL 面临的威胁包括对训练数据的攻击(如标签翻转和添加噪声)以及对迭代分布式训练协议的干扰。例如,拜占庭攻击通过上传恶意梯度来破坏全局模型的完整性,而投毒攻击则通过设计恶意更新来最大化对全局模型的损害或引入后门。
目前,FL 的安全控制仍处于起步阶段。缓解方法包括监控本地节点和中央枢纽的行为,以及审计本地节点的数据质量。高置信度的训练数据可以有效减少投毒攻击的发生,提高模型的有效性,但本地数据不可访问给训练数据质量评估带来了挑战。
以下是 FL 威胁和防御的列表总结:
1. 威胁类型
- 训练数据攻击:标签翻转、添加噪声
- 训练协议干扰:拜占庭攻击、投毒攻击
2. 防御方法
- 监控行为:本地节点、中央枢纽
- 审计数据质量:本地节点
7. 结论
ML 模型系统需要采用安全设计方法,确保安全控制的选择和部署。目前,缺乏系统的方法来识别 ML 模型整个生命周期中的威胁,需要为安全从业者提供定制的威胁建模方法。同时,需要将 ML 特定的威胁与受影响的非功能属性进行映射,并将 ML 属性与安全最佳实践和控制相联系。未来的研究应探索如何利用现有标准中的安全控制来减轻对 ML 模型的威胁,以及如何选择适用于 ML 场景的控制。此外,还需要评估 FL 相对于密码学安全多方计算技术在隐私保护方面的效果。
更多推荐


所有评论(0)