Tantangan menjalankan kode yang tidak terpercaya secara aman sambil mempertahankan kinerja tinggi telah lama menjadi perhatian dalam komputasi awan dan layanan web. Sebuah proyek baru bernama Drogon Sandbox mendemonstrasikan pendekatan inovatif untuk masalah ini, mencapai metrik kinerja yang mengesankan sambil memastikan isolasi yang kuat antar proses.
Isolasi Super Cepat dengan Emulasi RISC-V
Proyek ini mengimplementasikan solusi sandboxing unik menggunakan emulasi RISC-V, memungkinkan isolasi proses yang sangat cepat. Berbeda dengan mesin virtual atau kontainer tradisional, pendekatan ini dapat membuat dan menghancurkan sandbox dalam hitungan mikrodetik sambil menangani 1,7 juta permintaan per detik yang mengesankan dengan 64 thread. Sistem ini hanya menambahkan sekitar 1 mikrodetik overhead dibandingkan dengan respons server Drogon biasa pada 800.000 permintaan per detik.
Metrik Kinerja:
- 8 thread: 803.251 permintaan/detik, rata-rata latensi 9,51μs
- 32 thread: 1.443.679 permintaan/detik, rata-rata latensi 22,49μs
- 64 thread: 1.736.727 permintaan/detik, rata-rata latensi 39,44μs
Perbandingan Beban:
- Vanilla Drogon: rata-rata latensi 8,54μs
- Versi Sandbox: rata-rata latensi 9,51μs
- Beban tambahan: ~1μs per permintaan
Keamanan Melalui Isolasi Lengkap
Diskusi komunitas mengungkapkan bahwa model keamanan bergantung pada libriscv, yang mengemulasikan program RISC-V dalam konteks terisolasi di mana syscall Linux dikendalikan dengan hati-hati. Pendekatan ini berbeda dari mesin virtual berbasis hypervisor tradisional, menawarkan mekanisme isolasi yang lebih ringan namun tetap efektif.
Batas antara host dan guest, API system call, akan selalu menjadi vektor serangan terbesar terlepas dari solusi yang digunakan. Tetapi, jika Anda menemukan masalah dan memperbaikinya, Anda kembali aman, tidak seperti jika Anda sama sekali tidak memiliki sandboxing.
Pendekatan Alternatif dan Kasus Penggunaan
Sementara proyek ini berfungsi sebagai bukti konsep, komunitas telah menyoroti beberapa solusi alternatif untuk kasus penggunaan serupa, termasuk Firecracker untuk isolasi VM penuh, gVisor untuk beban kerja dalam kontainer, dan Lua dengan sandboxing untuk skenario pengembangan game. Setiap pendekatan menawarkan trade-off berbeda antara keamanan, kinerja, dan kemudahan implementasi.
Keterbatasan dan Aplikasi Praktis
Penting untuk dicatat bahwa meskipun angka kinerja mengesankan, solusi ini mungkin tidak cocok untuk semua lingkungan produksi. Proyek ini secara eksplisit menyatakan hanya berisi bagian yang diperlukan untuk pengujian realistis, kurang fitur siap produksi seperti sistem observabilitas, pencatatan, dan pengukuran yang komprehensif. Selain itu, karena berbasis emulasi RISC-V, mungkin tidak mencapai tingkat kinerja yang sama seperti solusi virtualisasi berbasis perangkat keras seperti Firecracker untuk beban kerja yang intensif komputasi.
Referensi: Drogon Sandbox