学界 | FPL 2017最佳论文:如何对FPGA云发动DoS攻击?

AI科技评论按:第27届现场可编程逻辑与应用国际会议(The International Conference on Field-Programmable Logic and Applications,FPL)九月份在比利时根特召开。在FPL 2017上,一篇来自德国卡尔斯鲁厄理工学院(Karlsruhe Institute of Technology)的论文《Voltage Drop-based Fault Attacks on FPGAs using Valid Bitstreams》获得了最佳论文奖,同时也成为了所有与会者谈论的焦点。

本文作者@小哲打豆豆,目前在多伦多大学电子工程系就读博士,以下为作者对于本篇论文的介绍。

背景介绍

FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)因为其卓越的灵活性而越来越受到用户青睐。不论是低端的IoT设备,还是高端的云计算中心,FPGA在这些最新的应用场景下都展示出高效的计算能力。加上过去就一直在应用FPGA的关键行业,例如军工,航空航天等,诸多领域的发展都给FPGA的安全性带来了新的挑战。

之前对FPGA攻击的研究都是基于本地的,例如,更改FPGA的电源或时钟,或在管脚人为注入“特洛伊代码”。随着FPGA越来越多的在云计算中心中的应用,任何人都可以远程在服务器的FPGA上占用一部分逻辑门,将这个区域设置为自己需要的任意电路,以实现运算加速等功能。而之前,FPGA只能通过受信任的IP提供者被设置。这意味着FPGA在云计算这类应用中将前所未有的暴露自身的安全漏洞。

这项研究的威胁模型基于以下假设:攻击者可以重构部分或全部FPGA的逻辑门,目的是对系统发起DoS(Denial of Service)攻击。作者对两种FPGA分别进行了测试,一类是在云计算中心作为加速器的FPGA,另一类是有片上SoC的FPGA,这类FPGA多应用在IoT场景下。对两种FPGA的研究都发现,发动的DoS攻击可以使FPGA完全瘫痪直至手动复位电源。对于有片上SoC的FPGA来说,在其应用场景下可能并没有电源复位的选项,唯一复位电源的的办法只能是将电池取出再放回。

电路设计

针对FPGA的DoS攻击的基本原理大致如下:通过编辑片上逻辑,使FPGA负载能在瞬间改变。由于电源瞬态响应缓慢,以及电源分配网络(Power Delivery Network,PDN)的设计缺陷,导致FPGA电压过低,进入欠压保护而被锁定,进而达到瘫痪设备的目的。

为了达到瞬间改变FPGA负载的效果,作者将一个逻辑单元的输出经过一个非门连回到输出端。如下图所示,这样的电路构成了一个正反馈的环形振荡器(Ring Oscillator)。环形振荡器里的CMOS开关管会以极快的速度翻转,消耗大量电流。大量逻辑单元都被设置成这样的环形振荡器,并且通过一个使能信号控制所有振荡器,就能瞬间改变FPGA的电流负载。通过控制使能信号的开关频率fRO-t,可以模拟不同的负载变化来观察其对FPGA的影响。

实验结果与讨论

作者测试了三块FPGA开发板,分别是:有40纳米的Xilinx Virterx 6 FPGA的ML605开发板,28纳米的Kintex 7 FPGA的KC705开发板,以及28纳米的Zynq 7020 SoC-FPGA(双ARM Cortex A9 + 片上FPGA)的Zedboard开发板。

测试中,三种开发板都在一定条件下发生了欠压保护导致的系统崩溃。ML605和KC705在欠压保护后均无法自动恢复。Zedboard则会随机出现三种不同的系统故障:一是和前两块开发板一样出现无法自动复位的欠压保护;一种是芯片自动重置,片上所有的设置,包括两个ARM核的状态也被重置;第三种状况类似重置,但是作者在试图重新配置芯片时发生软件故障,之后系统便进入第一种无法自动恢复的欠压保护模式。可见,不论出现何种故障,都需要手动重置电源才能恢复系统。

以ML605开发板作为实例,作者在片上布设了18720个环形振荡器,大约只占用了12%的片上资源。使能信号的频率fRO-t从20kHz到2MHz。实验发现,在高于1MHz时,片上电压压降不足以引起欠压保护;在80kHz到1MHz的范围内,系统崩溃会随机的发生;而在频率小于80kHz时,系统崩溃几乎必然发生。

作者同时将两块开发板通过PCIe接口接入工作站,发现系统崩溃同样发生了。崩溃后ML605可以通过板上的电源开关进行复位,而KC705甚至必须要将整个工作站重启才能恢复。下表总结了三块板在不同状态下的能耗:

以上实例展示了通过欠压保护机制对FPGA发动DoS攻击的方法。如此发动的DoS攻击快速,且可以导致整块FPGA不可逆的瘫痪,直至手动重置电源。

允许用户自己设置FPGA实现运算加速的系统中,无疑暴露了巨大的安全隐患。这导致整台服务器需要重新启动。如果系统是通过不可替换的电池供电的话,FPGA将陷入永久的DoS状态。

结论

FPGA在云计算和IoT中都有大量的应用,在这些新的应用中,传统的比特流加密(bitstream encryption)等安全措施已经不足以应对新的挑战。在这项研究中,作者揭示了一个新的安全漏洞,通过一类方法可以对FPGA发动DoS攻击,并在两代FPGA上进行了实测。结果发现,仅仅利用12%的片上资源,就可以使FPGA由于欠压保护而完全瘫痪。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏针针小站

【Life】寝室桌面美化第一步 – 走线

1479
来自专栏AI科技评论

深度 | 如何评价微软在数据中心使用 FPGA ?

问题「用 FPGA 代替 CPU」中,这个「代替」的说法不准确。我们并不是不用 CPU 了,而是用 FPGA 加速适合它的计算任务,其他任务仍然在 CPU 上完...

4774
来自专栏吉浦迅科技

AMD Radeon HD 7850 GPU 加速醫療影像效能

AMD 正式宣佈嵌入式 AMD Radeon HD 7850 GPU 協助 Analogic 公司旗下 BK Ultrasound 醫療用超聲波產品的超...

2496
来自专栏吉浦迅科技

AMD 2015 年全新 7000 系列 APU 及 Radeon 圖像產品

AMD 除了於 2015 年財務分析師大會闡述未來發展重點及策略外,會上同時亦發表旗下即將推出的 APU 及 GPU 圖像產品,全新 AMD 7000...

3199
来自专栏人工智能的秘密

友情链接如何利用人工智能换代升级?

什么是友情链接,举个简单的例子来说明。说在一条街上,有两家店,一个是卖鲜花的,一个是买巧克力的。

1895
来自专栏机器人网

动图揭秘!身边最平常的机械,它们的工作原理你知道吗?

你一定好奇过自动贩卖机是如何识别硬币的、卷尺是如何把几米长的金属卷起来的?是时候进入他们的内部了,这些原理gif将完美解释你心中的疑问。同时,你会发现这些普通的...

3495
来自专栏Linux杂货铺

历史上12位伟大的程序员

所谓程序员,是指那些能够创造、编写计算机程序的人。不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西。然而,有些程序员的贡献却超过了一个普...

160
来自专栏量子位

AI作曲,你也可以

不断有歌手和AI联手造曲。去年8月,美国歌手Taryn Southern和AI共同创作了歌曲《Break Free》,世界首张AI作曲专辑《I AM AI》也就...

1313
来自专栏安智客

PUF技术比TrustZone技术更安全?

什么是PUF? 维基百科里面说:物理不可克隆功能(即PUF:physical unclonable function)是一种“数字指纹”,用作半导体设备(如微处...

3737
来自专栏SDNLAB

第五届全国高校软件定义网络(SDN)应用创新开发大赛复赛日程公布

第五届全国高校软件定义网络(SDN)应用创新开发大赛正顺利开展,经过初赛阶段的专家评审,已得出30支入围决赛的队伍名单,具体可浏览网址:

1233

扫码关注云+社区