Yeni NetSpectre Saldırısı, Kurbanın Kötü Amaçlı Kod İndirmesini veya Çalıştırmasını Gerektirmiyor

Güvenlik / Yeni NetSpectre Saldırısı, Kurbanın Kötü Amaçlı Kod İndirmesini veya Çalıştırmasını Gerektirmiyor

NetSpectre Giriş Kazanmak İçin Makine Limanlarını Bombaladı

4 dakika okundu

Yeni bir Spectre sınıfı CPU saldırısı, bu tür CPU saldırısının nasıl çalıştığına dair derinlemesine ayrıntılara yer veren “NetSpectre: Ağ Üzerinden Rasgele Belleği Oku” başlıklı bir araştırma makalesini yayınladıkları için akademik bilim adamlarının dikkatini çekti.



Yeni Spectre CPU saldırısını biraz korkutucu yapan şey, gerektirmez saldırganın kurbanlarını kandırarak makinelerinde kötü amaçlı komut dosyaları indirmesi ve çalıştırması, hatta kullanıcının tarayıcısında kötü amaçlı JavaScript çalıştıran bir web sitesine erişmesi.

NetSpectre, hedeflerine ulaşmak için bir yol bulana kadar bir makinenin ağ bağlantı noktalarını bombalayacaktır.



'Spectre saldırıları, bir kurbanı, programın talimatlarının sıralı olarak sırayla işlenmesi sırasında gerçekleşmeyecek ve kurbanın gizli bilgilerini gizli bir kanal aracılığıyla bir saldırgana sızdıran işlemleri spekülatif olarak gerçekleştirmeye teşvik ediyor'



Ancak NetSpectre kendi kusurları olmadan gelmiyor. Ağ bağlantısı aracılığıyla gerçekleştirilecek saldırılar için saatte yaklaşık 15 bit olan ve CPU'nun önbelleğinde depolanan verileri hedefleyen inanılmaz derecede yavaş bir veri sızdırma hızına sahiptir.



Araştırma makalesinde, akademisyenler, Intel CPU'lara özel CPU'nun AVX2 modülü aracılığıyla işlenen verileri hedefleyen özel bir NetSpectre varyasyonu ile 60 bit / saate kadar ulaşabildiler.

Her iki durumda da, NetSpectre şu anda saldırganlar için değerli olamayacak kadar yavaş kabul edilmektedir, bu da NetSpectre'nin yalnızca bir teorik tehdit, şirketlerin korunmaktan kaçması gereken bir şey değil Daha şimdi . Bununla birlikte, teknoloji ilerledikçe, sızma hızları şüphesiz artacak ve ardından endişelenecek yepyeni bir uygulanabilir ve inanılmaz derecede kolay CPU saldırıları sınıfına sahibiz.

Yeni NetSpectre saldırısı, Google araştırmacılarının bu yılın başlarında (2018) ortaya çıkardığı Spectre V1 güvenlik açığı (CVE-2017-5753) ile ilgilidir. Bu, Specter V1'den etkilenebilecek tüm CPU'ların, uygun işletim sistemi ve CPU ürün yazılımı ile konuşlandırılmışsa, NetSpectre olduğuna inanıldığı anlamına gelir.



NetSpectre için şu anda iki saldırı çeşidi vardır: Hedef sistemden veri çıkarma ve hedef sistemdeki ASLR'yi (Adres Alanı Düzeni Randomizasyonu) uzaktan kırma.

İlk tür saldırı için olaylar zinciri şu şekildedir:

  1. Şube belirleyicisini karıştırın.
  2. Mikro mimari elemanın durumunu sıfırlayın.
  3. Mikro mimari elemana biraz sızın.
  4. Mikro mimari elemanın durumunu ağa gösterin.
  • 1. adımda, saldırgan kurbanın dal tahmincisini bir Spectre saldırısı yapmak için yanlış kullanır. Dal belirleyiciyi yanlış anlamak için saldırgan, sızıntı aygıtını geçerli endekslerle kullanır. Geçerli endeksler, dal tahmincisinin her zaman dalı almayı öğrenmesini sağlar, yani şube tahmincisi koşulun doğru olduğunu speküle eder. Bu adımın yalnızca sızıntı gadget'ına dayandığını unutmayın. Saldırgan için geri bildirim yoktur ve bu nedenle mikro mimari durumunun sıfırlanması veya iletilmesi gerekmez.
  • 2. adımda, saldırganın sızan bitlerin bir mikro mimari eleman kullanarak kodlanmasını sağlamak için mikro mimari durumunu sıfırlaması gerekir. Bu adım, büyük ölçüde kullanılan mikro mimari öğeye bağlıdır, örneğin, önbellekten yararlanırken, saldırgan kurbandan büyük bir dosya indirir; AVX2 kullanılırsa, saldırgan sadece 1 milisaniyeden fazla bekler. Bu adımdan sonra, kurbandan biraz sızmak için tüm gereksinimler karşılanır.
  • 3. adımda, saldırgan, kurbandan bir parça sızmak için Spectre güvenlik açığından yararlanır. Dal tahmincisi, adım 1'de yanlış eğitildiğinden, sızıntı cihazına bir sınır dışı indeks sağlanması, bağlı yolu çalıştıracak ve mikro mimari elemanı değiştirecektir, yani bit, mikro mimari eleman içinde kodlanmıştır.
  • 4. adımda, saldırganın şifreli bilgileri ağ üzerinden iletmesi gerekir. Bu adım, orijinal Spectre saldırısının ikinci aşamasına karşılık gelir. Saldırgan, gönderme aracı tarafından işlenen bir ağ paketi gönderir ve paketin gönderilmesinden yanıt gelene kadar geçen süreyi ölçer.

Saldırı Yöntemi # 2: ASLR'yi Uzaktan Kırmak

  1. Şube belirleyicisini karıştırın.
  2. Bir (bilinen) bellek konumunu önbelleğe almak için sınırların dışında bir dizine erişin.
  3. Sınır dışı erişimin bir kısmını önbelleğe alıp almadığını anlamak için ağ üzerinden bir işlevin yürütme süresini ölçün.

Spectre Karşı Tedbirler

Intel ve AMD, lfence talimatının bir spekülasyon engeli olarak kullanılmasını önermektedir. Bu talimat, spekülatif yürütmeyi durdurmak için güvenlik açısından kritik sınırlar kontrolünden sonra eklenmelidir. Ancak, bunu her sınır denetimine eklemek önemli bir performans ek yüküne sahiptir.

NetSpectre ağ tabanlı bir saldırı olduğu için, yalnızca Spectre'nin azaltılmasıyla değil, aynı zamanda ağ katmanındaki karşı önlemlerle de önlenebilir. Önemsiz bir NetSpectre saldırısı, aynı kaynaktan birden fazla aynı paket gönderildiği için DDoS koruması ile kolayca tespit edilebilir.

Bununla birlikte, bir saldırgan saniye başına paket ile saniye başına sızan bit arasında herhangi bir değiş tokuşu seçebilir. Böylelikle bitlerin sızma hızı, DDoS izlemenin algılayabileceği eşiğin altına basitçe düşürülebilir. Bu, izinsiz giriş tespit sistemleri gibi devam eden saldırıları tespit etmeye çalışan herhangi bir izleme için geçerlidir.

Saldırı teorik olarak engellenmese de, bir noktada saldırı gerçekleştirilemez hale gelir, çünkü sızıntı için gereken süre büyük ölçüde artar. NetSpectre'yi azaltmanın başka bir yöntemi, ağ gecikmesine yapay gürültü eklemektir. Ölçüm sayısı ağ gecikmesindeki değişime bağlı olduğundan, ek gürültü, saldırganın daha fazla ölçüm yapmasını gerektirir. Bu nedenle, ağ gecikmesindeki varyans yeterince yüksekse, NetSpectre saldırıları gereken çok sayıda ölçüm nedeniyle gerçekleştirilemez hale gelir.