Loading

可信执行环境

可信执行环境是从底层硬件和操作系统开始出发,提供一个隔离的运行环境,保护代码和数据不被攻击者攻击。

可信执行环境简介

可信执行环境:满足以下两个条件的一组支撑应用的软硬件组合:

  • 可以避免软件层面的攻击
  • 可以避免硬件层面的攻击

可信执行环境需要满足以下几个特征:

  • 软硬件协同的安全机制:可信执行环境及其常规操作系统具有独立的系统资源(寄存器,内存等),不能随意的进行数据交换。可信执行环境中的代码和资源收到严格的访问控制策略的保护,常规操作系统的进程禁止访问可信执行环境中的代码和资源。
  • 算力共享:能共同享用中央处理器的同等算力
  • 开放性:可信执行环境需要在开放的环境中运行,既只有先存在常规操作系统中,才有引入可信执行环境的必要。
  • 可信计算基(TCB):TCB是运行在可信执行环境里的应用程序的基础。
  • Ring3 TEE:一种可信执行环境解决方案,可以用于保护用户态的应用程序,而不必信任操作系统或更底层。
  • Ring0 TEE:能够提供操作系统层面的可信执行环境技术。
  • Ring-1 TEE:能够在虚拟化Hypervisor层面上提供可信执行环境的技术。
  • Ring-2 TEE:可以运行在Htpervisor之下,代表技术为ARM TrustZone
  • Ring-3 TEE:通过协处理器实现的可信任执行环境。
image-20230217173749976

原理与实现

ARM TrustZone

ARM TrustZone修改了原有处理器的硬件架构,引入了两个不同层次的保护区域,即可信执行环境(TEE)和常规操作系统(REE)。任何时刻处理器只能在某一个区域内运行,且两个区域完全是硬件隔离的,并具有不同的权限。如图所示:

image-20230217174009725

Cortex-M

Cortex-M 系列是为移动终端设计的,有低功耗及低延时上下文切换的设计目标,Cortex-M 系列的TrustZone并没有直接沿用Cortex-A系列的设计,而是从底层直接进行重构。处理器是否执行在安全环境中由内存中的代码决定。如果从安全的内存运行程序,处理器即运行在安全环境;如果从非安全内存运行程序,处理器则运行在非安全环境。如图所示:

image-20230217174522613

可信执行环境所面临的问题

可信执行环境的漏洞

以ARM TrustZone为例,针对的攻击主要分为三种:软件攻击微架构攻击内存攻击

  • 软件攻击:主要是对ARM TrustZone的安全程序进行分析,提出针对性的攻击方法。
  • 微架构攻击:微架构攻击主要利用微架构的变化将信息泄露给攻击者,或者通过协助性质的或者错误指令加载来泄露缓冲区的内容,从而绕开CPU的权限检查,导致隐私泄露。
  • 内存攻击:寻找内存在不同状态下的漏洞,并窃取内存中的隐私数据。

安全性依赖硬件厂商

可信执行环境的安全性主要依赖于硬件厂商。因此安全性十分难以评估和验证。

可信执行环境的应用

可信执行环境主要应用于移动终端云计算区块链

posted @ 2023-02-17 18:00  青山新雨  阅读(666)  评论(0编辑  收藏  举报