Itu adalah terjemahan dari dua catatan yang telah diambil oleh James Bottomley di blognya. Posting pertama dibuat pada 1 Februari dan disebut "LCA2013 dan Menyusun Semula Boot Selamat"
Saya diam sebentar, jadi sudah waktunya untuk memberi maklumat terkini mengenai apa yang berlaku dengan Secure Boot Loader Linux Foundation (terutamanya ia dipaparkan di LCA2013). (Paut ke slaid)
Inti dari masalahnya ialah GregKH (pembangun kernel Greg Kroah-Hartman) mendapati pada awal Disember bahawa Pre-BootLoader yang dicadangkan tidak akan berfungsi dalam bentuknya sekarang dengan Gummiboot. Itu agak menakutkan kerana ini bermaksud tidak memenuhi misi Linux Foundation untuk mengaktifkan semua bootloader. Dalam penyelidikannya, alasannya mudah: Gummiboot dibuat untuk menunjukkan bahawa anda boleh membuat bootloader kecil dan sederhana yang akan memanfaatkan semua perkhidmatan yang tersedia di platform UEFI dan bukannya menjadi pemuat pautan besar seperti GRUB. Sayangnya itu bermaksud bahawa anda boot kernel menggunakan fungsi BootServices-> LoadImage (), yang bermaksud bahawa kernel yang akan di boot harus melalui pemeriksaan boot yang selamat di platform UEFI. Pada mulanya Pre-BootLoader, seperti rimas (Mathew Garrett's bootloader), ditulis untuk menggunakan pemuatan pautan PE / Coff untuk mengalahkan pemeriksaan boot yang selamat. Malangnya, ini bermaksud bahawa sesuatu yang dijalankan oleh Pre-BootLoader juga mesti menggunakan pemuatan pautan untuk mengalahkan pemeriksaan boot yang selamat pada apa sahaja yang ingin dimuat dan oleh itu Gummiboot, yang sengaja bukan pemuat pautan, tidak akan berfungsi di bawah ini skema.
Oleh itu, saya terpaksa menyusun semula dan menulis semula: Masalahnya sekarang bermula dari "bagaimana membuat pemuat pautan yang ditandatangani oleh Microsoft yang mematuhi polisi mereka" ke "bagaimana membolehkan semua anak pemuat but menggunakan fungsi BootServices-> LoadImage () cara untuk mematuhi dasar mereka. Nasib baik, ada cara untuk memintas infrastruktur penandatanganan platform UEFI dengan memasang protokol keselamatan seni bina anda sendiri. Sayangnya, spesifikasi inisialisasi platform sebenarnya bukan sebahagian dari spesifikasi UEFI, tetapi untungnya ia dilaksanakan oleh setiap sistem Windows 8 yang dapat anda temukan. Senibina baru memintas protokol itu dan menambahkan pemeriksaan keselamatannya sendiri. Walau bagaimanapun, ada masalah kedua: Walaupun kita berada dalam panggilan balik protokol keselamatan seni bina, kita tidak semestinya memiliki skrin sistem UEFI, menjadikannya mustahil untuk melakukan ujian pengguna untuk membenarkan pelaksanaan binari. Nasib baik, ada cara yang tidak interaktif untuk melakukan ini dan itu adalah mekanisme SUSE Machine Owner Key (MOK). Oleh itu, Linux Foundation Pre-BootLoader kini berkembang untuk menggunakan pemboleh ubah MOK standard untuk menyimpan hash binari yang dibenarkan.
Hasil dari semua ini ialah sekarang anda boleh menggunakan Pre-BootLoader dengan Gummiboot (seperti yang dilakukan dalam demo di LCA2013). Untuk boot, anda harus menambahkan 2 hash: satu untuk Gummiboot itu sendiri dan yang lain untuk kernel yang ingin anda boot, tetapi sebenarnya ia adalah perkara yang baik kerana sekarang anda mempunyai satu polisi keselamatan yang mengawal keseluruhan urutan boot. Gummiboot itu sendiri juga ditambal untuk mengenali crash kerana boot selamat dan memaparkan mesej yang memberitahu anda hash mana yang harus didaftarkan.
Saya akan membuat catatan berasingan yang menerangkan bagaimana seni bina baru berfungsi, tetapi saya fikir lebih baik menjelaskan apa yang berlaku bulan lalu.
Dan jawatan kedua ini dia lakukan semalam dan disebut "Melancarkan Sistem Boot Secure Linux Foundation"
Seperti yang dijanjikan, berikut adalah Linux Boot Secure Boot System. Ini sebenarnya dikeluarkan kepada kami oleh Microsoft pada 6 Februari, tetapi dengan perjalanan, persidangan dan perjumpaan, saya tidak mempunyai masa untuk mengesahkan semuanya sehingga hari ini. Failnya adalah:
PraLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
HashTool.efi (md5sum 45639d23aa5f2a394b03a65fc732acf2)
Buat juga gambar mini-USB yang boleh di-boot; (Anda harus memasangnya di USB menggunakan dd; gambarnya mempunyai partisi GPT, jadi ia menggunakan keseluruhan cakera). Ia mempunyai shell EFI di mana kernel seharusnya dan menggunakan gummiboot untuk memuatnya. Anda boleh menemuinya di sini (md5sum 7971231d133e41dd667a184c255b599f).Untuk menggunakan gambar mini-USB, anda mesti memasukkan hash untuk loader.efi (dalam folder \ EFI \ BOOT) dan shell.efi (dalam folder root). Ia juga menyertakan salinan KeyTool.efi, anda harus memasukkan hash untuk dijalankan.
Apa yang berlaku dengan KeyTool.efi? Ia pada awalnya akan menjadi sebahagian daripada kit bertanda tangan kami. Namun, semasa melakukan pengujian, Microsoft mendapati bahawa disebabkan oleh bug di salah satu platform UEFI, ia dapat digunakan untuk menghapus kunci platform secara terprogram, yang akan merosakkan sistem keselamatan UEFI. Sehingga kami dapat menyelesaikannya (kami mempunyai vendor persendirian), mereka enggan menandatangani KeyTool.efi walaupun anda boleh membenarkannya dengan menambahkan pemboleh ubah MOK jika anda ingin menjalankannya.
Beritahu saya bagaimana keadaannya kerana saya berminat untuk mengumpulkan maklum balas mengenai perkara yang berfungsi dan yang tidak. Khususnya, saya bimbang penggantian protokol keselamatan mungkin tidak berfungsi di beberapa platform, jadi saya ingin tahu sama ada ia tidak berfungsi untuk mereka.
Sumber:
http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/
http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/
Tentukan apakah itu berita baik atau buruk.