- Datadog tarafından geliştirilen, Go uygulamaları için güvenli ve güvenilir bir otomatik enstrümantasyon aracı
- Enstrümantasyonu derleme zamanında ekleyerek çalışma zamanı ek yükünü en aza indirir
- RASP özellikleriyle uygulamayı korur
- Derleme sürecinde kaynak kodu değiştirerek Datadog APM izleme için enstrümantasyonu otomatik olarak ekler
- Datadog Application Security Management Exploit Prevention özelliği sayesinde uygulamayı yaygın güvenlik açıklarına karşı korur
Nasıl çalışır
- Go toolchain ile entegre olarak derleme sırasında kaynak kodu analiz eder ve değiştirir.
- Kodu Abstract Syntax Tree (AST) seviyesinde işleyerek Go derleyicisinin tüm değişiklikleri doğrulamasını ve tür denetimi yapmasını sağlar.
- Uygulamanın tüm davranışlarına sınırsız erişim sağlarken derlenmiş ikiliyi doğrudan değiştirmenin yol açabileceği hataları önler.
- Go derleyicisinin optimizasyon sürecinden yararlanarak değiştirilen kodun optimize edilmesini ve çalışma zamanı ek yükünün azaltılmasını sağlar.
- Değiştirilen kaynak koda Go
//line pragma yönergesini ekleyerek yapılan değişikliklerin satır numaralarını etkilememesini ve enstrümante edilmiş uygulamada üretilen stack trace'lerin özgün kaynak koddaki doğru konumu göstermesini sağlar.
Neden derleme zamanı enstrümantasyonu kullanılıyor
- Güvenlik, güvenilirlik, veri kalitesi: Derleme zamanı enstrümantasyonu, binary patching veya eBPF'ye kıyasla daha güvenli ve daha güvenilir veri üretir.
- Otomasyon: Binary patching ve eBPF yüksek düzeyde otomasyon sunar, ancak Orchestrion build sürecinde değişiklik ve uygulamanın yeniden dağıtılmasını gerektirir.
- Performans ek yükü: eBPF, kernel ile user space arasındaki context switch'ler nedeniyle performans ek yükü oluşturabilir. Orchestrion ise enstrümantasyonu derleme zamanında ekleyerek çalışma zamanı ek yükünü en aza indirir.
- Desteklenen ortamlar: eBPF Linux ortamıyla sınırlıyken Orchestrion çeşitli ortamları destekler.
- Genel yetenekler: eBPF'nin işlevleri sınırlıdır, ancak Orchestrion kod seviyesinde çalıştığı için daha fazla yetenek sunar.
Güvenlik için Orchestrion
- Kod seviyesinde çalışarak programın kontrol akışını değiştirebilen enstrümantasyon ekler ve böylece RASP işlevlerini hayata geçirir.
- SQL injection veya local file inclusion gibi yaygın zafiyetlere karşı uygulamanın kendini korumasını sağlayabilir.
- Belirli API'leri başka API'lerle tamamen değiştirebilir; böylece geliştiricilerin izleme bağlamı zincirleme için tüm iş mantığı katmanlarına context değeri taşımayı düşünmesi gerekmez.
Henüz yorum yok.