Ana içeriğe geç
Güvenlik

eBPF güvenlik aracında önbellekleme işlemci maliyetini yüzde 90 düşürdü

Öne çıkanlar

  • eBPF aracında yapılan inode tabanlı önbellekleme, çekirdek işlemci döngülerini 28 milyardan 3,03 milyara düşürdü.
  • Önbellek anahtarı çakışmaları engellemek için bağlama isim alanı, bağlama kimliği ve inode numarasını birlikte kullanıyor.
  • Sabit bağlantılı dosyalarda tutarlılık sağlamak için bağlantı sayısı 1'den büyük olan girdiler önbellek dışı bırakıldı.

Açık kaynaklı eBPF güvenlik aracı Bomfather'ın geliştiricileri, dosya açma işlemlerindeki politika denetimlerini önbelleğe alarak çekirdek işlemci maliyetini yaklaşık yüzde 90 oranında azalttı. Geliştiriciler, güvenlik kurallarını uygularken asıl yükün izin kararından ziyade ilgili dosya yoluna hangi politikanın uyduğunu belirlemekten kaynaklandığını tespit etti. LSM kancası üzerinden çalışan sistem, önbellek öncesinde her dosya açılışında üst dizinleri tek tek tarayarak yolu yeniden inşa ediyordu.

Ekip, maliyetli dizin taramalarının önüne geçmek için doğrudan dosya indeks düğümünü (inode) temel alan bir önbellek mimarisi kurdu. eBPF haritalarında işaretçi saklanamadığı için anahtar yapısında bağlama isim alanı kimliği, bağlama kimliği ve inode numarası birlikte kullanıldı. Politikalar bit maskesi olarak saklanırken, veriler en son kullanılanlar (LRU) algoritmasına dayalı karma tablosunda tutuldu. Böylece aynı dosyanın veya alt dizinlerin tekrar eden erişimlerinde yavaş yol atlanarak doğrudan önbellekten karar verildi.

Aynı dosyanın 200 bin kez açıldığı performans testlerinde, çekirdek döngü sayısı 28 milyardan 3,03 milyara geriledi. Yol doğrulama işlevlerinin çağrı yığınındaki görünürlüğü yüzde 80 seviyelerinden yüzde 0,02'ye kadar indi. Geliştiriciler, sabit bağlantı (hardlink) kaynaklı tutarsızlıkları önlemek için bağlantı sayısı birden fazla olan dosyalarda önbelleği devre dışı bırakarak yavaş yola dönen güvenli bir yöntem benimsedi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.