Side-Channel Attack Mitigation

There are two primary types of side channels that can lead to information leakage in a TEE-based runtime.

  1. Using access patterns to persistent smart contract storage and manipulating execution timing

  2. Exploiting microarchitectural side channels within specific TEE implementations

  • The solution to the first is well touted - to use Oblivious Random Access Memory (ORAM), which is an abstraction layer over memory that randomizes access patterns, making it impossible to infer information about the data based on memory access sequences. This effectively ensures that the memory patterns are independent of the underlying code or data being accessed. There is an additional cost however to considering this.

  • The solution to the second is to use multiple TEEs. It would be impossible to predict what kind of microarchitectural side channels will become available in the future, although under any threat model we must consider that provisions need to be made based on the possibility that they could occur.a

Last updated