Yaklaşık on yıl önce AMD, yüksek performanslı işlemcilerine, bellek çipleri içindeki hassas verileri sızdıran soğuk başlatma saldırıları ve diğer fiziksel istismar türlerine karşı koruma sağlayan bir özellik ekledi. Şeffaf Güvenli Bellek Şifrelemesi (TSME) olarak adlandırılan bu teknoloji, bellekte depolanan tüm içeriği şifreleyerek, fiziksel saldırganlar için verileri anlamsız hale getiriyordu.
Zamanla AMD, bu özelliği daha uygun fiyatlı işlemcilerine, özellikle de tüketici sınıfı Ryzen çiplerine de dahil etti. Yıllar içinde bu işlemcileri kullanan kullanıcılar, eklenen bu güvenlik katmanına alıştı. Ancak yakın zamanda, hiçbir uyarı veya bildirimde bulunmaksızın, bu alt seviye AMD işlemcilerindeki güvenlik özelliği aniden kaldırıldı. Windows makinelerinde bu değişikliği tespit etmek imkansız hale gelirken, Linux kullanıcıları için önemli teknik çaba gerektiren bir durum ortaya çıktı.
Önce Vardı, Sonra Yok Oldu
AMD, TSME'nin bu işlemcilerde neden çalıştığına dair henüz bir açıklama yapmadı, hatta değişikliği doğrulamadı bile. AMD, gönderilen soruları yanıtsız bırakarak, yalnızca TSME'nin "AMD PRO Teknolojilerinin bir parçası olarak yalnızca PRO işlemciler için geçerli bir güvenlik özelliği" olduğunu belirtti. Bu açıklama, çip üreticisinin bu kısıtlamayı ilk kez kamuoyu önünde bu kadar net bir şekilde dile getirmesi oldu.
Nisan ayında, kendini "gizlilik bilincine sahip bir Linux meraklısı" olarak tanımlayan Ben Kilpatrick, Zen 5 mimarisine sahip bir Ryzen 7 9700X çalıştıran makinesine yeni bir işletim sistemi kurarken durumu fark etti. Tüm güvenlik korumalarının etkin olduğundan emin olmak için makinesinde, aygıt yazılımı ve donanım güvenlik yapılandırmalarını değerlendiren bir denetim özelliği olan Ana Bilgisayar Güvenlik Kimliği'ni (HSI) çalıştırdı.
Beklenmedik bir şekilde, HSI TSME'nin artık mümkün olmadığını gösterdi. Ekran görüntüsünün alt kısımlarındaki "şifrelenmiş RAM: desteklenmiyor" satırı bunu açıkça ortaya koyuyordu. Birkaç satır aşağıda, HSI daha önce TSME'nin "şifrelenmiş" olarak gösterildiğini belirtiyordu. Kilpatrick için bu durum mantıksızdı, çünkü BIOS ayarlarında TSME'yi her zaman etkinleştirmişti.
Bu durum, Kilpatrick'i ne olduğunu anlamak için aylarca süren bir araştırmaya sürükledi. Anakart üreticisi MSI'ın hem destek hem de mühendislik ekiplerine bir soruşturma gönderdikten sonra, sonunda şirket mühendislerini test yapmaya ikna etti. Bu testler, MSI ve Gigabyte anakartlarda çalışan Ryzen'ın tüketici sürümlerinde, önyükleme işlemi sırasında AMD'nin Genel Kapsüllenmiş Yazılım Mimarisi (AGESA) aracılığıyla sunulan eski bir aygıt yazılımı sürümü kullanıldığında TSME'nin etkin olduğunu ortaya koydu. Bunun yerine daha yeni bir AGESA sürümü olan 1.2.7.0 çalıştırıldığında ise TSME "desteklenmiyor" olarak görünüyordu. Ryzen işlemcilerin Pro sürümleri ise her iki anakart ve AGESA sürümünde de TSME'yi destekliyordu.
Kilpatrick, durumu "AMD'nin TSME'yi yalnızca PRO çiplerle sınırlamak için bilinçli bir politika kararı mı aldığı, yoksa AGESA 1.2.7.0'da ortaya çıkan kasıtsız bir gerileme mi olduğu büyük bir soru işareti" olarak yorumladı. Kilpatrick, soruşturmasının bir parçası olarak AMD'nin halka açık mühendislik GitHub deposunda bir hata raporu da oluşturdu. AMD'den iki mühendis doğrudan etkileşime geçti. AMD kıdemli yazılım mühendisi Tom Lendacky, değişikliğe neyin neden olduğunu bilmediğini belirterek, BIOS'taki seçeneği devre dışı bırakıp tekrar etkinleştirmeyi önerdi. Diğer bir AMD kıdemli yazılım mühendisi Mario Limonciello da benzer bir öneride bulundu ve sorunun devam etmesi durumunda anakart üreticisiyle iletişime geçilmesini tavsiye etti.
AMD Mühendisinden Ek Bilgi Yok
Altı hafta sonra, Kilpatrick tartışmayı yeniden başlattı ve MSI'ın araştırmalarının sonuçlarını AMD mühendisleriyle paylaştı. Kilpatrick, MSI'ın ürün pazarlama ekibinin kendisine, AMD'nin TSME'nin yalnızca PRO serisi işlemcilerde desteklendiğini resmi olarak bildirdiğini aktardı. Ayrıca, kontrollü testlerin bir Asus X870E anakart üzerinde Ryzen 9800X3D (tüketici) ve Ryzen 9945 (PRO) ile yapıldığını ve PRO işlemcide tsme_status = 1, tüketici işlemcide ise tsme_status = 0 bulunduğunu belirtti. Bu, TSME'nin PRO'da etkin, tüketici sürümünde ise devre dışı olduğunu gösteriyordu.
Kilpatrick, ABL bellek dökümlerini de inceledi ve tüketici ile Pro işlemcilerde farklı değerler döndüğünü, DfIsTsmeEnabled bayrağının tüketici işlemciler için FALSE, Pro ve EPYC işlemciler için ise TRUE olarak göründüğünü ortaya koydu. Bu da, TSME BIOS'ta etkin olsa bile tüketici çiplerinde devre dışı bırakıldığını gösteriyordu. Lendacky'nin 2020'de bir tüketici işlemcisi olan Ryzen 3700X'te TSME desteğini onayladığını hatırlatan Kilpatrick, bu durumun bir donanım sınırlaması mı yoksa bir aygıt yazılımı politikası kararı mı olduğunu sordu. Limonciello ise "Bu konuda paylaşacak daha fazla bilgim yok" diyerek konuyu kapattı.
AMD'nin TSME'yi tüketici işlemcilerinde hiçbir zaman reklam veya pazarlama yapmamış olmasına rağmen, daha uygun fiyatlı işlemcilerde yıllardır sorunsuz çalışması, kullanıcıları bu özelliğin beklendiği gibi olması gerektiğine inandırmıştı. AMD'nin bunu sessizce kaldırması ve herhangi bir açıklama yapmaması, birçok kullanıcı tarafından bir tür ihanet olarak algılandı. Silikon seviyesi güvenlik uzmanı Joe Fitzgerald, bu durumu "TSME'nin desteklenmemesi gerektiğini fark etmemiş olabilirler ve hatalı olarak etkinleştiren bazı aygıt yazılımları göndermiş olabilirler, ancak düzgün çalışacağının garantisini veremeyeceğimiz için bunları kullanmamalısınız" gibi bir açıklama ile bile durumun izah edilmesi gerektiğini belirtti.