Spook.js, Chrome'daki Spectre güvenlik açıklarından yararlanmak için yeni bir teknik

Bir grup araştırmacı Amerikan, Avustralya ve İsrail üniversitelerinden yeni bir saldırı tekniği tanımladı güvenlik açıklarından yararlanmaya izin veren Chromium destekli tarayıcılarda Spectre sınıfı.

Kod adı verilen saldırı Spook.js, JavaScript kodu yürütülürken site izolasyon mekanizmasının atlanmasına izin verir ve mevcut işlemin tüm adres alanının içeriğinin okunması, yani diğer sekmelerde yürütülen ancak aynı işlemde işlenen sayfaların verilerine erişme.

Chrome, farklı siteler farklı süreçlerde başlattığından, pratik saldırılar, farklı kullanıcıların sayfalarını barındırmasına izin veren hizmetlerle sınırlıdır. Spook.js saldırı yöntemi, saldırganın JavaScript kodunu gömebileceği bir sayfadan bunu mümkün kılar., aynı sitenin kullanıcısı tarafından açılan diğer sayfaların varlığını belirleyin ve gizli bilgileri ayıklayın örneğin, web formlarında otomatik tamamlama sistemiyle değiştirilen kimlik bilgileri veya banka ayrıntıları.

Yöntemin başka bir uygulaması, tarayıcı eklentilerine yapılan bir saldırıdır. bu, saldırgan tarafından kontrol edilen bir eklenti yüklendiğinde, diğer eklentilerden veri alınmasına izin verir.

Spook.js, Chromium motorunu temel alan herhangi bir tarayıcıya uygulanabilir, Google Chrome, Microsoft Edge ve Brave dahil. Araştırmacılar ayrıca yöntemin Firefox ile çalışacak şekilde uyarlanabileceğine inanıyorlar, ancak Firefox motoru Chrome'dan çok farklı olduğu için böyle bir istismar yaratma işi geleceğe bırakıldı.

Tarayıcı aracılığıyla talimatların spekülatif yürütülmesiyle ilgili saldırılara karşı korunmak için, Chrome'da adres alanı segmentasyonu uygulanır: korumalı alan yalıtımı, JavaScript'in yalnızca 32 bit işaretçilerle çalışmasına izin verir ve denetleyicinin belleğini çakışmayan 4 GB yığınlarda paylaşır.

Sürecin tüm adres alanına erişimi düzenlemek ve 32 bit sınırlamasından kaçınmak için araştırmacılar, JavaScript motorunun bir nesneyi yanlış türde işlemesine izin vererek 64 bit oluşturmayı mümkün kılan tür karıştırma tekniğini kullandılar. iki 32 bitlik değerin birleşimine dayalı kod.

Saldırının özü, JavaScript motorunda özel olarak hazırlanmış bir kötü amaçlı nesneyi işleyerek, diziye erişen talimatların spekülatif olarak yürütülmesine yol açan koşulların yaratılmasıdır. Nesne, saldırganlar tarafından kontrol edilen alanlar 64 bit işaretçinin kullanıldığı alana yerleştirilecek şekilde seçilir.

Kötü amaçlı nesnenin türü işlenmekte olan dizinin türüne karşılık gelmediğinden, normal koşullar altında bu tür eylemler Chrome'da dizilere erişmek için kullanılan kodun deoptimizasyon mekanizması tarafından engellenir. Bu sorunu çözmek için, Type Confusion saldırı kodu, normal koşullar altında tetiklenmeyen, ancak işlemci yanlışlıkla daha fazla dal tahmin ederse spekülatif modda çalışan bir "if" koşullu bloğuna yerleştirilir.

Sonuç olarak, işlemci, oluşturulan 64-bit işaretçiye spekülatif olarak erişir ve başarısız tahmini belirledikten sonra duruma geri döner, ancak yürütme izleri paylaşılan önbellekte ayarlanır ve üçüncü aracılığıyla önbelleğin içeriğini belirlemek için yöntemler kullanılarak geri yüklenebilir. taraf kanalları, önbelleğe alınmış ve önbelleğe alınmamış verilere erişim süresindeki değişikliği analiz eder.

JavaScript'te bulunan zamanlayıcının yetersiz kesinliği koşullarında önbelleğin içeriğini analiz etmek için, işlemcilerde kullanılan Tree-PLRU önbellek veri tahliye stratejisini kandıran ve sayı döngülerini artırarak, Google tarafından önerilen bir yöntem kullanılır. önbellekte bir değerin varlığı ve yokluğundaki zaman farkını önemli ölçüde artırır.

Araştırmacılar, Chrome 89 e'de çalışan bir prototip istismarı yayınladıIntel i7-6700K ve i7-7600U ile n sistemler. Bu istismar, Spectre saldırılarını gerçekleştirmek için daha önce Google tarafından yayınlanan JavaScript kodunun prototipleri kullanılarak oluşturuldu.

Sonunda araştırmacılar bundan bahsediyor Intel ve Apple M1 işlemcilere dayalı sistemler için çalışan istismarlar hazırlamayı başardıSaniyede 500 bayt hızında ve %96 doğrulukta okunan belleği düzenleme fırsatı verilir. Yöntemin AMD işlemcilere uygulanabilir olması gerekiyordu, ancak tam olarak işlevsel bir istismar hazırlamak mümkün değildi.

kaynak: https://www.spookjs.com


Yorumunuzu bırakın

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

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  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.