Google, bir tarayıcıda JavaScript kullanarak Spectre güvenlik açıklarından yararlanıldığını gösteriyor

Google açıkladı birkaç gün önce çeşitli istismar prototipleri güvenlik açıklarından yararlanma olasılığını gösteren bir tarayıcıda JavaScript kodunu çalıştırırken Spectre sınıfının yukarıda eklenen güvenlik yöntemlerinden geçmeden.

Suistimaller, bir sürecin belleğine erişmek için kullanılabilir web içeriğini işleyen mevcut sekmede. İstismarın işleyişini test etmek için sızdıran sayfanın web sitesi başlatıldı ve işlemin mantığını açıklayan kod GitHub'da yayınlandı.

Önerilen prototip, saldırı sistemleri Linux ve Chrome 7 ortamında Intel Core i6500-88U işlemciler, ancak bu, istismarın başka ortamlarda kullanılması için değişiklik yapılabileceğini dışlamaz.

Operasyon yöntemi şunlara özel değildir işlemciler Intel: uygun uyarlamadan sonra, Açıktan yararlanmanın, ARM mimarisine dayalı Apple M1 dahil olmak üzere üçüncü taraf CPU'lara sahip sistemlerde çalıştığı doğrulandı. Küçük ayarlamalardan sonra, istismar aynı zamanda diğer işletim sistemlerinde ve Chromium motorunu temel alan diğer tarayıcılarda da çalışır.

Standart Chrome 88 ve Intel Skylake işlemcilerini temel alan bir ortamda, mevcut Chrome sekmesinde (oluşturma işlemi) web içeriğinin saniyede 1 kilobayt hızında işlenmesinden sorumlu süreçten bir veri sızıntısı yaşadık. Buna ek olarak, 8 mikrosaniye (5 milisaniye) hassasiyetle performance.now () zamanlayıcı kullanılırken, azaltılmış kararlılık pahasına sızıntı oranını 0.005kB / s'ye çıkaran bir istismar gibi alternatif prototipler geliştirilmiştir ). Saniyede yaklaşık 60 baytlık bir hızda başka bir işlemin belleğine erişimi organize etmek için kullanılabilen, bir milisaniyelik zamanlayıcı hassasiyetiyle çalışan bir varyant da hazırlandı.

Yayınlanan demo kodu üç bölümden oluşmaktadır:

  • İlk bölüm çalışma süresini tahmin etmek için zamanlayıcıyı kalibre edin CPU komutlarının spekülatif olarak yürütülmesinin bir sonucu olarak işlemci önbelleğinde kalan verileri almak için gerekli işlemlerin tümü.
  • İkinci kısım JavaScript dizisi tahsis edilirken kullanılan bellek düzenini tanımlar.
  • Üçüncü bölüm Bellek içeriğini belirlemek için doğrudan Spectre güvenlik açığından yararlanır Başarısız bir tahmin belirlendikten sonra sonucu işlemci tarafından atılan, ancak yürütme izleri paylaşılan önbelleğe yerleştirilir ve kullanılarak geri yüklenebilir. önbelleğe alınmış ve önbelleğe alınmamış verilere erişim süresindeki değişikliği analiz eden üçüncü taraf kanallar kullanarak önbelleğin içeriğini belirleme yöntemleri.

Önerilen kullanım tekniği yüksek hassasiyetli zamanlayıcıları ortadan kaldırır performance.now () API'si aracılığıyla ve paylaşılan bellekte diziler oluşturmanıza olanak tanıyan SharedArrayBuffer türü desteği olmadan kullanılabilir.

Bu istismar, kontrollü spekülatif kod yürütülmesine neden olan Spectre cihazını ve spekülatif yürütme sırasında hangi verilerin önbelleğe alındığını belirleyen bir yan kanal sızıntı analizcisini içerir.

Gadget, bir JavaScript dizisi kullanılarak uygulanır, içinde arabellek sınırları dışındaki bir alana erişilmeye çalışılır, derleyici tarafından eklenen bir arabellek boyutu kontrolünün varlığı nedeniyle dal tahmin bloğunun durumunu etkiler (işlemci spekülatif olarak önceden bir erişim gerçekleştirir, ancak kontrol ettikten sonra durumu geri döndürür).

Yetersiz zamanlayıcı hassasiyeti koşulları altında önbelleğin içeriğini analiz etmek için, işlemcilerde kullanılan Ağaç-PLRU önbellek veri çıkarma stratejisini kandıran ve döngü sayısını artırarak, değerin fark süresinin önemli ölçüde artırılmasına izin veren bir yöntem önerildi. önbellekten ve önbellekte bir değer olmadığında döndürülür.

Google, saldırıların uygulanabilirliğini göstermek için istismarın bir prototipini yayınladı Spectre sınıfı güvenlik açıklarını kullanma ve web geliştiricilerini bu tür saldırıların risklerini en aza indiren teknikleri kullanmaya teşvik edin.

Aynı zamanda Google, önerilen prototipte önemli bir revizyon yapılmadan, yalnızca gösterime değil, aynı zamanda yaygın kullanıma da hazır evrensel istismarlar yaratmanın imkansız olduğuna inanıyor.

kaynak: https://security.googleblog.com


Google'da tercih edilen kaynak olarak ekleyin.