前言
本门课程为本科生数据投毒入门课程,笔记也多来自老师课件,不涉及太多高级知识。如对数据安全有兴趣,欢迎报考方班李默涵老师的研究生。
课程简介
在大数据与人工智能技术井喷式爆发的当下,数据已成为国家战略资源。数据的重要性不言而喻,高质量数据更是价值不菲。不过,随着数据的价值不断为人们所认识的同时,针对数据的攻击也逐渐出现。
数据投毒就是其中一类很重要的针对数据的攻击。例如:
- 在推荐系统中,欺诈攻击者往往通过批量注册假用户、添加假评分来误导推荐系统,从而推举或打压某些商品;
- 在众包服务中,由于数据来自参与众包任务的普通用户,因此容易通过伪造或控制用户来造成数据投毒攻击;
- 在图片识别任务中,可以向训练数据中添加某些像素点刻意修改过的图片来使得分类器偏移。
这些攻击的共性在于,都是通过产生并投放恶意数据,从而扰动数据分析模型来达到攻击目的。我们将这类攻击称为数据投毒(Data Poisoning)攻击
数据投毒攻击示意图
大数据和机器学习
大数据
根据其是否具有良好的结构,可以分为三类
- 结构化数据 (关系数据库)
- 半结构化数据 (图数据,xml,json)
- 非结构化数据 (图像,文本,音视频)
机器学习
- 有监督学习
– 训练集本身有标签 - 无监督学习
– 训练集无标签 - 半监督学习
– 训练集有的有标签,有的无 - 强化学习
– 智能体从环境中获得训练集 - 模仿学习
大数据和机器学习结合
有了大数据和机器学习后,我们可以完成下面任务:
大数据和机器学习潜在的安全威胁
数据分析流程
在每一个流程中均有可能受到威胁
机器学习流程及安全威胁
数据投毒
什么是数据投毒攻击
攻击者通过在数据获取阶段有意识地投放不正确或有偏斜的数据来降低数据可用性 目的是影响分析模型、扰乱分析结果
什么是数据可用性
数据的可用性是指数据驱动的应用和服务的可用性 高可用数据的特点:一致、完整、精确、及时、冗余少
影响数据可用性的原因
异构数据融合、数据模式演进、数据格式转换会导致引入劣质数据 带着特殊目的的攻击会导致引入恶意数据
数据投毒攻击的要素
攻击场景
这里需要着重讲一下开放域数据投毒
封闭域
假设数据的来源和语义都可以被一个已知的封闭集合所限制约束。例如
- 智能电网(Smart Grid) 数据主要来源于分布在电网中的计量装置;
- 一些图片分类任务:训练数据的内容和标签都来自已知的封闭集合。
开放域
假设数据的来源或语义是开放的,无法用封闭集合进行约束。例如
- 群智感知(Crowdsensing) :传感数据来自于普通用户的移动设备;
- 一些自动问答系统:原始数据可能采集自互联网或普通用户。
开放域数据投毒攻击和防御
攻击:同时考虑目标算法和防御机制的脆弱性、学习环境和对手,及时调整策略 防御:数据获取时防御、数据获取后防御
攻击对象
推荐系统、机器学习算法、众包应用、物联网等各种应用
攻击所需要的知识
完美知识、有限知识、零知识
攻击效果
有目标攻击、无目标攻击
数据投毒防御的困难性
- 对技术的脆弱性认知不足
- 面临未知攻击
- 攻击数据未必是“脏数据”
- 攻防场景复杂
|