ปิดโฆษณา

ความปลอดภัยของหน่วยความจำถือเป็นสิ่งสำคัญสูงสุดสำหรับ Google ในช่วงนี้ เนื่องจากข้อผิดพลาดของหน่วยความจำมักเป็นปัญหาร้ายแรงที่สุดในการพัฒนาซอฟต์แวร์ ในความเป็นจริง ช่องโหว่ในพื้นที่นี้รับผิดชอบต่อช่องโหว่ที่สำคัญส่วนใหญ่ Androidคุณจนกระทั่งปีที่แล้วเมื่อ Google ได้สร้างโค้ดเนทีฟใหม่จำนวนมาก Androidในภาษาการเขียนโปรแกรม Rust แทน C/C++ บริษัทซอฟต์แวร์ยักษ์ใหญ่แห่งนี้กำลังทำงานเพื่อรองรับวิธีการอื่นในการบรรเทาช่องโหว่ของหน่วยความจำในระบบ ซึ่งหนึ่งในนั้นเรียกว่าการทำเครื่องหมายหน่วยความจำ บนอุปกรณ์ที่รองรับระบบ Android 14. อาจมีการตั้งค่าใหม่ที่เรียกว่าการป้องกันหน่วยความจำขั้นสูงที่สามารถสลับคุณสมบัตินี้ได้

Memory Tagging Extension (MTE) เป็นคุณสมบัติฮาร์ดแวร์ที่จำเป็นของโปรเซสเซอร์ซึ่งใช้สถาปัตยกรรม Arm v9 ที่ให้รายละเอียด informace เกี่ยวกับความเสียหายของหน่วยความจำและป้องกันข้อผิดพลาดด้านความปลอดภัยของหน่วยความจำ ดังที่ Google อธิบาย: “ในระดับสูง MTE จะแท็กการจัดสรร/จัดสรรหน่วยความจำแต่ละรายการด้วยข้อมูลเมตาเพิ่มเติม กำหนดเครื่องหมายให้กับตำแหน่งหน่วยความจำ ซึ่งสามารถเชื่อมโยงกับพอยน์เตอร์ที่อ้างอิงถึงตำแหน่งหน่วยความจำนั้นได้ ณ รันไทม์ โปรเซสเซอร์จะตรวจสอบว่าพอยน์เตอร์และแท็กข้อมูลเมตาตรงกันทุกครั้งที่โหลดและบันทึก"

Google กำลังทำงานเพื่อสนับสนุน MTE ทั่วทั้งชุดซอฟต์แวร์ Android เป็นเวลานาน. ถึง Androidคุณ 12 เพิ่มตัวจัดสรรหน่วยความจำ Scudo และรองรับโหมดการทำงาน MTE สามโหมดบนอุปกรณ์ที่รองรับ: โหมดซิงโครนัส โหมดอะซิงโครนัส และโหมดอสมมาตร บริษัทยังทำให้สามารถเปิดใช้งาน MTE สำหรับกระบวนการของระบบผ่านคุณสมบัติของระบบและ/หรือตัวแปรสภาพแวดล้อมได้ แอปพลิเคชันสามารถเพิ่มการรองรับ MTE ผ่านทางแอตทริบิวต์ android:memtagMode. เมื่อเปิดใช้งาน MTE สำหรับกระบวนการใน Androidข้อผิดพลาดด้านความปลอดภัยของหน่วยความจำทั้งคลาส เช่น Use-After-Free และบัฟเฟอร์ล้นจะทำให้เกิดการหยุดทำงานแทนที่จะเป็นความเสียหายของหน่วยความจำแบบเงียบ

Do Androidคุณ 13 Google เพิ่ม Userspace Application Binary Interface (ABI) เพื่อสื่อสารโหมดการทำงาน MTE ที่ต้องการไปยัง bootloader สามารถใช้เพื่อเปิดใช้งาน MTE บนอุปกรณ์ที่รองรับซึ่งไม่ได้มาพร้อมกับ MTE ที่เปิดใช้งานตามค่าเริ่มต้น หรือสามารถใช้เพื่อปิดใช้งานบนอุปกรณ์ที่รองรับซึ่งเปิดใช้งานไว้ตามค่าเริ่มต้น การตั้งค่าคุณสมบัติระบบ ro.arm64.memtag.bootctl_supported เป็น "true" บนระบบ Android เวอร์ชัน 13 บอกระบบว่า bootloader รองรับ ABI และยังเปิดใช้งานปุ่มในเมนูตัวเลือกของนักพัฒนาที่อนุญาตให้ผู้ใช้เปิดใช้งาน MTE ในการรีบูตครั้งถัดไป

V Androidคุณ 14 อย่างไรก็ตาม การเปิดใช้งาน MTE บนอุปกรณ์ที่รองรับอาจต้องเข้าไปที่เมนูตัวเลือกของนักพัฒนาอยู่แล้ว หากอุปกรณ์ใช้โปรเซสเซอร์ Arm v8.5+ ที่รองรับ MTE การใช้งานอุปกรณ์จะรองรับ ABI สำหรับการสื่อสารโหมดการทำงาน MTE ที่ต้องการไปยังบูตโหลดเดอร์ และคุณสมบัติระบบ ro.arm64.memtag.bootctl_settings_toggle ใหม่จะถูกตั้งค่าเป็น "จริง" แล้วจึงขึ้นหน้าใหม่ Advanced memory Protection v การตั้งค่า → ความปลอดภัยและความเป็นส่วนตัว → การตั้งค่าความปลอดภัยเพิ่มเติม- หน้านี้ยังสามารถเปิดผ่านการดำเนินการ ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS ใหม่ได้อีกด้วย

สิ่งที่น่าสนใจคือชิปเซ็ต Tensor G2 ที่ขับเคลื่อนซีรีส์ Google Pixel 7 ใช้แกนประมวลผล Arm v8.2 ซึ่งหมายความว่าไม่รองรับ MTE หากซีรีส์ Google Pixel 8 ที่กำลังจะมาถึงจะใช้คอร์ Arm v9 ใหม่เหมือนกับซีรีส์เรือธงอื่นๆ androidโทรศัพท์ ฮาร์ดแวร์ควรจะสามารถรองรับ MTE ได้ อย่างไรก็ตาม คำถามยังคงอยู่ว่าฟีเจอร์ "การป้องกันหน่วยความจำขั้นสูง" จะทำให้เป็นเวอร์ชันเสถียรหรือไม่ Androidคุณ 14.

วันนี้มีคนอ่านมากที่สุด

.