Lennart Pottering ngusulake arsitektur boot sing diverifikasi Linux anyar

Lennart Poettering wis nerbitake proposal kanggo modernisasi proses boot kanggo distribusi Linux, ngarahake kanggo ngrampungake masalah sing ana lan nyederhanakake organisasi boot sing wis diverifikasi lengkap sing nandheske linuwih kernel lan lingkungan sistem sing ndasari. Owah-owahan sing dibutuhake kanggo ngleksanakake arsitektur anyar wis kalebu ing basis kode systemd lan mengaruhi komponen kayata systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase lan systemd-creds.

Owah-owahan sing diusulake wiwit nggawe gambar universal UKI (Gambar Kernel Unified), nggabungake gambar kernel Linux, panangan kanggo ngemot kernel saka UEFI (boot UEFI stub) lan lingkungan sistem initrd sing dimuat ing memori, digunakake kanggo initialization dhisikan ing tataran sadurunge soyo tambah ROOT FS. Tinimbang gambar disk RAM initrd, kabeh sistem bisa dikemas ing UKI, sing ngidini sampeyan nggawe lingkungan sistem sing wis diverifikasi kanthi lengkap ing RAM. Gambar UKI diformat minangka file eksekusi ing format PE, sing bisa dimuat ora mung nggunakake bootloader tradisional, nanging bisa diarani langsung saka perangkat kukuh UEFI.

Kemampuan kanggo nelpon saka UEFI ngidini sampeyan nggunakake mriksa integritas teken digital sing ora mung isi kernel, nanging uga isi initrd. Ing wektu sing padha, dhukungan kanggo nelpon saka bootloader tradisional ngidini sampeyan nahan fitur kayata pangiriman sawetara versi kernel lan rollback otomatis menyang kernel sing bisa digunakake yen masalah dideteksi karo kernel anyar sawise nginstal nganyari.

Saiki, ing sebagian besar distribusi Linux, proses inisialisasi nggunakake rantai "firmware β†’ lapisan shim Microsoft sing ditandatangani kanthi digital β†’ GRUB boot loader ditandatangani kanthi digital dening distribusi β†’ kernel Linux sing ditandatangani sacara digital β†’ lingkungan initrd sing ora ditandatangani β†’ root FS." Kurang verifikasi initrd ing distribusi tradisional nggawe masalah keamanan, amarga, ing antarane, ing lingkungan iki, kunci kanggo dekripsi sistem file root dijupuk.

Verifikasi gambar initrd ora didhukung amarga file iki digawe ing sistem lokal pangguna lan ora bisa disertifikasi nganggo tanda tangan digital kit distribusi, sing nggawe rumit banget organisasi verifikasi nalika nggunakake mode SecureBoot (kanggo verifikasi initrd, pangguna kudu ngasilake kunci dhewe lan muat menyang perangkat kukuh UEFI). Kajaba iku, organisasi boot saiki ora ngidini nggunakake informasi saka TPM PCR (Platform Configuration Register) kanggo ngontrol integritas komponen papan pangguna liyane saka shim, grub lan kernel. Antarane masalah sing ana, kerumitan nganyari bootloader lan ora bisa mbatesi akses menyang tombol ing TPM kanggo versi OS lawas sing wis dadi ora relevan sawise nginstal nganyari uga kasebut.

Tujuan utama ngenalake arsitektur loading anyar yaiku:

  • Nyedhiyakake proses boot sing wis diverifikasi kanthi lengkap saka firmware menyang ruang pangguna, ngonfirmasi validitas lan integritas komponen sing di-boot.
  • Nyambungake sumber daya sing dikontrol menyang register TPM PCR, dipisahake dening pemilik.
  • Kemampuan kanggo ngetung nilai PCR sadurunge adhedhasar kernel, initrd, konfigurasi lan ID sistem lokal sing digunakake nalika boot.
  • Perlindhungan marang serangan bali sing digandhengake karo bali menyang versi sistem sadurunge sing rawan.
  • Nyederhanakake lan nambah linuwih nganyari.
  • Dhukungan kanggo nganyari OS sing ora mbutuhake aplikasi maneh utawa nyedhiyakake sumber daya sing dilindhungi TPM.
  • Sistem siyap kanggo sertifikasi remot kanggo ngonfirmasi kabeneran OS lan setelan sing dimuat.
  • Kemampuan kanggo nempelake data sensitif menyang tahap boot tartamtu, contone, ngekstrak kunci enkripsi kanggo sistem file root saka TPM.
  • Nyedhiyakake proses sing aman, otomatis, lan bebas pangguna kanggo mbukak kunci kanggo dekripsi drive partisi root.
  • Panggunaan chip sing ndhukung spesifikasi TPM 2.0, kanthi kemampuan kanggo muter maneh menyang sistem tanpa TPM.

Source: opennet.ru

Add a comment