议题回顾
如今,随着移动设备功能越来越丰富,我们的手机也变得越来越安全。手机中加入了更多的安全模块和防护措施,不仅包括应用层和内核层的安全措施,还包括底层的安全芯片。
在这一过程中,可信执行环境(TEE)发挥着越来越重要的作用。它不仅是安全机制的桥梁,更是众多安全需求的核心。在我们过去关于 Android 底层安全分析的研究中,深入研究了移动设备的TEE,尤其是安卓领先厂商三星的设备,包括 Exynos、Qualcomm 和 MediaTek 系列手机。它们在各自实现上有许多相似之处,也存在一些差异。演讲者在不同模块和层面中发现了 20 多个安全漏洞,其中超过10个被评估为高风险漏洞。
一起来回顾下 吴君陶&华杭煜 在 SDC2025上发表的议题演讲——《不同芯片架构下的可信执行环境(TEE)安全漏洞研究》
演讲嘉宾:吴君陶
Shuffle Team 创始人,专注主流操作系统、应用程序和 Web3 的安全研究。曾担任 Blackhat2022、Zer0Con2024 和 offbyone2024 演讲嘉宾。

演讲嘉宾:华杭煜
Shuffle Team 联合创始人,专注底层安全如linux/android/tee/bootloader,曾担任offbyone2024 演讲嘉宾。
*以下为整理后的速记:
背景
在现代移动设备与操作系统中,安全与隐私保护已成为核心诉求。无论是手机、平板还是 PC,一些关键的敏感业务(如指纹识别、人脸识别、移动支付等)通常都被放置在一个隔离的“安全世界(Secure World)”中执行,而普通应用运行在“非安全世界(Normal World)”。这种隔离机制,正是TEE(Trusted Execution Environment,可信执行环境)的核心理念。
然而,将敏感业务放入安全世界并不代表绝对安全。过去几年中,业界已多次披露不同厂商 TEE 实现中的漏洞。这些漏洞既可能源自编码缺陷,也可能来自不同芯片架构实现差异造成的机制性问题。
近年来,TEE 正经历从“底层安全防护”向“多功能安全计算平台”的深刻演变。手机厂商纷纷在 TEE 中加载更多功能模块,例如:
◆AI 模型保护与隐私计算:在隔离环境中进行敏感数据处理。
◆Web3 与加密资产安全:依赖硬件信任根保障数字资产安全。
这种趋势使得 TEE 的攻击面和复杂度都显著增加。
当前主要面临的安全挑战包括:
1.侧信道攻击(Side Channel):如 Spectre、Meltdown 及近年新的芯粒级漏洞。
2.供应链污染(Supply Chain):从芯片制造、固件签名到更新任一环节均可能破坏信任链。
3.跨域通信复杂度:TEE 与 GPU、协处理器间的跨域交互逐渐频繁,带来新的边界风险。
4.架构差异带来的实现漏洞:硬件隔离无法完全抵御软件层面的内存错误或逻辑漏洞。
架构分析
在 Android 架构中,系统通常分为Normal World与Secure World。其中 Secure World 由芯片厂商的 TEE 实现负责,如高通(Qualcomm QSEE)、三星(Exynos TEEGRIS)、联发科(MTK TEE)等。

在 Normal World 层面,不同厂商间主要差异体现在 Native Library 实现。
例如:
◆高通:自封装完整函数调用库;
◆三星:因同时支持 Exynos、MTK、Qualcomm,多套函数接口并行;
◆联发科:采用独立实现。
在内核驱动层,各厂商实现的 SMC(Secure Monitor Call) 调用路径略有不同,但最终都会触发smc_handler调用至 Monitor 层,再通过 ERET 返回 TEE 内核执行环境。

Monitor 层与 Secure Kernel 的通信关键依赖于寄存器SCR_EL3与异常控制位(NS 位),决定了执行上下文是否处于安全态。此机制是 Normal 与 Secure 世界间状态切换的根基。
在 TEE Kernel 层,指令流会进入smc_handler与smc_handle_call,最终把请求交由相应的 TA(Trusted Application)处理。高通平台中这些逻辑多由qseecom_scm_call、qsee_hash等函数封装实现,而三星平台则往往采用自定义加密代码段,需通过启动加载分析才能定位。
核心功能模块与通用漏洞
Android TEE 中常见的核心功能包括:
◆生物识别(人脸、指纹)
◆支付安全(mPOS 模块)
◆安全设备解锁与认证
◆密钥与 DRM 管理
◆安全启动链
研究重点集中在以下三个模块:
1.FaceID 模块(sec_fr)
2.Fingerprint 模块
3.mPOS 移动支付模块
(1)CVE-2025-20943:FaceID 模块通用漏洞
该漏洞出现在sec_fr_decode_templ_l_ver3函数中,源于memcpy操作对目标缓冲区偏移未校验,攻击者可在任意偏移处写入最多 0x64 字节数据,从而实现越界写。
进一步分析发现,高通与三星平台实现几乎一致,仅调用函数封装不同,说明漏洞具有跨架构通用性。
结合sec_fr_init_template中可控全局变量arg3_info,攻击者可实现任意地址写入。
(2)CVE-2025-20948:摄像头图像帧处理漏洞
在高通与猎户座平台的onEnrollFrame命令处理中,程序允许应用层直接传递图像缓存地址至 TEE。
攻击者可利用 DMA 共享内存方式传递恶意地址,从而打破 Normal 与 Secure 世界间边界,实现越界读写。
特有漏洞
在不同芯片架构下,厂商为兼容自身硬件特性,往往在相同功能模块中采用不同实现。这成为新的攻击面。
(1)mPOS 模块漏洞(CVE-2025-20904 / 20905)
在高通平台中,process_command函数允许初始化任意大小的内存块作为背景存储,而未对宽高及尺寸字段进行有效验证,导致图像解析过程可越界读写。
而猎户座与 MTK 平台的同功能模块使用更严格的 PNG 库校验逻辑,因此未触发该漏洞。
(2)Fingerprint 模块特有漏洞
do_extra_control_d函数中,当global_data值为 0x67 时,output_buf与output_buf_len均未检查,最终调用qfp_liveness_get_asp_data时会发生大规模内存越界复制。
该漏洞同样存在于高通与猎户座两种平台,仅函数命名与符号表差异不同,说明两者共享部分底层代码逻辑。
特殊功能模块
(1)Blockchain Wallet 模块
区块链钱包作为典型的高安全场景,其核心功能(生成地址、创建交易、签名等)均需在 TEE 内执行。
研究发现,不同平台采用了两套完全不同的实现:
◆Exynos 使用自研图像解析与加密库;
◆Qualcomm 则复用部分开源组件。
这导致在加密算法调用与反序列化处理中出现了数个内存类漏洞(CVE-2025-21017~21021)。
(2)Knox Vault 安全芯片
Knox Vault 是三星的独立安全芯片,提供强隔离的密码、认证和存储功能。其体系结构包括:
◆子系统(Subsystem):集成于 SoC 内核;
◆存储区(Storage):独立物理芯片,双重隔离;
◆二者通过安全 I²C 总线通信。
理论上可抵御探针注入、故障注入等硬件攻击,但实际逆向发现,其部分加密认证逻辑仍存在内存越界及认证流程缺陷(CVE-2025-20982、20983)。
总结与启示
通过对高通、三星、联发科三大芯片平台下 TEE 架构的系统性分析,我们发现:

1.跨架构共性漏洞(如 sec_fr 模块)说明厂商间代码共享广泛,漏洞可迁移;
2.架构特有漏洞(如 mPOS、Fingerprint)揭示了不同平台实现逻辑差异;
3.特殊模块漏洞(如 Blockchain Wallet、Knox Vault)进一步暴露了 TEE 与上层应用及独立芯片间的信任边界问题。
未来 TEE 的安全防护应关注以下方向:
◆加强厂商间的接口规范统一与安全审计;
◆对共享内存、DMA 通道的安全验证;
◆架构级别的异常检测与防护机制;
◆提升代码复用组件的安全隔离。
TEE 作为现代移动安全的核心基石,正在从“隐形保险箱”演变为“安全计算平台”。但当其功能日益丰富时,漏洞与风险也随之指数级增长。唯有深入理解不同架构下的实现差异,才能真正构筑可信的安全边界。
往期议题回顾
1.SDC2025 议题回顾 | 你尽力了吗——25 年后的再追问
2.SDC2025 议题回顾 | 危险游戏:智能驾驶一线攻防实战
3.SDC2025 议题回顾 | 仿真驱动的侧信道攻击新范式:让CPU消耗成为密码学安全的X光机
4.SDC2025 议题回顾 | 大模型供应链安全的熵增效应:风险挖掘与熵减策略
5.SDC2025 议题回顾 | 利用大模型辅助自动化 BYOVD 驱动漏洞挖掘
6.SDC2025 议题回顾 | ReCopilot:基于大模型的二进制逆向工程助手
PPT下载及视频回放
峰会议题PPT及回放视频已上传至【看雪2025 SDC】:https://www.kanxue.com/book-section_list-219.htm
【已购票的参会人员可免费获取】:我方已通过短信将“兑换码”发至手机
兑换方式:
-打开链接https://www.kanxue.com/book-section_list-219.htm
-点击购买课程
-填入兑换码
-提交订单
﹀
球分享
球点赞
球在看
点击阅读原文查看更多

