Kısaca: Arm, 2018 yılında bellek güvenliği ihlallerini tespit etmeyi ve cihazları bellek kusurlarından yararlanan saldırılara karşı güçlendirmeyi amaçlayan Bellek Etiketleme Uzantıları (MTE) adı verilen bir donanım güvenlik özelliğini tanıttı. Arm v8.5-A mimarisine ve sonraki sürümlere eklenmiştir. Ancak son araştırmalar MTE’nin güvenlik vaatlerini yerine getiremeyebileceğini öne sürüyor.
MTE, 16 baytlık fiziksel bellek bloklarını 4 bitlik meta veri anahtarlarıyla etiketleyerek çalışır. Bir program, bir işaretçi kullanarak etiketli bir blok içindeki veriye eriştiğinde, donanım, işaretçinin o bellek bloğu için eşleşen anahtarı içerip içermediğini kontrol eder. Uyumsuzluk bir hataya neden olur ve yasaklı bellek alanlarına erişmeye çalışan açıklardan yararlanma olasılığını yakalar.
Teknoloji, arabellek taşmaları ve serbest kullanımdan sonra kullanım hataları gibi sistem ve veri hırsızlığına yol açabilecek yaygın C/C++ bellek bozulması hatalarına karşı bir savunma olarak öne sürülüyor. Arm, MTE’nin geliştiricilerin test sırasında bu hataları yakalamasına ve çalışma zamanında saldırıları durdurmasına yardımcı olacağını umuyordu.
Ancak Seul Ulusal Üniversitesi, Samsung ve Georgia Tech’ten araştırmacılar, spekülatif yürütme saldırıları kullanılarak MTE’nin yaklaşık yüzde 95’inin dört saniyeden kısa bir sürede atlanabileceğini gösterdi.
“TikTag: Spekülatif Yürütmeyle Breaking Arm’ın Bellek Etiketleme Uzantısı” adlı makaleleri, spekülatif işlemlerin veri ön getirmeyi nasıl etkilediğini gözlemleyerek keyfi bellek adresleri için MTE etiketlerini çıkarabilen TIKTAG-v1 ve TIKTAG-v2 adlı iki tekniğin ana hatlarını çiziyor.
// İlgili Öyküler
- Qualcomm’a karşı açılan silah davası tüm Copilot+ bilgisayarlarını tehdit edebilir
- AMD, 3D V-Cache teknolojisine gelecek “gerçekten harika” yükseltmelerin tanıtımını yapıyor
Spekülatif yürütme, CPU’ların bazı işlemleri önceden gerçekleştirdiği ve gerekmediği takdirde sonuçları attığı bir optimizasyon tekniğidir. Ancak veriye spekülatif olarak erişim, bilgi sızdıran zamanlama yan kanallarının kalmasına neden olabilir.
Araştırmacılar, kavram kanıtlama kodunu kullanarak MTE etiketlerini Android ve Linux çekirdeğindeki Chrome’dan dört saniyeden kısa bir sürede yüzde 95’in üzerinde başarıyla çıkarmayı başardılar.
Çıkarılan etiketlerin mutlaka doğrudan yararlanmaya olanak sağlamadığını unutmamak önemlidir. Parolalar ve şifreleme anahtarları gibi hassas veriler doğrudan açığa çıkmaz. Ancak saldırganların MTE korumalarını zayıflatmasına olanak tanıyarak MTE’yi daha karmaşık saldırılara karşı daha az etkili hale getirir.
Makalede araştırmacılar, spekülatif yürütmenin önbellek durumlarını sızdırmasını önlemek için donanımı değiştirmek, spekülasyon bariyeri talimatları eklemek, doldurma talimatları eklemek ve spekülatif erişimi kısıtlamak için korumalı alanı geliştirmek gibi bu güvenlik açıkları için birden fazla çözüm önerdi.
Bu bulgular, sorunu kabul eden ancak bunun anlaşmayı bozucu bir durum olduğunu düşünmeyen Arm’a açıklandı.
Aynı sıralarda Google’ın Chrome ekibi, Chrome’un V8 motorunun MTE etiketlerinin gizliliğini garanti etme amacı taşımadığını ileri sürerek araştırmacıların önerdiği hafifletici önlemleri ele almamaya karar verdi. Ancak Android Güvenlik ekibi, sorunu doğrulayıp Pixel 8 serisinde çözdükten sonra bir hata ödülü verdi.