VUSec ve Scuola Superiore Sant'Anna araştırmacılarının keşfettiği Spectre-v2 varyantı BTR, JIT motorlarındaki eski dal hedeflerini kullanarak yamalı Intel Linux sistemlerde root parola karmasını dakikalar içinde sızdırabiliyor.
Yazılım ve Uygulamalar
Admin3 okunma

Yeni Spectre BTR Açığı Yamalı Linux Sistemlerde Bellek Sızdırıyor

VUSec ve Scuola Superiore Sant'Anna araştırmacılarının keşfettiği Spectre-v2 varyantı BTR, JIT motorlarındaki eski dal hedeflerini kullanarak yamalı Intel Linux sistemlerde root parola karmasını dakikalar içinde sızdırabiliyor.

Yeni Spectre BTR Açığı Yamalı Linux Sistemlerde Bellek Sızdırıyor

Haber detayı

VUSec ve Scuola Superiore Sant'Anna'dan akademisyenlerin ortaya çıkardığı yeni bir Spectre-v2 varyantı, mevcut savunmalar etkin olsa bile Linux belleğinden hassas verilerin sızdırılabildiğini gösterdi. Branch Target Reuse (BTR) olarak adlandırılan varyant, web tarayıcıları, dil çalışma ortamları ve işletim sistemi çekirdeğinde bulunan Just-In-Time (JIT) motorlarını hedef alıyor ve birden fazla CPU üreticisini etkiliyor. Araştırmacılar tarafından hazırlanan kavram kanıtlama saldırıları, varsayılan korumaları etkin ve tamamen yamalı bir Intel sistemde root parola karmasının dakikalar içinde kurtarılabildiğini ortaya koydu.
Spectre, ilk olarak 2017 yılında keşfedilen ve modern işlemcilerin performansı artırmak için kullandığı spekülatif yürütme (speculative execution) tekniğini istismar eden bir güvenlik açığı sınıfı olarak biliniyor. Bu teknikte işlemci, talimatları önceden tahmin ederek çalıştırıyor. Saldırganlar bu durumu istismar ederek işlemciyi hassas verilere erişen spekülatif işlemler yapmaya yönlendirebiliyor ve ardından önbellek zamanlama yan kanalı üzerinden bu verileri çıkarabiliyor. Spectre v2 ise bu sınıfın dolaylı dal tahminini (indirect branch prediction) kötüye kullanan özel bir türü olarak öne çıkıyor.

BTR Nasıl Çalışıyor: Eski Dal Hedeflerinin Yeniden Kullanımı​

Araştırmacılar Sander Wiebing, Yuhui Zhu, Alessandro Biondi ve Cristiano Giuffrida tarafından yayımlanan makaleye göre BTR'nin temelinde önemli bir bulgu yer alıyor. Modern CPU'lar, kendi kendini değiştiren kod (self-modifying code) sonrası mimari kod tutarlılığını geri yüklese de, eski dolaylı dal tahmin girdilerini yani dal hedeflerini mutlaka geçersiz kılmıyor. Araştırmacılar bu durumu, "Modern CPU'lar kendi kendini değiştirme sonrası mimari kod tutarlılığını geri yüklerken, eski dolaylı dal tahmin girdilerini mutlaka geçersiz kılmaz" sözleriyle özetledi.
JIT motorlarında bu eski hedefler orijinal koddan daha uzun süre yaşayabiliyor ve kod önbelleği yeniden doldurulduğunda tekrar kullanılabiliyor. Bu da geçici bir execute-after-free ilkeliği yaratıyor. Saldırgan bu sayede geçici kontrol akışını, artık geçersiz olan ofsetlerdeki yeni oluşturulmuş koda yönlendirebiliyor, yazılım tabanlı güçlendirmeleri atlatabiliyor veya hizalanmamış gadget'lara ulaşabiliyor. Araştırmacılar, "JIT motorları ilk kez SMC'nin neden olduğu istismar edilebilir geçici yürütme fırsatlarını ortaya çıkarıyor" değerlendirmesini yaptı.
Saldırı, JIT motoru içinde ayrıcalıksız kod çalıştırabilen ve ana ortamdan hassas verileri sızdırmayı amaçlayan bir saldırgan modelini varsayıyor. Saldırı zinciri üç ana adımda ilerliyor. İlk olarak saldırgan, JIT motorunu bir eğitim bloğu (training chunk) ayırmaya yönlendiriyor ve kurban dalın bu bloğa atlamasını sağlayarak mevcut giriş noktasına referans veren bir Dal Hedef Tamponu (BTB) girdisi oluşturuyor. İkinci adımda saldırgan, eğitim bloğunun serbest bırakılmasını ve aynı adresi kısmen yeniden kullanan bir hedef bloğun ayrılmasını tetikliyor. Son adımda ise dolaylı dal yeniden tetiklendiğinde CPU, artık bayat olan BTB girdisini kullanıyor ve spekülatif olarak eski eğitim bloğu giriş noktasına atlıyor. Bu durum kontrol akışının ele geçirilmesi ve gizli verilerin ifşa edilmesiyle sonuçlanıyor.

Hangi JIT Motorları Etkilendi: Linux Çekirdeği ve Tarayıcılar​

BTR, SpiderMonkey (Mozilla Firefox'un JIT motoru), GraalVM ve Linux çekirdeğinin cBPF JIT'i üzerinde değerlendirildi. Üç motorun da etkilendiği doğrulandı, ancak araştırmacılar "belirgin şekilde farklı istismar edilebilirlik özellikleri ve sızıntı oranları" bulunduğunu belirtti. Özellikle Linux çekirdeğine yönelik iki uçtan uca istismar geliştirildi ve bu istismarların yamalı sistemlerde root parola karmasını sızdırabildiği gösterildi.
Spectre v2'nin genel çalışma mantığında olduğu gibi BTR de CPU'nun dal tahmin mekanizmasını zehirlemeyi hedefliyor. Saldırgan, kurban programın dolaylı bir dalı yürütmesine neden oluyor, bu da CPU'nun dalı yanlış tahmin etmesine ve saldırgan kontrollü kodu veya bir gadget'ı spekülatif olarak yürütmesine yol açıyor. Yanlış tahminin sonuçları daha sonra atılsa da, saldırgan önbellek durumu değişikliklerinden yararlanarak ve bu değişiklikleri ölçerek kurbanın spekülatif yürütme sırasında neye eriştiğini çıkarabiliyor. BTR'de fark, bu yönlendirmenin mimari olarak geçersiz bir giriş noktasına yapılması. Araştırmacılar, "Kontrol akışını mimari olarak geçersiz bir giriş noktasına yönlendirerek saldırgan, Spectre güçlendirme mitigasyonlarını atlatabilir veya hizalanmamış talimatları yürüterek nihayetinde gizli verileri ifşa edebilir" ifadesini kullandı.
BTR'nin başarılı olması için iki kritik koşulun sağlanması gerekiyor. Birincisi, JIT motoru eğitim bloğunu serbest bıraktıktan sonra bayat BTB girdisinin geçersiz kılınmaması veya değiştirilmemesi. İkincisi ise dal tahmincisinin tahmin için bu bayat BTB girdisini seçmesi.

Yayınlanan Yamalar ve Geliştiricilerin Aldığı Önlemler​

Sorumlu açıklama sürecinin ardından BTR için mitigasyonlar geliştirildi ve Linux çekirdeğine birleştirildi. Bu düzeltmeler CVE-2026-64507 ve CVE-2026-64508 numaralarıyla takip ediliyor. Farklı JIT ekosistemleri ise farklı savunma yaklaşımları benimsedi.
GraalVM, JIT kod önbelleği konumlarını rastgeleleştirerek bölge yeniden kullanımını engellemeyi tercih etti. Mozilla tarafında ise Indirect Branch Predictor Barrier (IBPB) tabanlı mitigasyonlar değerlendirildi, ancak şirketin şu anda site izolasyonunun tamamlanmasına ve dağıtımına öncelik verdiği bildirildi. Bu durum, farklı platformların aynı temel soruna karşı farklı öncelik ve tekniklerle yanıt verdiğini gösteriyor.

Interrupt Injection Saldırısı ile Benzerlikler​

BTR'nin açıklanması, MIT CSAIL araştırmacıları Daniël Trujillo ve Mengjia Yan tarafından duyurulan Interrupt Injection adlı spekülatif yürütme saldırı tekniğinden yaklaşık iki ay sonra geldi. Interrupt Injection da Spectre v2 savunmalarını atlatabildiği ve Intel ile AMD tabanlı Linux sistemlerden rastgele çekirdek belleği sızdırabildiği belirtilen bir teknik olarak kayıtlara geçmişti. Her iki araştırma da Spectre sınıfı açıkların, mevcut yamalar ve varsayılan korumalara rağmen modern işlemcilerde varlığını sürdürdüğünü ve özellikle JIT gibi dinamik kod üreten bileşenlerle etkileşimde yeni istismar yolları oluşturabildiğini gösteriyor.

Sıkça Sorulan Sorular​

Spectre BTR (Branch Target Reuse) nedir?​

Spectre BTR, Spectre-v2'nin yeni bir varyantıdır ve Branch Target Reuse adını taşır. VUSec ve Scuola Superiore Sant'Anna araştırmacılarına göre, modern CPU'ların kendi kendini değiştiren kod sonrası eski dolaylı dal tahmin girdilerini geçersiz kılmamasını istismar eder. JIT motorlarında bu bayat hedefler yeniden kullanılarak geçici kontrol akışı ele geçirilir.

Hangi sistemler ve JIT motorları BTR'den etkilendi?​

Araştırma kapsamında SpiderMonkey (Mozilla Firefox), GraalVM ve Linux çekirdeğinin cBPF JIT motoru test edildi ve üçü de etkilendi. Açığın web tarayıcıları, dil çalışma ortamları ve işletim sistemi çekirdeğindeki JIT motorlarını ve birden fazla CPU üreticisini etkilediği belirtildi, ancak sızıntı oranları ve istismar edilebilirlik özellikleri farklılık gösteriyor.

Linux sistemlerde root parolası nasıl sızdırıldı?​

Araştırmacılar Linux çekirdeğine karşı iki uçtan uca kavram kanıtlama istismarı geliştirdi. Bu istismarlar, varsayılan korumaları etkin ve tamamen yamalı bir Intel sistemde root parola karmasını dakikalar içinde sızdırıp kurtarabildi. Saldırı, bayat BTB girdisi üzerinden spekülatif olarak eski bir giriş noktasına atlayarak gizli verileri önbellek yan kanalı ile ifşa ediyor.

BTR için hangi yamalar ve mitigasyonlar yayınlandı?​

Sorumlu açıklama sonrası mitigasyonlar Linux çekirdeğine birleştirildi ve CVE-2026-64507 ile CVE-2026-64508 olarak numaralandırıldı. GraalVM, JIT kod önbelleği konumlarını rastgeleleştirerek bölge yeniden kullanımını engelliyor. Mozilla ise IBPB tabanlı mitigasyonları değerlendirdi ancak önceliği site izolasyonunun tamamlanmasına verdi.

BTR, Interrupt Injection saldırısından farkı nedir?​

Her iki teknik de Spectre v2 savunmalarını atlatmayı hedefleyen spekülatif yürütme saldırılarıdır. BTR, JIT motorlarındaki kendi kendini değiştiren kod ve bayat BTB girdilerinin yeniden kullanımına odaklanırken, MIT CSAIL araştırmacıları Daniël Trujillo ve Mengjia Yan tarafından yaklaşık iki ay önce açıklanan Interrupt Injection, Intel ve AMD tabanlı Linux sistemlerden rastgele çekirdek belleği sızdırabilen bir kesme enjeksiyon tekniği olarak tanımlanıyor.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst