eBPF'deki güvenlik açığı, Spectre saldırılarına karşı baypas koruması sağlar

Dün burada blogda bununla ilgili haberleri yayınladık Aya, eBPF sürücüleri oluşturmak için bir kitaplık Rust'ta ve bunun amacının daha güvenli sürücüler veya Hafızayı sağlamak için Prossimo projesi Rust ile Linux çekirdeğinin (önümüzdeki aylarda konuşulacak çok şey verecek iki büyük proje).

Ve kısa bir süre içinde, çeşitli güvenlik açıkları bildirildi içinde eBPF'deki hatalardan yararlanın ve bunun, çekirdek geliştiricilerinin çalışmayı bırakmadığı bir sorun olduğunu ve belki de çözümün Rust olduğunu.

Bu konuya temas edilmesinin nedeni, yakın zamanda tespit ettikleri haber çıktı Linux çekirdeğindeki "Diğer" güvenlik açığı (CVE-2021-33624) için Spectre sınıfı güvenlik açıklarına karşı baypas koruması, çünkü bu, belirli işlemlerin yürütülmesine ilişkin spekülasyonlar için koşulların yaratılmasının bir sonucu olarak belleğin içeriğini belirleyebilmek için eBPF alt sisteminin kullanılmasına izin verir.

Güvenlik açığının BPF programlarındaki hataları ve geçersiz etkinlikleri tespit etmek için kullanılan doğrulayıcıdaki hatalardan kaynaklanır.. Doğrulayıcı, olası kod yürütme yollarını listeler, ancak komut kümesi mimarisi semantiği açısından geçerli olmayan dallanma seçeneklerini yok sayar.

Bir BPF programı çalıştırılırken, doğrulayıcı tarafından dikkate alınmayan dallanma seçenekleri, işlemci tarafından yanlış tahmin edilebilir ve spekülatif bir modda yürütülebilir.

Etkilenen sistemlerde, ayrıcalığı olmayan bir BPF programı, bir yan kanal aracılığıyla rastgele çekirdek belleğinin (ve dolayısıyla tüm fiziksel belleğin) içeriğini filtrelemek için bu güvenlik açığından yararlanabilir.

Örnek "Yükleme" işlemini analiz ederken, doğrulayıcı, talimatın bir kayıt kullandığını varsayar. değeri her zaman belirtilen sınırlar içinde olan bir adresle, ancak bir saldırgan koşullar yaratabilir hangi altında işlemci spekülatif olarak bir ticaret yapmaya çalışacak doğrulama koşullarını karşılamayan bir adresle.

hayalet saldırısı ayrıcalıklı kodda belirli bir komut dosyasının bulunmasını gerektirir, talimatların spekülatif olarak yürütülmesine yol açar. Yürütülmesi için geçirilen BPF programlarını manipüle ederek, eBPF'de bu tür talimatları oluşturmak ve çekirdek belleğin içeriğini ve fiziksel belleğin rastgele alanlarını yan kanallar aracılığıyla filtrelemek mümkündür.

Buna ek olarak, performans etkisi hakkında bir not işaretleyebilirsiniz varlıkların Spectre güvenlik açıklarına karşı korumak için.

Bu not sonuçları özetler hata ayıklayıcı optimizasyonu rr (Kaydet ve Tekrar Oynat), bir zamanlar Mozilla tarafından Firefox'ta tekrarlanması zor hataları ayıklamak için oluşturuldu. Dizinlerin varlığını doğrulamak için kullanılan sistem çağrılarını önbelleğe almak, test projesi için "rr kaynakları" işlemini 3 dakika 19 saniyeden 36 saniyeye düşürdü.

Optimizasyon yazarı kontrol etmeye karar verdi ne kadar değişecek Spectre korumasını devre dışı bıraktıktan sonra performans. Sistemi "mitigations = off" parametresi ile başlattıktan sonra, "rr kaynaklarının" optimizasyon olmadan yürütme süresi 2 dakika 5 saniye (1.6 kat daha hızlı) ve optimizasyon ile 33 saniye (%9 daha hızlı) idi.

Merakla, Spectre korumasını devre dışı bırakmak yalnızca çalışma süresini azaltmakla kalmaz çekirdek seviyesi kodunun 1.4 kez (2 dakika 9 saniyeden 1 dakika 32 saniyeye kadar), ayrıca kullanıcı alanındaki yürütme süresini yarıya indirdi (1 dk 9s'den 33s'ye), muhtemelen verimlilikteki düşüş nedeniyle CPU önbelleği ve TLB, Spectre koruması etkinleştirildiğinde sıfırlanır.

Sorun 4.15 çekirdek sürümünden bu yana ortaya çıktı ve yamalar şeklinde düzeltildi, şu anda hala tüm dağıtımlara ulaşmayan, bu nedenle kullanıcılara bu günlerde bildirimleri alır almaz ilgili güncellemeleri yapmaları önerilir.

Si onun hakkında daha fazlasını bilmek istiyorsunayrıntıları kontrol edebilirsiniz Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.