หากคุณติดตามการพัฒนาใน Android คุณต้องเคยได้ยินชื่อ“ Verified Boot” มาก่อนในช่วงสองสามปีที่ผ่านมา Google เปิดตัวคุณลักษณะด้านความปลอดภัยใน Android 4.4 (Kitkat) ในแบบที่ไม่เป็นการล่วงละเมิดและได้เพิ่มการมองเห็นในระบบปฏิบัติการ Android รุ่นใหม่อย่างช้าๆ
ในสองสามวันที่ผ่านมาเราได้เห็นข่าวเกี่ยวกับการปรากฏตัวของ“ การบูตที่รับรองความถูกต้องอย่างเข้มงวด ” ในการทำซ้ำล่าสุดของ Google ของระบบปฏิบัติการมือถือที่ใช้มากที่สุดในโลก Android Nougat จะใช้การตรวจสอบความปลอดภัยในระดับที่สูงขึ้นเมื่ออุปกรณ์ของคุณบูท ในขณะที่บน Marshmallow นั้น Verified Boot จะแจ้งเตือนผู้ใช้เท่านั้นในกรณีที่ตรวจพบบางสิ่งที่ไม่เหมาะสมกับพาร์ติชั่นระบบ Android Nougat จะดำเนินการต่อไปอีกหนึ่งขั้นและใช้สิ่งที่ Google เรียกว่า "Stainedly Enced Verified Boot" ซึ่งจะ ไม่อนุญาตให้อุปกรณ์บู๊ตเครื่องในกรณีที่ตรวจพบสิ่งผิดปกติในพาร์ติชันการเปลี่ยนแปลงที่ทำกับ bootloader หรือการปรากฏตัวของรหัส“ ประสงค์ร้าย” ในอุปกรณ์ สิ่งนี้ทำให้คำถาม:“ สิ่งนี้มีความหมายอย่างไรต่อผู้ใช้?” ปรากฎว่าคำตอบนั้นแตกต่างกันไปสำหรับผู้ใช้ Android สองประเภทหลัก (ผู้ใช้ทั่วไปและผู้ใช้ทั่วไป) และเราจะให้คำตอบสำหรับทั้งคู่ .
การบู๊ตที่ผ่านการตรวจสอบแล้วอย่างเข้มงวด
ขั้นแรกให้พื้นหลังเล็ก ๆ น้อย ๆ ในการตรวจสอบการบูต: โดยทั่วไปเมื่อ Android รันการทดสอบการตรวจสอบพาร์ติชันมันจะทำเช่นนั้นโดยแบ่งพาร์ติชันออกเป็นบล็อก 4KiB และตรวจสอบกับตารางที่เซ็นชื่อ หากทุกอย่างเช็คเอาท์แสดงว่าระบบนั้นสะอาดหมดจด อย่างไรก็ตามหากมีการบล็อกบางส่วนที่จะถูกแก้ไขหรือเกิดความเสียหาย Android จะแจ้งให้ผู้ใช้ทราบเกี่ยวกับปัญหาและปล่อยให้ผู้ใช้แก้ไขได้ (หรือไม่)
สิ่งที่กำลังจะเกิดขึ้นกับ Android Nougat และการบู๊ตที่ผ่านการตรวจสอบแล้วอย่างเข้มงวด เมื่อ Verified Boot ทำงานในโหมด Enced มัน จะไม่ยอมรับความผิดพลาดใด ๆ ในพาร์ติชั่น หากตรวจพบปัญหาใด ๆ จะไม่อนุญาตให้อุปกรณ์บู๊ต และ อาจ อนุญาตให้ผู้ใช้บู๊ตเข้าสู่ สภาพแวดล้อมที่ปลอดภัยในโหมด ลองและแก้ไขปัญหาได้ อย่างไรก็ตามการบู๊ตที่ผ่านการตรวจสอบแล้วอย่างเข้มงวดไม่ได้เป็นเพียงการตรวจสอบกับบล็อกข้อมูลที่ไม่ดี โดยปกติสามารถแก้ไขข้อผิดพลาดในบล็อคข้อมูลได้เช่นกัน สิ่งนี้เกิดขึ้นได้จากการมีรหัสการแก้ไขข้อผิดพลาดไปข้างหน้าซึ่งสามารถใช้เพื่อแก้ไขข้อผิดพลาดในบล็อคข้อมูล อย่างไรก็ตามสิ่งนี้ไม่สามารถใช้งานได้เสมอและในกรณีที่ไม่เป็นเช่นนั้นคุณจะต้องตายในน้ำ
การบู๊ตที่ผ่านการตรวจสอบความเข้มงวดแล้ว: ดี, แย่และแย่
1. ข้อดี
การบังคับใช้ Verified Boot บนอุปกรณ์ Android จะ ช่วยเพิ่มความปลอดภัยให้ กับอุปกรณ์ ในกรณีที่อุปกรณ์ติดมัลแวร์ Stainedly Enced Verified Boot จะตรวจจับมันในครั้งต่อไปที่คุณทำการบูทอุปกรณ์และทำการแก้ไขหรืออาจแจ้งให้คุณทำอะไรบางอย่างเกี่ยวกับมัน
คุณสมบัตินี้จะ ตรวจสอบความเสียหายของข้อมูล และในกรณีส่วนใหญ่มันจะสามารถแก้ไขข้อผิดพลาดใด ๆ ที่นำเสนอในข้อมูลด้วยรหัส FEC Google ใช้รหัส FEC ที่สามารถ แก้ไขข้อผิดพลาดบิตหนึ่งที่ไม่รู้จักใน 255 บิต แน่นอนว่าดูเหมือนจะเป็นตัวเลขที่ค่อนข้างเล็ก แต่ลองคิดในมุมมองเกี่ยวกับอุปกรณ์มือถือ:
หมายเหตุ: ค่าด้านล่างนำมาจากการโพสต์บล็อกโดย Google Engineer Sami Tolvanen บนผู้พัฒนา Android
Google อาจใช้รหัส FEC RS (255, 223) รหัสเหล่านี้จะสามารถแก้ไขข้อผิดพลาดบิตที่ไม่รู้จัก 16 บิตใน 255 บิต แต่ค่าใช้จ่ายในพื้นที่ว่างเนื่องจากข้อมูลซ้ำซ้อน 32 บิตจะเกือบ 15% และนั่นเป็นจำนวนมากโดยเฉพาะบนอุปกรณ์มือถือ เพิ่มเข้าไปในข้อเท็จจริงที่ว่า Android เป็นระบบปฏิบัติการที่โดดเด่นบนสมาร์ทโฟนราคาประหยัดที่มาพร้อมกับหน่วยความจำ 4-8 GB และพื้นที่ว่างเพิ่มขึ้น 15% แน่นอนว่าดูเหมือนจะมาก
ด้วยการเสียสละความสามารถในการแก้ไขข้อผิดพลาดเพื่อประหยัดพื้นที่ Google ตัดสินใจใช้รหัส FEC (255, 253) FEC รหัสเหล่านี้สามารถแก้ไขข้อผิดพลาดที่ไม่รู้จักเพียงครั้งเดียวใน 255 บิต แต่ค่าใช้จ่ายในพื้นที่เป็นเพียง 0.8%
หมายเหตุ: RS (255, N) เป็นตัวแทนของรหัส Reed-Solomon ซึ่งเป็นประเภทของรหัสการแก้ไขข้อผิดพลาด
2. เลว
เคยได้ยินคำว่า“ เหรียญมีสองด้านไหม”? แน่นอนคุณมี ในขณะที่ความตั้งใจของ Google ในการใช้การบูตที่ผ่านการตรวจสอบอย่างเข้มงวดนั้นไม่ต้องสงสัยเลยว่าบริสุทธิ์ในฐานะยูนิคอร์นที่เป็นเด็ก แต่พวกเขาก็มีปัญหามากมาย
เมื่อ Strictly Enced Verified Boot ตรวจสอบมัลแวร์ ก็จะตรวจสอบการ แก้ไขที่ผิดกฎหมาย ของเคอร์เนล bootloader และสิ่งอื่น ๆ ที่ฉันจะไม่เบื่อคุณ แต่นี่หมายความว่า Android Nougat อาจประสบปัญหามากมายเกี่ยวกับการรูตและ กะพริบ Custom ROMs เนื่องจาก Verified Boot ไม่สามารถแยกความแตกต่างระหว่างรหัสมัลแวร์ที่ไม่ต้องการและรหัสที่ปลดล็อค bootloader ของคุณ ซึ่งหมายความว่าหากอุปกรณ์ของคุณมาพร้อมกับ bootloader ที่ถูกล็อคและ OEM ของคุณไม่อนุญาตให้ปลดล็อค bootloader คุณจะไม่สามารถทำได้ หวังว่าบางคนจะหาประโยชน์จากสิ่งนี้
โชคดีที่คนส่วนใหญ่ที่รูทอุปกรณ์ของพวกเขาและแฟลชรอมที่กำหนดเองสำหรับคุณสมบัติและฟังก์ชั่นที่เพิ่มเข้ามาให้ใช้งานได้กับโทรศัพท์ที่เป็นมิตรของนักพัฒนาเช่น Nexus มีหลายสิ่งที่ต้องพิจารณาเกี่ยวกับหัวข้อนี้และแน่นอนว่าไม่ใช่จุดจบของ Custom ROMs อย่างน้อยที่สุดก็ไม่ได้อยู่ในอุปกรณ์ที่มาพร้อมกับ bootloader ที่ปลดล็อคหรือที่อนุญาตการปลดล็อค bootloader อย่างไรก็ตามอุปกรณ์เช่นโทรศัพท์ซัมซุงไม่อนุญาตให้ปลดล็อค bootloader อย่างเป็นทางการและในอุปกรณ์เหล่านี้การปลดล็อค bootloader ของคุณจะถูกมองว่าเป็น“ ปัญหา” โดย Verified Boot อย่างแน่นอนทำให้อุปกรณ์ไม่สามารถบู๊ตได้
ปัญหาอีกประการหนึ่งที่จะเกิดขึ้นกับการบูตที่ผ่านการตรวจสอบความถูกต้องอย่างเข้มงวดคือปัญหาที่จะส่งผลกระทบแม้กระทั่งผู้ใช้ที่ไม่สนใจสิทธิ์ในการรูทเครื่องหรือติดตั้งรอมที่กำหนดเอง เมื่อเวลาผ่านไปในขณะที่คุณใช้อุปกรณ์ของคุณจะมีความผิดปกติของข้อมูลในหน่วยความจำ ไม่ใช่เพราะการมีมัลแวร์ แต่เพียงเพราะมันเกิดขึ้น โดยปกติจะไม่เกิดปัญหาหรืออย่างน้อยก็ไม่ได้เป็นปัญหาอย่างรุนแรงเนื่องจาก Verified Boot จะเปลี่ยนเป็น หากคุณมีข้อมูลที่เสียหายที่ Stainedly Enced Verified Boot ไม่สามารถแก้ไขได้ในการบู๊ตอุปกรณ์จะไม่อนุญาตให้อุปกรณ์ของคุณทำการบูท ในความคิดของฉันนั่นเป็นปัญหาที่ใหญ่กว่าและมองเห็นได้มากกว่าข้อมูลที่เสียหายในพาร์ติชันผู้ใช้
3. น่าเกลียด
ประโยชน์ทั้งหมดของการบังคับใช้ Verified Boot และปัญหาที่อาจเกิดขึ้นทั้งหมดที่น่ารำคาญที่สุดคือความจริงที่ว่า OEM อาจเริ่มใช้สิ่งนี้ในทางที่ผิดเพื่อล็อคอุปกรณ์ของพวกเขาเช่นที่ผู้คนไม่สามารถใช้ Android สำหรับสิ่งที่มันต้องการ เป็น: เปิดเป็นมิตรกับผู้พัฒนาและสามารถปรับแต่งได้อย่างสมบูรณ์ Boot ที่ผ่านการตรวจสอบความถูกต้องอย่างเข้มงวดจะอยู่ในมือของ OEM ซึ่งเป็นพลังในการรับรองว่าผู้คนจะไม่สามารถปลดล็อก bootloaders บนอุปกรณ์ของพวกเขาได้ดังนั้นจึงห้ามไม่ให้พวกเขาติดตั้ง Custom ROMs และเครื่องมือเสริมคุณสมบัติเช่นโมดูล Xposed
Android Nougat: การเปลี่ยนแปลงที่รุนแรงในทาง Android ทำงานอย่างไร
แม้ว่าเราจะแน่ใจว่าเจตนาของ Google นั้นเป็นเพียงการหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นกับผู้ใช้ Android ที่ไม่เป็นทางการ แต่ไม่รู้ว่าจะทำอย่างไรในกรณีที่อุปกรณ์ของพวกเขาได้รับผลกระทบจากมัลแวร์หรือหากหน่วยความจำของพวกเขามีบล็อกข้อมูลเสียหาย และผู้ผลิตเป็นเครื่องมือที่สมบูรณ์แบบที่จะล็อคผู้ใช้ให้ใช้ชีวิตอยู่กับสิ่งที่พวกเขานำเสนอและไม่มีอะไรเพิ่มเติม
แน่นอนว่าจะมีคนหาประโยชน์หรือหาวิธีแก้ปัญหาสำหรับสถานการณ์นี้และเราหวังว่าพวกเขาจะทำในจิตวิญญาณที่แท้จริงของ Android จนกว่าจะมีใครรู้วิธีการแก้ปัญหาทั้งหมดที่เราทำตามที่ผู้ใช้สามารถทำได้คือให้แน่ใจว่าเราซื้ออุปกรณ์ของเราจากผู้ผลิตที่เป็นมิตรกับนักพัฒนา
ภาพเด่นด้วยมารยาท: Flickr