- 博客(421)
- 收藏
- 关注

原创 Arm功耗管理精讲与实战
1、功耗管理背景及挑战2、功耗管理架构演进及变迁3、系统分区-电压域和电源域4、功耗状态及功耗模式5、功耗管理框架-SCP&PPU&LPI6、功耗管理软件7、功耗管理标准接口8、多核处理器启动9、睡眠锁与唤醒源10、功耗管理实战11、功耗数据与功耗收益评估12、功耗管理与安全
2024-04-24 10:01:19
1108
5

原创 OPTEE的GDB调试技术实战
【按语】:如果需要调试OPTEE,那么在远程调试配置中使用GDB可能会很有用。远程调试意味着GDB在您的PC上运行,它可以访问源代码,而被调试的程序在远程系统上运行(在本例中,在QEMU环境的OPTEE中)。本博客来探讨OPTEE的GDB调试技术实战。
2024-04-23 19:49:15
607

原创 安全二次方(security²)博客目录导读
一、ARM&RISC-V安全架构二、TF-A/TEE/Hafnium之安全三、GP安全认证&IDA逆向分析四、静&动态代码分析五、低功耗六、其他
2023-08-12 19:57:12
3972
15

原创 OPTEE之ARM安全扩展
OPTEE之ARM安全扩展一、BTI(Branch Target Identification)二、如何使能OP-TEE core的BTI三、如何使能TA的BTI
2023-08-05 18:21:40
962

原创 ATF(TF-A)/OPTEE之静态代码分析汇总
1、静态代码分析基础知识及分析工具2、静态代码扫描分析sonarlint使用一——windows下的makefile工程3、静态代码扫描分析sonarlint使用二——windows下的cmake工程4、静态代码扫描分析sonarlint使用三——linux下的makefile工程5、静态代码扫描分析sonarlint使用四——linux下的cmake工程6、TF-A静态代码分析实战7、OPTEE静态代码分析实战8、Sonarqube扫描结果存入数据库并网页显示,提升团队代码质量
2023-07-04 13:05:13
854

原创 TEE之GP(Global Platform)认证汇总
一、为什么需要GP认证?二、TEE GP认证规范三、TEE GP认证方案四、TEE GP安全认证方案五、TEE GP功能认证方案六、TEE GP安全认证实验室七、TEE GP功能认证实验室八、TEE GP安全认证产品九、TEE GP功能认证产品十、TEE GP技术委员会及中国任务小组
2023-07-03 20:57:04
1156

原创 RISC-V TEE(可信执行环境)方案初探
本文对RISC-V TEE整体概览、硬件层面支持、各家TEE方案(Multizone、Keystone、Penglai、VirtualZone)介绍分别进行了初探。
2023-06-15 08:56:09
2106

原创 Altium designer10---PCB添加Logo
看到这篇的时候,想必你以前做过或正在学习印刷电路板(PrintedCircuitBoard)的制作,可能以前你把板子做好后,检测硬件连接正常后,就投入到软件编程了。其实,我们可以在制作板子的同时,制作一些自己喜欢的Logo等来美化一下你的电路板。此篇是我在天津科技大学就读本科时,于电信学院新电社所做,当时和范文龙一拍即合,作为内部教学资料所写,满满的社团回忆,现作为本人第一篇博客,现将具体方法
2015-06-02 09:43:32
13345
8
原创 PSCI OS-initiated操作系统启动模式
电源域拓扑是一种系统中电源域的逻辑层级结构,它源于电源域之间的物理依赖关系。本地电源状态描述单个节点的电源状态,而复合电源状态则描述该节点及其父节点的组合电源状态。对于核心层级之上的拓扑节点,进入低功耗状态需要协调其子节点。例如,在一个电源域包括共享缓存、每个核心有独立电源域的系统中,必须先关闭核心的电源域,才能关闭共享缓存的电源域。PSCI(电源状态协调接口)支持两种电源状态协调模式:平台协调(platform-coordinated)和操作系统启动(OS-initiated)。
2025-06-22 10:58:40
72
原创 运行时安全引擎RSE
该博客重点介绍了运行时安全引擎(Runtime Security Engine,简称 RSE)与应用处理器(Application Processor,简称 AP)之间的关系。根据 ARM 的参考设计,RSE 是位于同一芯片(die)上的一个独立核心,与 AP 和系统控制处理器(System Control Processor,简称 SCP)并列存在。RSE 为整个系统提供基本的安全保障和运行时服务,例如:可信启动(trusted boot)、度量启动(measured boot)、平台认证(platf
2025-06-22 10:50:37
701
原创 离散TPM驱动程序
本博客重点介绍了TF-A中离散TPM驱动的设计与功能。TPM技术旨在提供一种专用的、基于硬件的解决方案,用于存储加密密钥以及执行安全相关操作。离散TPM是一种独立的硬件组件,物理上与系统主处理器隔离。这种隔离有助于保护敏感信息(如加密密钥和平台凭据)不被恶意软件或未经授权的用户访问或篡改。当离散TPM接口被正确实现时,可降低基于软件的攻击风险,从而进一步缩小攻击面。
2025-06-22 10:48:49
634
原创 DRTM动态度量信任根的POC概念验证
动态度量信任根(DRTM) 通过度量并执行受保护的负载,启动一个新的可信执行环境。目前由 TF-A 使用的 静态度量信任根(SRTM)/度量引导(Measured Boot) 实现,会覆盖所有固件,从启动 ROM 一直到非安全世界的引导加载程序(bootloader)。作为一个整体,它们构成了系统的 TCB(可信计算基)。这些启动过程的度量可以用于证明系统上正在运行的软件,并用于强制执行安全策略。然而,随着启动链变长或固件变得可动态扩展,构建一个可证明的 TCB 变得更加困难。DRTM 提供了解决方
2025-06-22 10:45:58
992
原创 使用离散型 TPM 的可信启动(概念验证 PoC)
可信启动(测量启动)是一种在启动时对代码和关键数据进行加密度量的过程,例如使用 TPM,以便后续能够对系统的安全状态进行验证。TF-A 中当前包含的驱动实现支持多种后端,每种后端使用不同的方式来存储度量值。本节聚焦于离散型 TPM 后端,该后端将度量值存储在 TPM 内的 PCR(平台配置寄存器)中。此后端可与 TCG 事件日志配合使用,以实现对事件日志中度量值的验证。更多详细内容请参考《Measured Boot Design》。本博客提供了设置和构建一个概念验证(PoC)的说明,该 PoC 展示
2025-06-22 09:22:06
641
原创 可信启动与fTPM的交互验证(概念验证)
可信启动(Measured Boot)是通过密码学方式度量启动阶段代码及关键数据(例如使用TPM芯片)的过程,以便后续对系统安全状态进行验证。当前TF-A集成的驱动支持多种后端存储方式,每种方式采用不同的测量值存储机制。本节重点讨论TCG事件日志后端,该后端将测量值存储在安全内存中。该驱动还提供将事件日志传递至普通世界的机制。本手册提供的概念验证(PoC)构建指南,旨在演示如何将可信启动与基于OP-TEE实现的fTPM(fTPM)服务结合使用。
2025-06-22 08:22:04
870
原创 Kinibi-610a:面向芯片厂商与设备制造商的TEE升级详解
Trustonic最新发布的可信执行环境(TEE)Kinibi-610a,在前代Kinibi-600多平台支持的基础上,进一步增强了系统功能。本系列博文的第一部分已介绍其对可信应用(TA)开发者的改进,本文将重点解析芯片供应商和设备制造商集成工程师最关注的TEE演进特性。
2025-04-22 21:13:02
129
原创 为TA开发人员介绍具有最新改进的Kinibi-610a
Trustonic 推出的 Kinibi-610a 进行了多项底层优化,以实现更深度的系统集成,并更好地适应不断演进的用例需求。在本系列博文的第一部分,我们将重点介绍 Kinibi-610a 的关键改进,以帮助可信应用(TA)开发者更好地利用新特性。第二部分将深入探讨与芯片系统(SoC)集成商相关的底层系统变更。
2025-04-22 20:57:21
226
原创 SCP-Firmware安全通告:CVE-2024-11863和CVE-2024-11864
在SCP固件(SCP-Firmware)中发现两处安全漏洞,可能允许普通世界特权软件(normal world privileged software)对系统控制处理器(SCP)发起拒绝服务攻击。向SCP发送特制的SCMI消息可能导致使用错误(Usage Fault)并使SCP崩溃。这两个漏洞已被分配编号CVE-2024-11863和CVE-2024-11864。
2025-04-14 22:45:46
731
原创 【CVE-2024-10929】ARM CPU漏洞安全通告
在部分基于Arm架构的CPU中发现了一个潜在安全问题,称为Spectre-BSE(Branch Status Eviction,分支状态驱逐漏洞)。该漏洞可能使攻击者能够绕过现有保护措施,以较弱的形式控制受害者的分支历史记录。Arm公司认为实际利用风险极低,因为攻击者需要首先找到可利用的泄露指令片段,控制相关寄存器,并且在初始化和利用阶段之间保持被操控的分支预测器状态不变。
2025-04-14 22:29:13
1007
原创 Arm CPU安全通告:基于TrustZone的Cortex-M系统面临多重故障注入攻击
Arm注意到BlackHat 2022大会官网发布的演讲摘要《糟糕..!我又一次故障注入成功了!——如何突破ARM TrustZone-M的多重防护机制》。本文旨在澄清该摘要所述攻击是否会影响搭载Arm TrustZone技术的Cortex-M系统。
2025-04-13 22:12:48
512
原创 【CVE-2024-7881】ARM CPU漏洞安全通告
基于Arm架构的部分CPU中发现一个安全问题:非特权上下文可能触发数据内存依赖型预取引擎(data memory-dependent prefetch engine),从而获取特权内存位置的内容(该位置本无读取权限),并将这些内容作为地址再次解引用。需注意,此问题不影响虚拟机间及虚拟机与宿主机间的隔离保障。同样,在启用RME(Realm Management Extension)的配置中,预取器会严格遵守颗粒保护检查(GPC)规则。
2025-04-13 21:52:23
757
原创 ARM-V9 CCA/RME QEMU环境搭建
整个用于 CCA 的软件栈仍在开发中,这意味着指令会频繁更改,且仓库可能是临时的。有关手动编译该栈以及从 OP-TEE 构建环境编译的指令,均基于 Ubuntu 22.04 LTS 系统编写。
2025-01-21 21:03:51
815
原创 ARM-V9 CCA/RME FVP环境搭建
FEAT_RME(简称RME)是Armv9-A的一项扩展,也是Arm Confidential Compute Architecture(Arm CCA)的一个组成部分。从TF-A版本2.6开始支持RME。本博客讨论了TF-A对RME的支持所涉及的更改,并提供了如何构建和运行启用RME的TF-A的说明。
2025-01-20 20:40:27
824
原创 SMMU软件指南之使用案例(Stage 2使用场景)
一、第二阶段用例Stage 2 use cases1、虚拟机设备分配2、带客户操作系统 SMMU 功能的虚拟机设备分配3、媒体保护4、主机隔离
2025-01-05 19:40:59
1402
原创 SMMU软件指南之使用案例(Stage 1使用场景)
一、Stage 1使用场景1、Scatter-gather2、64 位操作系统中的 32 位设备3、操作系统设备隔离4、用户空间设备驱动程序5、用户空间共享虚拟地址 (SVA)
2025-01-05 19:37:58
1162
原创 SMMU软件指南SMMU编程之事件队列
如果发生一组配置错误和故障,这些将记录在事件队列中。这些错误和故障包括因设备流量引发的事件,例如:1、当收到设备流量时,发现配置错误2、因设备流量地址引发的页面错误每个安全状态都有一个事件队列。当事件队列从空状态变为非空状态时,SMMU会生成一个中断。队列的结构与命令队列相同,唯一的不同在于生产者和消费者的角色是相反的。在命令队列中,SMMU是消费者;而在事件队列中,SMMU是生产者。
2024-12-22 21:52:50
500
原创 SMMU软件指南SMMU编程之命令队列
SMMU通过内存中的循环命令队列进行控制。例如,当软件更改STE或翻译时,需要在SMMU中失效相关缓存。这可以通过向命令队列发出相应的失效命令来实现。有关命令类型的详细信息,请参见“命令”部分。在SMMUv3.3之前,每个安全状态只有一个命令队列。支持SMMUv3.3的SMMU可以选择支持多个命令队列,以减少多个处理器元素(PE)同时向SMMU提交命令时的争用。
2024-12-22 21:50:49
699
原创 SMMU软件指南SMMU编程之上下文描述符
CD(上下文描述符)存储与一级转换相关的所有设置,每个CD占用64字节。CD的指针来自STE,而非寄存器。仅在执行一级转换时需要CD。对于仅需二级转换或绕过的流,仅需STE。CD将StreamID与一级转换表的基地址相关联,以便将虚拟地址(VA)转换为中间物理地址(IPA),适用于每个二级配置。若使用子流,则多个CD表示多个一级转换,每个子流对应一个CD。当一级转换未启用时,带有子流ID的事务将被终止。
2024-12-21 16:13:05
519
原创 ARM CCA机密计算安全模型之固件启动
本节定义了将CCA固件引导至可证明状态的要求和通用流程。安全世界固件和普通世界固件的引导要求不在本规范的范围内。CCA固件包括:1、应用处理单元(PE)的监控安全域和领域管理安全域的固件2、CCA HES固件以及CCA HES主机的受信子系统固件3、CCA系统安全域中其他所有受信子系统的固件CCA平台的实现应遵循 [Boot PSG]。
2024-12-15 18:49:59
967
原创 ARM CCA机密计算安全模型之受保护内存
1、一般威胁模型2、可能的缓解措施3、CCA 使用外部内存4、外部内存初始化5、资产6、基线内存保护配置文件7、内存清理8、额外的内存保护
2024-12-15 18:48:15
874
原创 SMMU软件指南SMMU编程之一级流表描述符和流表项
一、一级流表描述符(L1 Stream Table Descriptor)二、流表项(STEs)
2024-12-14 10:47:28
410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人