机器学习需要使用大量数据来对模型进行训练,而我们一般都会将这些训练数据上传到亚马逊和Google等运营商所托管的机器学习云服务上,但这样将有可能把数据暴露给恶意攻击者。那我们是否能够把机器学习当作一种服务(机器学习即服务-MLaaS)来使用并保护我们的隐私呢?
机器学习可以算得上是当今计算机科学领域中最热门的学科之一了,而且很多云服务提供商也开始迅速扩展他们的机器学习服务(MLaaS)。
但是这些MLaaS都附带了一条警告信息:所有的模型训练数据都将暴露给服务操作人员。即使服务操作人员不会专门访问这些数据,某些带有其他动机的人也有可能访问到这些数据。
注:德克萨斯大学的Tyler Hunt以及其他研究人员近期发布了一篇标题为《Chiron:机器学习即服务与隐私保护》的研究论文,并在论文中阐述了一种能够在使用云MLaaS时保护隐私的系统架构,感兴趣的同学可以阅读了解一下。
虽然用户可能并不希望透露他们的模型训练数据,但服务提供商那边也有他们自己需要考虑的隐私问题。一般来说,他们并不会允许用户去查看他们MLaaS技术的底层实现算法。
而Chiron这种系统模型可以防止服务操作人员查看训练数据,无论现有的机器学习即服务平台是以怎样的模式运行的,Chiron都不会将训练算法和模型架构暴露给用户,并且只会给用户提供一种黑盒访问模式来访问训练模型。
Chiron使用的是因特尔的软件保护扩展(SGX),这是一种用来增强应用程序代码安全性的架构设计,但仅仅使用SGX还是不够的,Chiron还在Ryoan沙盒中使用了SGX平台,而这是一种分布式的安全保护沙盒,它可以防止不受信任的用户代码在恶意架构中运行。
Chiron的目标是保护云环境中用户的训练数据和训练模型(包括查询和输出数据),因此,我们首先假设整个平台都是不受信任的,包括其中的操作系统和相应的管理程序。攻击者可以是设备的管理员或者服务操作人员,也可以是已经成功入侵服务平台的恶意攻击者。当然了,攻击者还可以是恶意OS开发人员,因为他们可以直接记录下用户的输入/输出信息。
由于训练模型会通过特定的查询语句泄露训练数据,Chiron可以确保只有提供训练数据的用户才能访问训练完成后的模型。即使攻击者能够获取到云基础设施的完整访问权,他们也无法查询到模型并访问训练数据。
虽然现在从表面上看Chiron似乎已经覆盖的足够全面了,但MLaaS的底层硬件还是存在一些安全问题的。
SGX本身并不是无懈可击的,因为英特尔的性能监控单元(PMU)允许不受信任的平台深入了解目标系统底层的运行机制以及正在进行的任务。当前的SGX允许拥有高级权限的软件修改内存页表,并查看相关代码以及页数据踪迹,而这将导致非常严重的后果。
由于Chiron的实现基于的是英特尔的SGX,所以它不能使用GPU配合工作,因为GPU暂时还不能很好地支持SGX的相关功能。因此,目前的Chiron实现得还不够完美,可能只有GPU供应商开始认真考虑安全问题时我们才能够更进一步。
除了限制因素之外,Hunt等人还对Chiron的性能进行了测试,并且证明了Chiron可以在保护标准机器学习基础设施的情况下维持设备的正常性能。
在我们这个现代化的海量数据世界里,存在着千千万万个安全漏洞,而攻击者可以用各种各样的方法来利用这些漏洞。没有任何一个系统是绝对安全的,但我们可以通过努力来尽量做得更好。毫无疑问,机器学习绝对会在我们将来的生活中扮演重要角色,如果机器学习能够保护好我们的隐私,那得多安逸?
* 参考来源:zdnet,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM