Cabaran untuk menjalankan kod yang tidak dipercayai dengan selamat sambil mengekalkan prestasi tinggi telah lama menjadi kebimbangan dalam pengkomputeran awan dan perkhidmatan web. Satu projek baharu yang dipanggil Drogon Sandbox menunjukkan pendekatan inovatif kepada masalah ini, mencapai metrik prestasi yang mengagumkan sambil memastikan pengasingan yang kukuh antara proses.
Pengasingan Pantas dengan Emulasi RISC-V
Projek ini melaksanakan penyelesaian sandbox yang unik menggunakan emulasi RISC-V, membolehkan pengasingan proses yang sangat pantas. Berbeza dengan mesin maya atau kontainer tradisional, pendekatan ini boleh mewujudkan dan memusnahkan sandbox dalam masa mikrosaat sambil mengendalikan 1.7 juta permintaan sesaat yang mengagumkan dengan 64 bebenang. Sistem ini hanya menambah kira-kira 1 mikrosaat overhed berbanding dengan tindak balas pelayan Drogon biasa pada 800,000 permintaan sesaat.
Metrik Prestasi:
- 8 bebenang: 803,251 permintaan/saat, purata kependaman 9.51μs
- 32 bebenang: 1,443,679 permintaan/saat, purata kependaman 22.49μs
- 64 bebenang: 1,736,727 permintaan/saat, purata kependaman 39.44μs
Perbandingan Overhed:
- Vanilla Drogon: purata kependaman 8.54μs
- Versi bersandbox: purata kependaman 9.51μs
- Overhed tambahan: ~1μs bagi setiap permintaan
Keselamatan Melalui Pengasingan Lengkap
Perbincangan komuniti mendedahkan bahawa model keselamatan bergantung pada libriscv, yang mengemulasi program RISC-V dalam konteks yang terpencil di mana panggilan sistem Linux dikawal dengan teliti. Pendekatan ini berbeza daripada mesin maya berasaskan hypervisor tradisional, menawarkan mekanisme pengasingan yang lebih ringan tetapi masih berkesan.
Sempadan antara hos dan tetamu, API panggilan sistem, akan sentiasa menjadi vektor serangan terbesar tidak kira apa penyelesaian yang digunakan. Tetapi, jika anda menemui masalah dan membetulkannya, anda akan kembali selamat, tidak seperti jika anda langsung tidak mempunyai sandbox.
Pendekatan Alternatif dan Kes Penggunaan
Walaupun projek ini berfungsi sebagai bukti konsep, komuniti telah menyoroti beberapa penyelesaian alternatif untuk kes penggunaan yang serupa, termasuk Firecracker untuk pengasingan VM penuh, gVisor untuk beban kerja berkontainer, dan Lua dengan sandbox untuk senario pembangunan permainan. Setiap pendekatan menawarkan pertukaran yang berbeza antara keselamatan, prestasi, dan kemudahan pelaksanaan.
Batasan dan Aplikasi Praktikal
Adalah penting untuk diperhatikan bahawa walaupun angka prestasi mengagumkan, penyelesaian ini mungkin tidak sesuai untuk semua persekitaran pengeluaran. Projek ini secara jelas menyatakan ia hanya mengandungi bahagian yang diperlukan untuk penanda aras realistik, kekurangan ciri-ciri sedia untuk pengeluaran seperti sistem pemantauan menyeluruh, pengelogan, dan pengukuran. Tambahan pula, berasaskan emulasi RISC-V, ia mungkin tidak mencapai tahap prestasi yang sama seperti penyelesaian virtualisasi perkakasan seperti Firecracker untuk beban kerja intensif pengkomputeran.
Rujukan: Drogon Sandbox