DORAMI: Privilege Separating Security Monitor on RISC-V TEEs¶
RISC-V security monitor'ını M-mode firmware'in geri kalanından enhanced PMP (ePMP) kullanarak izole eden defensive bir tasarım; böylece büyük, vendor-supplied firmware'deki bir bug, monitor'ı ve onun koruduğu tüm enclave'leri compromise edemez.
Mechanism¶
Kapattığı boşluk
RISC-V TEE'lerinde (örn. Keystone tarzı tasarımlar), security monitor (SM) machine mode (M-mode)'da — en yüksek privilege — çalışır, ama bu mode'u üçüncü taraf vendor code dahil büyük bir firmware kütlesiyle paylaşır. "Bug sınıfı" bir over-privileged TCB'dir: M-mode'daki her şey eşit derecede privileged olduğu için, firmware'in herhangi bir yerindeki tek bir memory-safety bug'ı SM'yi ve dolayısıyla koruduğu her enclave'i compromise eder. İhlal edilen invariant, SM'nin integrity'sinin alakasız firmware'in doğruluğuna bağlı olmaması gerektiğidir. DORAMI, mevcut bir RISC-V ISA feature'ını — enhanced PMP (ePMP) — yeniden amaçlandırarak M-mode içinde SM ile firmware arasında izolasyonu zorlar ve aralarındaki geçişleri büyük yazılım değişiklikleri olmadan mediate eder. Standart bir RISC-V platformunda ePMP kullanarak SM-from-firmware privilege separation'ı gösteren ilk çalışmadır.
Walkthrough¶
USENIX Security 2025 makalesinden kavramsal tasarım.
-
Threat model. Untrusted/buggy M-mode firmware (vendor code dahil) security monitor'ı subvert etmeye çalışır.
-
ePMP partitioning. DORAMI, M-mode'u korumalı bir SM region'ı ve kısıtlanmış bir firmware region'ı olarak oymak için ePMP kuralları kullanır; böylece her ikisi de nominal olarak M-mode'da çalışsa bile firmware artık SM memory'sini serbestçe okuyup yazamaz.
-
Mediated transitions. Firmware ile SM arasındaki entry/exit, kontrollü gate'lerden geçirilir; bu, firmware'in arbitrary SM code'una atlamasını ya da SM state'ini bozmasını engeller.
-
Result. Bir RISC-V board'unda, FPGA core'larında ve bir emulator'da değerlendirilmiş; yazarlar drastik yazılım değişikliği ve büyük bir performans cezası olmadığını rapor ediyor.
Detection¶
- TCB audit: M-mode'da ne çalıştığını enumerate et; ePMP separation'ı olmadan SM ile M-mode'u paylaşan herhangi bir vendor/firmware code'u, bu tasarımın ortadan kaldırdığı gözlemlenebilir risktir.
- Configuration check: ePMP kurallarının SM region'ını gerçekten izole ettiğini ve transition gate'lerinin tek entry point olduğunu doğrula.
Mitigation¶
- Tasarımı benimse: DORAMI, over-privileged-M-mode problemi için mitigation'ın kendisidir — tüm M-mode code'una eşit derecede güvenmek yerine, bir firmware bug'ının SM'ye ulaşamaması için ePMP-tabanlı privilege separation uygula.