中文

如何在闲暇时间攻破神经架构搜索

密码学与安全 2021-03-01 v2 机器学习

摘要

新的数据处理流水线与新颖网络架构日益成为深度学习成功的关键驱动力。因此,业界将性能顶尖的架构视为知识产权,并投入大量计算资源通过神经架构搜索(NAS)来发现此类架构。这为攻击者窃取这些新颖架构提供了动机;当架构在云端以机器学习即服务(MLaaS)形式提供时,攻击者亦有机会利用一系列硬件侧信道来重构架构。然而,在不知晓计算图(如层、分支或跳跃连接)、架构参数(如卷积层滤波器数量)或特定预处理步骤(如嵌入)的情况下,重构新颖架构与流水线颇具挑战。本文设计了一种算法,利用来自缓存侧信道攻击 Flush+Reload 的少量信息泄露来重构新颖深度学习系统的关键组件。我们使用 Flush+Reload 推断计算轨迹及每次计算的耗时。随后,我们的算法从轨迹生成候选计算图,并通过参数估计过程剔除不兼容候选。我们在 PyTorch 与 Tensorflow 中实现了该算法。实验证明,在不知晓架构族的情况下,我们能够以 0% 误差重构用于恶意软件检测的 Novel 数据预处理流水线 MalConv,以及为在 CPU 上运行而优化的 ImageNet 分类新颖网络架构 ProxylessNAS-CPU。这些结果表明硬件侧信道是针对 MLaaS 的实用攻击向量,应投入更多努力以理解其对深度学习系统安全性的影响。

关键词

引用

@article{arxiv.2002.06776,
  title  = {How to 0wn NAS in Your Spare Time},
  author = {Sanghyun Hong and Michael Davinroy and Yiğitcan Kaya and Dana Dachman-Soled and Tudor Dumitraş},
  journal= {arXiv preprint arXiv:2002.06776},
  year   = {2021}
}

备注

Accepted to ICLR 2020 [Poster]; Our code is available at https://github.com/sanghyun-hong/How-to-0wn-NAS-in-Your-Spare-Time