隐私,安全及机器学习
面向隐私保护的机器学习
不断发生的数据泄露和隐私侵权事件使得社会公众更加认识到,在人工智能系统的构建与使用中,需要保护用户隐私和数据机密性,由此产生的系统便称作面向隐私保护的机器学习(Privacy-Preserving Machine Learning,PPML)系统。
我们对于信息安全有如下定义:由个人,团体或机构自行决定何时,如何以及在多大程度上将有关他们的信息传达给他人。
面向隐私保护的机器学习与安全机器学习
我们首先要分清PPML和安全机器学习(Secure ML)的区别。这二者的区别在于它们被设计用来应用不同类型的安全威胁。在安全机器学习中,敌手被假设违反了机器学习系统的完整性和可用性。在PPML中,递手被假设违反了机器学习的隐私性和机密性
完整性(Integrity)
对完整性的攻击可能导致机器学习系统会出现检测错误,例如可能会将入侵点检测为正常。
可用性(Availability)
对可用性的攻击可能导致系统会出现分类错误(假阴性和假阳性),即系统会变成不可用的。这是比完整性攻击更宽泛的一种攻击类型。
机密性(Confidentiality)
对机密性的攻击可能会导致一些机器学习系统中的敏感信息(如训练数据或训练模型)出现错误。
威胁与安全模型
隐私威胁模型
在机器学习任务中,参与方会扮演三种不同的角色
- 输入方:数据的原始拥有者
- 计算方:模型建立者和推理服务提供者
- 结果方:模型查询者和用户
对机器学习系统的攻击可能在任何阶段发生,包括数据发布,模型训练和模型推理。在模型训练阶段发生的攻击叫做重构攻击,在数据发布阶段,发生模型反演攻击,成员推理攻击,特征推理攻击。
重构攻击
在模型的训练期间抽取训练数据,或抽取训练数据的特征向量。
在集中式学习中,来自不同数据方的数据被上传至计算方,这使得数据很容易受到敌手的攻击。大型企业可能会从用户中收集原始数据,然而收集到的数据可能会用于其他目的或者是未经用户知情同意便传达给第三方。
在联邦学习中,每一个参与方使用自己的本地数据来训练机器学习模型,只将模型的权重更新和梯度信息与其他参与方共享。
然而,如果数据结构是已知的,梯度信息可能也会被利用,从而泄露关于训练数据的额外信息
为了抵御重构攻击,应当避免使用明文存储特征值的机器学习模型,例如**支持向量机(SVM)和k-近邻(kNN)**模型。
模型反演攻击
从模型中抽取训练数据或训练数据的特征向量。
对于白盒访问,攻击方不需要存储特征向量便能获取模型的明文内容。对于黑盒访问,攻击方只能查询模型的数据和收集返回结果。
理论上,对于一个维的线性模型,一个敌手可以通过次查询来窃取整个模型的内容。该问题的形式化是从中求解;攻击方能通过“查询-回应”过程对来模拟出一个与原始模型相似的模型。
为了抵御模型反演攻击,应当向敌手暴露尽可能少的关于模型的信息,对模型的访问应当被限制为黑盒访问,模型输出同样应当受限。
成员推理攻击
判断模型的训练集中是否包含特定的样本。
攻击者被假设为对模型拥有白盒访问权限或黑盒访问权限和一个样本,通过机器学习模型的输出试图推断此样本是否属于模型的训练集。攻击者的目标是获知给定样本是否在模型的训练集中。
特征推理攻击
攻击者出于恶意目的,将数据去匿名化或锁定记录的拥有者。
在数据被发布之前,通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,是保护用户隐私的一种常用方法。
攻击者和安全模型
现阶段对于PPML技术,设计两种类型的敌手:
- 半诚实(Seni-honest)的敌手,在半诚实敌手模型中,敌手诚实地遵守协议,但也会试图从接收到的信息中学习更多除输出以外的信息。
- 恶意(Malicious)的敌手,在恶意的敌手模型中,敌手不遵守协议,可以执行任意的攻击行为。
在联邦学习中,诚实地遵守协议是对各方都有利的,恶意的行为也会损害敌手自身的利益。另外,在密码学中首先建立一个针对半诚实的敌手的安全协议是一种标准的方法,然后可以通过零知识证明对其进行加强,进而防御恶意的敌手的攻击。