2 puan yazan GN⁺ 2025-01-29 | 1 yorum | WhatsApp'ta paylaş

SLAP: Veri spekülasyonu saldırısı (data Speculation attacks via Load Address Prediction)

  • SLAP saldırısı, Apple Silicon’un M2/A15 CPU’larında ortaya çıkan yeni bir spekülatif yürütme saldırısıdır.
  • Load Address Predictor (LAP) üzerinden, bellek erişim kalıplarına dayanarak bir sonraki bellek adresi tahmin edilip performans artırılır.
  • Tahmin yanlış olduğunda CPU, erişmemesi gereken verileri spekülatif yürütme kapsamında işleyerek bir güvenlik riski doğurur.
  • Gerçek bir örnek olarak, Safari web tarayıcısında uzaktaki bir saldırganın e-posta içeriğini ve gezinme davranışını geri çıkarabildiği bir saldırı gösterildi.

FLOP: Yanlış yükleme çıktısı tahminleri (False Load Output Predictions)

  • FLOP saldırısı, Apple M3/A17 CPU’larında veri bağımlılıklarının tahmin edilmesiyle ortaya çıkan başka bir spekülatif yürütme saldırısıdır.
  • Load Value Predictor (LVP) üzerinden, bellek alt sisteminin döndüreceği veri değeri tahmin edilerek performans artırılır.
  • Tahmin yanlış olduğunda, bellek güvenliği için program mantığındaki kritik kontroller atlatılabilir ve bellekte tutulan sırların sızdırılmasına imkân veren bir saldırı yüzeyi açılır.
  • Safari ve Chrome web tarayıcılarında konum geçmişi, takvim etkinlikleri, kredi kartı bilgileri gibi verileri geri çıkaran saldırılar gösterildi.

Demo

  • Proton Mail gelen kutusu verisi sızıntısı: M3 CPU’nun LVP’si, WebKit içindeki JavaScript koduyla eğitilerek gelen kutusu içeriği adres alanına getiriliyor.
  • Muhteşem Gatsby’yi okumak: Apple M2 CPU’da LAP kullanılarak gizli bir dizenin geri çıkarıldığı bir kavram kanıtı gösterimi.
  • Harry Potter’ı okumak: Apple M3 CPU’da LVP kullanılarak yanlış dizi indeksi tahmin ediliyor ve dizgedeki karakterlere başvuruluyor; bu da bir kavram kanıtı gösterimi olarak sunuluyor.

Araştırmacılar

  • Jason Kim, Jalen Chuang, Daniel Genkin (Georgia Institute of Technology)
  • Yuval Yarom (Ruhr University Bochum)

SLAP ve FLOP SSS

Apple cihazım etkileniyor mu?

  • Mac dizüstü bilgisayarlar: 2022’den sonra piyasaya çıkan tüm modeller (MacBook Air, MacBook Pro)
  • Mac masaüstü bilgisayarlar: 2023’ten sonra piyasaya çıkan tüm modeller (Mac Mini, iMac, Mac Studio, Mac Pro)
  • iPad: Eylül 2021’den sonra piyasaya çıkan tüm iPad Pro, Air, Mini modelleri
    • Pro 6. ve 7. nesil, Air 6. nesil, Mini 6. nesil
  • iPhone: Eylül 2021’den sonra piyasaya çıkan tüm modeller
    • Tüm iPhone 13, 14, 15, 16 modelleri ve 3. nesil SE

SLAP ve FLOP saldırıları neden önemli?

  • Koruma mekanizması: Normalde web tarayıcıları, açık iki web sayfasını birbirinden izole ederek bir sayfanın diğerinin içeriğini okuyamamasını sağlar
  • Zafiyet: SLAP ve FLOP bu korumayı etkisiz hâle getirerek saldırgan sayfanın hedef sayfadaki hassas verileri okuyabilmesini sağlar
    • Açığa çıkabilecek veriler: konum geçmişi, kredi kartı bilgileri vb.

SLAP ve FLOP’a karşı nasıl korunabilirim?

  • FLOP için hafifletme yöntemleri var, ancak bunlar yazılım üreticilerinin yama yayınlamasını gerektiriyor; kullanıcıların bunu doğrudan çözmesi mümkün değil
  • Apple, bu sorunu gelecekteki güvenlik güncellemelerinde çözeceğini belirtti; otomatik güncellemeleri etkinleştirmek ve en güncel OS ile uygulamaları kullanmak önemli

Diğer işlemci üreticilerinde durum ne?

  • Intel, AMD, Qualcomm, Ampere gibi ürünlerde henüz SLAP veya FLOP belirtisi bulunmadı

Diğer web tarayıcıları ne durumda?

  • Firefox gibi diğer tarayıcılar test edilmedi

Cihazımda birinin SLAP veya FLOP kullandığını tespit edebilir miyim?

  • SLAP ve FLOP, mikro mimari tabanlı saldırılar olduğu için sistem günlüklerinde iz bırakmaz

Gerçek dünyada kötü niyetli aktörler SLAP veya FLOP’u kullanıyor mu?

  • Şu ana kadar SLAP veya FLOP’un fiilen kullanıldığına dair bir kanıt yok

Apple’a ne zaman bildirdiniz?

  • SLAP: 24 Mayıs 2024’te Apple’a bildirildi
  • FLOP: 3 Eylül 2024’te Apple’a bildirildi

Teknik sorular

Side Channel nedir?

  • Bilgisayar donanımı uygulamasındaki zafiyetleri kötüye kullanan saldırı
    • Yazılım hataları yerine, donanım davranışından kaynaklanan bilgi sızıntıları kullanılır
  • Veri sızıntısı yolları
    • Ses, elektromanyetik dalga, ısı yayılımı gibi fiziksel olgular
    • CPU’nun paylaşılan kaynaklarında (çekirdek, önbellek, iç tamponlar vb.) ortaya çıkan çekişme (contention)
  • CPU çekişmesinden kaynaklanan bilgi sızıntısı
    • Zaman ölçümü, güç tüketimi gibi dolaylı değişkenler üzerinden hedefin davranış kalıpları çıkarımlanabilir

Speculative Execution saldırısı nedir?

  • Speculative Execution: CPU’nun kontrol akışını tahmin ederek komutları önceden yürüttüğü bir optimizasyon tekniği
    • Tahmin yanlışsa durum geri alınır, ancak önbellek gibi ince izler kalır
  • Spectre saldırısı
    • Yanlış akış yönünde tahmine dayalı yürütme tetiklenir
    • Tahmine dayalı yürütme sırasında hassas veriyi kullanan komutlar çalışırsa, veri değeri dolaylı olarak açığa çıkabilir
  • SLAP ve FLOP’taki genişleme
    • Apple CPU’ları yalnızca kontrol akışını değil, veri akışını da tahmin eder
    • FLOP, yanlış veri değerleriyle komutların yürütülmesine yol açar

SLAP nasıl çalışır?

  1. Load Address Prediction (LAP) analizi
    • Belirli bellek adresi kalıpları öğretilirse, LAP bir sonraki adresi tahmin ederek veri işlemlerini yürütür
    • Donanımsal prefetching’den farklı olarak, tahmin edilen veriyle komut yürütülür
  2. Safari zafiyetinden yararlanma
    • iLeakage’in ortaya çıkardığı Safari’deki izolasyon sorununa dayanarak, farklı web sayfalarının aynı süreçte işlenmesi zorlanır
    • Saldırgan web sayfası, hedef web sayfasındaki dizge verisine erişir

FLOP nasıl çalışır?

  1. Load Value Prediction (LVP) analizi
    • Aynı veri değeri tekrar tekrar döndürülürse, LVP sonucu tahmin eder
    • Yanlış bellek değeri kullanılarak komut yürütülür
  2. Safari ve Chrome saldırıları
    • Safari: JavaScript veri yapılarının tür bilgisi tahmin edilerek yanlış veri yapısıyla komut yürütülür
    • Chrome: WebAssembly işlev çağrılarında yanlış argümanlar nedeniyle bellek okuma hatası oluşur

SLAP ile FLOP arasındaki farklar

  • SLAP: Load Address Predictor (LAP) kullanarak dizge tahsislerinin yakınlığını kötüye kullanır
  • FLOP: Load Value Predictor (LVP) kullanarak veri bütünlüğü kontrollerini atlatır
  • LAP vs LVP
    • LAP: Bir sonraki bellek adresini tahmin eder
    • LVP: Bir sonraki bellek değerinin dönüşünü tahmin eder
    • LAP uzun bir eğitim süreci gerektirir, ancak kalıp tahmini mümkündür

JavaScript ve WebAssembly nedir?

  • JavaScript: Web içeriğini dinamik olarak güncelleyen bir dil
  • WebAssembly: Yüksek performanslı web uygulamaları için kullanılan, JavaScript ile birlikte çalışan bir dil
  • Saldırının etkisi
    • Her iki dil de tarayıcıda otomatik olarak çalıştığı için, kötü amaçlı kod indirilmeden de saldırı mümkün olabilir

Neden hedef olarak Safari ve Chrome seçildi?

  • Safari:
    • Site Isolation olmadığı için, farklı alan adlarındaki web sayfaları aynı süreçte çalışabilir
    • LAP ve LVP tabanlı saldırı yüzeyi genişler
  • Chrome:
    • Site Isolation uygulanmış olsa da, bazı durumlarda aynı sitenin alt alan adları tek bir süreçte işlenir
    • LAP ve LVP saldırıları hâlâ mümkün olabilir

Araştırma desteği

  • Bu araştırma AFOSR, Alfred P Sloan Research Fellowship, ARC Discovery Project, DARPA, DFG, Qualcomm, Cisco ve Zama tarafından desteklendi.

1 yorum

 
GN⁺ 2025-01-29
Hacker News yorumları
  • SLAP demosu, savunmada derinliğin bir açığın pratikte sömürülüp sömürülemeyeceğini nasıl belirleyebildiğini iyi gösteriyor. Safari’deki açık, window.open çağrısı sırasında yeni pencereyi ayrı bir süreçte izole edemediği için ortaya çıkıyor

  • M3’te LVP’nin varlığının tersine mühendislikle ortaya çıkarılması ilginç. 8 baytlık yüklemede, yalnızca yüklenen değer 0 olduğunda LVP etkinleşiyor. Bu, bellek güvenliği için alınmış bir önlem olabilir

  • Spectre ve Meltdown saldırıları ile ilgili makaleler ve bağlantılı çalışmalar, bunlarla ilk kez karşılaşanlar için okumaya değer

  • Safari’de önbellek isabeti ile ıskayı ayırt etmek için NOT kapısı tabanlı önbellek yükseltme ilkesi kullanılıyor. Web ortamında bile önbellek isabeti ve ıskası ayırt edilebiliyor

  • Chrome’un site izolasyonunun kusursuz bir hafifletme olmadığını gösteriyor. Aynı sitenin iki alt alan adının tek bir süreçte birleştirilebildiği köşe durumları var

  • Donanım açıklarını duyurmak için kullanılan pazarlama kültürü tuhaf geliyor. Neden açığı basitçe bildirip makale yayımlamak yerine özel alan adları, logolar, SSS’ler vb. hazırlanıyor diye merak ediyorum

  • Geçen yıl Intro to Cyber Security dersinde Profesör Daniel Genkin ile tanıştım. Apple CPU’larına yönelik spekülatif saldırılar üzerinde çalıştığını söylemişti. Güvenliğin neredeyse hiç garanti olmadığını anlamamı sağladı

  • Güvenilmeyen sitelerde varsayılan olarak js’yi devre dışı bırakma eğilimindeyim. Sonuçta bu, makinemizde çalıştırdığımız bir başkasının programı

  • Apple kısa süre önce macOS ve iOS için güvenlik düzeltmeleri içeren küçük sürüm güncellemeleri yayımladı. Bunun bu açığı giderip gidermediğini kontrol eden biri var mı merak ediyorum

  • Görünüşe göre RUB, ileri düzey saldırı güvenliği araştırmalarının küresel merkezi haline geldi. 10 yıl önce buna dikkat etmediğim için mi böyle geliyor, yoksa gerçekten yeni bir olgu mu merak ediyorum