Ders 3.41: İşlemci zafiyetleri ve azaltmaları
Spectre, Meltdown, MDS ve akrabaları, işlemcilerin tahmini yürütme biçimindeki kusurlardır. Bir programın ya da bir sanal makinenin başka birine ait belleği okumasına izin verirler. Çekirdek her birinin etrafından dolaşır ve her geçici çözümün durumunu /sys/devices/system/cpu/vulnerabilities altında bildirir. Bazı çözümler hıza mal olur; bu yüzden 'performans' için kapatılıp unutulurlar. Laboratuvarda başka ekiplerin sanal makinelerini çalıştıran bir KVM sunucusu ikisi kapalı ve Hyper-Threading açık olarak başlatılmış. Çekirdeğin raporunu okuyor, seçenekleri izliyor, SMT'yi hemen kapatıyor ve açılış seçeneklerini bir sonraki yeniden başlatma için düzeltiyorsun.
18 dk
Bu derste öğreneceklerin
- Çekirdeğin sysfs'teki zafiyet raporunu okumak
- 'Vulnerable' satırlarını çekirdek komut satırı seçeneklerine bağlamak
- SMT'nin çok kiracılı bir makinede neden önemli olduğunu açıklamak
- SMT'yi çalışırken ve kalıcı olarak kapatmak
- Hangi düzeltmelerin yeniden başlatma gerektirdiğini bilmek
Temel terimler
- Tahmini yürütme
- İşlemci, gerekip gerekmediğini bilmeden komutları çalıştırır; yanlış tahminler geri alınır ama önbelleklerde iz bırakır.
- Meltdown / PTI
- Meltdown bir sürecin çekirdek belleğini okumasını sağlar; düzeltmesi sayfa tablosu yalıtımıdır (PTI).
- Spectre v2
- Dal tahminini zehirleyip başka bir bağlamın seçilen koda doğru tahmini yürütme yapmasını sağlamak; retpoline, IBRS, IBPB ve STIBP ile düzeltilir.
- SMT
- Eşzamanlı çoklu iş parçacığı: tek çekirdekte, arabelleklerini paylaşan iki mantıksal işlemci.
- mitigations=
- Çekirdek seçeneği: off (tüm düzeltmeler kapalı), auto (varsayılan), auto,nosmt (SMT'yi de kapat).
← LUKS anahtar yuvaları: diski kim açabilir · Tüm dersler · YARA kuralları yazmak →