Skip to content

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.

  1. Threat model. Untrusted/buggy M-mode firmware (vendor code dahil) security monitor'ı subvert etmeye çalışır.

  2. 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.

  3. 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.

  4. 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.

References