On Code Confidentiality in Trusted Execution Environments

IoT 11个月前 admin
210 0 0

On (the Lack of) Code Confidentiality in Trusted Execution Environments

Authors: Ivan Puddu, Moritz Schneider, Daniele Lain, Stefano Boschetto, Srdjan Capkun

Affiliation: ETH

Venue: Arxiv

介绍

本文系统的研究了 TEE 对代码机密性的影响,即如果攻击者利用侧信道尝试窃取 TEE 内部的代码,能否成功?对于 TEE 而言,其内存机密性已经被深入的研究过,而代码机密性则不然。

除开针对侧信道和 TEE,作者还研究了 代码解释器(Interpreter)的存在对测信道攻击的成功率的影响。

下图展示了本文所研究的两种可信代码的部署方式。

On Code Confidentiality in Trusted Execution Environments

解释器的影响

解释器执行代码的方式与原生执行有着巨大的差异,本文采用了一个 WASM 的一个轻量级解释器,WASR 作为研究对象。

执行代码的数量

如下图所示,一条被解释执行的语句,常常对应多条原生指令,这极大的加长了测信道所获取 Trace 的长度。这潜在降低了推断一条指令的难度。多条指令产生的指纹可以被合并被用于单条指令的推断。On Code Confidentiality in Trusted Execution Environments

候选指令集的大小

x86 指令集的大小大概是 WASM 的 6x 到 14x(取决于微架构)。这也从一定程度上降低了在 解释器 上进行代码推断攻击的难度。

研究方法

本文采用的研究方法比较简单,即单步执行每一条指令,并且通过 OS 收集相关的信息,作为 Instruction Measurement(IM)。

作者采用了下面四个指标作为 IM 的一部分(PS:这似乎比大部分 SotA 的侧信道攻击都要强,作者 claim 这是为了估计 upper bound)

  • 指令延迟
  • 内存访问类型
  • 是否访问了栈
  • 是否变更了指令流

结果

作者首先研究了一个较小的程序,比较它们在解释器和本地原生执行下,获得的 IM 的区别。On Code Confidentiality in Trusted Execution Environments

On Code Confidentiality in Trusted Execution Environments

可以看出,解释器提供了远高于本地原生执行的精度(更小的候选指令集)。

后面作者以类似的方式展开了大规模实验,结果与此类似。

思考

在这篇工作中,显然解释器的存在极大的影响了针对指令的侧信道攻击,那么其他类型的侧信道攻击呢?以及其他形式的代码执行方式,例如 JIT 等等(不过 JIT 应该已经有类似的工作)。

– END –


原文始发于微信公众号(COMPASS Lab):On Code Confidentiality in Trusted Execution Environments

版权声明:admin 发表于 2023年6月14日 下午5:30。
转载请注明:On Code Confidentiality in Trusted Execution Environments | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...