- iOS 18 ได้เพิ่มฟีเจอร์ความปลอดภัยใหม่สำหรับการรีบูตเมื่อไม่มีการใช้งาน: "รีบูตอัตโนมัติหากไม่มีการปลดล็อกเป็นเวลา 3 วัน"
- การป้อนรหัสผ่านครั้งแรกหลังจากเปิด iPhone กับการป้อนรหัสผ่านภายหลังเพื่อปลดล็อกนั้นแตกต่างกันมาก
- เมื่อป้อนรหัสผ่านตอนเริ่มใช้งาน iPhone ครั้งแรก ระบบจะเปิด key store ของ Secure Enclave Processor(SEP) ซึ่งใช้สำหรับเข้ารหัสข้อมูลใน iPhone
- ในสถานะ ก่อนปลดล็อกครั้งแรก (BFU) ข้อมูลผู้ใช้ยังถูกเข้ารหัสอยู่ และ Face ID กับ Touch ID จะไม่ทำงาน ต้องป้อนรหัสผ่านเท่านั้น เนื่องจากรหัสผ่าน Wi‑Fi ถูกเข้ารหัสไว้จึงไม่สามารถเชื่อมต่อ Wi‑Fi ได้ แต่ยังเชื่อมต่อเครือข่ายเซลลูลาร์ได้หาก SIM ไม่ได้ป้องกันด้วย PIN และจะไม่แสดงตัวอย่างเนื้อหาการแจ้งเตือน
- ในสถานะ หลังปลดล็อกครั้งแรก (AFU) ข้อมูลผู้ใช้จะถูกถอดรหัส ระหว่างที่ iOS ทำงาน key store จะยังเปิดอยู่ จึงเชื่อมต่อ Wi‑Fi และแสดงตัวอย่างการแจ้งเตือนข้อความได้ แต่สถานะนี้เสี่ยงต่อการโจมตีมากกว่า
- จุดอ่อนด้านความปลอดภัยของสถานะ AFU: หากผู้โจมตีข้ามหน้าจอล็อกได้ ก็อาจเข้าถึงข้อมูลที่ถูกถอดรหัสแล้วได้ และเมื่อมีการเข้าถึงตัวเครื่องโดยตรง ความเป็นไปได้ในการใช้ช่องโหว่ผ่าน USB, Wi‑Fi, Bluetooth หรือการโจมตีทางฮาร์ดแวร์ก็จะสูงขึ้น
ข่าวลือเกี่ยวกับการรีบูต iPhone
- หน่วยงานบังคับใช้กฎหมายจะเก็บ iPhone ให้อยู่ในสถานะตัดขาดจากอินเทอร์เน็ต เพื่อดึงข้อมูลสำคัญทางนิติเวชขณะเครื่องอยู่ในสถานะ AFU
- มีข่าวลือว่าใน iOS 18 นั้น iPhone จะรีบูตเองได้แม้จะถูกตัดขาดจากเครือข่ายไร้สายทั้งหมดอย่างสมบูรณ์
- นอกจากนี้ยังมีข้ออ้างว่า iPhone ที่ใช้ iOS 18 สามารถสั่งให้ iPhone ที่ใช้ iOS เวอร์ชันต่ำกว่าทำการรีบูตผ่านระบบไร้สายได้ด้วย (แต่ในทางเทคนิคมีความเป็นไปได้ต่ำ)
การค้นพบฟีเจอร์รีบูตเมื่อไม่มีการใช้งาน
- Apple มักทิ้งเบาะแสไว้ผ่าน debug string เมื่อเพิ่มฟีเจอร์ใหม่
- ตั้งแต่ iOS 18.1 เริ่มพบสตริง
inactivity_reboot และใน iOS 18.2 เปลี่ยนเป็น inactivity_reboot_enabled
- จากการทดสอบยืนยันได้ว่า จะเกิดการรีบูตเมื่อไม่มีการใช้งานหากไม่มีการปลดล็อกเป็นเวลา 3 วัน (72 ชั่วโมง)
วิศวกรรมย้อนกลับฟีเจอร์รีบูตเมื่อไม่มีการใช้งาน
- Secure Enclave Processor(SEP) จะติดตามเวลาที่ปลดล็อกครั้งล่าสุด และเมื่อเกิน 3 วันจะส่งการแจ้งเตือนไปยัง AppleSEPKeyStore kernel module
- AppleSEPKeyStore kernel module จะส่งสัญญาณไปยัง user space เพื่อเริ่มการรีบูต และ SpringBoard จะปิดทุกโปรเซสใน user space อย่างปลอดภัย
- หลังรีบูต keybagd จะอ่านตัวแปร NVRAM ชื่อ "aks-inactivity" และหากถูกตั้งค่าไว้จะส่งอีเวนต์สำหรับการวิเคราะห์ไปยัง Apple
- หากรีบูตไม่สำเร็จ จะเกิด kernel panic
การวิศวกรรมย้อนกลับ Secure Enclave Processor
- SEP เป็นหนึ่งในความลับที่ Apple ปกป้องมากที่สุด และเฟิร์มแวร์ของมันถูกเข้ารหัสไว้
- เฟิร์มแวร์ของ SEP ประกอบด้วยหลายแอป และแอปที่เกี่ยวข้องกับ SEPKeyStore มีชื่อว่า "sks"
- SEP จะสร้างข้อความและส่งไปยัง SEPKeyStore kernel extension เมื่อระยะเวลาเกิน 3 วัน (72 ชั่วโมง)
เป็นมาตรการที่เล็งเป้าเฉพาะตำรวจหรือไม่?
- ผลด้านการยกระดับความปลอดภัย: แม้สื่อจะรายงานว่าฟีเจอร์นี้ดูเหมือนมุ่งเป้าไปที่หน่วยงานบังคับใช้กฎหมายเป็นหลัก แต่ในแง่การป้องกันการโจรกรรมถือว่าเป็นการยกระดับความปลอดภัยครั้งใหญ่
- อุปกรณ์ของหน่วยงานบังคับใช้กฎหมายรุ่นเก่ามักถูกขายในราคาถูกบนแพลตฟอร์มอย่าง eBay และฟีเจอร์นี้ช่วยลดกรณีที่โจรนำอุปกรณ์เหล่านั้นมาใช้เข้าถึงข้อมูลใน iPhone
- ในความเป็นจริง โจรมักเข้าถึงเครื่องมือแฮ็กล่าสุดได้ยาก หรือไม่มีทรัพยากรพอจะปลดล็อกอุปกรณ์ให้ได้ภายใน 3 วัน
- ความสำคัญของการอัปเดตอุปกรณ์: การคงไว้ซึ่ง iOS เวอร์ชันล่าสุดมีความสำคัญอย่างมากต่อการปกป้องข้อมูลส่วนบุคคลให้ปลอดภัย
- ความจำเป็นที่หน่วยงานบังคับใช้กฎหมายต้องปรับตัว:
- หน่วยงานบังคับใช้กฎหมายจำเป็นต้องปรับขั้นตอนการดึงข้อมูลให้เสร็จภายใน 3 วัน
- ผู้ผลิตเครื่องมือนิติเวชบางรายได้ประกาศแล้วว่าสามารถจัดกระบวนการดึงข้อมูลให้เสร็จภายใน 24 ชั่วโมงได้
- สิ่งนี้สะท้อนข้อจำกัดว่าการดึงข้อมูลทำได้เฉพาะในสถานะ AFU เท่านั้น
- ความไม่สมมาตรของภัยคุกคามด้านความปลอดภัย:
- สำหรับโจร ฟีเจอร์นี้ทำให้การได้มาซึ่งข้อมูลแทบเป็นไปไม่ได้ และกลายเป็นกำแพงด้านความปลอดภัยที่สำคัญ
- ในทางกลับกัน หน่วยงานบังคับใช้กฎหมายต้องแบกรับภาระในการทำให้กระบวนการคล่องตัวขึ้นและตอบสนองให้เร็วกว่าเดิม
ประเด็นสำคัญ
- ไม่เกี่ยวข้องกับกิจกรรมไร้สาย:
- ฟีเจอร์นี้ไม่ได้เกี่ยวข้องกับกิจกรรมบนเครือข่ายไร้สาย
- ข้ออ้างในเอกสารของหน่วยงานบังคับใช้กฎหมายที่ระบุว่า "มีการรีบูตจากการสื่อสารไร้สายระหว่างอุปกรณ์" นั้นยากจะเชื่อถือ
- การรีบูตของอุปกรณ์ก่อน iOS 18 มีแนวโน้มว่าเกิดจากบั๊กซอฟต์แวร์มากกว่า
- บทบาทของ SEP:
- SEP เป็นผู้วัดระยะเวลาที่ไม่มีการใช้งานและเป็นตัวทริกเกอร์การรีบูต
- SEP สื่อสารกับ SEPKeyStore kernel extension เพื่อดำเนินคำสั่งรีบูต
- มีความเป็นไปได้สูงว่าการปรับเวลาโดยอาศัยแหล่งภายนอกผ่านอินเทอร์เน็ตหรือเครือข่ายเซลลูลาร์จะไม่ส่งผลต่อไทเมอร์ 3 วันนี้
- ฟีเจอร์ความปลอดภัยที่แข็งแกร่ง:
- หากผู้โจมตีต้องการป้องกันไม่ให้เกิดการรีบูตเมื่อไม่มีการใช้งาน ก็จำเป็นต้องมีสิทธิ์รันโค้ดในระดับเคอร์เนล
- แม้นักวิเคราะห์นิติเวชอาจสามารถถ่วงเวลาการรีบูตเพื่อดึงข้อมูลได้ แต่การเจาะระบบครั้งแรกก็ยังต้องเกิดขึ้นภายใน 3 วัน
- ภูมิทัศน์ภัยคุกคามที่เปลี่ยนไป:
- ฟีเจอร์นี้สร้างความท้าทายใหม่ทั้งต่อโจรและนักวิเคราะห์นิติเวช
- สำหรับโจร มันแทบจะปิดกั้นการเข้าถึงบัญชีธนาคารและข้อมูลอ่อนไหวอื่น ๆ ที่เก็บอยู่ใน iPhone
- ส่วนหน่วยงานบังคับใช้กฎหมายจะถูกกดดันให้ต้องตอบสนองเร็วขึ้นเพื่อให้เข้าถึงข้อมูลได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ในสถานะ AFU ข้อมูลผู้ใช้จะถูกถอดรหัสได้ นักพัฒนาสามารถเลือกใช้คีย์ได้หลายแบบเพื่อปกป้องข้อมูล Apple ใช้คีย์บางประเภทเพื่อปกป้องข้อมูลที่อ่อนไหว เช่น ข้อมูลสุขภาพของผู้ใช้
มีการตั้งข้อสงสัยว่าทำไมจึงเน้นมากเกินไปในประเด็นที่ว่าไม่เชื่อมต่อเครือข่าย GrapheneOS มีฟีเจอร์รีบูตอัตโนมัติหลังผ่านไประยะหนึ่งอยู่แล้ว ซึ่งมีประสิทธิภาพในการป้องกันข้อมูลรั่วไหล
มีการตั้งคำถามไว้สองข้อ:
มีการตั้งข้อสงสัยว่าทำไม Apple จึงเข้ารหัสเฟิร์มแวร์ของ SEP หากไม่ใช่สิ่งจำเป็นต่อโมเดลความปลอดภัย ก็อาจเป็นไปเพื่อปกป้องทรัพย์สินทางปัญญา
เป็นบทความที่ยอดเยี่ยมซึ่งแสดงให้เห็นว่า Apple นำหน้าในด้านความปลอดภัยของอุปกรณ์
มีการกล่าวถึงความเป็นไปได้ที่ iOS 18 อาจสั่งให้โทรศัพท์เครื่องอื่นรีบูตผ่านระบบไร้สายได้ แต่ดูเหมือนหลังจากนั้นจะไม่ได้พูดถึงอีก
มีความเห็นว่าคล้ายกับวิธีปลดล็อก BFU และ AFU ของ AOSP
มีความสงสัยว่าน่าจะถูกจัดการอยู่ใน Secure Enclave ซึ่งจะทำให้ปิดการทำงานได้ยากมาก แม้ iOS จะถูกเจาะจนเสียหายทั้งหมดก็ตาม
มีคำถามว่าทำไมจึงกำหนดเวลาเฉพาะเป็น 3 วัน และเหตุใดจึงไม่ให้ผู้ใช้ตั้งค่าระยะหน่วงเองได้
ขอบคุณสำหรับบทความที่ยอดเยี่ยม และเป็นการวิเคราะห์ที่ยอดเยี่ยม