AI安全之投毒攻击

数据投毒

定义

主要是在训练数据中加入精心构造的异常数据,破坏原有的训练数据的概率分布,导致模型在某些条件会产生分类或聚类错误[1]。

适应场景:

由于数据投毒攻击需要攻击者接触训练数据,通常针对在线学习场景(即模型利用在线学习数据不断学习更新模型),或者需要定期重新训练进行模型更新的系统,这类攻击比较有效,典型场景如推荐系统、自适应生物识别系统、垃圾邮件检测系统等。
数据投毒攻击流程可以分为三个阶段(假设不知道被攻击的训练集和模型参数):
1.根据被攻击模型的输出特征,选择替代的训练集,训练在同样的输入下,具有相同输出的模型。例如对猫狗类别的分类。
2.初始化恶意样本集(无论来源),使用梯度更新(根据需要构建损失函数,例如梯度上升策略)恶意样本,直至达到理想效果。
3.将恶意样本集投入被攻击模型的训练集
图示如下
在这里插入图片描述

图 1投毒攻击流程图

一般解决办法:

  1. 训练数据过滤(Training Data Filtering):该技术侧重对训练数据集的控制,利用检测和净化的方法防止药饵攻击影响模型。具体方向包括:根据数据的标签特性找到可能的药饵攻击数据点,在重训练时过滤这些攻击点;采用模型对比过滤方法,减少可以被药饵攻击利用的采样数据,并过滤数据对抗药饵攻击。
  2. 回归分析(Regression Analysis):该技术基于统计学方法,检测数据集中的噪声和异常值。具体方法包括对模型定义不同的损失函数(loss function)来检查异常值,以及使用数据的分布特性来进行检测等。
  3. 集成分析(Ensemble Analysis):该技术强调采用多个子模型的综合结果提升机器学习系统抗药饵攻击的能力。多个独立模型共同构成AI系统,由于多个模型采用不同的训练数据集,整个系统被药饵攻击影响的可能性进一步降低。[2]

关于投毒攻击与对抗样本比较的描述:
1.An exploratory attack exploits the misclassification of models without affecting the training
process. A typical exploratory attack is the adversarial example attack. An adversarial example attackis a deformed sample, with some disturbance added to the original sample, to make the model liableto be misinterpreted, and a person cannot identify the disturbance. This attack’s characteristics do notaffect the training data of the DNN.
2.A causative attack degrades the accuracy of the model by approaching the training process of themodel. A poisoning attack [9,26,27] is a causative attack method that reduces the accuracy of a model by adding malicious data between the processes during the training of the model. There is a strong possibility that this attack will have access to the training process of the model, but it has the advantage of effectively reducing the accuracy of the model.
概括的这两段话,对抗样本攻击与投毒攻击区别不在于有没有梯度更新,而在于作用时间是在预测期间还是在训练期间。
参考
[1]人工智能安全标准化白皮书
[2]华为AI安全白皮书
[3]Kwon H, Yoon H, Park K W. Selective Poisoning Attack on Deep Neural Networks[J]. Symmetry, 2019, 11(7): 892.

### 投毒攻击的概念 投毒攻击是一种通过向目标系统的输入源中注入恶意数据或代码的方式,从而影响其正常运行或行为的安全威胁。具体而言,在容器环境中,镜像投毒是指攻击者通过篡改公共或私有仓库中的容器镜像,植入恶意软件或其他有害组件[^1]。而在人工智能领域,数据投毒则涉及攻击者精心设计对抗性样本并将它们混入训练集中,最终导致机器学习模型产生偏差甚至失效[^2]。 对于基于大型语言模型(LLM)的应用程序来说,由于这类模型依赖海量的数据进行训练,因此同样面临被投毒的风险——即有人可能试图污染用于构建这些智能体的知识库,进而诱导生成不恰当的内容或者泄露隐私信息[^3]。 ### 防范措施 为了有效抵御上述类型的投毒攻击,可以从以下几个方面着手: #### 加强身份验证与访问控制 实施严格的权限管理策略,仅授权可信实体能够修改生产环境下的资源文件;采用多因素认证机制提高账户安全性,减少因凭证被盗而导致非法操作的可能性。 #### 使用签名技术保障完整性 无论是下载第三方提供的Docker images还是接收外部传来的dataset updates之前都要仔细核验其数字签名是否匹配官方发布的公钥证书副本,以此确认来源可靠并未遭受中途劫持替换等问题发生。 #### 实施持续监控审计流程 建立自动化日志记录系统跟踪所有关键活动轨迹变化情况,并定期审查异常模式是否存在可疑迹象。一旦发现任何偏离常规基线的行为立即触发警报通知相关人员介入调查处理。 #### 推广零信任架构理念 摒弃传统的边界防护思维定式,转而采纳以动态评估为基础的信任判定准则。即使内部网络成员也要视同外来访客一样接受严格检验审核才能获得进一步深入探索的机会。 ```python import hashlib def verify_image_integrity(file_path, expected_hash): """Verify the integrity of a file by comparing its hash with an expected value.""" hasher = hashlib.sha256() with open(file_path, 'rb') as f: buf = f.read(65536) # Read in chunks to handle large files efficiently. while len(buf) > 0: hasher.update(buf) buf = f.read(65536) actual_hash = hasher.hexdigest() return actual_hash == expected_hash ``` 此函数可用于校验所获取的容器镜像是否未受损害,确保部署前已完成必要的安全检查工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值