论文标题

分解X86深神经网络可执行文件

Decompiling x86 Deep Neural Network Executables

论文作者

Liu, Zhibo, Yuan, Yuanyuan, Wang, Shuai, Xie, Xiaofei, Ma, Lei

论文摘要

由于它们在异质硬件设备上的广泛使用,DL编译器将深度学习(DL)模型汇总到可执行文件中,以完全利用低级硬件原始图。这种方法允许在包括CPU,GPU和各种硬件加速器在内的各种计算平台上以低成本进行DL计算。 我们提出了BTD(bin到DNN),这是深度神经网络(DNN)可执行文件的分解器。 BTD采用DNN可执行文件和输出完整的模型规格,包括DNN运算符的类型,网络拓扑,维度和与输入模型相同的参数。 BTD提供了一个实用的框架,以处理由不同DL编译器编译的DNN可执行文件,并在X86平台上启用了完整的优化。它采用基于学习的技术来推断DNN操作员,动态分析以揭示网络体系结构和符号执行,以促进DNN运算符的维度和参数。 我们的评估表明,BTD可以准确恢复具有数百万参数(例如Resnet)的复杂DNN的完整规格。可以将恢复的DNN规范重新编译为新的DNN可执行文件,该可执行文件表现出与输入可执行文件相同的行为。我们表明,BTD可以针对DNN可执行组提高两次代表性攻击,对抗性示例生成和知识窃取。我们还使用BTD演​​示了跨架构的旧版代码重复使用,并设想BTD用于其他关键下游任务,例如DNN安全性硬化和修补。

Due to their widespread use on heterogeneous hardware devices, deep learning (DL) models are compiled into executables by DL compilers to fully leverage low-level hardware primitives. This approach allows DL computations to be undertaken at low cost across a variety of computing platforms, including CPUs, GPUs, and various hardware accelerators. We present BTD (Bin to DNN), a decompiler for deep neural network (DNN) executables. BTD takes DNN executables and outputs full model specifications, including types of DNN operators, network topology, dimensions, and parameters that are (nearly) identical to those of the input models. BTD delivers a practical framework to process DNN executables compiled by different DL compilers and with full optimizations enabled on x86 platforms. It employs learning-based techniques to infer DNN operators, dynamic analysis to reveal network architectures, and symbolic execution to facilitate inferring dimensions and parameters of DNN operators. Our evaluation reveals that BTD enables accurate recovery of full specifications of complex DNNs with millions of parameters (e.g., ResNet). The recovered DNN specifications can be re-compiled into a new DNN executable exhibiting identical behavior to the input executable. We show that BTD can boost two representative attacks, adversarial example generation and knowledge stealing, against DNN executables. We also demonstrate cross-architecture legacy code reuse using BTD, and envision BTD being used for other critical downstream tasks like DNN security hardening and patching.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源