Güvenlik araştırmacıları, mevcut savunmaları aşabilecek ve Spectre tabanlı spekülatif yürütme saldırılarına neden olabilecek çok sayıda eski AMD ve Intel mikroişlemcisini etkileyen başka bir güvenlik açığını daha ortaya çıkardı.
dublajlı geri çevrilmiş ETH Zürih araştırmacıları Johannes Wikner ve Kaveh Razavi tarafından, sorunlar çip üreticileriyle birlikte CVE-2022-29900 (AMD) ve CVE-2022-29901 (Intel) olarak takip ediliyor. serbest bırakmak yazılım hafifletmeler koordineli bir ifşa sürecinin parçası olarak.
Retbleed aynı zamanda Spectre-BTI (CVE-2017-5715 veya Spectre-V2) olarak bilinen ve bir optimizasyon tekniğinin yan etkilerinden yararlanan bir Spectre saldırısı sınıfına yapılan en son eklemedir. spekülatif infaz bir programı, kendi bellek alanındaki rastgele konumlara erişmesi ve özel bilgileri sızdırması için kandırmak için bir zamanlama yan kanalı aracılığıyla.
Spekülatif yürütme, performans artışı elde etmek için bir sonraki komutun yürütüleceğini tahmin ederek bir programın talimat boru hattını doldurmaya çalışır ve aynı zamanda tahminin yanlış çıkması durumunda yürütmenin sonuçlarını geri alır.
Spectre gibi saldırılar, hatalı bir şekilde yürütülen bu talimatların – yanlış tahminin bir sonucu olarak – önbellekte yürütme izlerini bırakmaya bağlı olması gerçeğinden yararlanır, bu da sahte bir programın işlemciyi yanlış kod yollarını yürütmesi için kandırabileceği bir senaryoya neden olur ve kurbanla ilgili gizli verileri çıkarsamak.
Başka bir deyişle, Spectre, hangi talimat dizilerinin spekülatif olarak yürütüldüğünü “etkilemek” ve kurbanın bellek adres alanından şifreleme anahtarları veya parolaları sızdırmak için donanım tasarımı kusurlarına dayanan bir geçici yürütme saldırısı örneğidir.
Bu da, kurbanla paylaşılan önbellekten bellek okumaları gerçekleştirmek için geçen süreyi ölçen Flush+Reload gibi mikromimari yan kanallar aracılığıyla gerçekleştirilir, ancak paylaşılan belleğin bir kısmını temizlemeden önce değil, hızlı veya yavaş okumalarla sonuçlanır. kurbanın, tahliye edildiğinden beri izlenen önbellek hattına erişip erişmediğine bağlı olarak.
gibi korumalar Retpolin (aka “dönüş trambolini”) şube hedef enjeksiyonunu (BTI) önlemek için tasarlandı, Retbleed bu önlemi aşmak ve spekülatif kod yürütmeyi sağlamak için tasarlandı.
“Retpolinler dolaylı sıçramaları değiştirerek çalışın [branches where the branch target is determined at runtime] ve geri dönüşlü aramalar, “diye açıkladı araştırmacılar.
“Retbleed, çekirdek bağlamında rastgele spekülatif kod yürütme elde etmek için çekirdekteki bir dönüş talimatını ele geçirmeyi amaçlar. Kurban dönüş talimatındaki kayıtlar ve/veya bellek üzerinde yeterli kontrolle, saldırgan keyfi çekirdek verilerini sızdırabilir.”
Özetle ana fikir, tedavi etmektir. iade talimatları spekülasyon yürütme için bir saldırı vektörü olarak ve dolaylı dallar gibi tahmin edilmeye zorlayarak, Retpoline tarafından sunulan korumaları etkin bir şekilde geri alır.
Yeni bir savunma hattı olarak AMD, Jmp2RetIntel varken önerilen gelişmiş Dolaylı Dal Kısıtlı Spekülasyon kullanarak (eIBRS) Retpoline azaltımları mevcut olsa bile potansiyel güvenlik açığını gidermek için.
Intel bir danışma belgesinde, “Windows işletim sistemi varsayılan olarak IBRS’yi kullanır, bu nedenle güncelleme gerekmez” dedi ve eksiklikler için mevcut yazılım güncellemelerini sağlamak için Linux topluluğuyla birlikte çalıştığını belirtti.