“TIKTAG” adı verilen yeni bir spekülatif yürütme saldırısı, ARM’in Bellek Etiketleme Uzantısını (MTE) %95’in üzerinde başarı şansıyla veri sızdırmayı hedefleyerek bilgisayar korsanlarının güvenlik özelliğini atlamasına olanak tanır.
Samsung, Seul Ulusal Üniversitesi ve Georgia Teknoloji Enstitüsü’nden Koreli araştırmacılardan oluşan bir ekip tarafından ortak imzalanan makale, Google Chrome ve Linux çekirdeğine yönelik saldırıyı ortaya koyuyor.
MTE, ARM v8.5-A mimarisine (ve sonrasına) eklenen, bellek bozulmasını tespit etmek ve önlemek için tasarlanmış bir özelliktir.
Sistem, işaretçideki etiketin erişilen bellek bölgesiyle eşleşmesini sağlayarak bellek bozulması saldırılarına karşı koruma sağlamak için 16 baytlık bellek parçalarına 4 bitlik etiketler atayarak düşük yük etiketlemeyi kullanır.
MTE’nin üç çalışma modu vardır: eşzamanlı, eşzamansız ve asimetrik; güvenlik ve performansı dengeler.
Araştırmacılar, TIKTAG-v1 ve TIKTAG-v2 olmak üzere iki gadget (kod) kullanarak, MTE bellek etiketlerini yüksek bir başarı oranıyla ve kısa sürede sızdırmak için spekülatif yürütmeden yararlanabileceklerini buldular.
Bu etiketlerin sızdırılması, şifreler, şifreleme anahtarları veya kişisel bilgiler gibi hassas verileri doğrudan açığa çıkarmaz. Ancak teorik olarak saldırganların MTE tarafından sağlanan korumaları zayıflatmasına olanak tanıyarak güvenlik sistemini gizli bellek bozulması saldırılarına karşı etkisiz hale getirebilir.
TIKTAG saldırıları
TIKTAG-v1, MTE etiketlerini sızdırmak için CPU’nun dal tahminindeki spekülasyon daralmasından ve CPU’nun veri önceden getirme davranışlarından yararlanır.
Araştırmacılar, bu aygıtın Linux çekirdeğine yönelik saldırılarda etkili olduğunu, esas olarak spekülatif bellek erişimlerini içeren işlevlerde etkili olduğunu, ancak çekirdek işaretçilerinin bazı manipülasyonlarının gerekli olduğunu buldu.
Saldırgan, spekülatif yürütme yolunu çağırmak için sistem çağrılarını kullanır ve bellek etiketlerini çıkarmak için önbellek durumlarını ölçer.
TIKTAG-v2, bir değerin bir bellek adresine depolandığı ve aynı adresten hemen yüklendiği bir dizi olan spekülatif yürütmede depolamadan yüklemeye iletme davranışından yararlanır.
Etiketler eşleşirse değer iletilir ve yükleme başarılı olur; bu da önbellek durumunu etkiler; uyumsuzluk durumunda ise yönlendirme engellenir ve önbellek durumu değişmeden kalır.
Böylece spekülatif yürütme sonrasında önbellek durumu incelenerek etiket kontrolü sonucu çıkarılabilir.
Araştırmacılar, TIKTAG-v2 gadget’larının Google Chrome tarayıcısına, özellikle de V8 JavaScript motoruna karşı etkinliğini göstererek, oluşturucu sürecinde bellek bozulması güvenlik açıklarından yararlanmanın yolunu açtı.
Sektör müdahalesi ve azaltımlar
Araştırmacılar bulgularını Kasım ve Aralık 2023 arasında etkilenen kuruluşlara bildirdiler ve genel olarak olumlu yanıt aldılar, ancak hemen herhangi bir düzeltme uygulanmadı.
arxiv.org’da yayınlanan teknik makale, TIKTAG saldırılarına karşı aşağıdaki önlemleri önermektedir:
- Spekülatif yürütmenin etiket kontrolü sonuçlarına göre önbellek durumlarını değiştirmesini önlemek için donanım tasarımını değiştirin.
- Kritik bellek işlemlerinin spekülatif olarak yürütülmesini önlemek için spekülasyon engelleri (örn. sb veya isb talimatları) ekleyin.
- Dallanma talimatları ve bellek erişimleri arasındaki yürütme penceresini genişletmek için doldurma talimatları ekleyin.
- Spekülatif bellek erişim yollarını kesinlikle güvenli bellek bölgelerinde kısıtlamak için korumalı alan oluşturma mekanizmalarını geliştirin.
ARM, durumun ciddiyetini fark etmiş ve birkaç ay önce bir bülten yayınlamış olsa da, bunu özellikten ödün verilmesi olarak görmüyor.
ARM bülteninde “Ayırma Etiketlerinin adres alanındaki yazılım için bir sır olması beklenmediğinden, doğru etiket değerini ortaya çıkaran spekülatif bir mekanizma, mimarinin ilkelerinden ödün verilmesi olarak değerlendirilmez” yazıyor.
Chrome’un güvenlik ekibi sorunları kabul etti ancak V8 sanal alanının bellek verilerinin ve MTE etiketlerinin gizliliğini garanti etmesi amaçlanmadığından güvenlik açıklarını düzeltmemeye karar verdi.
Üstelik Chrome tarayıcısı şu anda MTE tabanlı savunmaları varsayılan olarak etkinleştirmiyor, bu da onu acil düzeltmeler için daha düşük bir öncelik haline getiriyor.
Pixel 8 cihazındaki MTE oracle’ları daha sonra Nisan 2024’te Android güvenlik ekibine bildirildi ve ödül ödülü almaya hak kazanan bir donanım hatası olarak kabul edildi.