Superscalar işlemci tasarımları modern yüksek performanslı hesaplamanın arka kemiğidir, CPU'ların eğitim seviyesi paralelliği (ILP), dışsal yürütme ve spekülatif uygulama gibi gelişmiş tekniklerle, güvenli altyapıdan her şey için dikkat çekici kazanımlar sağlarken, bu özellikler büyük ölçüde daha basit ölçeklendirmek için çok zorlayıcı sistemlerde olmayan güvenlik zayıflıklarını ortaya koyarlar.

Superscalar Processors nedir?

Güvenlik etkilerini takdir etmek için, bir süper işlemcinin daha basit meslektaşlarından farklı olduğunu ilk önce anlamalıdır. A scalar işlemcisi, saat döngüsündeki en fazla bir talimatla çalışır, katı, eşdeğer bir düzende işleme talimatlarını uygular.Bu özellik, modern CPU performansının temelidir, ancak önemli bir iç karmaşıklık ile gelir.

Süperscalar infazı sağlayan temel mekanizmalar şunlardır:

  • [FONT:0) Çok sayıda fonksiyonel birim:[Dönetici:[Dönetici:0)[Dönetici birimleri:[Dönetici:0))Seks, bellek erişim ve şube kararı için ayrı birimler gibi paralel olarak çalışabilecek özel donanım blokları.
  • [FONT:0)Öyle Olmayanlar (OoOE): ), işlemci yeniden siparişler, geçici olarak, işbaşı emeklilik illüzyonunu yeniden sipariş ederek, yeniden sipariş edilen bir karar ile korumayı korurken dinamik olarak görev birimlerini yeniden sipariş eder.
  • [FONT:0]Yönetici yeniden ifade ediyor:[Dönetici:[Dönetici:0)[Döneticileri) Deminates sahte veri bağımlısı (Yaz-sonrası, Yaz-Yaz-Yaz-Yaz-Yaz) daha sonra, mimari kayıtlarını daha büyük bir fiziksel kayıt havuzuna haritalayarak.
  • [FONT:0]Speculative execution:[Dönetici:[Dönetici: 0,2) The işlemci, önceden şubelerin sonuçlarını öngörür ve tahmin yanlışsa iptal sonuçları verir.
  • [FONT:0)Branch tahmini:[Dönetici: [Dönetici: 0,0) İleri tahminciler (örneğin, TAGE, sinir tahmincileri) yüksek doğrulukla şubelerin yönünü ve hedefini tahmin eder, spekülatif boru hattını besleyin.

Bu özellikler performans için gerekli olsa da, işlemcinin mikroarizittural durumunu da açığa çıkarırlar – zamanlaması, güç ve elektromanyetik yan kanallar yoluyla denetim altına alınabilecek olası gözlem ve manipülasyonlar, uygulama yolunun asla mimari olarak erişilebilir olduğu gibi, Spectre ve Meltdown gibi sömürücülerin açılmasına gerek kalmadan.

Güvenlik Vulner yükümlülükleri Belirli Süper Mimarlıklara Özel

Süper tasarımların karmaşıklığı, mikroarşist sınırları atlamak için mevcut olmayan kırılganlığa yol açıyor.Bu zayıflıklar genellikle iki geniş kategoriye girer: fiziksel veya zamanlama gözlemleri aracılığıyla bilgi kullanan yan kanal saldırıları ve mikroartolojik durumu istismar eden mikroarizman sınırları.

1. Side-Channel Saldırıları

Superscalar işlemciler, kriptografik anahtarlar veya özel kullanıcı verileri gibi hassas bilgilere bağlı olarak bu yan kanalları kullanarak hassas bilgide kullanabilir.

  • [[Dönetici:0)Cache-based side kanalları:[Dönetici:0)En iyi hazırlanmış kategori. Superscalar CPUs, ana bellek ve ana bellek arasındaki hız boşluğu köprüye kadar uzanan hız boşluklara güveniyor.Çünkü bir saldırıdan (bir kurban siparişlerine) haberdar olmak için bir saldırıya izin verin, o zaman bir uyarı işlemine izin verin.
  • [[Dönetici analizi: [DPAT:1] Superscalar işlemciler, çok sayıdaki masaüstü CPU'lara bağlı olarak farklı miktarda güç toplarlar ve aktif fonksiyonel birimler. Basit güç analizi (SPA) ve farklı güç analizi (DPA), kriptografik anahtarları akıllı kartlardan veya gömülü cihazlardan çıkarabilirler, ancak bu tür saldırılar çok sayıda masaüstü CPU'lara mesafeyi yerleştirmek için daha zor.
  • [[Düzücü saldırılar:[Döncüler: [Döneticiler:0) Taklit edilen saldırılarda kullanılan klasik kırılganlıklar, operacı değerleri (örneğin, çoklu uygulama, bölünme) ve uygulama birimlerinin kullanılabilirliği ile ilgili olarak, saldırganlar, eylemlerin zamanlarını ölçebilirler.
  • [FONT:0)Electromantik (EM) yayıcılar:[Döneticiler: 0 3) Süperscalar boru hatlarında transistörlerin hızlı geçişleri, uzmanlaşmış problarla yakalanabilen EM radyasyonu yaratır. Sophisticated saldırganlar bu sinyalleri yeniden yapılandırma talimatları veya veri değerlerini yeniden yapılandırmak için demodulateler.

Bu yan kanallar süper tasarımlarda daha basit bir şekilde genişletilir, çünkü artan paralellik, süperscalar mimarisinin vaat ettiği çok performans kazanımlarını feda etmeden daha karmaşık etkileşimler anlamına gelir.Daha basit işlemciler üzerinde çalışan teknikleri (örneğin, sürekli programlama) daha zor hale gelir.

2. Spectre ve Meltdown Variants

Spectre ve Meltdown, 2018'in başlarında, bilgisayar mimarisi topluluğunu bu spekülatif hafıza erişimlerini göstererek şok etti - modern süperscalar performanslarının temel taşları - saldırganlardaki verileri güvenlik sınırlarına karşı sızdırmak için silahlanmış oldu.

  • [FONT:0)Meltdown (CVE-2017-5754): Intel'de ve bazı ARM işlemcileri kullanıcıdan çekirdek hafızasını okumak için bir kullanıcı alanı talimatına erişmek için bir istisna ortaya koyar.
  • [[Dönetici:0)Spectre Variant 1 (CVE-2017-5753) - Sınırlar Check Bypass:[Dönetici: 1) Bir dizi sınır dışı etmenin ötesinde, veri önbellekli zamanlayıcısı ile ilgili talimatları yürütmek.Bu saldırı işe yaramak, gerçek adrese kadar yol önceden tahmin edilen yol uygulamaktır.
  • [FONTD:0]Spectre Variant 2 (CVE-2017-5715) - Brant Hedef Enjeksiyonu:[Dönetici: 1) Zehirli bir kurbanın (BTB) bir kurbanın, saldırgan-kosen adresinin, hatta paylaşılan BTB’lerle bile uyumlu bir şekilde yürütülmesine neden olan bir saldırıya neden olan bir adrese yol açıyor.
  • [[Döneticiants 3a, 4 ve ötesinde: [Dönetici] Sonraki araştırmalar geri dönüş çöp tamponları (RSB), mağaza yükleri ileriye dönük ve yük değeri enjeksiyonu (LVI) Tüm bu sömürücü mikroarizleyici uygulama yan etkileri süperscalar tasarımları.

Bu saldırılar benzersiz bir şekilde tehlikeli çünkü her bilgisayar segmentinde süperscalar işlemcilerin temel izolasyon garantilerini kırıyor - saldırı yüzeyinin büyük olduğunu belirtiyorlar.

3. Paylaşılan Kaynaklarda Variations

Önbelleklilere ek olarak, süperscalar işlemciler, bu kaynaklarda birçok mikrokeşit kaynak paylaşıyorlar: ko-parlak kurbanın aktivitesini veya verilerini ortaya çıkarmak için kötü niyetli bir şekilde ölçülmüşler.For example, the steplFLT:0PortSmash-Döndergiler) saldırıya karşı çıkan bu kaynaklarda içerikli olarak kullanılan bu tür hataların tespit edilmesi için kullanılan farklılaşmalar.

Superscalar Processors'a meydan okumalar

Süperscalar işlemcileri basit ölçeksel mimarileri güvence altına almaktan daha temel olarak daha zordur. Bu zorluka çeşitli faktörler katkıda bulunur:

  • [FONT=0]Complexity of Valid:[Dönetici:[Dönetici:0) Modern süperscalar çekirdeğinin tasarım alanı, paralellik, spekülasyonlar ve yeniden ortaya çıkmadan önce milyarlarca olası devlet içerir. Güvenlik özelliklerinin formal doğrulama (örneğin, bilgi akışı, tartışma dışı), gelişmiş model kontrolü ile bile anlaşılabilir.
  • [FONT:0)Performance-security trade-offs:[Döneticileri için davaların çoğu – süperlerca tasarımların teslim edilmesi veya devre dışı bırakılması amaçlanmıştır.A 2018 study tahmin edilmektedir Spectre/Meltdown mitigations for speculative execution Attack-context-switch, pipeline serileştirme talimatları.
  • [[Dönetici:0) Sertware yarılama sınırlamaları: [Dönetici] Yazılım güvenliklerinden farklı olarak, mikroarayıcı kusurları genellikle mikrokolay güncellemeler yoluyla sabitlenemez. Birçok Spectre varyantları işletim sistemi yamaları, derleyici değişiklikler veya donanım yeniden tasarım gerektirir. mikrokolay yamalar, faydalı olsa da tüm saldırı vektörlerini kapatamaz.
  • [FONT:0]De tehdit manzarasını içeriyordu:[Dönetici:[Dönetici:0] Yeni versiyonlar, ilk açıklamalardan sonra yıllarca ortaya çıkmaya devam ediyor.Her yeni saldırı, bir mitigations ve birden fazla mitigations kombinasyonu beklenmedik etkileşimleri veya yeni yan kanalları yaratabilir. Örneğin, bazı erken Spectre düzeltmeleri yeni kod yolları aracılığıyla zamanlaması.
  • [[Döneticileri:0|kullanıcı kullanıcı görünürlüğü:[Dönetici:0)En son kullanıcıların ve hatta birçok sistem yöneticisinin CPU'larının mikrosal özelliklerini az anlaması gerekir. Bu, risk veya uygun mitigations'leri değerlendirmeyi zorlaştırır. Bulut sağlayıcıları, kırılgan CPU modellerini kapsamlı siyah listeler sağlamalıdır ve sürekli olarak güncellemeli ve hipervizörleri güncellemelidir.

Bu zorluklar süperscalar işlemcileri güvence altına almak için gümüş mermi olmadığını ifade eder. Bunun yerine, donanım, yazılım ve operasyonel kontroller birleştiren bir tabakalı yaklaşım gereklidir.

Mitigating Vulner yükümlülükleri için stratejiler

Zorluklara rağmen, endüstri süperscalar mimarisinin eşsiz güvenlik açıklarını azaltmak için önemli bir ilerleme kaydetti.En etkili stratejiler donanım geliştirmelerini, mikrokolay güncelleştirmelerini, yazılım yamalarını ve mimari en iyi uygulamaları birleştirir.

Donanım-Based Solutions

Silikon satıcılar saldırı yüzeyinin azaltılması için sayısız donanım özelliği tanıttı:

  • [FONT:0)Güvenli çizme ve güvenilir yürütme ortamları:[Dönetici: Intel SGX, AMD SEV ve ARM TrustZone, uzlaşmacı bir OS'ye karşı bile korunan izole enklavlar sağlar. Ancak, kendilerini yan kanal ve spekülatif saldırılar için savunmasız hale getirdiler (örneğin, SGAxe, SmashEx).
  • [FONT=0)Cache partitioning ve renklendirme: Intel Cache Allocation Technology (CAT) belirli temellere veya süreçlere önbellekli yan kanal saldırıları önbellek evlenebilir. Benzer şekilde, Arm's MPAM (Memory Partition and monitoring) donanım-enforced önbellek bant genişliği bölmesine izin verir.
  • [FONT=0]Speculation control mekanizmaları:[Dönlendirme:0) Intel, DÜŞÜNCÜSİAD'ın (SHAD) kontrollerini ve [FONTD:2) (İsviçresiz Araç Restrikikasyon) özelliklerini, Spectre v1 m boyunca sınırlı sayıdaki icraat özelliklerini ortaya koyar.
  • [[Dönware izleme:[Dönetici:[Dönetici:0) Bazı araştırma prototipleri önbellekli oranları izlemek veya latencies kesmekle gerçek zamanlı bir şekilde tespit etmeyi önerir. Ticari uygulamalar sınırlı kalır, ancak makine öğrenme tabanlı bir anomali tespiti aktif bir alandır.
  • [FONT:0)Constant-time execution birimleri: Verilere bağlı zamanlama (örneğin, PSPS'ye sahip kriptografik birimleri tasarlayın), Montgomery multiplikasyonu donanımda kullanarak) zaman zaman zaman çizelgesine sahiptir. Bazı işlemciler özel kriptografik motorlar içerir (örneğin, ARMv8.4-AES talimatları) sürekli olarak sabit zamanlı olarak tasarlanmıştır.

Microcode ve Firmaware Updates

CPU satıcılarından düzenli mikrokolay güncellemeler yeni keşfedilen açıklıkları kapatmak için kritiktir:

  • [FONTD:0)Spectre v2 mikrocode mitigations:[Dönetici: 0: 3 ) Intel ve AMD, Indirect Branch Predictor Engels (IBPB) ve Single Thread Indirect Branch Predictors (STIBP) ile ilgili şube hedeflerini önlemek için mikro kodlanmış mikro kodlamalar.
  • [FONTT:0)Meltdown mitigations:[Dönetici:[Dönetici: 0))))) İşletim sistemlerinde uygulanmış, ancak bazı eski CPUlarda tam olarak etkili olan mikrokole güncelleştirmeleri üzerine kuruludur. Microcode, aynı zamanda aktif bir temel üzerinde belirli spekülatif özellikler devre dışı bırakabilir.
  • [FONT:0]Firmware-based cache kızarma:) Bazı bilgisayar güncellemeler, önbellek tabanlı saldırılar için pencereyi azaltmak için otomatik önbellekleri ekleyin.

Ancak, mikrocode güncellemeleri sınırlamaları vardır. Temel olarak boru hattını yeniden tasarlayamazlar ve genellikle performans regresyonlarını tanıtabilirler.Ayrıca, bazı eski işlemciler güncellemeleri alabilir, onları kalıcı olarak savunmasız bırakabilir. Sistem yöneticileri, CPU modellerinin bir envanterini sağlamalıdır ve işletim sistemi aracılığıyla en son mikrokokoyu uygulamalıdır.

Yazılım ve OS-Level Mitigations

İşletim sistemleri, hipervizörler ve derleyici araç zincirleri önemli bir rol oynamaktadır:

  • [FONT=0)Kernel Page Table Isolation (KPTI): [Dönetici: 0 3) Bu OS, Meltdown benzeri okumaları önlemek için kullanıcı alanı ve çekirdek uzay sayfası masalarını ayırır.
  • [FONT:0)Retpoline:[[Dönetici:0) Bir yazılım, şube hedef enjeksiyonunu önlemek için bir serileştirilmiş bir dizi ile dolaylı şubeleri değiştirmenin bir sistem inşa ettiği bir yazılım inşa edilmiştir.GCC ve LLVM desteği gibi bazı değişiklikler x86-64 için yeniden kod nesli.
  • [FONT:0)Speculation engeller: [Dönetmelik engelleri: [Dönetmelik: [Dönetmelik: [Dönetmelik engelleri:[Dönetmelik:[Dönetmelik:0) veya [[Dönlendirmek (Spectre v1) veya sonrasındaki bazı engelleri otomatik olarak ekleyebilir.
  • [[DÜDÜ:0)Cache bağlam anahtarlarında kızarıyor: OS çekirdeği, süreçler arasındaki bilgi sızıntısını önlemek için çamaşır veya bölüm önbellekleri kırabilir.
  • [FONT:0)Disabling SMT/hyperthreading:[Dönetici:[Dönetici:0) Birçok güvenlik rehberi, emanet edilen multitenant sistemler üzerinde Simultane (SMT) tavsiye eder (örneğin, hiperthreads share execution resources ve güçlendiriciler için savunmasızdır).
  • [FONT:0)Runtime test ve zorlama: Cihazın benzeri: [FONTD:11) ve satıcıya özgü senaryolar hangi mitigations aktif olarak sondaj olduğunu doğrulayabilir, geliştiriciler sürekli zaman kodlama uygulamaları ve bellek erişim modelleri aracılığıyla bilgi sızıntılarını kullanabilirler.

Güvenlik-Aware Design Principles

İleriye bakıldığında, en etkili yaklaşım başlangıçtan itibaren işlemci tasarım sürecine güvenlik dahil etmektir:

  • [FONT:0)Secure speculative execution:[Dönetici:0)[Üye Olmayanlar İçindekiler:0)[Üye Olmayanlar İçindekiler İçindekiler İçindekiler İçindekiler)[Üye Olmayanlar İçindekiler)[Üye Olmayanlar İçindekiler İçindekiler Arası Takipler[Üye Olmayanlar İçindekiler)
  • [FONT:0) Güvenlik-kahktik kaynakların fiziksel izolasyonu:) Süreç başına veya ayrıcalık seviyesindeki (örneğin, Arm's Branch Target Tanım) geçiş alanı sızıntısını azaltır.
  • [FONT:0)Kabul edilebilirlik temelli mimariler:[Dönetici: 0,4] CHERI (Capability Hardware Advancedd RISC Talimatları) gibi araştırma projeleri, tüm yazılım açıklarını hafifletebilecek iyi korunmuş hafıza koruma sağlar.
  • [FONT:0) Güvenlik özelliklerinin genel doğrulaması:[Dönetici:0) Bir süperscalar çekirdeğinin tam doğrulaması hala ulaşılmıştır, resmi yöntemleri eleştirel mikroarchitectural bileşenleri (örneğin, bellek sipariş mantığı veya şube tahminci gibi) kasetin önünde ince böcekleri yakalamaya yardımcı olabilir.

Uygulamada, donanım geliştirmelerinin bir kombinasyonu, mikrocode güncelleştirmeleri ve yazılım sertleştirme önemlidir. Tek bir katman tam koruma sağlar, ancak tabakalı savunmalar süperlerica açıkları başarıyla kullanmak için önemli ölçüde daha zor hale getirir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Superscalar işlemci tasarımları, alt yapıdaki modern hesaplamayı sağlayan performansı sunar, ancak aynı zamanda daha basit mimarilerde olmayan benzersiz bir güvenlik açığı sunar. yüksek aktarım işlemleri, kullanıcı ve sanal makineler arasındaki farkları kırabilecek aynı nitelikler.

Bu açıklığı ortadan kaldırmak süperscalar tasarımlarının doğal karmaşıklığı ve birçok karşıtlık tasarımlarının performans maliyetinden dolayı zorlanmaktadır. Ancak, donanım izolasyon özelliklerinin bir kombinasyonu (kache partitioning, spekülasyon kontrolleri), düzenli mikrokolay güncelleştirmeleri, yazılım mitigations (KPTI, retpoline, sürekli kodlama) ve güvenlik-aware tasarım ilkeleri uygun bir yol sunar. Araştırma ilerlemeleri ve endüstri standartları olgun olarak, gelecekte daha sağlam korumayı bekleyebiliriz.

Belirli açık açık ve mitigations hakkında daha fazla okuma için, orijinal Spectre ve Meltdown kağıtlarına ()Intel Security Center)[Dönetici:2)Meltdown web sitesi[Döneticileri, Saldırılar ve Modern Mikroişlemcilerde Savunmalar” ([Dönetici: 4 ).