PACMAN, saldırganların Apple M1 işlemcisindeki Pointer Authentication (PAC) isimli güvenlik özelliğini atlamasına olanak tanıyan yeni bir donanım saldırı tekniğidir.
İşaretçi kimlik doğrulama kodları (PAC’ler), bellekteki işaretçilerde beklenmeyen değişiklikleri algılamaya ve bunlara karşı koruma sağlamaya izin verir.
İşaretçi kimlik doğrulaması, işaretçiyi saklamadan önce işaretçinin kullanılmayan yüksek dereceli bitlerine şifreleme imzası (PAC) eklemek için özel bir işlemci (CPU) talimatı uygular. İşaretçiyi bellekten geri okuduktan sonra imza kaldırılır ve başka bir talimatla kimliği doğrulanır. Yazma ve okuma arasında saklanan değerde yapılan herhangi bir değişiklik, bellek bozulması olarak yorumlanan ve işaretçiyi geçersiz kılmak için işaretçide yüksek dereceli bir bit ayarlayan bir olay olan imzayı geçersiz kılar.
Saldırı tekniğini tasarlayan araştırmacılar, PACMAN saldırılarının arkasındaki ilkelerin sadece PAC’den çok daha fazlası için kullanılabileceğini düşünüyor.
Teknik, MIT’nin Bilgisayar Bilimi ve Yapay Zeka Laboratuvarı’ndan (CSAIL) Joseph Ravichandran, Weon Taek Na, Jay Lang ve Mengjia Yan adlı araştırmacılar tarafından keşfedildi.
Araştırmacılar tarafından yayımlanan makalede, “Önemli bir bellek koruma mekanizmasını, işaretçi bütünlüğünü zorlamak için kullanılan bir güvenlik özelliği olan ARM Pointer Authentication’nı atlamak için spekülatif yürütme saldırılarından yararlanıyoruz. Herhangi bir çökmeye neden olmadan mikro-mimari yan kanallar aracılığıyla PAC doğrulama sonuçlarını spekülatif olarak sızdıran yeni bir saldırı metodolojisi olan PACMAN’ı sunuyoruz. Saldırımız, Pointer Authentication kullanılarak korunan bir platformda kontrol akışı ele geçirme saldırıları gerçekleştirmenin önündeki birincil engeli kaldırıyor.” yer aldı.
Araştırmacılar, PACMAN saldırısının sadece bir istismar tekniği olduğuna ve bir sistemi tehlikeye atmak için yeterli olmadığına dikkat çekti. Ancak kötü haber şu ki, PACMAN tarafından kullanılan donanım mekanizmaları, yazılım güncellemeleriyle yamalanamıyor.
Araştırmacılar, herhangi bir sistem çökmesine neden olmadan doğru bir PAC ile yanlış olanı ayırt etmek için bir PAC kahini tasarladılar.
Saldırgan, “çökmeleri bastırırken doğru PAC değerini kaba kuvvet saldırısı ile bulabilir ve PA-etkinleştirilmiş bir kurban programı veya işletim sistemi üzerinde bir kontrol akışı ele geçirme saldırısı oluşturabilir. PACMAN saldırımızın ana fikri, mikromimari yan kanallar aracılığıyla PAC doğrulama sonuçlarını gizlice sızdırmak için spekülatif yürütmeyi kullanmaktır.”
“Bir PACMAN aygıtı iki işlemden oluşur: 1) tahmin edilen bir PAC’nin doğruluğunu spekülatif olarak doğrulayan bir işaretçi doğrulama işlemi ve 2) doğrulama sonucunu bir mikro-mimari yan kanal aracılığıyla spekülatif olarak ileten bir iletim işlemi. İşaretçi doğrulama işlemi, doğrulama başarılı olursa geçerli bir işaretçi, aksi takdirde geçersiz bir işaretçi veren bir kimlik doğrulama talimatı (ARMv8.3’teki yeni talimatlar) tarafından gerçekleştirilir.
Araştırmacılar bulgularını Apple ile paylaştılar, BT devi Mac kullanıcıları için bu yan-kanal saldırısına maruz kalmayla ilgili riskleri küçümsedi, çünkü tekniğin etkili olması için diğer güvenlik açıklarının olması gerekiyor.
Araştırmacılar sonuç olarak şunları ifade etti: “Bu saldırının, Pointer Authentication özelliğine sahip gelecekteki işlemcileri uygulamak isteyen tasarımcılar için önemli etkileri olduğuna ve gelecekteki kontrol akışı bütünlüğü ilkellerinin güvenliği için geniş etkileri olduğuna inanıyoruz.”
Kaynak: https://securityaffairs.co/wordpress/132154/hacking/pacman-attack-apple-m1-cpus.html