Skip to main content
QUICK REVIEW

[论文解读] How to 0wn NAS in Your Spare Time

Sanghyun Hong, Michael Davinroy|arXiv (Cornell University)|Feb 17, 2020
Security and Verification in Computing参考文献 28被引用 12
一句话总结

本文提出了一种实用的缓存侧信道攻击,仅通过Flush+Reload侧信道泄漏信息,即可重建新型深度学习系统——特别是数据预处理流水线和神经网络架构。该方法推断计算痕迹,生成候选架构,并通过参数估计进行剪枝,实现了在MalConv和ProxylessNAS-CPU上的0%重建错误率。

ABSTRACT

New data processing pipelines and novel network architectures increasingly drive the success of deep learning. In consequence, the industry considers top-performing architectures as intellectual property and devotes considerable computational resources to discovering such architectures through neural architecture search (NAS). This provides an incentive for adversaries to steal these novel architectures; when used in the cloud, to provide Machine Learning as a Service, the adversaries also have an opportunity to reconstruct the architectures by exploiting a range of hardware side channels. However, it is challenging to reconstruct novel architectures and pipelines without knowing the computational graph (e.g., the layers, branches or skip connections), the architectural parameters (e.g., the number of filters in a convolutional layer) or the specific pre-processing steps (e.g. embeddings). In this paper, we design an algorithm that reconstructs the key components of a novel deep learning system by exploiting a small amount of information leakage from a cache side-channel attack, Flush+Reload. We use Flush+Reload to infer the trace of computations and the timing for each computation. Our algorithm then generates candidate computational graphs from the trace and eliminates incompatible candidates through a parameter estimation process. We implement our algorithm in PyTorch and Tensorflow. We demonstrate experimentally that we can reconstruct MalConv, a novel data pre-processing pipeline for malware detection, and ProxylessNAS- CPU, a novel network architecture for the ImageNet classification optimized to run on CPUs, without knowing the architecture family. In both cases, we achieve 0% error. These results suggest hardware side channels are a practical attack vector against MLaaS, and more efforts should be devoted to understanding their impact on the security of deep learning systems.

研究动机与目标

  • 应对深度学习领域日益增长的知识产权盗窃威胁,其中新型网络架构和预处理流水线是宝贵的商业机密。
  • 探究在基于云的MLaaS环境中,是否可利用硬件侧信道泄漏来重建整个深度学习系统,且无需事先知晓其架构信息。
  • 开发一种实用的攻击方法,仅利用共驻虚拟机的最小侧信道信息,重建深度学习系统的关键组件。
  • 在真实世界模型(包括MalConv和ProxylessNAS-CPU)上,于实际云部署条件下,验证该攻击的可行性和有效性。

提出的方法

  • 利用Flush+Reload侧信道攻击,监控共驻虚拟机上受害者深度学习推理过程中的缓存访问模式。
  • 从缓存访问模式中提取函数调用序列及其执行时间的痕迹,识别出如卷积和批归一化等操作。
  • 通过分析观察到的操作序列和时序,生成候选计算图,将其建模为具有未知参数的计算图。
  • 采用参数估计过程,通过将观察到的执行时间与理论矩阵乘法成本进行匹配,排除不兼容的候选架构。
  • 使用频繁序列挖掘(FSM)识别重复查询中反复出现的操作模块,提升在多个输入下的重建准确性。
  • 在PyTorch和TensorFlow中实现该攻击,以验证其跨框架的适用性和鲁棒性。

实验结果

研究问题

  • RQ1在未事先知晓架构的情况下,缓存侧信道攻击能否重建新型深度学习系统的完整计算图?
  • RQ2执行时序和缓存访问模式在多大程度上可用于推断架构超参数(如卷积核大小、滤波器数量和步长)?
  • RQ3当应用于真实世界模型(如MalConv和ProxylessNAS-CPU)时,该重建攻击在基于云的MLaaS环境中的有效性如何?
  • RQ4当受害者使用混淆技术(如空操作或计算重排)时,该攻击的实际限制是什么?
  • RQ5能否通过架构混淆实现防御,其在性能和可行性方面存在哪些权衡?

主要发现

  • 该攻击仅通过单次推理查询的侧信道泄漏信息,即以0%错误率成功重建了新型恶意软件检测预处理流水线MalConv。
  • 即使在未事先知晓架构族信息的情况下,该方法仍以0%错误率重建了专为CPU推理优化的新型神经网络架构ProxylessNAS-CPU。
  • 通过将观察到的执行时间与理论矩阵乘法成本相关联,该重建过程实现了完美精度,从而实现精确的参数估计。
  • 即使受害者系统包含混淆技术(如空操作或计算重排),该攻击仍保持有效性,尽管这些技术会增加重建时间。
  • 防御措施如填充操作数或运行诱饵网络可增加攻击者的工作量,但并非万无一失,因为重复查询可实现噪声抵消和基于FSM的模式恢复。
  • 结果表明,硬件侧信道是MLaaS平台安全性的实际且严重威胁,尤其对高知识产权价值的系统而言。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。