ReZone: Disarming TrustZone with TEE Privilege Reduction¶
Bir TrustZone trusted OS'unun — ki normalde tüm secure- ve normal-world memory'sini okuyup yazabilir — aşırı geniş privilege'ini sandbox'lanmış "zone"lara daraltan defensive bir mimari; böylece hijack edilmiş bir trusted OS artık total sistem compromise'ına pivot edemez.
Mechanism¶
Onarılan trust-boundary varsayımı
Klasik bir TrustZone-assisted TEE'de secure world, S-EL1'de hem secure-world hem de normal-world fiziksel memory'sine, artı trusted application'lara (TAs) ve sıklıkla secure monitor'a (EL3) giden path'e kısıtlamasız erişimi olan monolitik bir trusted OS (örn. OP-TEE) çalıştırır. Platformun dayandığı örtük invariant "trusted OS doğrudur"dur. Tarih bunun güvensiz olduğunu gösteriyor: bir TA'da ya da trusted OS'ta tek bir memory-corruption bug'ı, saldırganın S-EL1'i hijack etmesine ve sonra o god-mode erişimi sayesinde REE kernel memory'sini, diğer TA'ları ve monitor'ı yeniden yazmasına izin verir.
ReZone, bu privilege yoğunlaşmasını kaldırılacak bug sınıfı olarak ele alır. COTS SoC'larda zaten mevcut TrustZone-agnostic hardware primitive'leri — TrustZone'un kendi TZASC'sinden ayrı, platform memory-protection controller'ları / secondary (system) MMU tarzı gating — kullanarak trusted OS üzerine interpose eder ve her TA execution context'ini yalnızca kendi private resource'larına erişimi olan bir zone'a hapseder. İhlal edilen invariant ("trusted OS tüm memory'ye dokunabilir") least privilege ile değiştirilir: tamamen compromise olmuş bir zone bile REE memory'sine, sibling zone'lara ya da EL3'e ulaşamaz. Bu, bir exploit değil, saf defensive/mimari bir girdidir.
Walkthrough¶
USENIX Security 2022 paper'ından (Cerdeira, Martins, Santos, Pinto) ve onun arXiv versiyonundan yüksek seviyeli yeniden inşa; yalnızca kavramsal.
- Problem framing. Yazarlar gerçek TrustZone CVE'lerini tarar ve yinelenen bir exploitation chain'i gözlemler: bir TA'da ya da trusted OS bileşeninde bug → trusted OS'un hijack'i → sistemin geri kalanını (REE, monitor, diğer TA'lar) compromise etmek için trusted OS'un kısıtlamasız memory erişiminin kullanılması.
- Re-partitioning. Bireysel bug'ları patch'lemek yerine ReZone monolitik secure world'ü yeniden yapılandırır. Korunan her workload bir zone içinde çalışır; küçük, trusted bir gatekeeper bileşeni entry/exit ve resource atamasını aracılık eder.
- Hardware confinement. TrustZone'un kendisine ortogonal platform primitive'lerini kullanarak runtime, memory access control'lerini öyle programlar ki bir zone execute ederken trusted OS görüşü o zone'un private memory'sine daraltılır — artık normal-world ya da sibling-zone page'lerini adlandıramaz.
- Sonuç. Önceden bir TA'dan tam sistem kontrolüne escalate olan bir compromise, kendi zone'u içinde sınırlanır.
Değerlendirmenin gösterdiği (temsili)
- i.MX 8MQuad EVK üzerinde prototip, Android ve OP-TEE ile entegre.
- Yazarlar 80 CVE raporu taradı ve ReZone'un bunların kabaca %86.84'ünü mitigate edebileceğini tahmin etti.
- Performance, DRM-protected video pipeline'ları dâhil gerçek workload'lar için kabul edilebilir olarak nitelendirildi.
Detection¶
ReZone bir mitigation'dır, ama aynı zamanda bir defender'ın neyi gözlemleyebileceğini tanımlar:
- Sinyal olarak containment. ReZone altında, zone'unun dışına ulaşmaya çalışan (REE memory'sine, monitor'a ya da başka bir zone'a dokunan) bir exploit girişimi sessiz başarı yerine bir hardware access fault üretir — görünmez bir cross-world write yerine net, loglanabilir bir güvenlik olayı.
- Gatekeeper telemetry. Zone entry/exit ve resource-assignment olayları trusted mediator üzerinden akar ve anormal TA davranışını (beklenmeyen zone transition'ları, tekrarlı fault'lar) kaydetmek için merkezi bir yer sağlar.
- Değiştirilmemiş baseline için, paper'ın kendi katkısı şu içgörüdür: monolitik trusted-OS compromise'ları tam da trusted OS meşru biçimde all-memory erişimine sahip olduğu için saptanması zordur — yeniden tasarımı motive eden şey budur.
Mitigation¶
- Privilege reduction'ı benimse. Çekirdek defense mimaridir: ReZone'un gösterdiği gibi, monolitik bir secure world'e güvenmek yerine trusted OS / TA'ları mevcut platform memory-protection hardware'i kullanarak least-privilege zone'larla sınırla.
- TEE bileşenlerini patch'li tut. ReZone blast radius'u azaltır ama altında yatan TA/trusted-OS bug'larını kaldırmaz; vendor'lar yine de taranan CVE sınıfları için fix göndermeli (bkz. breaking-samsung-s-arm-trustzone.md, trustzone-kernel-privilege-escalation.md).
- Secure world'ü minimize et. Daha az, daha küçük TA'lar ve ince bir monitor, herhangi bir zone'un etrafında inşa edilebileceği attack surface'i azaltır — şu gibi security-monitor tasarımlarında görülen aynı minimizasyon felsefesi: sanctum-minimal-hardware-extensions-for-strong-software.md ve dorami-privilege-separating-security-monitor-on-risc-v-tees.md.