|无需漏洞也能攻破:云计算FPGA的重大安全隐患
当前 , FPGA已经成为云数据中心里重要的硬件加速单元 。例如 , 在之前的文章中详细介绍过微软的“Catapult”项目 。通过这个项目 , 微软在 Azure 云数据中心里部署了上百万个基于 FPGA 的智能网卡 , 并使用 FPGA 对一系列应用进行了硬件加速 。这其中包括必应搜索(Bing)的文件排名运算 , 以及通过 FPGA 构建的实时 AI 系统“Brainwave” 。
亚马逊 AWS 则采用了名为 FPGA 即服务(FaaS)的业务模式 , 也就是将 FPGA 作为了 AWS 云的硬件加速实例 , 面向云服务的广大用户和开发者 。这种业务模式提供了 FPGA 云服务的完整基础设施架构 , 包括 FPGA 的开发、调试、部署、维护等等 , 使得开发者可以直接利用云中的 FPGA 资源进行算法的硬件加速和开发 。腾讯云、阿里云、华为云等公有云提供商也纷纷跟进 , 也在云服务中加入了 FPGA 的硬件加速实例 。
然而 , 随着 FPGA 在云数据中心的不断部署 , 由此引发的安全性隐患也逐渐成为业界关注的重点之一 。和 CPU、GPU、网络交换芯片等数据中心常见的硬件单元不同 , FPGA 带来的潜在安全性问题有着非常独特的一面 。
一方面 , FPGA 芯片本身可能存在高危漏洞 。在之前的文章中 , 我们介绍过赛灵思的 7 系列 FPGA 被曝出名为“StarBleed”的漏洞 , 它使得攻击者能同时攻破 FPGA 配置文件的加密和鉴权两个重要环节 , 并由此随意更改 FPGA 中实现的逻辑功能 。这个漏洞的严重之处在于 , 一旦 FPGA 芯片被攻破 , 就无法通过软件补丁的方式进行修复 , 而只能停机换芯片 。
【|无需漏洞也能攻破:云计算FPGA的重大安全隐患】另一方面 , 由于 FPGA 的特殊性 , 即使芯片没有任何功能漏洞 , 攻击者也可以使用一些很巧妙的手段进行破坏性的操作 , 并破解并窃取加密信息 。今天这篇文章 , 就将介绍这其中的一个攻击方法 。
FPGA 虚拟化与多租户 FPGA
在 FPGA 的云计算应用中 , 虚拟化技术是目前比较常见的 FPGA 管理和资源调度方式 。关于 FPGA 虚拟化技术 , 有兴趣的读者可以看看老石之前的文章《FPGA 虚拟化:突破次元壁的技术》 , 里面详细介绍了 FPGA 虚拟化的很多技术细节 。简单来说 , 虚拟化技术在传统的 FPGA 开发层级中加入了额外的一层 , 从而将用户的应用逻辑与底层硬件分离开 , 使开发者无需太关心硬件的实现方式 , 这能大幅降低 FPGA 的开发难度 , 缩短开发周期 。
文章图片
文章图片
通过 FPGA 虚拟化技术 , 就可以实现在单个 FPGA 上划分出多个逻辑区域 , 并分配给不同的用户进行使用 , 这就是 FPGA 的多租户(Multi-tenent)技术 。
在多租户 FPGA 中 , 理论上不同用户的区域是相互独立的 , 这可以通过划分不同的 FPGA 设计区域实现 。不同的用户并不会共享 FPGA 上的逻辑资源 , 此外 , 他们的 FPGA 配置文件、上层软件等都应该是加密和独立的 。这些都由虚拟层进行调度和管理 , 在技术上 , 这可以通过 FPGA 的部分可重构(Partial Reconfiguration)特性实现 。
例如 , 下图中就展示了两种不同的多租户 FPGA 实现方法 , 第一种使用了两个相互独立的设计区域 , 第二种则实现了多个用户设计 A、B、C、D 在 FPGA 上的混合排列 。
文章图片
文章图片
事实上 , 不同用户的设计区域很难做到完全独立 。比如 , 在同一个 FPGA 芯片上 , 供电、时钟等全局资源往往需要共享 。仅仅如此 , 就会给多租户 FPGA 设计带来安全隐患 。
针对 FPGA 的电压攻击
推荐阅读
- 推特|推特回应“史诗级漏洞”:黑客锁定130个账号,控制45个发文
- 目标检测|数据民工也能移动办公了:目标检测标注App上线,分分钟创建私人数据集
- 行业互联网|“云端”也能种蘑菇?——首都民间友好交流云对话线上举行
- 拍照摄影|暑期出游无需单反,荣耀30青春版随手就是大片感
- 平板|颜值与实力并行,网上飘数码配件这款平板支架也能玩出高逼格!
- 网上飘数码旗舰店|颜值与实力并行,网上飘数码配件这款平板支架也能玩出高逼格!
- 中年|多吃鹅肉有什么好处呢,大厨教你一招,在家也能做,不腥也不柴
- 自动驾驶|AutoX获加州全无人驾驶载人牌照,无需安全员
- DIGITIMES|【IoT早报】美对华为员工实施签证限制;腾讯公布快充安全漏洞等
- 漏洞|Oracle发布7月份安全公告,360安全大脑测绘云再获Oracle官方致谢