Voltage Drop-based Fault Attacks on FPGAs using Valid Bitstreams论文笔记

news2025/1/16 5:55:45

V oltage Drop-based Fault Attacks on FPGAs using Valid Bitstreams论文笔记

  • 摘要
  • 前言
    • 电路设计和实验装置
      • III-A节中解释电压波动传感器在FPGA中的实现。
      • 第III-B节中解释如何通过RO产生电压降。
      • 第III-C节中详细介绍了基于电压紧急情况的攻击原理及其实验设置。
  • 结果和讨论
    • A崩溃所需条件
    • B攻击分析
    • C讨论
  • ==结论==

摘要

背景+现有存在问题由于FPGA在许多关键应用领域的广泛应用,其安全性备受关注。
在最近的系统中,例如云端FPGA或Systemson芯片(SoC),用户甚至可以远程访问可重新配置的结构以实现定制加速器。这种访问可以通过恶意使用FPGA结构在整个系统中暴露新的安全漏洞。在过去,对电源级别的攻击需要本地访问硬件。
**现有存在问题+我们的工作(创新点):**在本文中,我们揭示了FPGA中的一个安全漏洞,该漏洞允许有效配置产生严重的电压波动,从而在几微秒内使FPGA崩溃。由于此漏洞可能导致使用基于FPGA的加速器的系统受到严重的安全攻击,我们还分析了其潜在机制,并讨论了缓解的可能性。

前言

  • 先讲解了FPGA应用背景,举例证实FPGA的应用越来越广泛
  • 然后讲述了这些应用趋势也产生了新的安全问题,阐述了以前的安全问题(引用)新的安全问题是如何产生的
  • 我们的工作(创新点:本文揭示了FPGA在电气级别上的此类安全漏洞),然后详细阐述了 该漏洞所需要的条件,实验结果,对比传统漏洞更恶意在哪。最后总结重点本文的重点是全面分析该漏洞及其总体影响。我们分析了系统崩溃的确切条件,以及系统如何再现。此外,我们还为可能缓解这一漏洞提供了初步分析和指导。

电路设计和实验装置

III-A节中解释电压波动传感器在FPGA中的实现。

在这里插入图片描述
用于V电压波动分析的延迟传感器,该传感器的概念。它显示了一条延迟线,简化为一条缓冲链。在这些缓冲器之间,连接了锁存器,这些锁存器使用相同的时钟信号启用。

第III-B节中解释如何通过RO产生电压降。

当需要自发的高电流时,可以故意引起电压降。使用具有适当定时的高开关活动来导致PDN上的过大电流和由此产生的负载。

第III-C节中详细介绍了基于电压紧急情况的攻击原理及其实验设置。

我们启用和禁用RO以快速连续地产生压降脉冲,这意味着它们在一定时间内振荡,在另一时间内被停用,我们称之为RO切换频率fRO−t。
下文描述基于固定数量的RO。
在测试fRO−t的不同频率时,需要考虑到最坏的临界情况需要一段时间才能形成。当在ML605板上简单启用RO时,从路径延迟增加开始到达到最低点并再次开始恢复,大约需要10−20µs,如图2所示。这意味着,我们应该保持RO振荡,直到它们引起足够高的电压降,并在电压开始恢复之前重新启动。因此,减少fRO−t将更有效地使FPGA崩溃,直到恢复范围(<25−50 kHz)。

结果和讨论

在下面的小节中,我们将暴露前面提到的漏洞,这些漏洞可用于这些设备中的DoS。我们将首先在第IV-A节中分析崩溃所需的条件,然后在第IV-B节中解释根本原因。在第IV-C节中,我们将展示使用基于延迟线的传感器检测电压降是否足够快,以防止其发生,并讨论停止导致崩溃的活动的不同可能性

A崩溃所需条件

在这里插入图片描述

B攻击分析

对于定时故障或SRAM状态保持损失,电压紧急情况所需的时间Tt和幅度Vdrop是不同的,在这种情况下,当以正确的频率施加压力时,配电网络可能会有弱点。
主要是对实验现象的一种描述
总之,崩溃的永久性取决于稳压器崩溃或出于安全原因关闭。这种情况反过来又直接由PDN中的谐振引起,或者由FPGA的逻辑和配置存储器中的其他问题引起。更多细节将在未来的工作中进行分析。

C讨论

故意导致DoS的电压紧急情况的性质,如果能在过度的开关活动升级为整个芯片的电压紧急情况之前,检测并禁用过度开关活动,这样的威胁可能会减少。
在另一个实验中,我们展示了在检测到低于“30”的传感器值后,当禁用所有RO时,电压恢复的速度有多快。通过这种方式,我们可以估计传感器的延迟以及电压降的衰减速度。
未来:
为了防止恶意比特流加载,可以在软件中对其进行健全性检查,其挑战是保持合法比特流正常工作,但不会为恶意比特流留下漏洞。最近的FPGA工具已经用作默认约束的一个选项是在比特流生成过程中检查组合循环,用户可以禁用该循环。因此,检查需要在用户或应用程序开发人员无法访问的特权系统软件级别进行。

对于所有这些可能性,需要进行新的实验。

为了能够足够快地停用任意恶意电路,可能需要制造新的FPGA。

结论

现有研究问题:
FPGA越来越广泛地被用作用户定义的加速器,例如在云中或集成在SoC中。在这些新的使用场景中,像比特流加密这样的经典安全实施方式变得不可行,使得它们容易受到新的安全威胁。
本文主要内容:
在本文中,我们通过展示一种系统方法来崩溃两代FPGA和包含FPGA的SoC,揭示了这样一个安全漏洞,这可能导致这些系统中的拒绝服务威胁。此外,我们还讨论了如何实施适当的缓解措施以防止拒绝服务。
实验现象和机理:
这种拒绝服务是由给定位流级访问时的特定配置引起的,并且只需要测试FPGA中可用LUT资源的大约12%。此类漏洞可允许对数据中心、SoC和其他应用程序域中使用的FPGA进行攻击,在这些域中,整个系统需要重新启动,甚至完全断开电源,以便重新启动崩溃的FPGA。

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

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

相关文章

常见锁策略_CAS(Compare And Swap)_synchronized优化

目录 1.常见锁策略 1.1乐观锁vs悲观锁 1.2轻量级锁vs重量级锁 1.3自旋锁vs挂起等待锁 自旋锁 挂起等待锁 1.4互斥锁vs读写锁 1.5公平锁vs非公平锁 公平锁 非公平锁 1.6可重入锁vs不可重入锁 1.7使用锁策略描述synchronized 2.CAS(Compare And Swap) 2.1CAS应用场…

Python(15):Numpy之array结构

目录 0. 相关文章链接 1. ndarray概述 2. ndarray基本属性操作 3. 索引和切片 4. 矩阵格式 5. 数组的赋值和拷贝 6. bool类型数组和大小判断 7. 不同类型的数组 8. 数组的相乘和转换 0. 相关文章链接 Python文章汇总 1. ndarray概述 对于ndarray结构来说&#xff0…

SpringCloud笔记 - Day2 Nacos Feign Gateway

1. Nacos配置管理 配置的热更新 DataID 命名格式&#xff1a; 实例名-环境名.后缀名(yaml) 尽量用 yaml&#xff0c;不用 yml 2. Nacos配置管理 - 微服务配置拉取 把所有nacos地址和配置信息都放在 bootstrap.yml 引入 Nacos配置管理依赖 <dependency><groupId&g…

java 探花交友项目实战篇1Dubbo 提供者消费者 dubbo高级特性 启动检查 多版本 超时与重试 负载均衡

Dubbo的前世今生 SOA架构 Dubbo介绍 Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。 致力于提供高性能和透明化的 RPC 远程服务调用方案&#xff0c;以及 SOA 服务治理方案。 官网&#xff1a;http://dubbo.apache.org 目前Dubbo在企业中有两种开发思路 fe…

2023年零基础想学大数据?别急!先搞清这一点

◆ 首先学会百度与Google 不论遇到什么问题&#xff0c;先试试搜索并自己解决。 Google首选&#xff0c;翻不过去的&#xff0c;就用百度吧。 大数据知识点&#xff1a; ​ 编辑切换为居中 从传统关系型数据库入手&#xff0c;掌握数据迁移工具、BI数据可视化工具、SQL&am…

浅谈归并排序与快速排序

目录一、归并排序&#xff08;Merge Sort&#xff09;1.1 二路归并1.2 归并排序算法1.3 应用&#xff1a;计算逆序对的数量二、快速排序&#xff08;Quick Sort&#xff09;2.1 快速排序算法2.2 应用&#xff1a;快速选择三、模板汇总References一、归并排序&#xff08;Merge …

无聊猿游戏Dookey Dash分析

Dookey Dash是无聊猿项目方Yuga Labs近期即将推出的一款区块链游戏产品&#xff0c;无聊猿作为NFT的头部项目&#xff0c;自然也获得不少玩家的关注&#xff0c;以此赋能NFT&#xff0c;同时也被无聊猿持有者寄予厚望。游戏背景与规则Yuga Labs在游戏网站上使用了一则视频来为玩…

[CVPR 2022] Rethinking the Augmentation Module in Contrastive Learning

ContentsIntroductionMethodLearn Hierarchical Augmentation InvarianceFeature expansion with augmentation embeddingsExperimentsReferencesIntroduction 在对比学习中&#xff0c;数据增强是非常重要的&#xff0c;对比学习的本质就是通过让模型对数据增强具有不变性来使…

给国行Sony9500H更换美区950H主板

折腾理由 家中小朋友因为疫情&#xff0c;经常需要投屏上网课&#xff0c;感觉在pad上面看&#xff0c;画面太小距离太近&#xff0c;并且已经近视&#xff0c;想着投屏到电视上&#xff0c;稍微改善一下用眼环境。软件投屏用着不爽&#xff0c;国产投屏软件有广告&#xff0c…

故障排查:Java Web程序未通过Acunetix的漏洞检查

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录故障详情问题原因注意事项两次失败的尝试relaxedPathChars & relax…

技术博客|第17期:广告程序化交易(一)- 生态系统

在《Hulu/Disney Streaming流媒体广告平台中的核心技术&#xff08;上&#xff09;》广告流程章节中&#xff0c;我们提到了Disney的主要流量是通过每年定期举行的Upfront大会来进行售卖。Upfront会占据我们大部分的流量。除了Upfront售卖的方式以外&#xff0c;剩余的流量在Di…

解析数字员工,为何其已成为企业优势选择

数字化转型浪潮来袭&#xff0c;“数字员工”市场加速升温&#xff0c;各行各业都开始探索数字员工的应用场景。到底什么是数字员工&#xff0c;他们又有哪些优势而备受企业青睐&#xff1f;“抛头露面”与“幕后英雄”数字员工是一种形象化的称呼&#xff0c;所谓“数字员工”…

AOSP安卓源码下载

Android源码下载 在国内想下载Android要么科学上网&#xff0c;要么使用国内搭建的镜像&#xff0c;有清华镜像&#xff0c;中科大的镜像网站。这里使用清华镜像网站镜像Android源码的下载清华镜像网站地址&#xff0c;为啥我要写这篇笔记嘞&#xff0c;虽然网上有很多这方便的…

理发之前先用 AI 替你尝试新发型 #hairstyleai

让 Tony 老师傻眼的 AI 发型效果神器上线&#xff01;&#x1f487;hairstyleai 依靠人工智能的力量尝试新发型&#xff01; hairstyleai 是一个在线人工智能网站&#xff0c;可以根据你的照片&#xff0c;使用强大的人工智能技术生成不同的发型&#xff0c;看看到底哪种最适合…

Layer Normalization

1、原理 Layer Normalization是针对自然语言处理领域提出的&#xff0c;例如像RNN循环神经网络。在RNN这类时序网络中&#xff0c;时序的长度并不是一个定值&#xff08;网络深度不一定相同&#xff09;&#xff0c;比如每句话的长短都不一定相同&#xff0c;所有很难去使用BN…

Gradle学习笔记之build.gradle文件

文章目录简介常见属性代码仓库subprojects和allprojectsext自定义属性buildscript简介 build.gradle是gradle构建脚本文件&#xff0c;支持java、groovy等语言。 每个gradle项目或模块都会有一个build.gradle文件&#xff0c;该文件是项目构建的入口&#xff0c;可配置版本、…

【RabbitMQ二】——RabbitMQ入门教程(简单模式)

RabbitMQ入门教程&#xff08;简单模式&#xff09;前言RabbitMQ相关术语RabbitMQ简单模式示例总结如果博主的文章对您有所帮助&#xff0c;可以评论、点赞、收藏&#xff0c;支持一下博主!!!前言 本篇博客主要是实现RabbitMQ最简单的模式&#xff0c;一个生产者&#xff0c;一…

【指针笔试题上】你知道大厂面试题的指针题是什么样的吗?快来通过这些面试题目检测一下自己吧!

目录 前言&#xff1a; 一.strlen和sizeof的区别 二.一维数组笔试题解析 三.二维数组笔试题解析 四.总结&#xff1a; 博客主页&#xff1a;张栩睿的博客主页 欢迎关注&#xff1a;点赞收藏留言 系列专栏&#xff1a;c语言学习 家人们写博客真的很花时间的&#xff0c;你们…

【自学Docker】一文解决Docker安装

Docker Centos安装 Docker版本 Docker 从 1.13 版本之后采用时间线的方式作为版本号&#xff0c;分为社区版CE和企业版EE。 Docker社区版是免费提供给个人开发者和小型团体使用的&#xff0c;企业版会提供额外的收费服务&#xff0c;比如经过官方测试认证过的基础设施、容器…

1.1 java 基础语法

目录 一、Java 基础语法 &#xff08;1&#xff09;对象&#xff1a; &#xff08;2&#xff09;类&#xff1a; &#xff08;3&#xff09;方法&#xff1a; &#xff08;4&#xff09;实例变量&#xff1a; 二、如何运行java程序&#xff08;前提是java的环境已经创建完…