【FPGADefender: Malicious Self-Oscillator Scanning for Xilinx UltraScale+ FPGAs论文笔记】

FPGADefender: Malicious Self-Oscillator Scanning for Xilinx UltraScale+ FPGAs论文笔记

作者:TUAN MINH LA, KASPAR MATAS, NIKOLA GRUNCHEVSKI, KHOA DANG PHAM,
and DIRK KOCH
机构:The University of Manchester, UK
附上文章的思维导图
在这里插入图片描述

摘要

背景: 共享配置位流而不是网表是保护IP或共享IP而无需更长的CAD工具处理时间的非常理想的功能。此外,越来越多的系统可以从在同一FPGA上为多个用户提供服务中获益匪浅,例如,用于云基础设施中的资源池。

本文工作: 本文从硬件安全的角度研究了恶意应用程序在多租户场景下对基于FPGA的系统造成的威胁。特别是,本文系统地评估了通过短路和自振荡电路进行FPGA功率冲击的风险,这些电路可能会对系统造成危害。这种风险包括实施、调整和评估从文献中 已知所有 FPGA自振荡器,但也包括开发大量以前从未考虑过的新功率锤击设计。

实验现象和结论: 我们的实验表明,恶意电路可以调整到Ultra96 FPGA板上仅有3%的可用逻辑可以占用整个FPGA板的功率预算。这一事实表明,数据中心FPGA的浪费功率可能在千瓦范围内。

意义和价值: 除了仔细分析FPGA硬件安全威胁之外,我们还介绍了FPGA病毒扫描器FPGADefender,它可以检测(可能)任何自振荡FPGA电路,以及检测短路、高扇出网络和对模块范围之外的信号的窃听,以保护数据中心FPGA,如位流级别的Xilinx UltraScale+设备。

前言

研究总体背景: 随着目前在云数据中心提供FPGA的趋势[24,25,53,68],以及越来越多的硬件设计作为比特流提供(例如[10,66]),迫切需要研究FPGA硬件安全性。虽然传统上,FPGA硬件以及FPGA上运行的设计完全由一方设计和集成,但我们现在正日益走向具有更复杂供应链的生态系统。例如,现在我们的云数据中心使用现成的FPGA板,以及自己的堆栈、供应商和第三方IP和工具,以便为用户提供FPGA支持的加速即服务(AaaS)产品[24]以及FPGA即服务(FaaS)产品[25,68]。

这一趋势的起源可以称为FPGA云效应,它刺激了大量与FPGA相关的研究,这是由主要云服务提供商宣布提供FPGA实例(例如,Amazon a WS及其F1 FPGA实例)引发的。第一次,这些产品让每个人都有机会以低初始成本使用高端FPGA硬件,而无需在本地安装任何FPGA设计工具。(the following are related to existing problems) 这一影响也引发了FPGA硬件安全研究的复兴[47],最近的几篇论文证明了对以下方面的攻击:1)如何损害系统的完整性,如何拒绝系统的服务;2)如何从系统的其他部分泄漏信息,如第2节所述
现有存在问题: 然而,尽管有许多攻击被证明,但只有少数论文发表了针对FPGA硬件安全威胁的对策。亚马逊、阿里巴巴、百度和Nimbix等云服务提供商完全依赖FPGA供应商Xilinx,通过在网表级别使用设计规则检查(DRC)来保护其FPGA基础设施[24、25、27、28]。我们想强调的是,AWS和其他FPGA云服务提供商的通用方法不足以为其系统增加安全性,因为(Xilinx)DRC仅捕获基于LUT的RO(参见[19,57],以及第3节中的示例)。这种缺乏应对措施的情况令人惊讶,因为对于可能出现的下一波系统,安全性将是最重要的要求,其中多个租户可以在FaaS设置中共享相同的FPGA(这允许利用FPGA的处理和资源池的全部云优势),或者最终用户可以下载和执行配置位流作为硬件应用程序。请注意,现有的FPGA云产品已经可以被视为多租户场景,包括具有I/O基础设施的外壳(通常由云服务提供商提供)和使用该外壳连接到服务器节点的用户模块。在此设置中,用户不应以不受控制的方式干扰外壳,并且必须防止允许劫持任何外壳功能的情况(例如,为了访问连接到服务器主机节点[26]的PCIe核心)。
论文创新点及可行性讨论: 在本文中,我们提出了一种名为FPGADefender的FPGA病毒扫描器,它扫描部分模块位流,以便系统可以在需要时拒绝恶意模块。我们仅限于部分比特流,因为当前版本的FPGADefender仅完全支持逻辑块(CLB)、片上存储器(BRAM)和算术块(DSP)。然而,这对于用户通过shell,通常禁止直接访问I/O引脚。具有FPGA病毒扫描器的设想系统如图1所示。在传统系统中,(部分)比特流将被直接发送到配置管理器,该配置管理器负责将比特流二进制数据泵送到结构中。
在这里插入图片描述

要从比特流执行病毒扫描,我们首先必须重建网表,这反过来需要FPGA架构模型。然后,实际的病毒扫描引擎可以扫描该网表,这需要病毒定义(也称为病毒签名)和系统特定的约束。如果扫描仪检测到位流中的恶意构造,则会将其标记到配置管理器,配置管理器可能会拒绝恶意位流。

当前最严重的FPGA硬件安全威胁与自激振荡器有关。自振荡器(SO)是这样的电路,其中振荡不依赖于外部时钟(例如,来自石英晶体),而是依赖于在FPGA的软逻辑中实现的一些反馈。环形振荡器(RO)是表示基于反相组合反馈回路的电路的自振荡器的子集。为了提供对自激振荡的最佳保护,我们研究了大量报道以及几种新颖的自激振荡设计。我们彻底量化了他们对强力锤击的潜在威胁,并将他们所有人的病毒特征纳入FPGADefender。
本论文主要研究内容,贡献: 在本文的其余部分,我们将更详细地描述病毒扫描的概念、实现和评估。我们的主要贡献是:
• 深入研究FPGA自振荡器,包括发现新颖的振荡器设计(第3节)。

• FPGA病毒扫描和病毒签名模型,用于检测位流中的振荡器、窃听和短路(第4节)。

• FPGADefender的实施、评估和讨论(第5节)。
除了这些关键贡献,我们还提供了FPGA安全威胁的概述(第2节),以及软件病毒扫描与硬件病毒扫描的比较(第4.1节)。

注意,本文使用术语“病毒扫描”来检测所有类型的病毒恶意威胁,而不是其原始含义是用恶意代码感染程序,以类似病毒的方式传播

讨论和结论

在本文中,我们提供了可部署在FPGA上的自振荡威胁的完整研究。

我们系统地研究了用于实现这种自振荡电路的所有已发表的和几种新的振荡器设计,我们考虑了一系列不同的操作模式来创建自激振荡电路(例如,组合环路、毛刺放大和异步触发器操作模式)。特别是,我们检查并量化了power_harming潜在威胁,我们发现,对于优化设计,通过仅使用Ultra96板的LUT资源的3%,我们可以获得比分配的功率预算更多的功率。这意味着攻击者只需要控制少量的FPGA资源就可以使FPGA板崩溃,甚至对系统造成永久性损坏。通过在实验中使用小型FPGA提供关于潜在风险的有力证据,我们可以将结果投射到使用相同FPGA结构和制造工艺技术的新数据中心FPGA上。

此外,这里研究的几个振荡器设计可部署在FPGA云服务实例上,因为我们测试了具有千瓦范围内潜在功率冲击潜力的Amazon F1实例,这具有巨大的损害设备的潜力,并具有相应的实质性货币风险。

由于不同FPGA供应商的不同FPGA架构在物理实现方式上的相似性,这里提出的攻击向量并不局限于特定的供应商。然而,不同的供应商提供了其设备和工具的不同细节,发布的信息越多,可以实施的防御措施就越多。例如,英特尔尚未发布完整的FPGA架构图或其最新FPGA的位流编码细节。因此,任何想要对比特流进行独立安全评估的人都必须进行大量的反向工程工作。在FPGADefender中添加对Intel FPGA的支持也是如此。我们认为,通过隐藏实现安全是一种糟糕的做法,只有完全记录在案的设备才能用于构建安全系统。

我们坚信,安全第一战略对于现有和未来的FPGA生态系统至关重要,基于最终用户能够访问FPGA硬件的商业模式只能在FPGA硬件安全基础设施到位的情况下执行。

我们通过开发FPGADefender解决了这一问题,它不仅可以识别(可能)任何类型的自振荡电路,而且还可以识别诸如互连短路和用户模块范围外导线抽头等基本威胁。因此,FPGADefender可以防止所有最近的远程侧信道分析方法[18、54、55]和所有流行的功率锤击攻击[20]。未来的工作将调查是否可以在比特流级别可靠地检测到来自故障(例如,来自XOR树)的潜在恶意功率锤击。

我们坚信,所有FPGA硬件安全问题都可以通过工具解决,并且我们没有看到任何根本障碍会阻止构建允许用户访问FPGA的系统,包括多租户和直接部署位流。

为了实现这一点,并促进对硬件安全的更多研究,FPGADefender以及带有恶意电路的设计检查点和比特流的图库如下所示:https://github.com/KasparMatas/FPGAVirusScanner.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值