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

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

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

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

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

原创 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
845

原创 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
1108

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

原创 Altium designer10---PCB添加Logo
看到这篇的时候,想必你以前做过或正在学习印刷电路板(PrintedCircuitBoard)的制作,可能以前你把板子做好后,检测硬件连接正常后,就投入到软件编程了。其实,我们可以在制作板子的同时,制作一些自己喜欢的Logo等来美化一下你的电路板。此篇是我在天津科技大学就读本科时,于电信学院新电社所做,当时和范文龙一拍即合,作为内部教学资料所写,满满的社团回忆,现作为本人第一篇博客,现将具体方法
2015-06-02 09:43:32
13277
8
原创 Kinibi-610a:面向芯片厂商与设备制造商的TEE升级详解
Trustonic最新发布的可信执行环境(TEE)Kinibi-610a,在前代Kinibi-600多平台支持的基础上,进一步增强了系统功能。本系列博文的第一部分已介绍其对可信应用(TA)开发者的改进,本文将重点解析芯片供应商和设备制造商集成工程师最关注的TEE演进特性。
2025-04-22 21:13:02
84
原创 为TA开发人员介绍具有最新改进的Kinibi-610a
Trustonic 推出的 Kinibi-610a 进行了多项底层优化,以实现更深度的系统集成,并更好地适应不断演进的用例需求。在本系列博文的第一部分,我们将重点介绍 Kinibi-610a 的关键改进,以帮助可信应用(TA)开发者更好地利用新特性。第二部分将深入探讨与芯片系统(SoC)集成商相关的底层系统变更。
2025-04-22 20:57:21
193
原创 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
673
原创 【CVE-2024-10929】ARM CPU漏洞安全通告
在部分基于Arm架构的CPU中发现了一个潜在安全问题,称为Spectre-BSE(Branch Status Eviction,分支状态驱逐漏洞)。该漏洞可能使攻击者能够绕过现有保护措施,以较弱的形式控制受害者的分支历史记录。Arm公司认为实际利用风险极低,因为攻击者需要首先找到可利用的泄露指令片段,控制相关寄存器,并且在初始化和利用阶段之间保持被操控的分支预测器状态不变。
2025-04-14 22:29:13
880
原创 Arm CPU安全通告:基于TrustZone的Cortex-M系统面临多重故障注入攻击
Arm注意到BlackHat 2022大会官网发布的演讲摘要《糟糕..!我又一次故障注入成功了!——如何突破ARM TrustZone-M的多重防护机制》。本文旨在澄清该摘要所述攻击是否会影响搭载Arm TrustZone技术的Cortex-M系统。
2025-04-13 22:12:48
474
原创 【CVE-2024-7881】ARM CPU漏洞安全通告
基于Arm架构的部分CPU中发现一个安全问题:非特权上下文可能触发数据内存依赖型预取引擎(data memory-dependent prefetch engine),从而获取特权内存位置的内容(该位置本无读取权限),并将这些内容作为地址再次解引用。需注意,此问题不影响虚拟机间及虚拟机与宿主机间的隔离保障。同样,在启用RME(Realm Management Extension)的配置中,预取器会严格遵守颗粒保护检查(GPC)规则。
2025-04-13 21:52:23
684
原创 ARM-V9 CCA/RME QEMU环境搭建
整个用于 CCA 的软件栈仍在开发中,这意味着指令会频繁更改,且仓库可能是临时的。有关手动编译该栈以及从 OP-TEE 构建环境编译的指令,均基于 Ubuntu 22.04 LTS 系统编写。
2025-01-21 21:03:51
747
原创 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
740
原创 SMMU软件指南之使用案例(Stage 2使用场景)
一、第二阶段用例Stage 2 use cases1、虚拟机设备分配2、带客户操作系统 SMMU 功能的虚拟机设备分配3、媒体保护4、主机隔离
2025-01-05 19:40:59
1353
原创 SMMU软件指南之使用案例(Stage 1使用场景)
一、Stage 1使用场景1、Scatter-gather2、64 位操作系统中的 32 位设备3、操作系统设备隔离4、用户空间设备驱动程序5、用户空间共享虚拟地址 (SVA)
2025-01-05 19:37:58
1114
原创 SMMU软件指南SMMU编程之事件队列
如果发生一组配置错误和故障,这些将记录在事件队列中。这些错误和故障包括因设备流量引发的事件,例如:1、当收到设备流量时,发现配置错误2、因设备流量地址引发的页面错误每个安全状态都有一个事件队列。当事件队列从空状态变为非空状态时,SMMU会生成一个中断。队列的结构与命令队列相同,唯一的不同在于生产者和消费者的角色是相反的。在命令队列中,SMMU是消费者;而在事件队列中,SMMU是生产者。
2024-12-22 21:52:50
478
原创 SMMU软件指南SMMU编程之命令队列
SMMU通过内存中的循环命令队列进行控制。例如,当软件更改STE或翻译时,需要在SMMU中失效相关缓存。这可以通过向命令队列发出相应的失效命令来实现。有关命令类型的详细信息,请参见“命令”部分。在SMMUv3.3之前,每个安全状态只有一个命令队列。支持SMMUv3.3的SMMU可以选择支持多个命令队列,以减少多个处理器元素(PE)同时向SMMU提交命令时的争用。
2024-12-22 21:50:49
667
原创 SMMU软件指南SMMU编程之上下文描述符
CD(上下文描述符)存储与一级转换相关的所有设置,每个CD占用64字节。CD的指针来自STE,而非寄存器。仅在执行一级转换时需要CD。对于仅需二级转换或绕过的流,仅需STE。CD将StreamID与一级转换表的基地址相关联,以便将虚拟地址(VA)转换为中间物理地址(IPA),适用于每个二级配置。若使用子流,则多个CD表示多个一级转换,每个子流对应一个CD。当一级转换未启用时,带有子流ID的事务将被终止。
2024-12-21 16:13:05
488
原创 ARM CCA机密计算安全模型之固件启动
本节定义了将CCA固件引导至可证明状态的要求和通用流程。安全世界固件和普通世界固件的引导要求不在本规范的范围内。CCA固件包括:1、应用处理单元(PE)的监控安全域和领域管理安全域的固件2、CCA HES固件以及CCA HES主机的受信子系统固件3、CCA系统安全域中其他所有受信子系统的固件CCA平台的实现应遵循 [Boot PSG]。
2024-12-15 18:49:59
947
原创 ARM CCA机密计算安全模型之受保护内存
1、一般威胁模型2、可能的缓解措施3、CCA 使用外部内存4、外部内存初始化5、资产6、基线内存保护配置文件7、内存清理8、额外的内存保护
2024-12-15 18:48:15
852
原创 SMMU软件指南SMMU编程之一级流表描述符和流表项
一、一级流表描述符(L1 Stream Table Descriptor)二、流表项(STEs)
2024-12-14 10:47:28
376
原创 SMMU软件指南SMMU编程之流表(Stream Table)
SMMU使用一组内存中的数据结构来定位翻译数据,详见“转换过程概述”(Translation process overview)。SMMU_(*_)STRTAB_BASE 存储初始结构(流表,Stream Table)的基地址。流表项(Stream Table Entry, STE)包含二级(Stage 2)转换表的基址指针,同时也定位一级(Stage 1)配置结构,这些配置结构包含转换表的基址指针。传入事务的 StreamID,由 SEC_SID 进行限定,决定了用于查找的流表,并定位相应的STE。
2024-12-14 10:42:18
841
原创 SMMU软件指南SMMU编程之寄存器
本博客介绍了SMMUv3的编程接口:• SMMU寄存器• 流表(Stream table)• CD(Context Descriptor)• 事件队列(Event queue)• 命令队列(Command queue)大部分配置存储在内存结构中,因此软件必须为这些结构分配内存。然而,部分配置存储在SMMU寄存器中,例如每个结构的地址和大小。
2024-12-13 21:43:59
661
原创 ARM CCA机密计算安全模型之系统安全域
CCA 系统安全域代表可能直接影响 CCA 安全保证的所有系统硬件组件。[R0026] CCA 系统安全域中的 CCA 硬件只能由监控安全域直接访问。
2024-12-13 21:38:52
1479
原创 【CVE-2024-5660】ARM CPU漏洞:硬件页面聚合(HPA)安全通告
在一些基于arm的cpu中发现了一个问题,该问题可能允许修改的、不受信任的客户机操作系统(guest OS)危及某些Hypervisor环境中的主机,也就是说在虚拟化的场景下。
2024-12-11 20:51:21
558
原创 基于RISC-V的开源通用GPU指令集架构--乘影OpenGPGPU
本篇博客,我们聚焦RISC-V 2024中国峰会上RISC-V的GPGPU相关专题中的乘影OpenGPGPU,来自清华大学何虎老师。
2024-12-07 11:43:04
1487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人