TEE
Trusted Execution Environment: TEE とはプロセッサ上に隔離された実行環境を用意することでセキュリティを高める技術です。 より広義にHIEE: Hardware-assisted Isolated Execution Environment
- Normal Mode
- Secure Mode
Intel® Trust Domain Extensions (Intel® TDX)
TEE の機能
- OSやアプリケーションの改竄を検知
- 公開鍵証明書による端末識別,認証
- ストレージデータの安全な暗号化
- ほぼほぼ暗号化処理をするため, 秘密鍵をそこにppm
# Intel SGX
Enclave では Ring 3 でしか動作しない, つまり syscall が使えない

# Remote Attestation
ECDH
# Foreshadow
CVE-2018-3615 - L1 Terminal Fault: SGX CVE-2018-3620 - L1 Terminal Fault: OS/SMM、CVE-2018-3646 - L1 Terminal Fault: VMM L1データキャッシュに存在するデータならなんでも読み取ることが可能
# AEPIC Leak
最初のアーキテクチャ由来のCPUのバグ. インテル製10~12世代のCPUの脆弱性を利用して, プロセッサ本体から機密情報を漏洩させる。APIC MMIOでの未定義範囲のアクセスによりキャッシュ階層から古いデータを参照できる。APIC MMIOのアクセスには管理者権限が必要であるから安全であるが, Intel SGXのような管理者権限を持つ攻撃者からデータを守るようなシステムはリスクとなる。 未初期化メモリの読み取りのようなもの
# Graphene-SGX
# ARM TrustZone
Cortex-A シリーズの拡張機能 ノーマルワールドとセキュアワールドそれぞれに特権/非特権モード
- Boomerang
- Abusing Trust: Mobile Kernel Subversion via TrustZone Rootkits
- SoK: Understanding the Prevailing Security Vulnerabilities in TrustZone-assisted TEE Systems | IEEE Conference Publication | IEEE Xplore
- Project Zero: Trust Issues: Exploiting TrustZone TEEs (googleprojectzero.blogspot.com) Project ZeroはSpectre見つけた
- ARM TrustZone エクスプロイト入門 - Speaker Deck
# Android KeyStore
Android の SoC には ARM TrustZone があり、その上で KeyStore を動かしている. Android の Full Disk Encryption を TEE を介さずに Decrypt. FBIでもできなかった
# Apple iOS Secure Enclave
# RISC-V Keystone
- BOOM
- Speculative Attack
- Keystone: An Open Framework for Architecting Trusted Execution Environments (ethz.ch)
# OP-TEE
- OP-TEE/optee_os: Trusted side of the TEE (github.com)
- OP-TEE Documentation — OP-TEE documentation documentation (optee.readthedocs.io)
須崎先生がよく知ってる