Sanctum: Minimal Hardware Extensions for Strong Software Isolation (RISC-V)¶
SGX tarzı isolation sağlarken ek olarak cache-timing ve page-fault side channel'larını da kapatan açık bir RISC-V enclave tasarımı — DRAM'i page coloring ile partition'layarak, her enclave'e kendi page table'larını vererek ve security-critical mantığı küçük, denetlenebilir bir software monitor'da tutarak.
Mechanism¶
Sanctum'un eklediği invariant: sadece data'yı değil, access pattern'ini izole et
Confidential-computing TEE'leri, privileged bir adversary'nin (kötü niyetli bir OS/hypervisor) enclave memory'sini okuyamayacağını vaat eder. Ama paylaşılan hardware'de OS hâlâ page table'ları kontrol eder ve bir enclave'in memory-access pattern'ini gözlemleyebilir — page-fault channel üzerinden (enclave'in page table'larını yönettiği için her faulting address'i görür) ve cache timing üzerinden (enclave ve adversary cache'leri/DRAM'i paylaşır). SGX bu kanalları açık bırakır.
Sanctum'un tasarım ilkesi, sızıntıları teker teker tıkamak yerine isolation ile tüm attack surface'leri ortadan kaldırmaktır:
- DRAM region partitioning / page coloring. Fiziksel memory, disjoint cache set'lerine map'lenen region'lara bölünür; bir enclave'e kendi region'ları atanır, böylece memory'si adversary ile asla last-level-cache set'lerini paylaşmaz. Bu, cache side channel'larının shared-cache önkabulünü ortadan kaldırır.
- Per-enclave page table'ları + isolated page-table walker. Her enclave, kendi korumalı DRAM'inde tutulan page table'lara sahiptir ve hardware walker o enclave'in region'larına hapsedilir. OS artık enclave translation'larını yönetmez, bu da page-fault address channel'ını kapatır.
- Minimal trusted software (security monitor). Çoğu security mantığı, secret key'lerle cryptographic işlemler yapmayan küçük bir machine-mode monitor'da yaşar, bu da onu opak SGX microcode'una kıyasla denetlemeyi çok kolaylaştırır.
Bu, bir defensive architecture girdisidir: exploit yok, yalnızca bir leakage sınıfını kaldıran inşa var.
Walkthrough¶
USENIX Security 2016 paper'ından ve IACR ePrint 2015/564 teknik raporundan (Costan, Lebedev, Devadas) kavramsal yeniden inşa.
- Threat model. Adversary OS/hypervisor'ı kontrol eder ve diğer core'larda kod çalıştırabilir; amaç bir enclave'in confidentiality'sini ve access pattern'ini korumaktır.
- Memory layout. Hardware, DRAM'i colored region'lar olarak sunar. Monitor, karşılıklı güvenmeyen enclave'lere ve OS'a disjoint region'lar atar, böylece working set'leri cache'te asla alias olmaz.
- Translation isolation. Bir enclave çalıştığında, address translation enclave'in kendi region'ları içindeki private page table'larını kullanır; OS bunları düzenleyemez ya da faulting address'leri öğrenemez, page-fault side channel'ını etkisizleştirir.
- Monitor & attestation. Machine-mode security monitor, enclave creation/entry/exit'i aracılık eder ve enclave'in measurement'ının remote attestation'ını sağlar, hepsi microcode yerine denetlenebilir software'de.
- Prototype. Açık Rocket RISC-V core üzerinde mütevazı hardware eklemeleriyle implemente edildi, bağımsız araştırmacıların güvenlik özellikleri üzerinde akıl yürütmesine olanak tanıyor.
Minimal extension'ların kazandırdığı (temsili)
- Sadece memory disclosure değil, page-fault channel'a ve cache-timing channel'larına karşı defense — çağdaş SGX'in açık bıraktığı bir boşluk.
- Opak, analiz etmesi zor enclave microcode'una karşı küçük, key-free bir trusted software base (monitor).
Detection¶
Sanctum bir prevention tasarımıdır, dolayısıyla "detection" en iyi onun neyi gözlemlenebilir kıldığı ya da kaldırdığı olarak okunur:
- İnşa gereği kaldırılan side channel'lar. Enclave ve adversary cache set'lerini paylaşmadığı ve OS enclave fault'larını göremediği için, bir cache- ya da page-fault side-channel saldırısının olağan forensic/telemetry sinyallerinin doğru yapılandırılmış bir Sanctum sisteminde ölçecek hiçbir şeyi yoktur.
- Chokepoint olarak monitor. Enclave lifecycle olayları (create, enter, exit, attest) security monitor'dan geçer ve anormal davranışı loglamak ve bir remote verifier'ın kontrol edebileceği attestation kanıtını sabitlemek için tek bir denetlenebilir yer sağlar.
- Açık hardware analizi kolaylaştırır. Rocket-tabanlı prototip açık olduğu için defender'lar/auditor'lar kapalı microcode'a güvenmek yerine isolation mantığını doğrudan inceleyebilir.
Mitigation¶
Sanctum, mitigation'ın kendisidir ve fikirleri genelleşir:
- Paylaşılan microarchitectural state'i partition'la. Page coloring / DRAM region isolation, enclave'lerin çok ötesinde geçerli olan cross-domain cache leakage'a karşı yeniden kullanılabilir bir defense'tir.
- Enclave translation'larının OS kontrolünü kaldır. Per-enclave page table'ları page-fault channel'ını kapatır — sonraki confidential-computing sistemlerinin yankıladığı bir tasarım dersi.
- Trusted monitor'ı minimal ve key-free tut. Küçük, denetlenebilir bir monitor, en privileged kodda bug ihtimalini düşürür — şununla aynı minimizasyon argümanı: dorami-privilege-separating-security-monitor-on-risc-v-tees.md, keystone-an-open-framework-for-architecting-tees.md, ve şunun privilege-reduction felsefesi: rezone-disarming-trustzone-with-tee-privilege-reduction.md.
- Residual'a dikkat et. Page coloring, memory layout'unu ve kapasiteyi kısıtlar; deployment'lar bu maliyeti tartmalıdır. Tek başına, modellenen DRAM/cache partitioning'inin dışındaki transient-execution ya da contention channel'larını ele almaz.