专栏首页AI研习社FPL 2017最佳论文:如何对FPGA云发动DoS攻击?

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

第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研习社(okweiwu),作者:小哲打豆豆

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-16

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • FPGA 哪家强?看 2016 年度市场大趋势

    FPGA 到底有多火? AI 研习社先来带大家看一组数据: 2016 年半导体市场的整体增长率为 1.5%,相比之下,FPGA 市场增长率为 6%。 随着深度学...

    AI研习社
  • Github项目推荐 | 最优控制、强化学习和运动规划等主题参考文献集锦

    References on Optimal Control, Reinforcement Learning and Motion Planning

    AI研习社
  • 博客 | 关于SLU(意图识别、槽填充、上下文LU、结构化LU)和NLG的论文汇总

    不少人通过知乎或微信给我要论文的链接,统一发一下吧,后续还有DST、DPL、迁移学习在对话系统的应用、强化学习在对话系统的应用、memory network在对...

    AI研习社
  • 如何评价微软在数据中心使用FPGA代替传统CPU的做法?

    编者按:本文系微软亚洲研究院实习生李博杰在知乎上针对“如何评价微软在数据中心使用FPGA代替传统CPU的做法?”问题的回答。AI科技评论已获得转载授权。 首先,...

    AI科技评论
  • 腾讯 FPGA 云 : 背后的技术

    FPGA云是云计算的核心算力,同时也是一种新型的行业解决方案。首先,它是一种异构计算平台的体系结构,另一方面,它通过云服务方式为用户提供高附加值的服务,让用户能...

    TEG云端专业号
  • 30 倍效率,4 成费用,创业公司拥抱 AI 的另一个选择

    当前 AI 火爆,得益于 FPGA 的高密度计算能力以及低功耗的特性,FPGA 率先在深度学习在线预测方向(广告推荐、图片识别、语音识别等)得到了较大规模的部署...

    腾讯云计算产品团队
  • 深度 | 如何评价微软在数据中心使用 FPGA ?

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

    AI科技评论
  • FPGA开发全攻略

    链接: https://pan.baidu.com/s/1NDERPvK4bGDxGxCcFgAldg

    碎碎思
  • 【详解】FPGA:深度学习的未来?

    摘要 最近几年数据量和可访问性的迅速增长,使得人工智能的算法设计理念发生了转变。人工建立算法的做法被计算机从大量数据中自动习得可组合系统的能力所取代,使得计算机...

    新智元
  • “万能芯片”FPGA发展的三个纪元

    随着5G时代的大踏步到来,云计算、人工智能、工业4.0等技术再次掀起了 “新浪潮”,也为芯片业的发展带来了巨大利好,在通信、医疗、工控和安防等领域占有一席之地的...

    SDNLAB

扫码关注云+社区

领取腾讯云代金券