SBAT(Secure Boot Advanced Targeting) tanımı
- UEFI Secure Boot ilk tanımlandığında, ilgili herkes biraz saf davranmıştı
- Secure Boot’un temel güvenlik modeli, çekirdek seviyesindeki ayrıcalık ortamında çalışan tüm kodların çalıştırılmadan önce doğrulanması gerektiğidir
- Buna, zafiyet bulunan imzalı bileşenlerin devre dışı bırakılmasına yönelik bir yöntem de dahildir
- Ancak Secure Boot ekosisteminde çalışan tüm Linux dağıtımları kendi önyükleyici ikililerini ürettiği için, bir zafiyet tespit edildiğinde geçersiz kılınması gereken çok sayıda ikili ortaya çıkıyor
- Hash saklamak için ayrılan alan sınırlı olduğundan SBAT geliştirildi
SBAT nasıl çalışır
- Önyükleme zincirindeki tüm kritik bileşenler, imzalı ikilinin içine gömülü bir güvenlik nesli bildirir
- Bir zafiyet tespit edilip düzeltildiğinde bu nesil artırılır
- Güncellemeler aracılığıyla asgari nesil tanımlanabilir
- Önyükleme bileşeni zincirdeki bir sonraki öğeye bakar, adını ve nesil numarasını ürün yazılımı değişkeninde saklanan değerle karşılaştırır ve çalıştırılıp çalıştırılmayacağına karar verir
- Çok sayıda ayrı hash’i geçersiz kılmak yerine, belirli bir numaranın altındaki güvenlik nesline sahip grub sürümlerinin güvenilmez olduğunu söyleyen tek bir güncelleme gönderilebilir
Son sorunun nedeni
- Microsoft, belirli bir seviyenin altındaki güvenlik nesline sahip grub sürümlerine güvenilmemesi için bir Windows güncellemesi yayımladı
- Bunun nedeni, söz konusu grub sürümlerinde Windows güvenli önyükleme zincirini bozabilecek gerçek bir güvenlik zafiyetinin bulunmasıydı
- Sorun şu ki bazı Linux dağıtımları hâlâ güvenlik sürümü yükseltilmiş yeni grub sürümlerini sunmamıştı
- Microsoft’un amacı SBAT güncellemesini yalnızca sadece Windows bulunan sistemlere uygulamaktı, ancak bu beklendiği gibi çalışmadı
Özet
- Microsoft, zafiyetli grub sürümleri kullanılarak Windows’a saldırılamaması için bir Windows güncellemesi dağıttı
- Bu güncellemenin çift önyüklemeli sistemlere uygulanmaması gerekiyordu, ancak bu dikkate alınmadı
- Bazı Linux dağıtımları grub kodunu ve SBAT güvenlik neslini güncellememişti
- Sonuç olarak bazı kullanıcılar sistemlerini önyükleyemez hâle geldi
Kimin suçu
- Microsoft, çift önyükleme yapılandırmalarını doğru şekilde tespit edebilmek için daha fazla test yapmalıydı
- Ancak imzalı önyükleyici sağlayan dağıtımların da bunları ve güvenlik neslini güncellemesi gerekiyordu
- Çünkü bu, başka işletim sistemlerine saldırmak için kullanılabilecek bir vektör sağlıyor
Sonuç
- Bir anda istediği işletim sistemini önyükleyemez hâle gelen son kullanıcıların mağdur olması üzücü
- Bu asla yaşanmaması gereken bir durum
- UEFI Secure Boot’un çoğu son kullanıcı için fayda sağlamadığını hissetsem de, ihtiyaç duyulan bir şeyi ancak olaydan sonra fark etmek de istenmeyen bir durum olduğundan, Microsoft’un bunu varsayılan olarak açık tutma tercihine katılıyorum
- Çift önyüklemeli sistemlerde güncellemeden kaçınmaya yönelik başarısız girişim dışında Microsoft’un tercihine katılıyorum
GN⁺ görüşü
- Bu olay, güvenlik ile kullanıcı deneyimi arasında denge kurmanın ne kadar zor olduğunu gösteriyor
- Microsoft ve Linux dağıtımları kullanıcıları korumak için ellerinden geleni yapıyor, ancak bu süreçte kullanıcı deneyimi zarar görebiliyor
- Çift önyüklemeli sistem kullanan kullanıcıların bu tür sorunlarla karşılaşma olasılığı daha yüksek
- Bu nedenle çift önyükleme kullanan kullanıcıların her iki işletim sistemini de güncel tutması ve düzenli olarak güncellemesi önem taşıyor
- Uzun vadede Linux ve Windows toplulukları arasında daha iyi iş birliği ve koordinasyona ihtiyaç olduğu görülüyor
1 yorum
Hacker News görüşleri
grub'u güncelleyip SBAT güncellemesini kendisi dağıtana kadar savunmasız kalmasıydıshim'in önyüklenmesi gerektiği açıkça yazıyor gibi görünüyor; neyin ters gittiğini merak ediyorumshimveya SB'nin genel güvenlik denetimi başarısız olduğunda çıkan hata mesajlarından gerçekten nefret ediyorum; tam olarak neyin başarısız olduğunu ve bunun nasıl çözüleceğini söylemelerini isterdimsuspend-to-hiberfile.syssorunu ve güncellemeler yüzündengrub'un bozulmasıyla ilgili çok sorun yaşanıyordugrub'un tamamen yamalanmamış olup olmadığı ya da dağıtımın "güvenlik neslini" güncellemeden yamalayıp yamalamadığıgrubgüncellenebilir mi, yoksa Secure Boot'u kapatıp Linux'u başlatmak, yükseltmeyi yapmak ve sonra tekrar etkinleştirmek yeterli mi diye merak ediyorumgrubkurulumlarını engelleme yönündeki tutumu makul görünüyor ama Windows'u yalnızca oyunlar ve tek bir eski yazılım parçası için kullanıyorum, onu da ağ erişimi olmadan