【Denial-of-Service on FPGA-based Cloud Infrastructures论文笔记】

news2024/9/27 21:19:08

基于FPGA的云基础设施拒绝服务

  • 摘要
  • 引言
  • 背景
    • FPGA Technology
    • FPGA设计的实现
    • 用户设计在AWS的注册
    • 用户设计在AWS上的部署
  • 基于FPGA的系统攻击与对策
    • 客户端的FPGA使用
    • 基于云的fpga的使用
      • 信息泄露
      • 错误注入攻击
      • 对策
  • 云FPGA上的拒绝服务攻击
    • 攻击模型
    • AWS FPGA安全架构
    • AWS EC2 F1强力锤击攻击例子
    • 绕过fence4 FPGA的监视
    • AWS EC2 F1上的FPGA指纹
    • AWS上的DoS–部署和攻击
  • 缓解策略
    • 网表/比特流扫描机
    • FPGADefender 对于FPGA数据中心
  • 讨论
  • 结论

作者:Tuan La, Khoa Pham, Joseph Powell and Dirk Koch
机构:The University of Manchester, UK
联系方式:tuan.la@postgrad.manchester.ac.uk
[khoa.pham,joseph.powell,dirk.koch]@manchester.ac.uk
专业词汇:
CSP(cloud service provider) 云服务提供商
AFI :全称为Amazon FPGA Image,本质是FPGA的比特流配置文件。
EBS: Elastic Block Store 弹性块存储
MELT:Malicious Electrical Level Threats 恶意电气级威胁
DCP:the vendor propriety design checkpoint format (DCP).设计检查点格式

摘要

本文介绍了通过power-hammering在电气级别针对A WS F1实例的FPGA的攻击
演示了通过F1实例上实现的所有AWS安全围栏(包括FPGA供应商DRC)的不同的power-hammering攻击,
最重要的是,我们提供了一个FPGA病毒扫描框架,该框架经过改进,以支持大型数据中心FPGA来防止此类攻击,包括几乎所有当前的侧通道攻击。
我们的实验表明,AWS F1实例通过启动要求369W的FPGA设计而立即崩溃。通过使用FPGA-fingerprinting,我们发现崩溃的实例不可用时间在在大约一到200小时

引言

为了防止(攻击者收集潜在CSP和其他租户的敏感数据)情况,CSP实施了若干围栏
1) 检查FPGA设计是否存在潜在的恶意电路,2)CSP生成配置位流,3)阻止直接访问FPGA配置端口的低级API,以及4)FPGA的运行时监控

我们将讨论并演示拒绝服务攻击的多种场景
对于后者,我们重新实现了FPGADefender病毒扫描器[LMG+20],以扩展到大型数据中心FPGA。

为了验证发起的攻击是否成功,并衡量对WS F1云实例可用性的影响,我们实施了指纹识别技术(在第8节中)。

贡献:
1.针对基于FPGA的云计算实例的攻击,对不同(恶意)强力锤击设计进行评估(见第4.3节);
2.将FPGA结构用作AWS F1实例上的温度监测和指纹识别(通过物理不可克隆功能,PUF)传感器(见第4.5节);
3.WS F1 FPGA云实例上的拒绝服务(DoS)演示(第4.6节);
4.缓解策略,包括供应商工具流程的自定义设计规则检查(DRC),以及FPGADefender FPGA病毒扫描器[LMG+20]的重新实施(见第5节)。

此外,我们在第2节中提供了FPGA技术、FPGA开发和部署A WS的背景,第3节中对基于FPGA的系统的当前攻击和对策进行了文献综述,第6节中进行了讨论,第7节中给出了结论。

背景

本文着重于攻击AWS F1
如[JCM15]所示,无法通过防止配置篡改的FPGA安全远程重新配置协议来防止这种情况。这种方法对于封闭系统很有用,但对于希望向大型客户群提供简单可用服务的CSP来说,这种方法无法使用。因此,如第4节所述,CSP正在使用安全基础设施,该基础设施在FPGA部署之前检查用户设计,并在运行时监控FPGA。

FPGA Technology

讲解了LUT在FPGA中起的作用,power_harmingpotential P的意义,FPGA中的一些模块,起的作用,有可能会构成震荡环消耗大量功率

FPGA设计的实现

在这里插入图片描述
主要讲了FPGA中设计一个实例需要的三个主要过程:
logic design 用户选择自己使用的在FPGA上生成比特流的语言
resource mapping 综合,进行网表映射
Configuration Data (Bitstream) Generation:生成配置比特流,FPGA得以执行任务

用户设计在AWS的注册

介绍了用户如何在AWS上新建网表并生成比特流的过程

用户设计在AWS上的部署

用户的design如何在AWS上安全运行,AWS所作的工作,介绍了用户收费

基于FPGA的系统攻击与对策

基于客户端的FPGA使用与基于云的FPGA使用之间,涉及方的数量以及攻击者与受害FPGA之间的物理接近程度不同,从而导致不同的攻击场景,如以下段落所述

客户端的FPGA使用

一些具有物理访问权限的攻击者可以使用多种技术提取存储在系统中的信息。
恶意电气级威胁MELT
窃取IP

基于云的fpga的使用

云计算模型涉及CSP、FPGA供应商、客户端和其他云用户。

基于云的FPGA 有 数据泄漏、错误注入和拒绝服务攻击

信息泄露

根据远程传感器 测量 FPGA运行速度 从而 测量温度 和 电压
测量运行速度 要进行 区分 同步设计和 任意设计
超频电路 :
原理: 通过快速采样,测量加法器速度,从而测量FPGA的频率和温度
应用:虽然在大多数实际应用中,超频是不可接受的,但在[SOY+20]中表明,超频对机器学习推断是有益的,然而,超频同步电路比振荡器更不适合传感
振荡器:
乎所有演示过的对FPGA泄漏信息的远程攻击都使用振荡器。在[LMG+20]中,据报道,FPGA上的环形振荡器可以在6GHz下运行,这允许高精度地测量电源电压波动,并且基于ROM的传感器已用于远程电源侧信道攻击[SGMT18,ZS18];串扰攻击[GRS19、RGE19、RPD+18];和热隐蔽通道[TS19,Sze20]。
注意:振荡器是自由运行的,不依赖于外部时钟。基本环形振荡器在A WS实例上被禁止,DRC检测。

错误注入攻击

DoS攻击是本文研究的核心问题。鉴于没有一家主要的云供应商在其云基础设施中提供多租户FPGA共享[Ama19b、Ali19、Hua19、Bai19、Ten19、Nim19、Mic19、OVH19],拒绝服务攻击正在对大多数成熟的云FPGA供应商构成严重和直接的威胁。
多租户共享的基础设施组件。例如,过多的热量产生可能会影响相邻实例,或者电源轨通常是共享的,使得来自一个FPGA实例的电压降可能会影响另一个实例。最后,过度消耗电力可能会损坏设备。

对策

系统可以被设计为对故障注入攻击具有鲁棒性(例如,通过引入额外的定时延迟和随机化时钟)
另一种策略是监视系统以检测恶意行为

云FPGA上的拒绝服务攻击

在这里插入图片描述

攻击模型

CSP (here A WS)
a cloud service user or an IP core provider in the A WS marketplace
the attacker is using other users to run the attack. (比特币挖矿加速器提供嵌入式强力锤击木马)

AWS FPGA安全架构

All designs have to pass the DRCs
Fence 1 – Design Inspection
Fence 2 – Bitstream Generation 我们无法用短路攻击云FPGA(因为这需要比特流操作)
Fence 3 – FPGA API 安全围栏3防止攻击者直接访问配置位流(AFI)和配置端口
Fence 4 – FPGA Monitoring ①电源监控 ②第二种安全机制允许减慢用户设计 ③AWS使用内置于FPGA中的故障保护机制来保护设备免受过热

AWS EC2 F1强力锤击攻击例子

芯片功耗包括静态功耗和动态功耗。在良性设计中,动态功率可占总功耗的20%-70%[SGDK92]。

动态功耗取决于开关活动,该活动由活动因子α表示,该因子表示信号在一个时钟周期内切换的频率。

由于α依赖于数据,因此通常使用估计来模拟这种效应。E、 g.,Xilinx的功率估计器默认将α设置为12.5%[Xil19d]。然而,恶意电路可以更快地切换100倍[LMG+20]

我们将恶意设计分为两组:1)使用组合循环的设计和2)产生glitches的设计。

绕过fence4 FPGA的监视

我们的实验证实,1)可以绕过clock gating,2)超过134W可以连接丢失SSH。

AWS EC2 F1上的FPGA指纹

本文贡献: 可部署在AWSF1的例子 无法使用组合反馈回路
耶鲁大学的一个小组使用DRAM衰变来指纹AWS F1实例[TXG+20]。这种方法利用了这样一个事实,即每个FPGA芯片都可以访问四个专用DRAM模块。而我们并没有使用这种方法的原因。
本文 我们实现了基于振荡器的PUF用于指纹识别,使用透明锁存器实现了60个RO。

AWS上的DoS–部署和攻击

在这里插入图片描述
在这里插入图片描述
五次尝试后,我们发现,在没有崩溃的情况下,i)建立一个实例,ii)对其进行指纹识别,iii)关闭它我们总是得到相同的FPGA实例。之后,我们又进行了96次实验,包括实例崩溃。如图8所示,我们观察到,在崩溃后,平均需要大约一个小时才能启动新实例,最长的等待时间长达22小时。

缓解策略

通过使用毛刺放大和高扇出网络,任何振荡器电路都可以用于具有远远超过1KW的电势的功率锤击。
因此,重要的是防止部署任何振荡器。
如果没有这一点,任何FPGA监控都会很容易被淹没,而且电源冲击的风险几乎无法控制。

每种方法有有其利弊,本文认为对可用性的攻击 设计检查 是首选方法;与此相反,硬件健壮性和监控是减轻FPGA上运行的攻击的策略。

网表/比特流扫描机

向FPGADefender提供了两项贡献:①处理大型数据中心FPGA设计的扫描仪的实现②我们提供了一个输入路径,可以直接从Xilinx供应商专有的DCP网表文件格式扫描恶意电路。
The FPGADefender Framework:
在这里插入图片描述

FPGADefender 对于FPGA数据中心

FPGADefender扫描大型设计(通常部署在数据中心FPGA上)需要一天时间才能完成
为了在大型FPGA上实现病毒扫描,开发了C++实现,重点是 实时运行。
在这里插入图片描述
表4中的C++和Python实现的比较显示了扫描速度的差异,我们的重新实现将扫描速度从一天多减少到几分钟。

讨论

们在本文中的主要贡献是以更系统的方式探索A WS FPGA安全生态系统。
为了使CSP能够保护其设备,我们开发了一个DRC收据,该收据使用供应商DRC和静态时序分析来在围栏2中执行更稳健的设计检查。
我们的发现并不局限于AWS或特定的FPGA供应商,本文中提出的攻击将在其他供应商的FPGA上非常类似

结论

本文首先介绍了第一个演示的DoS攻击部署在AWS F1 FPGA云实例上的。
通过PUF使用FPGA指纹,我们发现崩溃的实例通常至少在一个小时内不可用,这强烈表明我们的攻击成功,
最重要的是,我们已经提出了扫描机制,该机制可以减轻本文中提出的所有攻击,并且可以无缝嵌入到A WS FPGA实例的A WS安全基础结构中。这包括一个FPGA病毒扫描器和一个新的设计规则检查收据,该扫描仪可以区分用户加速器和恶意设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

@Validated+循环依赖报错

目录 测试demo 回顾下三级缓存 循环依赖bean实例化初始化过程​​​​​​​ 源码解读 实例化myZmTest1 myZmTest1依赖myZmTest2,实例化2去注入 myZmTest2依赖myZmTest1,获取myZmTest1去注入 获取到myZmTest1,继续myZmTest2初始化 m…

TCP协议的三次握手与四次挥手(附带常见面试题)

目录 一.TCP/UDP的区别 二.三次握手 三.四次挥手 四.常见面试题 一.TCP/UDP的区别 TCP:TCP协议是面向连接,连接稳定可靠适用于网络连接连接较高的场景,可以准确无误的把数据传递给对方,但传输速度上可能会存在一定的延迟。TCP…

Leetcode.32 最长有效括号

题目链接 Leetcode.32 最长有效括号 题目描述 给你一个只包含 (和 )的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s “(()” 输出:2 解释:最长有效括号子串是 “()”…

【报表设计器ActiveReportsJS(二)】第一个 ActiveReportsJS 报表设计器项目,本地化

上一篇:【Vue集成在线报表设计器ActiveReportsJS(一)】前言,ActiveReportsJS介绍, 在 Vue 框架中集成纯前端报表设计器 本篇将介绍如何使用ActiveReportsJS创建第一个web前端报表设计器 1. 创建 Vue应用 创建 Vue …

GNN笔记系列 5

GNN笔记系列 51.Permutation Equivariance of Graph Filters2.Lipschitz and Integral Lipschitz Filters3.Stability of Graph Filters to Scaling4.Stability of Graph Neural Networks to Scaling1.Permutation Equivariance of Graph Filters 图滤波器的置换等价性 引入置…

【ROS】—— ROS常用组件_TF坐标变换_静态坐标变换与动态坐标变换(十)

文章目录前言1. 坐标msg消息1.1 geometry_msgs/TransformStamped1.2 geometry_msgs/PointStamped2. 静态坐标变换2.1 C实现2.1.1 发布方2.1.2 订阅方2.2 python实现2.2.1 发布方2.2.2 订阅方2.3 补充3. 动态坐标变换3.1 C实现3.1.1 发布方3.1.2 订阅方3.2 python实现3.2.1 发布…

Gin框架快速入门实战

gin 框架快速入门 工具 测试工具: 浏览器拓展 postwomanapipost gin路由,gin 程序的热加载 gin官网文档: https://gin-gonic.com/zh-cn/docs/ fresh安装 : go get github.com/pilu/fresh package mainimport ("github…

Revit标注时尺寸界线的设置及标注避让调整功能

一、Revit标注时尺寸界线的设置 利用墙体一次性标注轴网尺寸时常遇到如图1所示尺寸边界线上翻的情况,需要手动将其逐一调整,十分繁琐,有没有更为快速地解决方法呢? 此问题可以通过为这些尺寸界线反向显示的尺寸标注单独设置一个新…

CHK文件丢失怎么办?chk文件恢复技巧就看这一个!

很多人不知道CHK文件是什么,其实它是一种后缀名为CHK格式的文件,也属于日常生活中比较常见的文件格式。通常,当用户使用“磁盘碎片整理”时,电脑系统会生成一串“群集”文件,这些文件主要用于保存计算机删除的文件的一…

【中等】最长回文子串-C语言实现

题目链接:https://leetcode.cn/problems/longest-palindromic-substring/思路:起始位置为初始位置向右走,即第一次a为起始位置,第二次b为起始位置结束位置从末尾向左走,即第一次c为末尾,第二次b为末尾&…

BMS中常用的NTC温敏电阻及代码实现

1、什么是NTC? NTC热敏电阻是一种负温度系数的热敏电阻,它的性性是阻值随温度的升高而降低,主要作用是对温度的测量及补偿,也用于NTC温度传感器的制作,常用的使用范围在-55℃至200℃之间。 2、NTC的主要技术参数有哪些…

重发布-路由策略实验1(1.8)

目标: 1、首先为每个路由器配置环回和每个接口的ip r1: [r1]interface lo0 [r1-LoopBack0]ip add 1.1.1.1 24 [r1-LoopBack0]int gi 0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [r1-GigabitEthernet0/0/0]int gi 0/0/1 [r1-GigabitEthernet0/…

Linux--多线程(2)

目录1. 条件变量2. 生产者消费者模型2.1 概念3. 基于BlockingQueue的生产者消费者模型3.1 概念3.2 等待函数3.3 等待函数的功能3.4 唤醒函数4. 模型复盘5. 总代码1. 条件变量 当一个线程互斥地访问某个变量或者临界资源时,它可能发现在其它线程改变状态之前&#x…

物以类聚人以群分,通过GensimLda文本聚类构建人工智能个性化推荐系统(Python3.10)

众所周知,个性化推荐系统能够根据用户的兴趣、偏好等信息向用户推荐相关内容,使得用户更感兴趣,从而提升用户体验,提高用户粘度,之前我们曾经使用协同过滤算法构建过个性化推荐系统,但基于显式反馈的算法就…

【Java寒假打卡】Java基础-集合Map

【Java寒假打卡】Java基础-集合Map基本使用Map集合的基本功能Map集合的第一种遍历方式Map集合的第二种遍历方式案例:HashMap集合存储ArrayList元素并遍历案例:统计字符串中每一个字符出现的次数Collections操纵集合基本使用 创建Map集合的对象&#xff1…

金融历史数据导入之股票 level2 逐笔篇

在部署完 DolphinDB 后,将历史数据导入数据库是后续进行数据查询、计算和分析的基础。为协助用户快速导入数据,本文档基于 DolphinDB 已有的教程与大量用户的实践经验,从操作者角度出发,以 CSV 格式的文件为例,详细介绍…

通讯电平转换电路中的经典设计

今天给大家分享几个通讯电平转换电路。 有初学者问:什么是电平转换?举个例子,比如下面这个电路: 单片机的工作电压是5V,蓝牙模块的工作电压是3.3V,两者之间要进行通讯,TXD和RXD引脚就要进行连接…

Revit里轴网隐藏尺寸标注跟着消失?快速轴网距离标注

一、Revit中链接项目文件轴网的巧妙处理 问题:在单元式住宅体系中,轴网的使用主要是对尺寸标注的影响,如果要将子文件链接到父文件中,需要隐藏轴网,这样与轴网关联的尺寸标注就会消失。 关于尺寸标注与轴网隐藏方式的关…

Java IO流(基础详解,快速上手!)

文章目录概述什么是IO流?常用的文件操作获取文件操作目录操作IO流的原理和分类概述 在Java的学习中,文件和IO流是一个十分重要的板块。在Java中,File是文件和目录路径名的抽象表示。文件和目录可以通过File封装成对象。对File而言&#xff0…

前端 base64与图片相互转换

base64转图片 如下图&#xff1a;&#xff08;后端返回的数据&#xff09; <img :src"baseImg" >let baseImg "" this.baseImg "data:image/png;base64," data?.flowCharbase64转换图片文件 base64ImgtoFile (dataurl, filename …