1. 机器学习攻击的主要类型
1.1 训练阶段攻击(Training-Time Attacks)
这些攻击发生在模型训练阶段,通常影响数据完整性、模型学习过程,或直接引入后门(Backdoor)。
(1) 数据投毒攻击(Data Poisoning Attacks)
-
目标: 通过篡改训练数据,使模型学到错误的模式。
-
方法:
-
标签投毒(Label Flipping): 修改训练数据标签(如把合法交易标为欺诈交易)。
-
特征投毒(Feature Poisoning): 改变特征值,使模型产生偏差(如操纵信用评分模型)。
-
后门攻击(Backdoor Attack): 在训练数据中嵌入隐蔽模式,使模型在特定触发器(Trigger)出现时输出攻击者期望的结果(如仅对某个用户或某个输入有效)。
-
(2) 模型投毒攻击(Model Poisoning Attacks)
-
目标: 通过修改模型参数,使其对某些输入产生错误预测。
-
应用案例:
-
在联邦学习(Federated Learning) 中,攻击者上传篡改的局部模型,影响全局模型的性能。
-
在金融欺诈检测系统 中,攻击者可能投毒模型,使其忽略特定模式的欺诈交易。
-
1.2 推理阶段攻击(Inference-Time Attacks)
这些攻击发生在模型部署和推理阶段,通常用于欺骗或操控 ML 模型。
(1) 对抗性攻击(Adversarial Attacks)
-
目标: 通过人为构造微小但精确的输入扰动,使模型做出错误决策。
-
方法:
-
FGSM(Fast Gradient Sign Method): 使用梯度方向找到最小扰动,使模型误分类。
-
PGD(Projected Gradient Descent): 迭代优化对抗样本,使攻击更有效。
-
C&W 攻击(Carlini & Wagner Attack): 通过优化攻击目标,生成更隐蔽的对抗样本。
-
-
现实应用:
-
在人脸识别系统 中,攻击者可以通过对抗样本绕过身份验证。
-
在自动交易系统 中,攻击者可以操控市场信号,误导模型的交易决策。
-
(2) 模型偷窃攻击(Model Extraction Attacks)
-
目标: 通过查询黑盒模型,重建其结构或参数。
-
方法:
-
黑盒查询(Black-box Querying): 通过 API 获取输出数据,推测模型决策边界。
-
梯度估计(Gradient Estimation): 通过输入变化分析模型参数。
-
-
影响:
-
竞争对手可以复制付费 AI 模型,绕过知识产权保护。
-
金融 AI 交易模型可能被黑客窃取并用于操控市场。
-
(3) 逆向工程攻击(Model Inversion Attacks)
-
目标: 通过观察模型的输出,重建输入数据,泄露用户隐私。
-
方法:
-
通过梯度信息或输出分布重建训练样本。
-
例如在人脸识别系统中,攻击者可以通过 API 反推出某个用户的面部图像。
-
-
风险:
-
金融 AI 可能会泄露客户敏感信息(如账户余额、交易模式)。
-
2. 主要攻击手段及其详细解析
2.1 目标导向攻击(Targeted Attacks) vs. 非目标攻击(Non-Targeted Attacks)
-
目标导向攻击: 攻击者希望模型输出特定结果(如让欺诈交易被分类为正常交易)。
-
非目标攻击: 只要能误导模型,输出任何错误结果都可以。
2.2 白盒 vs. 黑盒攻击
-
白盒攻击(White-box Attack): 攻击者知道模型架构、参数和梯度信息(如 FGSM、PGD)。
-
黑盒攻击(Black-box Attack): 仅通过输入输出查询攻击模型(如 API 查询攻击、模型提取)。
2.3 Evasion vs. Poisoning 攻击
-
Evasion(逃避攻击): 针对推理阶段(如对抗样本、模型窃取)。
-
Poisoning(投毒攻击): 针对训练阶段(如数据投毒、后门攻击)。
3. 机器学习的防御机制
由于攻击对金融系统、自动驾驶、医疗诊断等领域的 AI 造成严重威胁,因此防御方法至关重要。
3.1 对抗性训练(Adversarial Training)
-
通过在训练集中加入对抗样本,提高模型的鲁棒性。
-
主要方法:
-
基于 FGSM/PGD 生成对抗样本,并在训练中使用。
-
采用正则化技术,使模型对小扰动不敏感。
-
3.2 模型不可知性(Obfuscation Techniques)
-
梯度掩蔽(Gradient Masking): 使攻击者无法轻易计算梯度。
-
随机平滑(Randomized Smoothing): 在输入上添加随机噪声,提高对抗性鲁棒性。
3.3 隐私保护技术
-
差分隐私(Differential Privacy): 限制模型泄露个体信息,提高隐私安全性。
-
联邦学习(Federated Learning): 避免数据集中存储,减少数据投毒风险。
3.4 模型监测与检测
-
对抗样本检测器(Adversarial Example Detection): 监测输入是否含有对抗扰动。
-
反向工程检测(Reverse Engineering Detection): 识别恶意查询行为,防止模型窃取。