3 puan yazan GN⁺ 2024-11-11 | 1 yorum | WhatsApp'ta paylaş
  • MIT donanım güvenliği projesi, web tarayıcısında mümkün olan makine öğrenimi destekli yan kanal saldırısını yeniden üretirken, yüksek model doğruluğunun gerçek nedeni kanıtlamadığı tuzağını ortaya koydu
  • Mevcut web sitesi parmak izi araştırmaları nedeni CPU önbellek çekişmesi olarak görüyordu; ancak önbellek erişimini kaldırıp yalnızca basit bir sayacı artıran yöntem, birçok ortamda daha yüksek doğruluk sağladı
  • Araştırma ekibi CPU frekans ölçekleme, CPU çekirdeği çekişmesi ve önbellek hipotezlerini sırasıyla eledi; eBPF enstrümantasyonuyla 100 ns’den uzun duraklama aralıklarının %99’undan fazlasının kesme işleme olduğunu doğruladı
  • Yalnızca sistem kesmesi sinyalleriyle bile web sitesi yükleme etkinliği açığa çıktı; Chrome/Linux’ta 100 web sitesi arasından kurban siteyi belirleme doğruluğu %96,6’ya kadar ulaştı
  • Savunma tasarlamak için, modelin doğru tahmin etmesinden önce yan kanalın gerçek mekanizmasını doğrulayan analiz gerekir

Araştırmanın çıkış noktası

  • 2020’de MIT’nin Secure Hardware Design dersinde, web geliştirme ve makine öğrenimi deneyimine dayanarak web sitesi parmak izi saldırısını yeniden uygulayan bir proje başladı
  • Mengjia Yan, makine öğrenimiyle donanım zayıflıklarına saldıran güncel web sitesi parmak izi araştırmalarında bir şeylerin tutmadığını düşünerek yeniden uygulamayı önerdi
  • Proje daha sonra There’s Always a Bigger Fish: A Clarifying Analysis of a Machine-Learning-Assisted Side-Channel Attack makalesine dönüştü
    • Makale Intel’in 2024 Hardware Security Academic Award’ında birincilik aldı ve 2023 IEEE Micro Top Picks seçkisine dahil edildi
    • Araştırma üç ekseni ele alıyor: tarayıcı saldırıları, sistem kesmesi sızıntıları ve makine öğrenimi yorumlama hataları

Yan kanallar ve web sitesi parmak izi

  • Süreç izolasyonu, uygulamaların belleğini ve kaynaklarını ayırır; ancak gerçek bilgisayarlarda ağ kartı, GPU ve CPU gibi kaynaklar sürekli paylaşılır
  • Paylaşılan kaynaklar, istemeden kullanıcı etkinliği bilgisi sızdırabilir
    • Aynı Wi‑Fi yönlendiricisini kullanan biri büyük bir video izlerse, diğer kullanıcıların indirme süreleri yavaşlayabilir
    • Güç tüketimindeki değişimler veya elektromanyetik yayılımlar da şifreleme anahtarlarını ya da kullanıcı etkinliğini tahmin etmeye yarayan yan kanallar olabilir
  • Web sitesi parmak izi, bir sekmedeki saldırgan web sitesinin başka bir sekmede açılmış kurban web sitesini tanımlamaya çalıştığı bir saldırıdır
  • Shusterman et al.’ın önceki çalışması, CPU önbelleğini kullanarak 100 aday web sitesi arasından açılan siteyi tahmin eden bir saldırı sundu
    • Saldırgan, CPU önbelleği boyutunda bir dizi oluşturur ve bunu 1’lerle doldurur
    • Kurban web sitesi yüklenirken her 2 ms’de bir dizi erişim süresini ölçer
    • 15 saniye boyunca toplam 7.500 ölçüm değeri toplar
    • Her web sitesinde betikler, görseller, stil sayfaları ve render desenleri benzer şekilde tekrarlandığından, ölçüm izi parmak izi gibi kullanılır
    • 100 web sitesinden her biri için 100 iz toplayarak toplam 10.000 etiketli örnekten oluşan bir veri kümesi oluşturur ve makine öğrenimi modelini eğitir
    • Çeşitli tarayıcı ve işletim sistemlerinde en fazla %91,4 doğruluk elde eder

Önbelleği kaldıran sayaç saldırısı

  • İlk yeniden uygulamada 4 web sitesini sınıflandırmak kolaydı ve basit bir Random Forest sınıflandırıcısıyla %98 doğruluk elde edildi
  • Deney 10 web sitesine genişletildiğinde başlangıçta doğruluk %75’ti; daha sonra 10, 50 ve 100 web sitesi sınıflandırmasına kadar iyileştirildi
  • Belirleyici değişiklik, önbellek dizisi erişimini kaldırıp saldırganın mümkün olduğunca hızlı şekilde value++ döngüsü çalıştırmasını sağlayan yöntemdi
    • Sayaç değeri belirli aralıklarla kaydedildiğinde, bilgisayarın o süre içinde ne kadar çalıştırma yaptığı iz olarak kalır
    • Tarayıcı penceresini yeniden boyutlandırma veya yeni sekme açma gibi diğer etkinlikler de sayaç izine yansır
    • Makalede, sabit süre içinde daha fazla bilgi elde etmek için değer her 5 ms’de bir kaydedildi
  • Sayaç izleriyle eğitilen model, mevcut önbellek gecikmesi izlerinden daha yüksek web sitesi tanımlama doğruluğu gösterdi
  • Bu sonuç, mevcut saldırının gerçekten önbellek çekişmesini kullanıp kullanmadığına dair soru işareti doğurdu ve nedeni bulmaya yönelik analize yol açtı

Model doğruluğu ile neden analizi arasındaki boşluk

  • Makine öğrenimi destekli yan kanal saldırılarında modelin kullanıcı etkinliğini kararlı biçimde tahmin edebilmesi, yalnızca sinyalin varlığını gösterir
  • Yüksek doğruluk, bu sinyalin hangi yan kanaldan geldiğini kanıtlamaz
    • Shusterman et al.’ın modeli kurban web sitesini %91,4 doğrulukla tahmin etmiş olsa bile, bu CPU önbellek çekişmesini yakaladığı anlamına gelmez
    • Modelin bulduğu şey korelasyondur; sinyalin nedenini açıklamaz
  • Yanlış neden analizi, savunma tasarımını yanlış yönlendirebilir
    • Araştırmacılar saldırı makalelerine dayanarak bilgisayarları daha güvenli kılacak savunmalar tasarlar
    • Saldırının nedeni yanlış anlaşılırsa zaman ve emek boşa harcanabilir

Hipotez testi: frekans, çekirdek, kesme

  • Araştırma ekibi, mevcut önbellek tabanlı saldırı ile yeni sayaç tabanlı saldırıyı çeşitli ortamlarda karşılaştırdı
    • 100 web sitesi tanımlama görevinde sayaç tabanlı saldırı, neredeyse tüm deney konfigürasyonlarında daha yüksek doğruluk verdi
    • macOS’ta Safari’de önbellek saldırısı %72,6, sayaç saldırısı %96,6 doğruluk gösterdi
    • Varsayılan konfigürasyonda 100 web sitesi arasından doğru siteyi %95,2 doğrulukla belirledi
  • CPU frekans ölçekleme hipotezi

    • Modern CPU’lar, iş yüküne göre frekansı artırıp azaltarak enerji tasarrufu yapar
    • Kurban web sitesi yüklenirken CPU frekansının değişip sayaç değerini değiştirebileceği hipotezi kuruldu
    • BIOS’ta frekans ölçekleme devre dışı bırakıldıktan sonra yeni veriler toplandı ve model eğitildi
    • Doğruluk %95,2’den %94,2’ye yalnızca 1 yüzde puanı düştü; bu da sayaç değeri değişimlerinin CPU frekansı değişimiyle açıklanmasını zorlaştırdı
  • CPU çekirdeği çekişmesi hipotezi

    • Saldırgan ve kurban sekmeleri aynı CPU çekirdeğinde çalışırsa, kurban sekmesinin yüklenmesi saldırganın sayaç yürütme süresini azaltabilir
    • Linux’ta taskset kullanılarak saldırgan ve kurban sekmelerinin farklı çekirdeklerde çalışması sabitlendi
    • CPU frekans ölçekleme kapalıyken bile doğruluk %94,0 olarak korundu
    • CPU çekirdeği çekişmesini de ana neden olarak görmek zordu
  • Sistem kesmesi hipotezi

    • Bir sonraki hipotez, sistem kesmelerinin sayaç tabanlı saldırının sinyali olduğuydu
    • İşletim sistemi klavye, fare, ekran ve ağ kartı gibi donanım aygıtlarıyla iletişim kurmak için kesmeleri kullanır
    • Bir CPU çekirdeğine kesme geldiğinde, o çekirdekte çalışan program hemen durur ve kesme işleyicisi çalışır
    • Kurban web sitesi yüklenirken ağ, grafik gibi çeşitli aygıtlar kesmeler üretir; bunlar saldırganla aynı çekirdekte işlenirse saldırganın sayaç değeri düşebilir
    • Linux’ta kesme işlemeyi cat /proc/interrupts ile kontrol etmek mümkündür

Taşınabilir ve taşınamaz kesmeler

  • Linux, bazı taşınabilir kesmeleri belirli çekirdeklere yönlendirebilir
    • Sayısal ID’ye sahip kesmeler bu kapsama girer
    • Genellikle klavye, ağ kartı gibi harici donanım aygıtlarından gelirler
  • Pek çok taşınamaz kesme belirli bir çekirdeğe izole edilemez
    • Üç harfli ID’ye sahip kesmeler bu kapsama girer
    • CPU çekirdekleri arasındaki etkinlik senkronizasyonunda kullanıldıkları için tüm çekirdeklerde işlenmeleri gerekir
    • Deney ortamında kesme etkinliğinin büyük bölümünü bunlar oluşturdu
  • irqbalance ile taşınabilir kesmeler çekirdek 1’e gönderildi; taskset ile saldırgan ve kurbanın çekirdek 2 ve 3’te çalışması sağlandı
  • CPU frekansı da sabitken doğruluk neredeyse 6 yüzde puanı düştü; bu da kesme hipotezini daha güçlü hale getirdi

eBPF ile doğrulanan gerçek neden

  • Taşınamaz kesmeleri tamamen izole eden bir deney işletim sistemi mimarisi nedeniyle mümkün olmadığından, yürütme eBPF ile enstrümante edildi
  • eBPF üzerinden iki tür zaman noktası kaydedildi
    • Saldırgan programın başladığı ve durduğu anlar
    • Kesme işleyicisinin başladığı ve durduğu anlar
  • CPU frekansı sabit olduğundan, saldırgan engellenmediğinde sabit süre içinde neredeyse aynı sayıda komut çalıştırmalıydı
  • Jonathan Behrens’in yazdığı eBPF kodu ile saldırganın durduğu aralıklar ve kesme işleme aralıkları karşılaştırıldı
  • 100 ns’den uzun süren saldırgan yürütme kesintilerinin %99’undan fazlasının kesme işleme zamanı olduğu doğrulandı
  • Saldırganın CPU çekirdeği fiilen ya sayma kodunu çalıştırıyor ya da kesme işliyordu; kesme işleme süresi azalınca sayaç değeri yükseliyor, artınca düşüyordu

Makalenin iki ana sonucu

  • İlk sonuç, sistem kesmelerinin kullanıcı etkinliğini sızdırdığıdır
    • Sistem kesmelerinin güvenlik özellikleri önceki literatürde incelenmemişti
    • Araştırma ekibi, sistem kesmesi tabanlı yan kanalı ilk kez analiz etti
  • İkinci sonuç, makine öğrenimi destekli yan kanal saldırılarının dikkatle analiz edilmesi gerektiğidir
    • Makine öğrenimi modelleri, yan kanalı anlamadan da güçlü saldırılar oluşturabilir
    • İşletim sistemi enstrümante edilmemiş olsaydı hangi yan kanalın kullanıldığına dair sonuca varılamazdı
  • Mevcut önbellek tabanlı saldırı savunması, CPU önbelleğini tekrar tekrar dışarı atarak gürültü ekleme yöntemiydi
  • Yerel IP adresine ağ isteği göndermek gibi çok sayıda kesme üreten savunmalar, hem önbellek tabanlı hem de sayaç tabanlı saldırılara karşı daha iyi çalıştı
  • Bu karşılaştırma, Shusterman et al.’ın saldırısının önbellekten çok kesme sinyalini kullandığına dair kanıtı güçlendirdi

Ek deneyler ve savunma olasılığı

  • Makalede ek sonuçlar da yer alıyor
    • JavaScript’e sunulan tarayıcı saatini değiştirerek saldırıyı tamamen hafifletme yöntemi öneriliyor
    • Saldırgan ve kurbanı ayrı sanal makinelere koyarak izole eden deneyler yapılıyor
    • Çeşitli taşınamaz kesmelerin sıklığı ve işleme süreleri analiz ediliyor
  • Tarayıcılar, JavaScript’e sundukları saat hassasiyetini azaltarak yüksek hassasiyetli zamanlama tabanlı saldırıları zorlaştırır
    • Chrome 0,1 ms birimine yuvarlar ve rastgele gürültü ekler
    • Firefox ve Safari 1 ms birimine yuvarlar
    • Tor Browser 100 ms birimine yuvarlayarak saldırı doğruluğunu Chrome’un %96,6’sından %49,8’e düşürür
  • Saat hassasiyetini azaltmanın ödünleri vardır
    • Tarayıcı tabanlı oyun motorları render ve animasyon için yüksek hassasiyetli zamanlayıcılara ihtiyaç duyar
    • Tor Browser kullanıcılarının çoğu oyunu oynaması zorlaşır; ancak güvenliği önemseyen kullanıcılar için bu sorun olmayabilir

Kalan araştırma soruları

  • Sistem kesmeleri, Spectre ve Meltdown gibi modern bilgisayarların derinlerindeki donanım mekanizmalarıyla bağlantılıdır
  • Taşınamaz kesmeleri saldırgandan izole eden bir savunma şu anda uygulanabilir değildir; bunu mümkün kılmak için bilgisayarların nasıl yeniden tasarlanması gerektiği belirsizdir
  • Web sitesi etkinliği ile kesmeler arasındaki ilişki de yeterince anlaşılmış değildir
    • weather.com çok sayıda rescheduling interrupt tetiklerken nytimes.com ve amazon.com bunu yapmadı
    • Ek görsellerin, reklamların ve betiklerin sayaç izlerini nasıl etkilediği analiz edilmedi
  • Saldırı daha da güçlenebilir
    • Makale “saldırı makalesinden” çok “analiz makalesi” niteliğindedir
    • Chrome/Linux’ta elde edilen %96,6 doğruluk üst sınır değil, alt sınır olabilir
    • Daha iyi modeller veya farklı metodolojilerle 1.000 web sitesini sınıflandırma, film izlenip izlenmediği, VPN kullanılıp kullanılmadığı, Robinhood’un ne sıklıkla kontrol edildiği gibi görevlere uygulanma olasılığı sürüyor
  • Tarayıcı tabanlı savunmaların da gerçek tarayıcılara uygulanıp sıradan kullanıcılar için pratik olup olmadığı incelenmelidir

Araştırmanın kişisel yola etkisi

  • Bu projeden önce lisansüstü eğitim ciddi bir seçenek değildi; NVIDIA’da derin öğrenme araştırma stajı deneyiminden sonra büyük teknoloji şirketlerinde veya yapay zeka startup’larında çalışmayı düşünüyordu
  • Proje sonrasında araştırmanın eğlenceli ve güzel olabileceğine dair bir deneyim kazandı
  • MIT’den mezun olduktan sonra bilgisayar bilimi MEng programına bir yıl daha devam etti; ardından Rhodes scholarship alarak University of Oxford’da iki yıl eğitim gördü
  • Gelecek yıl MIT’de 6 yıllık bilgisayar bilimi PhD programına başlamayı planlıyor

1 yorum

 
GN⁺ 2024-11-11
Hacker News yorumları
  • Güzel bir yazı ve devamındaki araştırma da temiz
    Makalenin katkısının aslında makine öğrenmesi ile pek ilgisi olmadığını, asıl önemli noktanın interrupt kullanarak yeni bir yan kanal bulması olduğunu düşünüyorum
    Burada makine öğrenmesi daha çok okuyucuyu çekme işlevi görüyor; benzer şekilde buna “istatistik” dense de pek fark etmezdi
    Eskiden danışman hocamın söylediği bir şey aklıma geldi: “Makalenin gerçekte ne hakkında olduğunu anladığında, yeniden yazarken daha önce konu sandığın kısımları çıkar.”
    Bence bu makalenin başlığı makine öğrenmesi anlatısından çok yeni yan kanala odaklanmalıydı. Yine de bu ufak bir kusur ve çalışma harika

    • İki anlatı derinden iç içe geçmiş durumda. Makine öğrenmesi için bir uyarı örneği olmasaydı yeni yan kanal bulunamazdı
      Makine öğrenmesi yanlış anlamasına dair bu bulgunun özellikle önemli olmasının nedeni, mevcut bilgisayar mimarisi araştırmalarının önemli bir kısmını sorgulatması
      Eskiden böyle bir saldırı yapmak için istismar edilen yan kanalı derinlemesine anlamak gerekirdi; ama makine öğrenmesi modelleri, burada LSTM, basit “istatistiklerin” ötesine geçip çok daha yüksek doğruluk sağlayınca iyi anlaşılmamış yan kanalları istismar eden güçlü saldırılar üretmek kolaylaştı
      Bu şekilde oluşturulmuş makine öğrenmesi destekli saldırılar bugün epey fazla; yalnızca Shusterman ve diğerlerinin bir makalesi bile, bilgisayar mimarisi makalesi için olağanüstü sayılabilecek şekilde, neredeyse 200 atıf aldı
      Bu tür araştırmaları yayımlamanın amacı sistemleri daha iyi anlayıp daha güçlü savunmalar geliştirmektir ve yanlış anlayıp topluluğu yanıltmanın maliyeti büyüktür
      Önceki saldırının nedeninin sonuçta cache olduğu ortaya çıkmış olsa bile bu nokta hâlâ geçerli; ancak süreçte yeni bir yan kanal keşfedilmiş olması mesajı çok daha net kıldı. Blog yazısında bu nokta daha fazla vurgulanabilirdi
    • Bunun makine öğrenmesi hakkında güçlü yeni bir keşiften çok, tüm makine öğrenmesi uygulayıcılarının bilmesi gereken temel bir sağduyu kuralı olduğunu düşünüyorum: topladığınız ve modellediğiniz veriler bunu desteklemiyorsa korelasyonu nedensel açıklama gibi yorumlamayın
      Gerçek dünyada, veri denizinde boğulurken bu sağduyu korelasyon seli içinde kaybolabilir; ama iyi deney tasarımı ve akran değerlendirmesi zaten zayıf sonuçları ve yorumları elemek için vardır
      Bu açıdan bu yeniden üretim çalışması bunu mükemmel şekilde yapmış
  • Harika bir yazı. Yan kanal saldırılarını bu kadar kolay anlayabileceğimi bilmiyordum
    En baştan kötü adamın kim olduğunu biliyorsunuz ama yine de “bunu nasıl yaptı?” diye ilerleyen bir cinayet gizemi gibi okundu
    Favorilere ekledim

    • Uzunluğu ve giriş kısmı yüzünden neredeyse okumayacaktım. Normalde arka plandan çok doğrudan özü görmek isterim
      Ama bu yorum sayesinde okudum ve gerçekten çok iyiydi
  • “Gelecek yıl MIT’ye dönüp bilgisayar biliminde altı yıllık doktora programına başlıyorum. Bundan daha heyecan verici olamaz!” kısmı şaşırtıcı
    Her şeyin, yazarın başlangıçta yan kanal saldırısındaki çok daha sofistike cache eviction attack yerine sayaçları denemeye yönelik şanslı bir fikrinden başlaması ve o sırada bilmediği kavramlar sayesinde bunun işe yaramış olması etkileyici
    Muhtemelen binlerce kişiden biri olan benim gibi biri o şansa sahip değildi; bu yüzden akademide kalma fikrinden erken vazgeçip sektöre giderek sıradan bir kariyer yaptım
    Avustralya tarzı, yüksek lisansa benzeyen bir bilgisayar bilimi Honours Degree programına başlamıştım ve 2010 civarında, bugünkü AI dalgasından çok önce, resmî AI derslerinde öğrendiğim uygulama örneklerinden hareketle yapay zeka üzerine bir makale yazmak istiyordum
    Şarap üreticilerinin şarap kalitesini ve üretimi iyileştirmek için AI kullanma biçiminden yola çıkıp bunu daha “genel” uygulamalara uyarlamak istiyordum; ama bana atanan danışmanın yardımcı olmaya hiç ilgisi yoktu ve başka destek de olmayınca devam etmek zorlaştı
    Özellikle de oldukça iyi maaşlı tam zamanlı bir iş teklifim varken; devam etsem bile muhtemelen kayda değer bir sonuç çıkaramayacaktım
    Yazarın da dediği gibi, işlerin yürümesinde danışmanının ve çevresindeki desteğin büyük payı vardı; tek başına bunun için muazzam bir itki ve yetenek gerekiyor, bende ise ikisi de pek yoktu galiba

    • Doğru yerde, doğru insanlarla birlikte olmak başarı için çok önemli bir unsur
      Japonya’daki ilk doktora sürecimde profesör ve çevremdeki insanlar üç yıl boyunca önerdiğim her şeyi, uygulanabilir bir fikir sunmadan sadece eleştirdi
      Yan laboratuvardaki profesör araştırmamı beğeniyordu ama laboratuvar değiştirmek için bunu çok geç fark ettim
      Şimdi ise ülkedeki diğer yarısıyla, yani toplam 2 kişiyle, başka projemi gerçekten anlayıp önemseyebilecek bir yerdeyim ve daha şimdiden onların verileri sayesinde proje daha iyi hale geldi
      Enstitü müdürü de bana olumlu bakıyor; resmî olarak bağlı olmasam da laboratuvar faaliyetlerine katılmama izin veriyor
      Böyle bir ortamda başarılı olunabilir. Doğru ortamı ve insanları bulmak zor ama belirleyici; aksi halde çok iyi bir çalışma bile boşa gidebilir
  • Yazı güzeldi
    Sayfayla ilgili çok küçük bir ayrıntı olarak, büyük noktalardan oluşan ayraç stili görüntü carousel'inin konum göstergesi gibi göründüğü için kafamı karıştırdı

  • Yazı çok iyi, anlatım son derece erişilebilir ve etkileşimli demo da gerçekten harika
    Buna nasıl başladığına dair arka planı anlatmış olmasını da beğendim

  • Çok ilgi çekici ve iyi açıklanmış. Araştırma iki yıl önce çıktıysa, ilgilenen veri toplayıcılar bunu zaten değerlendirmiş olmalı
    Hacker'ları boş verin. Bu, şirketler ve hükümetler için bir exploit
    Gizliliğe önem veren bir web sitesi rastgele interrupt üreten bir paket dağıtabilir mi? Bir tarayıcı eklentisi bunu tüm siteler için yapabilir mi?

    • Bir web sitesi bunu yapacaksa dikkatli olmak zorunda. Rastgele çok sayıda interrupt üreten tek site olursa, tersine daha kolay ayırt edilebilir hale gelebilir
      Rastgele interrupt üretmeye yönelik karşı önlemimiz bir tarayıcı eklentisi olarak uygulanmış durumda ve kaynak kodu burada: https://github.com/jackcook/bigger-fish
      Yine de bunu günlük kullanım için önermek zor. Testlerde sayfa yükleme süresini yaklaşık %10 yavaşlattığını hatırlıyorum
    • Safari/macOS kullanıyorum ve sayımla ilgili demoların önemli bir kısmı iddia edildiği kadar büyük değişmedi
      Bazıları bilgisayar yoğun kullanılırken epey değişti ama Safari’de zaten bazı önlemler bulunuyor olabilir
      Yine de makale gerçekten harika