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由于欠压保护而完全瘫痪。
FPL 2017最佳论文:如何对FPGA云发动DoS攻击?相关推荐
- 云栖科技评论第26期:人工智能界年度顶级会议AAAI 2017最佳论文出炉
1.人工智能界年度顶级会议AAAI 2017最佳论文出炉 人工智能界年度顶级会议AAAI 2017最佳论文出炉 [新闻摘要]人工智能界年度顶级会议AAAI2017于2月4日在美国旧金山举行,会议围绕人 ...
- 何恺明!再斩ICCV 2017最佳论文
夏乙 若朴 发自 凹非寺 量子位 出品 | 公众号 QbitAI 何恺明第三次斩获顶会最佳论文! 昨天下午,ICCV 2017最佳论文公布. 何恺明为一作的Mask R-CNN论文,不负众望获得最佳论 ...
- edos攻击的服务器修复,d您的云服务器dos攻击
d您的云服务器dos攻击 内容精选 换一换 根据云服务器ID,查询云服务器的详细信息.您可以在API Explorer中直接运行调试该接口.GET /v2.1/{project_id}/servers ...
- 体系结构顶会 ASPLOS 2017 最佳论文出炉,阿里云周靖人主旨演讲
2017年4月11日晚,在西安举行的架构体系的顶级会议ASPLOS(面向编程语言和操作系统的架构支持会议,Architectural Support for Programming Languages ...
- 牛!何恺明包揽2项ICCV 2017最佳论文奖!这位高考状元告诉你什么是开挂的人生
大神终究是大神! 刚刚,AI 科技大本营获悉,继两次荣获 CVPR 最佳论文奖之后,何恺明参与的两篇最新论文又分别摘下 ICCV 2017 的最佳论文奖(Best Paper Award)和最佳学生论 ...
- CIKM'2017 最佳论文鉴赏
写在前面 背景 感谢组织,让我有幸参加了11月初在新加坡举办的ACM CIKM 2017.CIKM全称是Conference on Information and Knowledge Manageme ...
- ACMMM2017 | 电子科大斩获最佳论文!中科院自动化所多媒体计算组获得IEEE期刊最佳论文!
本文授权转自专知(Quan_zhuanzhi) 第25届ACM国际多媒体会议(ACM International Conference on Multimedia, 简称ACM MM)于2017年10 ...
- 后浪“95”获 CVPR 2020 最佳论文,前得主这样解读
来源 | AI TIME 论道 CVPR 2020已落下帷幕,共计投稿6656篇,录用1470篇,涵盖的方向包括目标检测.目标跟踪.图像分割.人脸识别.姿态估计.三维点云.视频分析.模型加速.GAN. ...
- AAAI 2021最佳论文奖出炉,北航成最大赢家,还有这样一批华人学术新星!
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 编辑丨机器之心 第 35 届 AAAI 人工智能会议已于 2 月 2 日在线上召开.在刚刚举行的开幕式 ...
最新文章
- 渗透Xen hypervisor
- 浏览器的内核及版本的判断
- redis(22)--二进制位数组
- wpf Combobox 样式的问题
- php redis 读写分离类,yii实现redis读写分离
- python 中的pickle库
- 机器学习 vs 深度学习到底有啥区别,为什么更多人选择机器学习
- linux快速切换目录命令,Linux在命令行快速切换目录 - 米扑博客
- 记表格设计规范整理与页面可视化生成工具开发
- CLR Via CSharp读书笔记(11):事件
- vue 调用 js 获取的今天日期、本周、本月、本年起始和结束日期
- IPHONE屏幕大小,分辨率解析
- android 标签开源控件,Android开源控件ViewPager Indicator的使用方法
- 豌豆荚搜索手机中的游戏app形成列表的原理
- Golang 给视频添加背景音乐 | Golang工具
- linux安装globalsign证书,globalsign代码签名证书
- 使用Arduino开发ESP32(二十一):WiFiBlueToothSwitch例程,按键切换esp32为蓝牙或wifi模式
- vmware windows7安装usb3.0驱动
- 惠州学院计算机学院2019,2019惠州学院专业排名
- C++编译器无法捕捉到的8种错误