ATF(TF-A) EL3 SPMC威胁模型-安全检测与评估
安全之安全(security²)博客目录导读
ATF(TF-A) 威胁模型汇总
目录
一、简介
二、评估目标
1、数据流图
三、威胁分析
1、信任边界
2、资产
3、威胁代理
4、威胁类型
5、威胁评估
5.1 端点在直接请求/响应调用中模拟发送方FF-A ID
5.2 端点在直接请求/响应调用中模拟接收方FF-A ID
5.3 篡改端点和SPMC之间共享的内存
5.4 端点可以篡改自己的状态或另一个端点的状态
5.5 重放端点之间过去通信的片段
5.6 恶意端点可能试图通过使用无效或不正确的输入参数来提取数据或状态信息
5.7 恶意端点可能伪造直接消息请求,从而通过直接消息响应揭示另一个端点的内部状态
5.8 探测端点之间的FF-A通信
5.9 恶意代理可能会尝试使用基于软件的cache侧信道攻击技术来泄露SPMC状态或秘钥
5.10 恶意端点可能会尝试向SPMC发送针对端点内某个服务的请求,从而拒绝另一个端点访问该服务
5.11 如果借用方端点遇到致命异常,则拒绝出借方端点进行进一步处理。如果接收方遇到致命异常,则拒绝新的发送方端点进行进一步处理
5.12 恶意端点可能会尝试赠予、共享、出借、放弃或回收未经授权的内存区域
一、简介
本文档提供了TF-A EL3 Secure Partition Manager(EL3 SPM)实现的威胁模型。EL3 SPM的实现是基于Arm A-profile规范的Arm固件框架。
二、评估目标
在这个威胁模型中,评估的目标是EL3固件中的Secure Partition Manager核心组件(SPMC)。EL3的monitor和SPMD由通用TF-A威胁模型涵盖。
这个威胁模型的范围是:
1)EL3 SPMC的TF-A实现
2)该实现符合FF-A v1.1规范。
3)安全分区是在引导时静态配置的。
4)关注生命周期的运行时部分(没有特别强调引导时间、出厂固件配置、固件更新等)。
5)不包括高级或侵入性物理攻击,如解封,FIB(聚焦离子束)等。
1、数据流图
下图显示了SPM在EL3上分为SPMD和SPMC组件的高级数据流图。SPMD主要充当非安全世界和安全世界之间的中继,它被认为暴露了很小的攻击面。
下表给出了每个元素的描述。在图中,红色虚线表示信任边界。虚线之外的组件被认为是不可信的。
元素 | 描述 |
---|---|
DF1 | SP到SPMC通信。FF-A函数调用或实现定义的Hypervisor调用。 |
DF2 | SPMC到SPMD通信。 |
DF3 | SPMD到NS转发。 |
DF4 | SPMC到LSP通信。NWd到LSP的通信是通过SPMC进行的。LSP可以通过SPMC发送直接响应SP1或NWd。 |
DF5 | 硬件控制 |
DF6 | Bootloader镜像加载 |
DF7 | 外部内存访问 |
三、威胁分析
此威胁模型遵循与通用TF-A威胁模型类似的方法。以下部分定义:
1)信任边界
2)资产
3)威胁代理
4)威胁类型
1、信任边界
1)非安全世界是不可信的。
2)安全世界和非安全世界是不同的信任边界。
3)EL3监视器、SPMD和SPMC是可信的。
4)引导加载程序(如果使用TF-A,特别是BL1/BL2)和运行时BL31通过使用可信引导被隐式信任。
5)EL3 monitor,SPMD, SPMC不信任SP(Secure Partitions)。
2、资产
确定以下资产:
1)SPMC状态。
2)SP的状态。
3)endpoints之间的信息交换(partition消息)。
4)SPMC secrets(例如启用时的指针身份验证密钥)。
5)SP secrets(例如应用程序密钥)。
6)调度周期。
7)共享内存。
3、威胁代理
确定以下威胁代理:
1)非安全端点(稍后称为NS-Endpoint):NS-EL2 (Hypervisor)或NS-EL1 (VM或OS内核)上的非安全世界客户端。
2)安全端点(以后称为S-Endpoint):通常是一个安全分区。
3)硬件攻击(非侵入性)需要对设备进行物理访问,例如总线探测或DRAM压力测试。
4、威胁类型
在通用TF-A威胁模型中暴露的以下威胁类别被重用(re-used):
1)欺骗(Spoofing)
2)篡改(Tampering)
3)抵赖(Repudiation)
4)信息泄露(Information disclosure)
5)拒绝服务(Denial of service)
6)特权提升(Elevation of privilege)
类似地,此威胁模型重用相同的威胁风险评级。风险分析是基于服务器或移动环境进行评估的。物联网不被评估,因为EL3 SPMC主要用于客户端。
5、威胁评估
通过对数据流图的每个元素应用STRIDE威胁分析,可以识别出以下威胁。
5.1 端点在直接请求/响应调用中模拟发送方FF-A ID
5.2 端点在直接请求/响应调用中模拟接收方FF-A ID
5.3 篡改端点和SPMC之间共享的内存
5.4 端点可以篡改自己的状态或另一个端点的状态
5.5 重放端点之间过去通信的片段
5.6 恶意端点可能试图通过使用无效或不正确的输入参数来提取数据或状态信息
5.7 恶意端点可能伪造直接消息请求,从而通过直接消息响应揭示另一个端点的内部状态
5.8 探测端点之间的FF-A通信
5.9 恶意代理可能会尝试使用基于软件的cache侧信道攻击技术来泄露SPMC状态或秘钥
5.10 恶意端点可能会尝试向SPMC发送针对端点内某个服务的请求,从而拒绝另一个端点访问该服务
5.11 如果借用方端点遇到致命异常,则拒绝出借方端点进行进一步处理。如果接收方遇到致命异常,则拒绝新的发送方端点进行进一步处理
5.12 恶意端点可能会尝试赠予、共享、出借、放弃或回收未经授权的内存区域
参考:11.3. EL3 SPMC Threat Model — Trusted Firmware-A 2.9.0 documentation
相关文章:
ATF(TF-A) EL3 SPMC威胁模型-安全检测与评估
安全之安全(security)博客目录导读 ATF(TF-A) 威胁模型汇总 目录 一、简介 二、评估目标 1、数据流图 三、威胁分析 1、信任边界 2、资产 3、威胁代理 4、威胁类型 5、威胁评估 5.1 端点在直接请求/响应调用中模拟发送方FF-A ID 5.2 端点在直接请求/响应调用中模拟…...
AI绘画Stable Diffusion原理之扩散模型DDPM
前言 传送门: stable diffusion:Git|论文 stable-diffusion-webui:Git Google Colab Notebook部署stable-diffusion-webui:Git kaggle Notebook部署stable-diffusion-webui:Git AI绘画,输入一段…...
NSS [西湖论剑 2022]real_ez_node
NSS [西湖论剑 2022]real_ez_node 考点:ejs原型链污染、NodeJS 中 Unicode 字符损坏导致的 HTTP 拆分攻击。 开题。 附件start.sh。flag位置在根目录下/flag.txt app.js(这个没多大用) var createError require(http-errors); var express require(express); v…...
MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、字符…...
GaussDB(DWS)云原生数仓技术解析:湖仓一体,体验与大数据互联互通
文章目录 前言一、关于数据仓库需求场景分类二、数据仓库线下部署场景2.1、线下部署场景介绍及优劣势说明2.2、线下部署场景对应的客户需求 三、数据仓库公有云部署场景3.1、公有云部署场景介绍及优劣势说明3.2、公有云部署场景对应的客户需求 四、为何重视数据共享(…...
Navicat历史版本下载及地址组成分析
下载地址组成 https://download3.navicat.com/download/navicat161_premium_cs_x64.exe 地址逻辑:前缀 版本 类型 语言 位数 前缀: http://download.navicat.com/download/navicat版本: 三位数,前两位是大版本,后一位是小版本ÿ…...
avue之动态切换表格样式问题
动态切换 a\b 两个表格 ,a表格高度变成b的高度等问题, 解决方案:...
彻底解决ruoyi分页后总数错误的问题
问题描述 最近时不时的发现用户列表出来的数据只有24条,但是总记录数却有58条,很奇怪。各种百度查询,都是什么修改查询分页改代码,尝试后发现还是没有效果,经过各种验证发现就是SQL语句错误。 如果非要说是SQL语句没…...
SpringMVC学习笔记——1
SpringMVC学习笔记——1 一、SpringMVC简介1.1、SpringMVC概述1.2、SpringMVC快速入门1.3、Controller中访问容器中的Bean1.4、SpringMVC关键组件的浅析 二、SpringMVC的请求处理2.1、请求映射路径配置2.2、请求数据的接收2.2.1、键值对方式接收数据2.2.2、封装JavaBean数据2.2…...
20230908_python练习_selenium模块爬取网页小说练习
霍比特人小说爬取,使用 selenium 模块调用谷歌浏览器,无界面模式爬取小说网站信息,将数据按照每次2000字符在mysql中保存。 # https://www.shukuai9.com/b/324694/ # 导入需要的库 from selenium import webdriver # 导入Keys模块ÿ…...
Python:安装Flask web框架hello world示例
安装easy_install pip install distribute 安装pip easy_install pip 安装 virtualenv pip install virtualenv 激活Flask pip install Flask 创建web页面demo.py from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello World! 2023if _…...
深度解析NLP文本摘要技术:定义、应用与PyTorch实战
目录 1. 概述1.1 什么是文本摘要?1.2 为什么需要文本摘要? 2. 发展历程2.1 早期技术2.2 统计方法的崛起2.3 深度学习的应用2.4 文本摘要的演变趋势 3. 主要任务3.1 单文档摘要3.2 多文档摘要3.3 信息性摘要 vs. 背景摘要3.4 实时摘要 4. 主要类型4.1 抽取…...
zabbix监控多实例redis
Zabbix监控多实例Redis 软件名称软件版本Zabbix Server6.0.17Zabbix Agent5.4.1Redis6.2.10 Zabbix客户端配置 编辑自动发现脚本 vim /usr/local/zabbix/scripts/redis_discovery.sh #!/bin/bash #Fucation:redis low-level discovery #Script_name redis_discovery.sh red…...
win11将visual studio 2022的调试控制台改为windows terminal
一、前言 默认的调试控制台太丑了,字体也没有好看的,还是更喜欢windows terminal 二、修改 2.1 修改之前 2.2 修改步骤 打开windows terminal点这个向下的标志 选择settings按照下图1, 2, 3步骤依次操作即可 2.3 修改之后 总结 漂亮很多了...
社区问答精选——长安链开发知多少?(8月)
本文是根据社群内开发者较为关注的问题进行整理,希望可以帮助开发者解决所遇到的问题。有更多问答在社区issue中描述更为细致,开发者提问前可以先按照关键词进行搜索。欢迎各位开发者按照问答template提交issue,也欢迎有意愿的开发者参与到社…...
神经网络-Unet网络
文章目录 前言1.seq2seq 编码后解码2. 网络结构3.特征融合4. 前言 Unet用来做小目标语义分割。 优点:网络结构非常简单。 大纲目录 2016年特别火,在细胞领域做分割特别好。 1.seq2seq 编码后解码 2. 网络结构 几个卷积层,越来越扁&#x…...
Java | 多线程综合练习
不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始,不如现在行动! 文章目录 🌴前言🌴一、卖电影票1.题目2.分析3.代码 🌴二、送礼物1. 题目2. 分析3.代码 🌴三.打印奇数1. 题目2.…...
Kotlin变量与控制条件的基本用法
一、变量与控制条件 1、var与val var:可修改变量 val:只读变量,只读变量并非绝对只读。 编译时常量只能在函数之外定义,因为函数内常量是在运行时赋值,编译时常量要在变量赋值前存在。并且值是无法修改的。 const…...
第18章_瑞萨MCU零基础入门系列教程之GPT
本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…...
openssl websockets
1. HTTPS通信的C实现 - 知乎 GitHub - Bwar/Nebula: Nebula is a powerful framwork for building highly concurrent, distributed, and resilient message-driven applications for C....
Vue 组件的单元测试
1、基本的示例 单元测试是软件开发非常基础的一部分。单元测试会封闭执行最小化单元的代码,使得添加新功能和追踪问题更容易。Vue 的单文件组件使得为组件撰写隔离的单元测试这件事更加直接。它会让你更有信心地开发新特性而不破坏现有的实现,并帮助其他…...
海底两万里的思维导图,轻松了解整体的内容
《海底两万里》是一部经典的科幻小说。小说以其丰富的想象力和对海底世界的描绘而闻名于世。今天我们就用思维导图的分支介绍这个作品到底讲了什么。(思维导图示例:迅捷画板) 《海底两万里》是“凡尔纳三部曲”中的第二部(其它两部…...
ZABBIX 6.4官方安装文档
一、官网地址 Zabbix:企业级开源监控解决方案 二、下载 1.选择您Zabbix服务器的平台 2. Install and configure Zabbix for your platform a. Install Zabbix repository # rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8…...
本地MQTT服务器搭建(EMQX)
一、下载EMQX 下载地址:EMQ (emqx.com) 打开官网后,选择右边的免费试用按钮 然后单击EMQX Enterprise标签,然后选择下面的EMQX开源版,选择开源版的系统平台为Windows,单击免费下载。 在新页面下单击立即下载 二、安装…...
Docker启动pandora并指定ACCESS TOKEN
把chatGPT_ACCESS_TOKEN改成你的ACCESS_TOKEN 《chatGPT ACCESS TOKEN获取地址(需要魔法)》 docker run -d -m 512m -p 88:88 --privilegedtrue -e PANDORA_SERVER0.0.0.0:88 -e PANDORA_ACCESS_TOKENchatGPT_ACCESS_TOKEN --name pandora pengzhile/pa…...
Python + Jmeter 实现自动化性能压测
Step01: Python脚本开发 文件路径:D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2.代码里面将…...
【Linux进行时】进程状态
进程状态: ❓假设我们在上课,在B站上上课,请问我们的B站是不是一直运行呢?💡不是的! ❓假设我们同时打开了B站和PDF阅读器时,是怎么运行的呢? 💡每一个进程在CPU跑一会&a…...
HarmonyOS开发环境搭建
一 鸿蒙简介: 1.1 HarmonyOS是华为自研的一款分布式操作系统,兼容Android,但又区别Android,不仅仅定位于手机系统。更侧重于万物物联和智能终端,目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS,…...
友思特新闻|友思特与IDS深化战略合作伙伴关系
尊敬的客户和合作伙伴, 我们非常高兴地宣布,友思特已经与国际领先的机器视觉解决方案提供商 IDS 深化了我们的合作关系。 作为 IDS 的长期合作伙伴,友思特一直致力于为国内客户提供最先进的机器视觉技术和解决方案。 自从友思特与 IDS 合作…...
ARM Linux DIY(十三)Qt5 移植
前言 板子带有屏幕,那当然要设计一下 GUI,对 Qt5 比较熟悉,那就移植它吧。 移植 Qt5 buildroot 使能 Qt5,这里我们只开启核心功能 gui module --> widgets module 编译 $ make ODIY_V3S/ qt5base编译报错:找不…...
邢台视频优化/重庆网站优化
http://semantic-ui.com/introduction/getting-started.html...
网站的构建一般要多久/seo优化服务商
目录 一、CNN发展历程 1.1998 LeNet:开山之作 2.2012 Alexnet:王者归来 3.2013 ZF-Net 4.2014 GoogleNet,VGG 4.1 GoogleNet 4.2 VGG 5.2015 ResNet:里程碑式创新 6.2016 GBD-Net、ResNeXt、DenseNet 6.1 GBD-Net 6.2…...
wordpress设置网站主题/百度发广告怎么发
基于自适应阈值图像分割 1. 前言 在图像在不同区域具有不同照明条件的情况下,使用全局阈值可能不是一个好的选择。 因此,在那种情况下,我们可能要使用自适应阈值。 它使用计算图像小区域阈值的算法,以便我们可以为同一图像的不同区域获得不同的阈值,并且对于光照条件不同…...
做网站和做网页一样吗/网站设计方案
2019独角兽企业重金招聘Python工程师标准>>> #!/bin/sh #该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用。 # #Author: tudaxia.com, Date: 2011/6/7 # #警告!!!:…...
企业网站做百度小程序/徐州seo推广
$geoWithin查询形状的表示1、$box:矩形,使用{$box:[[<x1>,<y1>],[<x2>,<y2>]]}表示都是坐标,第一个坐标表示矩形的左边界,第二个坐标表示矩形的右边界 2、$center:圆形,使用{$center:[[<x1…...
the7企业中 英文wordpress模板/前端seo主要优化哪些
Pod调度 在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某…...