TrustZone_
一个搞技术的读书人,妄图分享最干货的技术知识与世界运转的底层逻辑。公ZH:TrustZone
展开
-
硬核!大佬通过Intel CPU的JTAG接口,DUMP微软原始Xbox的加密BootROM。
这是一篇记录如何通过Intel CPU的JTAG接口,DUMP微软原始Xbox的加密BootROM的文章,内容也记录了老哥如何设计实现JTAG调试器的过程,非常硬核!2001年11月发布的初代Xbox是微软首次涉足游戏主机行业的产品。其硬件与21世纪初便宜但多功能的个人电脑十分相似,因此立即引起了技术爱好者的关注,他们试图在这款设备上运行“自制”代码和替代操作系统。在其生命周期内,Xbox遭受了广泛的硬件和软件攻击,被单方面破解。原创 2024-06-30 14:53:41 · 213 阅读 · 0 评论 -
硬的不行来软的,我还破解不了你?看老哥如何Dump 你的 BootRom。
蛮多朋友说这要是采用多层堆叠,你还能这么原始的操作?自然不行,而且这也是一篇考古的文章。但是!!!今天带来的这篇,老哥从软件采用了非侵入式的方式,实现了破解。从EL2 层层逆向最终获取到BL31的特权,再利用漏洞,最后Dum出了AMLogic A113X SoC的BootRom。之前在写安全相关的文章的时候,就曾和大家交流过,EL31作为高级特权,一旦被破解接管,会带来很大的安全风险。话不多说,开始享用吧!原创 2024-06-30 10:27:19 · 334 阅读 · 0 评论 -
【学习资料】2000+本书:芯片、驱动、系统、应用、程序、人生、理财等
GPU、CUDA并行程序设计相关电子书 pdf资料原创 2024-01-21 18:34:58 · 1099 阅读 · 1 评论 -
ARM:Base Boot Security Requirements 1.2
密码身份验证:为了确保只有授权的用户可以访问和启动基于ARM的产品,Base Boot Security Requirements 1.2强烈要求产品实现密码身份验证机制。除了以上详细描述的方面,Base Boot Security Requirements 1.2还包括其他一些要求和最佳实践,例如使用最新的安全标准和协议、定期进行安全漏洞评估和修复、实施严格的数据备份和恢复策略等。这些要求旨在确保基于ARM的产品具有足够的安全性和稳定性,以保护用户的数据和系统的完整性。非常抱歉我的回答没有满足您的期望。原创 2023-09-02 20:27:53 · 232 阅读 · 0 评论 -
从硬件架构与软件架构看TrustZone-V2.0
在介绍TrustZone前有必要简单回顾下目前的一些安全手段。CPU通过内存映射手段给每个进程营造一个单独的地址空间来隔离多个进程的代 码和数据,通过内核空间和用户空间不同的特权级来隔离操作系统和用户进程的代码和数据。但由于内存中的代码和数据都是明文,容易被同处于内存中的其它应用偷窥,因此出现了扩展的安全模块,应用将加密数据送往安全模块,由安全模块处理完后再返回结果给相应的应用。很多消费电子设备都使用扩展的安全模块来确保数据安全,目前常见的方式有:外部挂接硬件安全模块。转载 2023-09-01 23:43:43 · 505 阅读 · 0 评论 -
Cortex-M和Cortex-A的TrustZone差异
相信关注安全和嵌入式的开发者对TrustZone都不陌生,最近看到有网友在问Cortex-A和Cortex-M的TrustZone之间的差异,我们来简单介绍下。转载 2023-09-01 22:37:48 · 360 阅读 · 0 评论 -
安全引导和加密数据存储
之前我们一起学习了怎么使用OPTEE与TrustZone进行可信应用的开发,今天我们来看看另外一个重要的方面:安全引导和加密数据存储。安全引导确保只有经过身份验证的软件才能在设备上运行,并通过在执行代码之前验证软件的数字签名来实现。为了实现安全引导,需要处理器/SoC支持。根据我们的经验,一些具有现成文档的更安全的引导友好型处理器包括NXP i.MX/QorIQ Layerscape、Xilinx Zynq、Atmel SAMA5、TI Sitara和高通Snapdragon系列。原创 2023-08-24 23:29:00 · 437 阅读 · 0 评论 -
一起来看看什么是TCB!
在计算机系统的世界里,一个系统或组件被“trusted”意味着什么?为什么这很重要?在这篇文章中,我们将概述什么是可信计算基础(TCB),并为如何评估TCB的安全性提供一个框架。我们还将更深入地了解“trusted”在这种情况下的含义。尽管名称上有一些相似之处,但可信计算库(TCB)并不像可信平台模块(TPM)那样指代特定的芯片或规范。系统的可信计算基础TCB是安全体系结构中的一个术语,指的是对建立和维护特定系统的安全性至关重要的所有系统组件。具有安全属性的系统将具有TCB,原创 2023-08-24 09:58:25 · 535 阅读 · 0 评论 -
一文熟悉Trusted Firmware-M
最近有位朋友私信说相看一篇关于TFM的博客,于是今天乘着一个人的七夕节,来满足一下这位朋友,话不多说开始吧。Trusted Firmware是ARM基于自家具有TrustZone功能的处理器所实作的开源程序,其主要目的是让相关厂商可以更快速地将TrustZone构架性的整合到产品当中,此外同时也是厂商要取得ARM PSA certification认证的参考资源。原创 2023-08-22 20:18:10 · 603 阅读 · 1 评论 -
ARM TrustZone技术的学习路线
学习ARM TrustZone技术需要一系列有序的步骤,以下是一个可能的学习路线,以及相关的学习链接和资源。请注意,学习路线可以根据你的先前知识和学习速度进行调整。原创 2023-08-20 16:49:46 · 379 阅读 · 0 评论 -
一文搞定可信执行环境和Arm TrustZone
即使操作系统内核受损,也需要特殊的硬件支持来确保数据安全。在Arm上运行的设备,如智能手机,可以使用TrustZone执行硬件级别的隔离,以确保TEE的安全。Armv8-A配置文件提供可用于集成V6或更高MMU的SoC的TrustZone扩展。受TrustZone保护的代码和数据与恶意外围设备和非TrustZone代码隔离。它可用于构建功能齐全的可信执行环境(TEE),包括运行在S-EL1上的TEE操作系统、与外围设备安全交互的可信驱动程序(TD),甚至运行在S-EL0上的可信应用程序(TA)原创 2023-08-20 12:59:13 · 408 阅读 · 0 评论 -
浅析TrustZone架构
随着移动互联网时代的发展,智能手机已经融入到人们的日常生活和工作中,人们可以使用智能手机与好友实时聊天,可以使用智能手机拍摄美景,可以使用智能手机进行指纹支付,还可以使用智能手机处理工作邮件,等等。在便捷我们生活和工作的同时,智能手机不可避免地存储着包括聊天记录、照片、视频、指纹等个人数据,而这些数据或多或少涉及用户的隐私,使得用户对智能手机的隐私保护能力有一定需求。为了满足用户的隐私保护需求,千镜安全实验室推出千镜安全架构,从应用层、框架层、内核层、芯片层这四个层级对用户的隐私进行保护,。转载 2023-07-05 22:23:25 · 2456 阅读 · 0 评论 -
【转】ARM Trusted Firmware分析——TBBR、TBB、FIP-TBB
ATF中实现了COT,包括FIP生成、密码库调用、镜像签名加密/解密验签等等流程。下面主要参考ARM TBBR文档,以及《Trusted Firmware-A Documention》。转载 2023-06-23 13:18:19 · 1246 阅读 · 0 评论 -
【转】ARM Trusted Firmware分析——固件升级(FWU)
ATF中关于FWU的实现没有如下文档描述完整,尤其是BL2U、NS_BL2U镜像。可取的是FWU SMC处理、对升级包证书验签和镜像验签流程。转载 2023-06-23 12:54:17 · 1167 阅读 · 0 评论 -
【转】ARM Trusted Firmware分析——镜像签名/加密/生成、解析/解密/验签
生成fip.bin需要做如下工作工作:编译certificates相关工具cert_create,生成证书。注意证书对应未加密的镜像。如果需要加密,需要编译enctool工具encrypt_fw,用于对镜像文件进行加密,并加上加密头struct fw_enc_hdr。fiptool工具生成fip.bin,使用cert_create生成的证书,如加密使用encrypt_fw加密后的镜像,否则使用原始镜像,加上FIP的TOC和Entry等信息。转载 2023-06-23 12:26:09 · 1995 阅读 · 0 评论 -
【转】ARM Trusted Firmware分析——启动、PSCI、OP-TEE接口
(流程很详细,原文阅读还带代码跳转功能,学习的榜样,一篇好的博客,确实是要花心思的,内容和排版。这个内容其实能让学习者对于启动的主干有了一个顺畅的了解,但是在这些过程中,做了很多。有很多的东西都可以扩展展开。比如中断gic的初始化,后续希望能综合起来,从主干散开。下图划分成不同EL,分别描述BL1、BL2、BL31、BL32、BL33启动流程,以及PSCI、SP处理流程。转载 2023-06-22 23:15:47 · 1964 阅读 · 0 评论 -
ATF原生篇(二一):Components-信任链绑定
设备树允许在“cot”节点的帮助下描述信任链,该节点包含作为子节点的“清单”和“镜像”。“manifest”和“images”节点包含多个子节点(即“certificate”和“image”节点),分别提及证书和镜像的属性。此外,设备树描述了“非易失性计数器”节点,该节点包含多个子节点,这些子节点提到了信任链中使用的所有非易失计数器的属性。这是包含“清单”和“镜像”作为子节点的根节点Manifests nodeDescription: Container of certificate nodes.-原创 2023-05-18 22:48:42 · 271 阅读 · 0 评论 -
ATF原生篇(二十):Components-翻译(XLAT)表库
本文档描述了Trusted Firmware-A(TF-A)使用的翻译表库(版本2)的设计。原创 2023-05-17 22:39:54 · 388 阅读 · 0 评论 -
互斥琐在ATF中的相关使用场景
如果在“USE_COHERENT_MEM=0”时未定义此常数,则链接器计算“bakery_lock”输入部分的大小,将其与最近的“CACHE_WRITEBACK_GRANULE”对齐,将其乘以“PLATFORM_CORE_COUNT”,并将结果存储在链接器符号中。这个常量防止了平台依赖链接器,并为访问每cpu烘焙锁定信息提供了更有效的机制。如果定义了此常量,并且其值不等于链接器计算的值,则会引发链接时间断言。如果常量的值未与缓存线边界对齐,则会引发编译时断言。原创 2023-03-22 11:05:28 · 217 阅读 · 0 评论 -
芯片启动:从Bootrom到Linux完整启动流程
在我的桥的专栏,我曾经写了两篇文章,是关于Uboot怎么过度到Kernel,又怎么从Kernel过度到Android的。我觉得对于整个系统的启动流程会让你的脑子里创建一个框架意识,这个很重要。这段时间看到了一个前辈的一系列关于启动的文章,很完整,值得看。看一下这个目录会让你对整个系统启动有个认识,从下往上滑哦。划到底部,往上滑哦。原创 2023-03-12 23:28:16 · 1172 阅读 · 0 评论 -
ATF:givc3的中断路由机制
(1)若将FIQ位配置为0,且当前执行状态低于EL3时,则FIQ不会被路由到EL3,而路由到第一个可以处理该中断的异常等级FEL(2)若将FIQ配置为1,则运行于任何执行状态时,FIQ都会被路由到EL3而irq的配置方式与fiq类似。原创 2023-03-12 18:24:13 · 698 阅读 · 0 评论 -
ATF:givc3的中断处理流程
中断处理,GICv3根据确定中断是以IRQ还是FIQ触发。。若中断被路由到EL3,根据异常发生时系统所处的异常等级,使用的栈指针是SP_EL0还是SP_ELx(x> 0),以及使用的aarch32还是aarch64架构,在每个异常等级下都包含了四张异常等级表。bl31的异常向量表定义在runtime_exceptions.S中,其与下图的定义一致。但在ATF中只实现了后面两种情形下的中断处理函数,。原创 2023-03-12 17:58:07 · 505 阅读 · 0 评论 -
ATF:givc3的中断处理流程
1。原创 2023-03-12 17:32:28 · 302 阅读 · 0 评论 -
ATF:givc3的中断初始化配置流程
前段时间不是在整gicv2吗?这个确实太老了。资料很少,但是gicv3的蛮多的,这里找到了一篇关于gicv3的中断的blog,我们一起来学习一下,相信通过前辈的文章一定有所收获,核心内存的内容链接我放在了文末。ATF在bl31中提供了以及GICv3相关的电源管理功能,由于电源管理功能与中断处理流程关联不大,在本文中不做详细分析。下图为bl31中,其中平台相关部分代码都以arm common plat为例,如主要实现了distributor、redistributor和cpu interface。原创 2023-03-12 17:31:01 · 596 阅读 · 0 评论 -
ATF:Gicv源码解读系列-gicv2_secure_ppi_sgi_setup_props
配置安全G0 SGI和PPI的属性。原创 2023-03-10 22:53:48 · 198 阅读 · 0 评论 -
ATF:Gicv源码解读系列-gicv2_secure_spis_configure_props
前面的函数一是对于gicv2的spi中断的默认配置,这里是设置对于spi g0组的属性配置。原创 2023-03-10 20:43:49 · 258 阅读 · 0 评论 -
ATF:Gicv源码解读系列-gicv2_spis_configure_defaults
用来配置SPI的一些默认的属性,SPI中断在gic的文档里面有写这样一句话,来说明这个中断。SPIs从源通过分发器路由到目标再分发器和相关的CPU接口,这里有个关键词目标。因此这个目标可以是一个或者多个。原创 2023-03-10 01:00:55 · 263 阅读 · 0 评论 -
ATF:Gicv源码文件系列-platform_def.h
这个文件干了三件事/*#ifndef PLATFORM_DEF_H#if!ENABLE_PIE#else#endif#endif。原创 2023-03-08 23:21:50 · 195 阅读 · 1 评论 -
ATF:Gicv2的几个文件关系
前面走马观花的浏览了gicv2涉及到的几个文件,但是这几个文件之间的调用关系,我们需要来整理一下。原创 2023-03-08 23:16:11 · 130 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gic_common_private.h
*原创 2023-03-08 22:47:50 · 140 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gicv2.mk
这个文件包含了gicv2的源码文件!原创 2023-03-08 22:45:42 · 193 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gicv2_main.c
#include #include #include #include #include #include #include #include #include原创 2023-03-08 22:41:37 · 213 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gicdv2_helpers.c
*原创 2023-03-08 22:37:44 · 206 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gicv2_private.h
#ifndef GICV2_PRIVATE_H#define GICV2_PRIVATE_H原创 2023-03-08 22:01:51 · 216 阅读 · 0 评论 -
ATF:Gicv源码文件系列-gic_common.h
/*#ifndef GIC_COMMON_H#define GIC_COMMON_H#include /*******************************************************************************#define TOTAL_SPI_INTR_NUM (MAX_SPI_ID - MIN_SPI_ID + U(1))#define TOTAL_PCPU_INTR_NUM (MIN_SPI_ID - MIN_S原创 2023-03-08 21:16:52 · 139 阅读 · 0 评论 -
构建ATF所需要的环境与工具链配置
【代码】构建ATF所需要的环境与工具链配置。原创 2023-03-07 23:57:41 · 189 阅读 · 0 评论 -
ATF构建怎么打包镜像
Firmware Image Package (FIP) is a packaging format used by TF-A to packagefirmware images in a single binary. The number and type of images that shouldbe packed in a FIP is platform specific and may include TF-A images and otherfirmware images required原创 2023-03-07 23:50:41 · 320 阅读 · 0 评论 -
ATF:镜像术语
【代码】ATF:镜像术语。原创 2023-03-07 23:48:10 · 201 阅读 · 0 评论 -
ATF:EL3运行时服务编写指南
This document describes how to add a runtime service to the EL3 RuntimeFirmware component of Trusted Firmware-A (TF-A), BL31.Software executing in the normal world and in the trusted world at exceptionlevels lower than EL3 will request runtime services u原创 2023-03-07 23:47:34 · 240 阅读 · 0 评论 -
Armv8-A AArch32系统PSCI库集成指南
This document describes the PSCI library interface with a focus on how tointegrate with a suitable Trusted OS for an Armv8-A AArch32 system. The PSCILibrary implements the PSCI Standard as described in _ and is meantto be integrated with EL3 Runtime Sof原创 2023-03-07 23:44:48 · 316 阅读 · 0 评论
分享