Araştırmacılar Arm’ın bellek güvenlik mekanizmasını kırdı ve yüzde 95 bypass oranına ulaştı. 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.
ARM bellek güvenlik mekanizması için beklenmedik etki
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 verilere 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.
Teknolojinin, sistem ve veri hırsızlığına yol açabilecek arabellek taşmaları ve serbest kullanım sonrası hataları gibi yaygın C/C++ bellek bozulması hatalarına karşı bir savunma olduğu öne sürüldü. 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ütme ile Breaking Arm’s Bellek Etiketleme Uzantısı” adlı makaleleri , spekülatif işlemlerin veri önceden getirilmesini nasıl etkilediğini gözlemleyerek keyfi bellek adresleri için MTE etiketlerini çıkarabilen TIKTAG-v1 ve TIKTAG-v2 olarak adlandırılan iki tekniğin ana hatlarını çiziyor. 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 verilere 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ı. Çı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 getiriyor. 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.