论文分享:攻击云端多租户FPGA@DAC’21

IoT 1个月前 admin
15 0 0

论文分享:攻击云端多租户FPGA@DAC’21

    本次分享的是由加利福尼亚大学圣地亚哥分校的Mustafa Gobulukoglu等人发表在DAC’21的文章《Classifying Computations on Multi-Tenant FPGAs》。本文关注云端FPGA在多租户并置计算(co-located computing)过程中的攻击与防御,它基于一种电压波动传感器(voltage fluctuation sensor)的side-channel/covert-channel设计,并通过远程分类流水线(classification pipeline)来训练攻击模型。这种攻击模型具有极高的精准性。

一、简介

    现在FPGA逐渐广泛地部署于数据中心,参与神经网络、同态加密、安全数据库操作等计算过程。为了让这些功能强大、昂贵的FPGA尽可能发挥加速作用,云厂商开始使用FPGA虚拟化等技术,但是这也提供了很大的攻击面。最近有些针对FPGA中分布式神经网络计算的远程攻击,就是利用了FPGA虚拟化来让攻击程序和受害者并置计算,并利用电压波动传感器的局部电压(local supply voltage)变化,构建side-channel或者covert-channel 攻击,来提取受害者密钥信息,同时这种分类并置计算的方法也可以让云提供商识别恶意的FPGA计算核并停止服务。

二、攻击模型

论文分享:攻击云端多租户FPGA@DAC’21

图:攻击设计展示(来源自论文)

    作者假设完全远程的攻击者在多租户计算场景中,借助FPGA虚拟化来与受害者并置计算。虽然攻击者不物理接触FPGA,但是它具有FPGA编程能力,并且云端也给攻击者提供一块FPGA区域来编程自己的计算逻辑。这样,攻击者就可以在多租户FPGA上实现一个电压波动传感器,来泄露并置计算受害者的信息,并通过受限的接口(比如云端提供的shell)获取这些信息。作者假设攻击者可以接触到很多IP核,这些IP核不一定是受害者的,但是它们需要有相似的计算特征,从而允许攻击者利用传感器收集的信息来训练特定的攻击模型。在模型训练完后,攻击者也不需接触这些IP核了。

    对于电压波动传感器,它基于TDCTime-to-Digital Converter,时间数字转换器,可用于反馈时间信息)传感器设计,相比于传统设计(如RO传感器)方法更加隐蔽,也可以绕过任何FPGA硬件程序分析技术(比如分析bitstream)。这个传感器不需要编译在特定的FPGA区域内(即受害者的计算单元不一定使用这个传感器),但是最好离受害者的计算单元更近一些,有助于提升timing信息分析的精度。

    这样,具体的攻击步骤如下:攻击者远程上传一个编译好的FPGA bitstream(含有电压波动传感器)到FPGA里,这个传感器收集信息并通过shell等接口反馈给攻击者,攻击者分析这些信息并训练攻击模型,可用于后续的AES密钥推导等攻击。

三、攻击模型训练

    传感器给出的数据流追踪可用于构建分类流水线(classification pipeline),其过程如下所述:

    首先,TDC传感器通过shell等结构向攻击者提供若干收集的信号(即很多二进制流),并经过预处理。其次,这些信息可通过短时傅里叶变换(STFT)转换成若干图像,它们表示受害者的计算timing信息。最后,作者通过ResNet50来根据图像训练攻击模型。


原文始发于微信公众号(COMPASS Lab):论文分享:攻击云端多租户FPGA@DAC’21

版权声明:admin 发表于 2024年3月6日 下午9:57。
转载请注明:论文分享:攻击云端多租户FPGA@DAC’21 | CTF导航

相关文章