UEFI ve SecureBoot etkisi ne kadar şiddetli?


18

Önümüzdeki günlerde yeni bir dizüstü bilgisayar almayı planlıyorum ve yeni, harika Ultrabook'lardan oldukça etkilendim. Uzun zamandır GNU / Linux kullanıcısı olarak, elbette benim seçtiğim bir dağıtımı yükleyeceğim.

Muhtemelen Windows 8'in önceden kurulu olduğu bir bilgisayarı satın almam gerekecek; ve UEFI'yi çalıştırma ve imzasız çekirdeklerin önyükleme yapamayacağı "güvenli önyükleme" özelliğine sahiptir.

UEFI muhtemelen iyidir, BIOS'un emekli olması gerekebilir. Bence kıllı şey Güvenli Önyükleme .

Anlayabildiğim kadarıyla, bazı güvenilir sertifikalar ürün yazılımına ve böylece çekirdeğe vb . Çekirdeğin sertifikası bellenimden birine geri izlenebiliyorsa , çekirdek önyüklenir, aksi takdirde UEFI bana söyler ve önyüklemeyi reddeder. Bu işlem, onaylanmamış yazılımların önyüklenmesini önleyecektir. Bunları göremesem de bunun yararları olabilir.

Açık kaynaklı bir çekirdeğin bu anahtarlardan birini nasıl elde edebileceğini ve hala özgür olabileceğini merak ediyorum . Linux posta listesinde , Red hat çalışanının Linus Torvalds'tan PE ikili dosyalarını ayrıştırmak için tesis uygulayan bir değişiklik kümesi çekmesini ve Çekirdek Önyükleme modunda çekirdek önyüklemesini sağlamak için karmaşık bir dizi eylem gerçekleştirmesini istediği bir konu okudum (anlayabildiğim kadarıyla) ). Bunu yapmak istiyorlar çünkü Microsoft sadece PE ikili dosyaları imzaladı. Bay Torvalds, çekirdeğin halihazırda PE olmayan standardı uyguladığını belirten bu değişiklik setini nazikçe reddetti . RedHat bu kodu çekirdeğe aktarmaya çalışıyor, böylece bir gün çatallamak zorunda kalmayacaklar.

Bakın, bu karmaşık bir şey. Sorularımı sorayım:

  • Ev kullanıcısı olarak UEFI ve Güvenli Önyükleme ile ne gibi avantajlar elde edeceğim?
  • Bu imza nasıl yapılır?
  • Kimler imza / sertifika alabilir? Ücretli mi? Herkese açık olabilir mi? (Linux'un kaynak kodunda mevcut olmalı, değil mi?)
  • İmza sağlayan tek yetki Microsoft mu? Onları sağlayacak bağımsız bir temel olmamalı mı?
  • Bu açık kaynak ve serbest çekirdekler, hobi / akademik çekirdek geliştiricileri vb . örneğin bu önyükleme ( çok temel bir önyükleme sektörü kodu ):

    hang:
       jmp hang
    times 510-($-$$) db 0
    db 0x55
    db 0xAA
    

Bu web sitesinde yer alan bir haber bu sorunun incelenmesiydi. Hispalinux adlı bir İspanyol Linux kullanıcı grubu , Avrupa Komisyonu'na bu konuda Microsoft hakkında şikayette bulundu.

Endişelenmeli miyim? Ne tescilli yazılımlar ne de güvenilen şirketler tarafından imzalanmış yazılımları kullanmayı reddediyorum . Şimdiye kadar yaptım ve devam etmek istiyorum. Şimdiden teşekkürler.


2
UEFIkendisi çok sorun değil, ama güvenli önyükleme olabilir.
jordanm

3
Güvenli önyükleme devre dışı bırakıldığında her zaman UEFI önyükleme yapabilirsiniz ...
jasonwryan 26:13

1
Bu makaleye göre Microsoft, Windows-8 Uyumlu logosunun kullanımı için lisans sağlamak üzere satıcıların ARM tabanlı aygıtlarda SecureBoot'un devre dışı bırakılmasını engellemesini istemektedir.

1
Bakmadım, ancak anakartınıza flash edemiyorsanız ve işler hala çalışıyorsa (her cihaz POST-OS aktarımında uygun durumda), pek yardımcı olmaz. Bir de grafik kartı ürün yazılımı var. Sabit disk ürün yazılımı? Tuş takımı? ... Ancak bu, tartışmaya açıklık taleplerinden daha yakınlaşıyor. (Ve elbette, en azından bu alıntı sadece UEFI'nin belirli bir uygulama değil, bir topluluk çabası olduğunu iddia ediyor .)
CVn

1
Linux Foundation'ın UEFI ve güvenli önyükleme hakkındaki belgesine göz atın .
Mart'ta vonbrand

Yanıtlar:


9

Bu işlem, onaylanmamış yazılımların önyüklenmesini önleyecektir. Bunları göremesem de bunun yararları olabilir.

Donanımınızdan neyin önlenebileceğini ve neyin önyüklenemeyeceğini kontrol etmek için yeni bir güvenlik mekanizmanız var. Bir güvenlik özelliği. Çok geç olana kadar ihtiyacınız olduğunu düşünmüyorsunuz. Ama konuţuyorum.

Linux posta listesinde, Red hat çalışanının Linus Torvalds'tan PE ikili dosyalarını ayrıştırmak için tesis uygulayan bir değişiklik kümesi çekmesini ve Çekirdek Önyükleme modunda çekirdek önyüklemesini sağlamak için karmaşık bir dizi eylem gerçekleştirmesini istediği bir konu okudum (anlayabildiğim kadarıyla) ).

GPU ürün yazılımınız gibi sürücülerin Güvenli Önyükleme ile uyumlu olarak imzalanması gerekir, aksi takdirde başka bir rootkit olabilir. Mevcut durum, bu sürücülerin PE biçiminde imzalanmış olmasıdır. Çekirdek bunlar olmadan önyükleme yapabilir, ancak donanım çalışmaz. Çekirdekte PE biçimini ayrıştırmak bunun için teknik olarak daha basit bir seçimdir, her donanım satıcısından her dağıtım için kabarcıklarını imzalamasını istemek veya bunu yapmak için bir kullanıcı alanı çerçevesi oluşturmaktan daha kolaydır. Linus, Microsoft'un sikini emmemeye karar verir. Bu teknik bir argüman değil.

Ev kullanıcısı olarak UEFI ve Güvenli Önyükleme ile ne gibi avantajlar elde edeceğim?

En görünür özellik UEFI hızlı önyüklemedir. Birkaç Windows 8 logosu masaüstünde ellerim var ve o kadar hızlı önyükleniyorlar ki, genellikle önyükleme menüsünü açmayı özledim. Intel ve OEM'lerin bu konuda oldukça mühendisleri var.

Şişkinlikten ve kod çoğaltmadan tutkuyla nefret eden linux kullanıcısıysanız , çoklu önyüklemeyi ürün yazılımı düzeyinde yönetmek ve önyükleyicilerden tamamen kurtulmak isteyebilirsiniz. UEFI bir sağlar önyükleme yöneticisi sen hangi ile doğrudan çekirdekle önyükleme veya firmware menü ile 'diğer OS önyükleme için seçin. Gerçi biraz tamircilik gerektirebilir.

Ayrıca, önyükleme sırasında ve ürün yazılımı menüsünde meraklısı grafikler. Önyükleme sırasında daha iyi güvenlik (Güvenli Önyükleme). Diğer özellikler (IPv4 / 6 netboot, 2TB + önyükleme aygıtları vb.) Çoğunlukla kurumsal kullanıcılar içindir.

Her neyse, Linus'un dediği gibi , BIOS / UEFI'nin "sadece işletim sistemini yükleyin ve cehennemden çıkın" ve UEFI kesinlikle hızlı önyükleme yapan ev kullanıcıları için öyle görünüyor. Kesinlikle kaputun altındaki BIOS'tan daha fazla şey yapar, ancak ev kullanıcıları hakkında konuşursak, bunu umursamazlar.

Bu imza nasıl yapılır?

Teorik olarak, bir ikili imza üretmek için özel bir anahtarla şifrelenir. Ardından, ikili anahtarın özel anahtarın sahibi tarafından imzalandığını kanıtlamak için ortak anahtarla imzalanabilir, ardından ikili doğrulanır. Wikipedia'da daha fazlasını görün .

Teknik olarak, yalnızca ikilinin karması imzalanır ve imza ikili biçime PE biçiminde ve ek biçim döndürülmesiyle gömülür.

Yordamsal olarak, ortak anahtar OEM'iniz tarafından ürün yazılımınızda saklanır ve Microsoft'tan. İki seçeneğiniz var:

  1. Kendi anahtar çiftinizi oluşturun ve güvenli bir şekilde yönetin , ürün yazılımına kendi ortak anahtarınızı yükleyin ve ikili dosyayı kendi özel anahtarınızla ( Ubuntu'dan sbsign veya Fedora'dan tasarım ) imzalayın veya
  2. İkili dosyalarınızı Microsoft'a gönderin ve imzalamalarına izin verin.

Kimler imza / sertifika alabilir? Ücretli mi? Herkese açık olabilir mi? (Linux'un kaynak kodunda mevcut olmalı, değil mi?)

İmzalar / sertifikalar ikili dosyalara gömüldüğünden, tüm kullanıcıların bunları alması beklenir. Herkes kendi CA'sını kurabilir ve kendileri için bir sertifika oluşturabilir. Ancak Microsoft'un sizin için bir sertifika oluşturmasını istiyorsanız, kimliğinizi doğrulamak için Verisign'dan geçmeniz gerekir. İşlemin maliyeti $ 99. Ortak anahtar bellenimdedir. Özel anahtar Microsoft'un güvenlidir. Sertifika imzalı ikili dosyada. Kaynak kodu yok.

İmza sağlayan tek yetki Microsoft mu? Onları sağlayacak bağımsız bir temel olmamalı mı?

Teknik taraf, PKI'yı yönetme, kimliği doğrulama, bilinen her OEM ve donanım satıcısıyla koordinasyon sürecine kıyasla oldukça önemsizdir. Bu bir sevgili maliyeti. Microsoft'un yıllarca altyapı (WHQL) ve tecrübesi var. Yani ikili imzalamayı teklif ediyorlar. Bağımsız bir vakıf, aynı şeyi sunmak için adım atabilir, ancak hiçbiri bunu şimdiye kadar yapmadı.

IDF 2013'teki bir UEFI oturumundan, Canonical'in bazı tablet ürün yazılımlarına kendi anahtarlarını koymaya başladığını görüyorum. Böylece Canonical, Microsoft'tan geçmeden kendi ikili dosyalarını imzalayabilir. Ama sizin için ikili dosyalar imzalamaları pek mümkün değil çünkü kim olduğunuzu bilmiyorlar.

Bu açık kaynak ve serbest çekirdekler, hobi / akademik çekirdek geliştiricileri vb.

Özel olarak oluşturulmuş çekirdeğiniz Güvenli Önyükleme altında önyükleme yapmaz, çünkü imzalanmamıştır. Yine de kapatabilirsiniz.

Güvenli Önyükleme'nin güven modeli, çekirdeğin bazı yönlerini kilitler. Sanki şimdi kök olsanız bile / dev / kmem'e yazarak çekirdeğinizi yok edemezsiniz. Devam ederken çekirdek görüntüsünün bir önyükleme setine değiştirilmediğinden emin olmanın bir yolu olmadığından diski hazırda bekletemezsiniz (yukarı akışta çalışılıyor). Çekirdek panikleriniz olduğunda çekirdeği boşaltamazsınız, çünkü kdump (kexec) mekanizması bir önyükleme takımını (aynı zamanda yukarı akışta da) başlatmak için kullanılabilir. Bunlar tartışmalı ve Linus tarafından ana çekirdeğe kabul edilmiyor, ancak bazı dağıtımlar (Fedora, RHEL, Ubuntu, openSUSE, SUSE) yine de kendi Güvenli Önyükleme yamalarıyla birlikte geliyor.

Güvenli Önyükleme çekirdeği oluşturmak için gerekli modül imzalama işlemi 10 dakika sürerken, gerçek derleme yalnızca 5 dakika sürer. Modül imzalamayı kapatıp ccache'yi açarsam, çekirdek oluşturma yalnızca bir dakika sürer.

UEFI, BIOS'tan tamamen farklı bir önyükleme yoludur. Tüm BIOS önyükleme kodu UEFI ürün yazılımı tarafından çağrılmaz.

Hispalinux adlı bir İspanyol Linux kullanıcı grubu, Avrupa Komisyonu'na bu konuda Microsoft hakkında şikayette bulundu.

Yukarıda belirtildiği gibi, Microsoft dışında hiç kimse kamu hizmetini yapmak için harekete geçmedi. Şu anda Microsoft'un bu konuda herhangi bir kötülük yapma niyetine dair bir kanıt yok, ancak Microsoft'un fiili tekelini kötüye kullanmasını ve bir güç yolculuğuna çıkmasını engelleyecek hiçbir şey yok. Bu nedenle, FSF ve Linux kullanıcı grupları oldukça pragmatik görünmeyebilir ve sorunları yapıcı bir şekilde çözmek için gerçekten oturmamış olsalar da, insanların Microsoft üzerinde baskı oluşturması ve sonuçları hakkında uyarmaları oldukça gereklidir.

Endişelenmeli miyim? Ne özel yazılımlar ne de güvenilir şirketler tarafından imzalanmış yazılımlar kullanmayı reddediyorum. Şimdiye kadar yaptım ve devam etmek istiyorum.

Güvenli Önyüklemeyi kabul etme nedenleri:

  • Gerçek bir güvenlik saldırısı vektörünü ortadan kaldırır.
  • Kullanıcıya donanımlarını kontrol etme konusunda daha fazla özgürlük vermek için teknik bir mekanizmadır.
  • Linux kullanıcılarının Güvenli Önyükleme mekanizmasını anlamaları ve Microsoft'un Güvenli Önyükleme ilkesinin tekeline girmesi için proaktif davranmaları gerekir .

2
Bu detaylı, harika cevap için teşekkürler! Çok kapsamlı. UEFI kulağa hoş gelmiyor, ancak ne kod kullandım ne de yazmadım.

1
Gerçekten çok iyi bir cevap. Sadece iki şey: 1) genellikle kendi anahtarlarınızı UEFI'nize yükleme imkanı vardır - bu şekilde kendiniz imzaladığınız her şeyi güvenli bir şekilde önyükleyebilirsiniz; 2) Güvenli önyükleme yalnızca bir kişinin UEFI'ye güvendiği noktaya kadar güvenlidir - kötü amaçlı bir ürün yazılımı güncellemesi kullanılıyorsa, güven zinciri kırılır. Ve bu akıl almaz değil .
peterph

Peki, GNU / Linux dağıtımları FastBoot / QuickBoot kullanıyor mu? Neden yapmanın zor olduğunu görmüyorum, ama ne bu konuda bir bilgi bulamıyorum - ama bunu son kullanıcı için görünür özellik olarak bahsettiğiniz için, sanırım nihayet kullanılıyor?
Hi-Angel

9

Bunu Windows 8 ve UEFI güvenli önyükleme ile gelen yeni bir dizüstü bilgisayar satın alma ile geçtim. Çok zaman ve araştırmadan sonra, cevaplayabileceğim şey:

  • 'Ev kullanıcısı' kategorisine uyuyormuşsunuz gibi gelmiyor.

Ortalama bir kullanıcının fark edeceği UEFI'nin faydaları, ekranlarında gördükleri ilk şeyin Microsoft / Satıcı markalı UEFI önyükleme yükleyici ekranı olacağıdır. "Kurulum için Del tuşuna basın, önyükleme aygıtını seçmek için F11" gibi korkunç şeylerin hiçbiri vb.

Daha sonra Microsoft çekirdeği / önyükleme yükleyicisi bekleme ekranına güzel bir şekilde geçecektir. Bu, Microsoft temalı bir deneyimi 'güçlendirme' gücü sunar. Eğer bu gerçek bir yararı izleyicinin gözündeyse sanırım. Önyüklemede görmeyi beklediğim normal bilgilere sahip olmadığım için oldukça işaretliydim. Örneğin, satıcınız temel UEFI / Bios kurulumuna girmek için standart bir anahtar kullanmıyorsa iyi şanslar.

Oh, evet, ve teori, bunun önyükleme sektörü virüslerini durduracağı veya en azından yaratıcıların birileri kimliği oluşturmasını / çalmasını ve Verisign'a (RedHat Fedora rotası. Google it.) 99 $ ödemesi.

Ah, ve sürtünme var. Herkes herhangi bir anahtarla kod imzalayabilir. Sorun, makinenin yalnızca güvenilir yetkililer anahtarı tarafından imzalanan kodu çalıştırmasıdır. Anahtarın ortak yarısı fabrikadaki sistem UEFI çekirdeğine kurulur ve özel anahtarla imzalanan UEFI programlarının (önyükleme kodu) imzasını doğrulamak için kullanılır.

Bilin bakalım fabrikada kimin açık anahtarı var? Tahmin et Güvenli Önyüklemenin varsayılan olarak etkinleştirilmesini kim ister?

Her sistem üreticisi açıkça Microsoft'un anahtarını oraya koyacaktır. Onlar olabilir ayrıca Canonical'ın (Ubuntu) anahtarında koymak vb Red Hat anahtar, Apple'ın kilit, Daha tuşları araçlar ihlalleri için daha fazla puan olsa ve onlar depolayabilir kaç fiziksel sınır besbelli yoktur.

Ve sizin gibi asi bir bilgisayar kullanıcısı için çözüm nedir?

  • Sistem satıcınızın sistem önyükleme yapılandırmasına erişmenizi sağlar

  • Umarım güvenli önyüklemeyi kapatırlar. Windows önyükleme kodu yine de güvenli önyükleme olmadan çalışır.

  • Gerçekten şanslıysanız, sistem satıcısı kendi sertifika yetkilisi anahtarlarınızı girmenize izin verir ve kendi dosyalarınızı imzalayabilirsiniz. Bu, gerçekten Güvenli Önyükleme ile oynamak istiyorsanız gereklidir.

MSI Dizüstü Bilgisayarım yukarıdakilerin tümünü yapmama izin veriyor.

Herkesin Linux Distro'nun ücretsiz bir kopyasını alıp işletim sistemlerinin yerini alabileceği bir dünya görmek istiyorum. Güvenli Önyüklemeden önce sahip olduğumuz buydu. Ayrıca çok fazla önyükleme sektörü virüsü vardı. Sistem yapılandırmanızda güvenli önyüklemeyi devre dışı bırakmak zorunda kalmak, muhtemelen bir işletim sistemi kurmak için beyin gücünüzün olduğunu veya bunu yapan birini tanımak için yeterince küçük bir engeldir.

Kapatma yeteneğine sahip olmamak kötü şeydir ve bu Üreticiye bağlıdır. Üreticiyi güvenli önyüklemeyi devre dışı bırakmaya ikna etmedikçe Microsoft'u suçlamayın.


Hoşgeldiniz ve teşekkürler! Çok güzel bir cevap, ama kabul etmeden önce biraz daha bekleyeceğim, çünkü diğer insanların düşüncelerini görmek istiyorum.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.