- Alat instrumentasi otomatis yang aman dan andal untuk aplikasi Go yang dikembangkan oleh Datadog
- Menyisipkan instrumentasi pada waktu kompilasi untuk meminimalkan overhead saat runtime
- Melindungi aplikasi melalui fitur RASP
- Memodifikasi kode sumber selama proses kompilasi untuk secara otomatis menyisipkan instrumentasi bagi pelacakan Datadog APM
- Melindungi aplikasi dari kerentanan umum melalui fitur Datadog Application Security Management Exploit Prevention
Cara kerja
- Terintegrasi dengan toolchain Go untuk menganalisis dan memodifikasi kode sumber selama proses kompilasi.
- Memanipulasi kode pada level Abstract Syntax Tree(AST) agar kompiler Go memverifikasi semua perubahan dan melakukan pemeriksaan tipe.
- Mencegah kesalahan yang dapat terjadi saat memodifikasi biner hasil kompilasi secara langsung, sambil tetap memungkinkan akses tak terbatas ke seluruh perilaku aplikasi.
- Kode yang telah dimodifikasi dioptimalkan melalui proses optimisasi kompiler Go sehingga overhead saat runtime berkurang.
- Menyisipkan direktif pragma Go
//line ke dalam kode sumber yang dimodifikasi agar nomor baris tidak terpengaruh oleh perubahan, dan agar stack trace yang dihasilkan dari aplikasi yang telah diinstrumentasi menunjuk ke lokasi yang benar pada kode sumber asli.
Mengapa menggunakan instrumentasi waktu kompilasi
- Keamanan, keandalan, kualitas data: instrumentasi waktu kompilasi menghasilkan data yang lebih aman dan andal dibandingkan binary patching atau eBPF.
- Otomatisasi: binary patching dan eBPF menawarkan tingkat otomatisasi yang tinggi, tetapi Orchestrion memerlukan perubahan pada proses build dan redeploy aplikasi.
- Overhead performa: eBPF dapat menimbulkan overhead performa akibat context switch antara kernel dan ruang pengguna. Orchestrion menyisipkan instrumentasi pada waktu kompilasi untuk meminimalkan overhead saat runtime.
- Lingkungan yang didukung: eBPF terbatas pada lingkungan Linux, sedangkan Orchestrion mendukung berbagai lingkungan.
- Fungsi secara keseluruhan: eBPF memiliki fungsi yang terbatas, tetapi Orchestrion bekerja di level kode sehingga menyediakan lebih banyak kemampuan.
Orchestrion untuk keamanan
- Mengimplementasikan fitur RASP dengan menyisipkan instrumentasi yang dapat mengubah alur kontrol program melalui operasi di level kode.
- Dapat melindungi aplikasi secara mandiri dari kerentanan umum seperti SQL injection atau local file inclusion.
- Dapat sepenuhnya mengganti API tertentu dengan API lain, sehingga developer tidak perlu memikirkan pengiriman nilai context ke seluruh lapisan logika bisnis untuk keperluan chaining konteks pelacakan.
Belum ada komentar.