Ленарт Поттеринг Линуксийн баталгаажуулсан ачаалах шинэ архитектурыг санал болгосон

Леннарт Поттеринг нь одоо байгаа асуудлуудыг шийдвэрлэх, бүрэн баталгаажсан ачаалах зохион байгуулалтыг хялбарчлах, цөм болон үндсэн системийн орчныг баталгаажуулах зорилготой Линуксийн түгээлтийн ачаалах процессыг шинэчлэх саналыг нийтлэв. Шинэ архитектурыг хэрэгжүүлэхэд шаардагдах өөрчлөлтүүд нь системийн кодын санд аль хэдийн орсон бөгөөд systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase, systemd-creds зэрэг бүрэлдэхүүн хэсгүүдэд нөлөөлдөг.

Санал болгож буй өөрчлөлтүүд нь Линуксийн цөмийн дүрс, UEFI-ээс цөмийг ачаалах зохицуулагч (UEFI ачаалах бүдүүвч) болон санах ойд ачаалагдсан initrd системийн орчныг хослуулсан нэг бүх нийтийн UKI (Нэгдсэн цөмийн зураг) дүрсийг бүтээх хүртэл багасгасан. root FS-ийг холбохоос өмнөх үе шатанд анхны эхлүүлэх. Initrd RAM дискний дүрсний оронд бүхэл системийг UKI-д багцалж болох бөгөөд энэ нь RAM-д ачаалагдсан бүрэн баталгаажсан системийн орчныг үүсгэх боломжийг танд олгоно. UKI-зураг нь PE форматаар гүйцэтгэх боломжтой файл хэлбэрээр хийгдсэн бөгөөд үүнийг зөвхөн уламжлалт ачаалагч ашиглан ачаалах боломжтой төдийгүй UEFI програм хангамжаас шууд дууддаг.

UEFI-ээс дуудлага хийх чадвар нь зөвхөн цөм төдийгүй initrd-ийн агуулгыг хамарсан тоон гарын үсгийн бүрэн бүтэн байдал, хүчинтэй эсэхийг шалгах боломжийг танд олгоно. Үүний зэрэгцээ уламжлалт ачаалагчаас дуудлага хийх дэмжлэг нь шинэчлэлтийг суулгасны дараа шинэ цөмтэй холбоотой асуудал илэрсэн тохиолдолд цөмийн хэд хэдэн хувилбарыг хүргэх, ажиллаж байгаа цөм рүү автоматаар буцаах зэрэг функцуудыг хадгалах боломжийг олгодог.

Одоогоор ихэнх Линуксийн түгээлтүүд эхлүүлэх явцад "програм хангамж → дижитал гарын үсэгтэй Microsoft shim давхарга → дижитал гарын үсэгтэй түгээлтийн GRUB ачаалагч → дижитал гарын үсэгтэй түгээлтийн Linux цөм → гарын үсэг зураагүй initrd орчин → root FS" гинжийг ашигладаг. Уламжлалт түгээлтүүдэд initrd баталгаажуулалт байхгүй байгаа нь аюулгүй байдлын асуудал үүсгэдэг, учир нь бусад зүйлсээс гадна энэ орчин нь үндсэн FS кодыг тайлах түлхүүрүүдийг гаргаж авдаг.

Энэ файлыг хэрэглэгчийн дотоод систем дээр үүсгэсэн бөгөөд түгээлтийн тоон гарын үсгээр баталгаажуулах боломжгүй тул initrd дүрсийг шалгахыг дэмждэггүй бөгөөд энэ нь SecureBoot горимыг ашиглах үед баталгаажуулалтыг зохион байгуулахад ихээхэн хүндрэл учруулдаг (initrd-г баталгаажуулахын тулд хэрэглэгч шаардлагатай. түүний түлхүүрүүдийг үүсгэж, UEFI програм хангамжид ачаалах). Нэмж хэлэхэд, одоо байгаа ачаалах зохион байгуулалт нь TPM PCR (Платформын тохиргооны бүртгэл) бүртгэлийн мэдээллийг shim, grub болон цөмөөс бусад хэрэглэгчийн орон зайн бүрэлдэхүүн хэсгүүдийн бүрэн бүтэн байдлыг хянахын тулд ашиглахыг зөвшөөрдөггүй. Одоо байгаа асуудлуудын дунд ачаалагчийг шинэчлэхэд тулгарч буй хүндрэл, шинэчлэлтийг суулгасны дараа хамааралгүй болсон хуучин үйлдлийн системийн хувилбаруудын TPM-ийн түлхүүрүүдэд хандах хандалтыг хязгаарлах боломжгүй байгааг дурьдсан болно.

Шинэ ачаалах архитектурыг хэрэгжүүлэх гол зорилго:

  • Програм хангамжаас эхлээд хэрэглэгчийн орон зай хүртэлх бүх үе шатыг хамарсан, татаж авсан бүрэлдэхүүн хэсгүүдийн хүчинтэй, бүрэн бүтэн байдлыг баталгаажуулах, бүрэн баталгаажуулсан татаж авах процессыг хангах.
  • Эзэмшигчдээр нь хувааж, хяналттай нөөцийг TPM ПГУ-ын бүртгэлтэй холбох.
  • Цөмийн ачаалах, initrd, тохиргоо, дотоод системийн ID дээр үндэслэн ПГУ-ын утгыг урьдчилан тооцоолох чадвар.
  • Системийн өмнөх эмзэг хувилбар руу буцахтай холбоотой буцаах халдлагаас хамгаалах.
  • Шинэчлэлтүүдийн найдвартай байдлыг хялбарчилж, сайжруул.
  • TPM-ээр хамгаалагдсан нөөцийг дахин ашиглах эсвэл орон нутгийн нөөцөөр хангах шаардлагагүй үйлдлийн системийн шинэчлэлтийг дэмжих.
  • Ачаалах боломжтой үйлдлийн систем болон тохиргооны зөв эсэхийг баталгаажуулахын тулд системийн алсаас баталгаажуулалт хийхэд бэлэн байна.
  • Зарим ачаалах үе шатанд эмзэг өгөгдлийг хавсаргах чадвар, жишээлбэл, TPM-ээс root FS-ийн шифрлэлтийн түлхүүрүүдийг гаргаж авах.
  • Үндэс хуваалт бүхий дискний кодыг тайлах түлхүүрүүдийг тайлах аюулгүй, автомат, чимээгүй процессоор хангана.
  • TPM 2.0 тодорхойлолтыг дэмждэг чипүүдийг ашиглах, TPM-гүй систем рүү буцах чадвартай.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх