Apple M serisi çiplerde keşfedilen yeni bir güvenlik açığından, kriptografik işlemler sırasında kullanılan gizli anahtarların çıkarılması için yararlanılabilir.
Dublajlı Git getirgüvenlik açığı, sabit zamanlı şifreleme uygulamalarını hedeflemek ve CPU önbelleğinden hassas verileri yakalamak için veri belleğine bağımlı önceden getirici (DMP) olarak bilinen bir özellikten yararlanan bir mikro mimari yan kanal saldırısıyla ilgilidir. Bulgular Apple’a Aralık 2023’te bildirildi.
Ön getiriciler, halihazırda çalışmakta olan bir programın yakın gelecekte hangi bellek adreslerine erişeceğini tahmin eden ve verileri buna göre ana bellekten önbelleğe alan bir donanım optimizasyon tekniğidir. Bu yaklaşımın amacı programın belleğe erişim gecikmesini azaltmaktır.
DMP, neyin önceden getirileceğini belirlerken önceden gözlemlenen erişim modellerine dayalı olarak bellek içeriğini hesaba katan bir ön getirici türüdür. Bu davranış, önceden getiriciyi, normalde erişilemez olması gereken kurban işlemiyle ilişkili içerikleri açığa çıkarması için kandıran önbellek tabanlı saldırılara zemin hazırlar.
GoFetch ayrıca, adı verilen başka bir mikro mimari saldırının temellerini de inşa ediyor. Kehanet verileri spekülatif olarak sızdırmak için DMP’yi kullanıyor.
Illinois Üniversitesi Urbana-Champaign, Teksas Üniversitesi, Georgia Teknoloji Enstitüsü, California Üniversitesi, Berkeley’den yedi akademisyenden oluşan bir ekip, “DMP, bellekten yüklenen ve bir işaretçiye ‘benzeyen’ verileri etkinleştirir (ve referansı kaldırmaya çalışır)” , Washington Üniversitesi ve Carnegie Mellon Üniversitesi söz konusu.
“Bu, veri ile bellek erişim modellerinin karıştırılmasını yasaklayan sabit zamanlı programlama paradigmasının gerekliliğini açıkça ihlal ediyor.”
Bu türdeki diğer saldırılarda olduğu gibi kurulum, kurbanın ve saldırganın aynı makinede ve aynı CPU kümesinde aynı yerde bulunan iki farklı işlemin olmasını gerektirir. Özellikle tehdit aktörü, hedefi GoFetch’ten yararlanan kötü amaçlı bir uygulamayı indirmeye yönlendirebilir.
Dahası, saldırgan ve kurban hafızayı paylaşmazken, saldırgan kendisi için mevcut olan mikro mimari yan kanalları (örneğin, önbellek gecikmesi) izleyebilir.
Özetle GoFetch, “bir kurban sabit zaman paradigmasını izleyerek verileri adreslerden doğru bir şekilde ayırsa bile, DMP’nin kurban adına gizli bağımlı bellek erişimi oluşturacağını” ve onu anahtar çıkarma saldırılarına karşı duyarlı hale getireceğini gösteriyor.
Başka bir deyişle, bir saldırgan, önceden getirilen verileri etkilemek için ön getiriciyi silah haline getirebilir ve böylece hassas verilere erişmenin kapısını açabilir. Güvenlik açığının, zamanlama yan kanal saldırılarına karşı sabit zamanlı programlamanın sunduğu güvenlik korumalarını tamamen geçersiz kılması nedeniyle ciddi sonuçları vardır.
Araştırmacılar, “GoFetch, DMP’nin önceden düşünülenden çok daha agresif olduğunu ve dolayısıyla çok daha büyük bir güvenlik riski oluşturduğunu gösteriyor” dedi.
Kusurun temel doğası, mevcut Apple CPU’larda düzeltilemeyeceği anlamına geliyor ve kriptografik kitaplık geliştiricilerinin GoFetch’in başarılı olmasına olanak tanıyan koşulları önlemek için adımlar atmasını gerektiriyor ve bu da performansta bir düşüşe neden olabilir. Kullanıcılardan ise sistemlerini güncel tutmaları isteniyor.
Ancak Apple M3 yongalarında veriden bağımsız zamanlamanın (DIT) etkinleştirilmesinin DMP’yi devre dışı bıraktığı görüldü. M1 ve M2 işlemcilerde bu mümkün değildir.
“Apple silikon, işlemcinin belirli talimatları sabit bir sürede tamamladığı veriden bağımsız zamanlama (DIT) sağlıyor.” Apple notlar belgelerinde. “DIT etkinleştirildiğinde işlemci, giriş verisine bakılmaksızın talimatı tamamlamak için daha uzun, en kötü durumdaki süreyi kullanır.”
iPhone üreticisi ayrıca, DIT’yi açmanın zamanlamaya dayalı sızıntıyı önlemesine rağmen, geliştiricilere, bir rakibin gizli verileri çıkarmasını etkili bir şekilde engellemek için “gizli verilerin değerine dayalı koşullu dallardan ve bellek erişim konumlarından kaçınmanın” tavsiye edildiğini vurguladı. işlemcinin mikro mimari durumunu takip etmek.
Bu gelişme, Avusturya’daki Graz Teknoloji Üniversitesi’nden ve Fransa’daki Rennes Üniversitesi’nden bir başka araştırmacı grubunun, popüler tarayıcıları ve grafik kartlarını etkileyen, bir web sitesindeki özel hazırlanmış JavaScript kodundan yararlanan yeni bir grafik işleme birimi (GPU) saldırısını göstermesiyle ortaya çıktı. şifreler gibi hassas bilgiler.
Kullanıcı etkileşimi gerektirmeyen teknik, tarayıcı içinden yapılan ilk GPU önbellek yan kanal saldırısı olarak tanımlandı.
Araştırmacılar, “GPU hesaplama aynı zamanda web siteleri içindeki hesaplamalar için de avantajlar sunabildiğinden, tarayıcı satıcıları WebGL gibi API’ler ve yakında çıkacak olan WebGPU standardı aracılığıyla GPU’yu JavaScript’e maruz bırakmaya karar verdiler.” söz konusu.
“JavaScript ve WebGPU ortamının doğasında olan kısıtlamalara rağmen, geleneksel CPU tabanlı saldırılarla karşılaştırılabilir bir etkinlikle önbellek yan kanal saldırılarına olanak tanıyan yeni saldırı temelleri oluşturuyoruz.”
Bir tehdit aktörü, kullanıcılar internette gezinirken AES anahtarlarının çıkarılmasına veya kripto para madenciliği yapılmasına olanak tanıyan bir arabadan saldırı yoluyla bunu silah haline getirebilir. WebGPU standardını uygulayan tüm işletim sistemlerini ve tarayıcıların yanı sıra çok çeşitli GPU cihazlarını da etkiler.
Karşı önlem olarak araştırmacılar, tarayıcı aracılığıyla ana sistemin grafik kartına erişimi hassas bir kaynak olarak ele almayı ve web sitelerinin kullanımdan önce (kamera veya mikrofon durumunda olduğu gibi) kullanıcılardan izin almasını gerektirmeyi öneriyor.