Google Bug Hunters ekibi tarafından yapılan yeni bir güvenlik açığı analizi, AMD Zen işlemcileri için mikro kod imzası doğrulama sürecinde önemli bir kusur ortaya koyuyor. Şubat 2025’te herkese açık olarak açıklanan bu AMD Zen işlemci güvenlik açığı, AMD’nin mikrokod yama mekanizması ile ilişkili potansiyel risklere ışık tutuyor-şirketin yeni fiziksel donanım gerektirmeden donanım seviyesi hatalarını güncellemesine ve yamasına izin veren bir işlem.
Modern CPU’larda mikrokodun rolü
Modern X86 CPU’larının merkezinde, karmaşık hesaplama görevlerini mümkün kılan bir talimat sistemi yatmaktadır. Bu işlemciler, yüksek seviyeli X86 talimatlarını, düşük bir talimat seti bilgi işlem (RISC) motoru tarafından yürütülen düşük seviyeli işlemlerle birleştiren hibrit bir mimari kullanır.
Mikrokod motoru olarak bilinen RISC motoru, bu işlemlerin yürütülmesinde önemli bir rol oynar. Hem Intel hem de AMD, belgelenmemiş olsa da, ARM veya RISC-V gibi diğer iyi bilinen RISC mimarilerine benzer şekilde çalışan kendi mikro kodlu motorlarını tasarlar.
Tipik bir X86 işlemci, her biri paralel olarak talimatları yürütebilen birden fazla çekirdekten oluşur. CPU’nun mimarisi, işleme görevini iki temel bileşene ayırır: ön uç ve arka uç. Ön uç, arka uçları yürütürken talimatları getirir ve kod çözer. Mikrokod, daha karmaşık talimatların işlenmesi gerektiğinde devreye girer. Bu, CPU’ların doğrudan donanıma uygulanamayacak kadar karmaşık olabilecek gelişmiş özellikleri ve kenar durumlarını ele almasını sağlar.
Mikrokod Yaması Mekanizması: Donanım hatalarını düzeltme
Tarihsel olarak, donanım kusurlarını CPU’larda sabitlemek pahalı ve zaman alıcı bir süreçti, çünkü donanımı yeniden tasarlamayı ve yeni bileşenlerin üretilmesini gerektiriyordu. Bunu atlatmak için, hem AMD hem de Intel, üreticilerin yeni donanıma ihtiyaç duymadan sorunları yazılım düzeyinde yamalarına izin vererek mikro kod güncellemelerini tanıttı.
AMD için, bu mikrokod yama sistemi 2003’teki K8 mimarisinden bu yana mevcuttur. BIOS veya işletim sistemleri aracılığıyla uygulanabilecek güncellemeler yoluyla, AMD’nin mikro kodlu yamaları CPU’larındaki performans, güvenlik veya stabilite sorunlarını ele almaktadır.
Mikrokod yamaları uygulama işlemi
AMD Zen işlemcilere bir mikro kod yamasının uygulanması dört aşamalı bir prosedüre uyuyor:
- Yazarlık: AMD bir mikrokod yaması, meta verileri olan bir başlık, bir RSA genel anahtar modülü, genel anahtarın bir Montgomery tersi ve yamayı tanımlayan şifreli bir mikro operasyon dizisi içeren bir ikili blob üretir.
- Kimlik doğrulama: Yama AMD’nin özel RSA anahtarı kullanılarak imzalanır. CPU’nun mikro kodu, bu imzayı, yalnızca otantik yamaların yüklenmesini sağlamak için imalat sırasında işlemciye gömülü bir şekilde kodlanmış bir genel tuşa karşı doğrulayacaktır.
- Teslimat: İmzalı yama daha sonra doğrulama ve dağıtım için OEM’lere, işletim sistemlerine ve diğer ortaklara teslim edilir.
- Doğrulama ve kurulum: Yama, gömülü genel anahtarı kullanarak kriptografik imzayı kontrol ederek bütünlüğünü doğrulayan sistem tarafından alınır. Yama geçerliyse, CPU’nun dahili yama RAM’sine kurulur.
AMD ZEN işlemci güvenlik açığı


AMD’nin ortaya koyduğu güçlü kriptografik korumalara rağmen, AMD ZEN CPU’lar tarafından kullanılan mikrokod imzası doğrulama sürecinde son zamanlarda önemli bir kusur ortaya çıktı. Özellikle, sistem RSASSA-PKCS1-V1_5 imza algoritmasına dayanır, ancak SHA-256 gibi güvenli bir karma işlevi kullanmak yerine AMD, güvenli bir hash işlevi olmayan AES-CMAC (şifre tabanlı mesaj kimlik doğrulama kodu) kullanır.
AES-CMAC, bazı amaçlar için geçerli olmakla birlikte çarpışma saldırılarına karşı savunmasız olan bir mesaj kimlik doğrulama kodudur. Bir çarpışma, iki farklı girdi aynı çıktıyı ürettiğinde meydana gelir, bu da saldırganların karma işlemini manipüle etmesine izin verebilir. AMD Zen işlemcileri söz konusu olduğunda, bu güvenlik açığı, bir saldırganın zaten doğrulanmış bir yamanın imzasına uygun sahte bir RSA genel anahtarı hazırlayarak geçerli mikrokod yamaları oluşturmasını sağlar.
Bu zayıf kriptografik tasarım, AES-CMAC kullanımı ile birlikte potansiyel sömürü için kapıyı açar. Bir saldırgan AES-CMAC için kullanılan tuşa erişebilirse, sistemin imza doğrulama işlemini atlayabilir ve güvenlik uyarılarını tetiklemeden CPU’ya özel, kötü niyetli mikro kod yamaları enjekte etmelerini sağlar.
AMD Zen işlemci güvenlik açığından yararlanıyor
Google Bug Hunters ekibinden araştırmacılar, NIST SP 800-38B yayınından halka açık bir anahtarın, Zen 1 ve Zen 4 mimarilerinden olanlar da dahil olmak üzere eski AMD Zen CPU’larında kullanıldığını keşfetti. Araştırmacılar, bu bilgiden yararlanarak, meşru AMD anahtarıyla çarpışan yeni RSA genel anahtarları üreterek CPU’nun doğrulama sürecine otantik görünen mikro kod yamaları oluşturabildiler.
Bu güvenlik açığından yararlanmak teknik olarak zor olsa da, sonuçlar şiddetli olabilir. Gerekli anahtara erişim ile bir saldırgan, kritik güvenlik özelliklerini devre dışı bırakmak, kötü amaçlı ürün yazılımını yüklemek veya geleneksel güvenlik mekanizmaları tarafından tespit edilmeden korumaları atlamak için CPU’nun mikro kodunu değiştirebilir.
Çözüm
AMD ZEN mikro kodundaki imza doğrulama güvenlik açığı, modern işlemcileri güvence altına almada daha güçlü kriptografik uygulamalara duyulan ihtiyacı vurgulamaktadır. Bu kusur, yerleşik sistemlerin bile standart güvenlik önlemlerinin benimsenmesinin önemini vurgulayarak gizli güvenlik açıklarına sahip olabileceğini göstermektedir.