SUSE UEFI Secure Boot

Free Software Foundation (FSF) ในฐานะผู้ดูแลสัญญาอนุญาต (license) ยอดนิยมหลายตัว
ได้ออกแถลงการณ์ให้ผู้ใช้คอมพิวเตอร์ตื่นตัวต่อฟีเจอร์ Secure Boot ที่ไมโครซอฟท์ต้องการให้ผู้ผลิตคอมพิวเตอร์ (OEM)
เปิดใช้ เพื่อให้ผู้ใช้สามารถติดตั้งและบูตเข้าสู่ Windows 8 ได้อย่างปลอดภัย
Secure Boot คือ UEFI ในฐานะตัวโหลดระบบปฏิบัติการ ซึ่งจะทำงานร่วมกับชิป Trusted Platform Module (TPM)
ในการตรวจสอบว่าระบบปฏิบัติการมีอะไรปนเปื้อน (เช่น มัลแวร์) หรือไม่ ผ่านการเช็คคีย์ (PKI) ของไฟล์อิมเมจระบบปฏิบัติการ
เพื่อป้องกันมัลแวร์หรือการโจมตีที่เข้ามาแก้ไฟล์ระบบปฏิบัติการ เพื่อปิดความสามารถด้านความปลอดภัยของระบบปฏิบัติการตั้งแต่ตอนบูตเครื่อง
เนื่องจาก Secure Boot อาจทำให้ผู้ใช้ไม่สามารถติดตั้งระบบปฏิบัติการอื่นได้

FSF ยื่นข้อเสนอว่า ผู้ผลิตคอมพิวเตอร์จะต้องยอมให้ผู้ใช้สามารถปิดฟีเจอร์ดังกล่าวหรือแนะนำการติดตั้งและรันระบบปฏิบัติการที่ผู้ใช้ต้องการได้
FSF ยังเปิดให้ลงชื่อร่วมกับแถลงการณ์ดังกล่าว ซึ่งระบุไว้ว่า FSF และผู้ลงชื่อจะไม่ซื้อหรือแนะนำคอมพิวเตอร์ที่จำกัดเสรีภาพของผู้ใช้
และพวกเขาจะกระตุ้นผู้คนอย่างสม่ำเสมอให้หลีกเลี่ยงการใช้ระบบเหล่านั้น ไมโครซอฟท์ได้แถลงไปก่อนหน้านี้ว่า Windows 8 จะรองรับทั้ง BIOS และ UEFI
และฟีเจอร์ Secure Boot นี้ไม่ได้ปิดกั้นการลงระบบปฏิบัติการอื่นๆ (เช่น ลินุกซ์) แต่อย่างใด ผู้ใช้ยังมีสิทธิควบคุมเครื่องของตัวเองเหมือนเดิม

เท่าที่ตามอ่าน blog เรื่องนี้มา ปัญหาของ secure boot ไม่ได้อยู่ที่ MS โดยตรงครับ แต่จะอยู่ที่ความไม่ใส่ใจของผู้ผลิตฮาร์ดแวร์
ลักษณะการทำงานของ secure boot คือจะใช้ public/private key ในการตรวจสอบความแท้ของซอฟต์แวร์
ซึ่งวิธีที่เป็นไปได้ที่สุดคือ ฮาร์ดแวร์จะฝัง public key ของ OS หรือไดรเวอร์ (on-board firmware ROM)
เอาไว้ แล้วผู้ผลิตซอฟต์แวร์ก็จะ sign OS หรือไดรเวอร์ด้วย private key ที่เข้ากันมา ถ้าฮาร์ดแวร์ verify signature นั้นไม่ผ่าน มันก็จะไม่ยอมรันโค้ด
ซึ่งวิธีนี้ช่วยป้องกัน malware ได้ คือพวกคนเขียน malware ที่ไม่มี private key ของ MS ก็จะเจาะระบบไม่สำเร็จ แต่ ปัญหามันอยู่ที่วิธี implement

MS ได้กำหนดเป็น requirement ว่าผู้ผลิต OEM ที่จะได้สติกเกอร์ Windows 8 ไปแปะ จะต้องรองรับ secure boot
ซึ่งถ้าผู้ผลิต OEM รายไหนทำตามนั้นโดยมี option ให้ disable secure boot ได้ ก็ไม่มีปัญหา
แต่ปัญหาจะเกิดขึ้นในกรณีที่ผู้ผลิต OEM ทำตาม requirement แบบ hard wire เพียงเพื่อให้ได้สติกเกอร์ Windows 8 มาแปะเท่านั้น
แบบว่า ขี้เกียจทำเมนูให้ผู้ใช้ disable เพราะลืมนึกถึง OS อื่น แบบนี้ก็จะทำให้ฮาร์ดแวร์นั้นสามารถรันได้เฉพาะ
OS และไดรเวอร์ที่มาจากผู้ผลิตเดียว คือ MS เท่านั้น และที่ FSF และผู้ผลิตลินุกซ์อื่นกังวลคือเรื่องนี้ ดังนั้น ที่ MS ออกมาชี้แจงจึงไม่ได้ตอบคำถามนี้
เพราะมันเป็นเรื่องของผู้ผลิตฮาร์ดแวร์ ไม่ใช่ MS โดยตรง และแคมเปญนี้ก็มุ่งไปที่ผู้ผลิตฮาร์ดแวร์เป็นหลัก
ถามว่าความกังวลนี้มากไปไหม? มันก็เป็นเรื่องเดียวกับกรณีอื่น ๆ ที่เคยเกิดมาแล้ว เช่น Winmodem
หรือเครื่องพิมพ์ที่ต้องอาศัยการทำงานฝั่ง Windows ที่ผู้ผลิตคิดถึงเฉพาะ Windows เท่านั้น ซึ่งกรณีเหล่านั้นยังพอจำลองโค้ดใน OS อื่นได้
แต่กับกรณี secure boot มันเท่ากับทำให้ OS อื่นมีค่าเทียบเท่า malware ไปทันที คือถ้าจะให้ทำงานได้จะต้องเจาะ private key ของ MS เท่านั้น

ปัญหาที่ Windows 8 จะเปลี่ยนจากไบออสมาเป็น UEFI ที่มี “ฟีเจอร์” รักษาความปลอดภัยอย่างเต็มรูปแบบนับแต่การบูตเครื่อง
ทำให้ไมโครซอฟท์ควบคุมว่าซอฟต์แวร์ใดบ้างจะสามารถบูตบนเครื่องที่ใช้ UEFI ได้ทั้งหมด
ทางฝั่งลินุกซ์เองพยายามเจรจากับไมโครซอฟท์ในเรื่องนี้มาตลอด ก่อนหน้านี้มีการเรียกร้องให้ผู้ใช้สามารถปิด UEFI ได้
แต่แผนใหม่ของทาง Linux Foundation อาจจะเป็นทางสายกลางของปัญหานี้

ภายใต้แผนการนี้ ทาง Linux Foundation จะสร้าง “pre-bootloader” ขึ้นมาหนึ่งตัว เพื่อขอรับการรับรองจากไมโครซอฟท์
ทำให้มันสามารถบูตบนเครื่องคอมพิวเตอร์ที่ใช้ UEFI โดยเตือนว่า bootloader ที่กำลังทำงานนี้จะไม่ได้รับการตรวจสอบความถูกต้อง
หากผู้ใช้ยืนยันที่จะใช้งานต่อไป ก็จะสามารถติดตั้งลินุกซ์ได้ สำหรับผู้ผลิตลินุกซ์ที่ไม่ต้องการให้มีคำเตือนใดๆ เลยในกระบวนการบูต
ต้องติดต่อไปยังไมโครซอฟท์เพื่อขอรับใบรับรองของตัวเอง แผ่นติดตั้งจึงจะสามารถติดตั้งและใช้งานได้เหมือนกับวินโดวส์
บริษัทที่เลือกไปทางสายนี้ เช่น RedHat แนวทางนี้จะทำให้เหมือนการใช้เว็บเข้ารหัสในทุกวันนี้
ที่แม้การเข้ารหัสจากใบรับรองที่ไม่น่าเชื่อถือก็ยังสามารถใช้งานได้ หากผู้ใช้ได้รับคำเตือนแล้วกดยืนยันที่จะเข้าใช้งานเว็บ

“ฟีเจอร์” รักษาความปลอดภัยอย่างเต็มรูป คือมีการตรวจสอบ OS ผ่านการ sign ด้วย private key ซึ่ง MS ได้ระบุว่า
ผู้ผลิตคอมพิวเตอร์ที่ต้องการให้เครื่องตัวเองผ่านการรับรองโดยไมโครซอฟท์จะต้องเปิดการใช้งานฟีเจอร์นี้ โดยใช้ key ของไมโครซอฟท์
เพราะฉะนั้นก็เลยเกิดปัญหาว่า ถ้า OS อื่นๆ นอกจากวินโดวส์ต้องการ sign ไฟล์ของตัวเองจะทำอย่างไร เพราะต้องใช้ private key ของไมโครซอฟท์

ที่มา – Blognone, SUSE UEFI Secure Boot Overview, SUSE UEFI Secure Boot Plan