AMD işlemcilerde erime saldırılarına izin veren başka bir güvenlik açığı tanımlanmıştır.

Graz Teknik Üniversitesi'nden (Avusturya) ve Helmholtz Bilgi Güvenliği Merkezi'nden (CISPA) oluşan bir araştırma ekibi, tüm AMD işlemcilerinde Meltdown sınıfının gerçekleştirilmesini mümkün kılan bir güvenlik açığı (CVE-2021-26318) hakkında bilgi açıkladı yan kanal saldırıları (başlangıçta AMD işlemcilerin Meltdown güvenlik açığından etkilenmediği varsayılmıştı). Pratik anlamda saldırı, gizli iletişim kanalları oluşturmak, çekirdekteki etkinliği izlemek veya çekirdekteki güvenlik açıklarından yararlanırken KASLR korumasını atlamak için çekirdek belleğindeki adresler hakkında bilgi edinmek için kullanılabilir.

AMD, ağustos ayında keşfedilen benzer bir saldırı gibi güvenlik açığının gerçek koşullarda pek işe yaramaması, işlem adres alanının mevcut sınırlarıyla sınırlı olması ve belirli güvenlik önlemlerinin varlığını gerektirmesi nedeniyle sorunu engellemek için özel önlemler almanın uygunsuz olduğunu düşünüyor. çekirdekteki hazır talimat dizileri (gadget'lar). Saldırıyı göstermek için araştırmacılar kendi çekirdek modüllerine yapay olarak eklenen bir gadget'ı yüklediler. Gerçek koşullarda saldırganlar, örneğin gerekli dizileri değiştirmek için eBPF alt sistemindeki düzenli olarak ortaya çıkan güvenlik açıklarını kullanabilir.

Bu yeni saldırı türüne karşı korunmak için AMD, LFENCE talimatlarının kullanılması gibi Meltdown saldırılarının engellenmesine yardımcı olan güvenli kodlama tekniklerinin kullanılmasını önerdi. Sorunu tespit eden araştırmacılar, daha önce yalnızca Intel işlemciler için kullanılan daha sıkı bellek sayfa tablosu izolasyonunun (KPTI) etkinleştirilmesini öneriyor.

Deney sırasında araştırmacılar, çekirdekte "if (offset < data_len) tmp =" işlemini gerçekleştiren bir gadget'ın varlığı göz önüne alındığında, çekirdekten kullanıcı alanındaki bir işleme saniyede 52 bayt hızla bilgi sızdırmayı başardılar. LUT[veri[ofset] * 4096];” . Spekülatif yürütme sırasında önbelleğe giren yan kanallar yoluyla bilgi almak için çeşitli yöntemler önerilmiştir. İlk yöntem, “PREFETCH” (Prefetch+Time) işlemci komutunun yürütme süresindeki sapmaların analiz edilmesine, ikincisi ise “PREFETCH” (Prefetch+Power) yürütülürken enerji tüketimindeki değişikliğin değiştirilmesine dayanmaktadır.

Klasik Meltdown güvenlik açığının, talimatların spekülatif olarak yürütülmesi sırasında işlemcinin özel bir veri alanına erişebilmesi ve ardından sonucu atabilmesi gerçeğine dayandığını hatırlayın, çünkü ayarlanan ayrıcalıklar, kullanıcı sürecinden bu tür erişimi yasaklamaktadır. Programda, spekülatif olarak yürütülen blok, gerçek koşullarda her zaman tetiklenen koşullu bir dal ile ana koddan ayrılır, ancak koşullu ifadenin, işlemcinin önleyici yürütme sırasında bilmediği hesaplanmış bir değer kullanması nedeniyle. kod, tüm şube seçenekleri spekülatif olarak gerçekleştirilir.

Spekülatif olarak yürütülen işlemler, normal olarak yürütülen talimatlarla aynı önbelleği kullandığından, spekülatif yürütme sırasında, önbellekte özel bir bellek alanındaki bireysel bitlerin içeriğini yansıtan işaretleyiciler ayarlamak ve ardından normal olarak yürütülen kodda zamanlama yoluyla değerlerini belirlemek mümkündür. analiz, önbelleğe alınmış ve önbelleğe alınmamış verilere erişim sağlar.

Kaynak: opennet.ru

Yorum ekle