- การนำระบบตรวจสอบแบบละเอียดมาใช้ ซึ่งจะแทนที่ระบบตรวจสอบระดับแพทช์ความปลอดภัยแบบเดิมที่รวมศูนย์ ด้วยการวิเคราะห์ตามส่วนประกอบต่างๆ
- ความแตกต่างระหว่างระดับแพทช์ที่ติดตั้ง เผยแพร่ และพร้อมใช้งาน เพื่อเพิ่มประสิทธิภาพในการตัดสินใจด้านความปลอดภัยแบบเรียลไทม์
- การผสานรวมกับฐานข้อมูล OSV เพื่อตรวจสอบช่องโหว่เฉพาะโดยใช้ CVE และรองรับแพตช์เพิ่มเติมจากผู้ผลิตอุปกรณ์ (OEM)
- การกำหนดมาตรฐานการสื่อสารระหว่างไคลเอ็นต์การอัปเดต OTA และแอปพลิเคชันโดยใช้ไลบรารี Security State Provider
จนกระทั่งเมื่อไม่นานมานี้ การจะรู้ว่าอุปกรณ์ Android ปลอดภัยจริงหรือไม่นั้น เหมือนกับการพยายามเดาว่าบ้านหลังหนึ่งปลอดภัยหรือไม่ โดยดูจากวันที่ปรับปรุงครั้งใหญ่ครั้งล่าสุดเท่านั้น โดยไม่รู้ว่ากลอนประตูหลังยังเสียอยู่หรือไม่ นักพัฒนาอาศัยระดับการแก้ไขช่องโหว่ด้านความปลอดภัย (Security Patch Level หรือ SPL)ซึ่งเป็นตัวชี้วัดทั่วไปที่ไม่เพียงพอในระบบนิเวศที่มีความซับซ้อนและปรับเปลี่ยนได้มากขึ้นเรื่อยๆ เพื่อแก้ไขปัญหานี้ Google ได้เปิดตัวไลบรารี AndroidX Security State และ Security State Provider ซึ่งถือเป็นการเปลี่ยนแปลงครั้งสำคัญโดยให้ข้อมูลเชิงลึกโดยละเอียดเกี่ยวกับแต่ละส่วนประกอบ
เครื่องมือเหล่านี้ไม่ได้มีไว้สำหรับผู้ที่เขียนโปรแกรมแอปพลิเคชันด้านการธนาคารหรือการดูแลสุขภาพเท่านั้น แต่ยังเหมาะสำหรับนักพัฒนาทุกคนที่ต้องการให้ซอฟต์แวร์ของตนมีความทนทานต่อการโจมตีอย่างแท้จริงแทนที่จะพึ่งพาข้อมูลเพียงชิ้นเดียว เราสามารถสอบถามระบบได้อย่างแม่นยำว่าส่วนประกอบใดบ้างที่อัปเดตแล้วและส่วนประกอบใดบ้างที่ยังรอการอัปเดตอยู่ ซึ่งช่วยให้แอปพลิเคชันสามารถตัดสินใจได้อย่างชาญฉลาดและเหมาะสมกับบริบทก่อนที่จะอนุญาตให้ผู้ใช้ดำเนินการที่สำคัญ ป้องกันไม่ให้ระบบบล็อกการเข้าถึงโดยไม่จำเป็น หรือที่แย่กว่านั้นคือเปิดช่องโหว่ให้ผู้โจมตีที่รู้จักกันดีเข้ามาโจมตีได้
ลาก่อนการแก้ไขปัญหาแบบรวมศูนย์: ยุคแห่งความละเอียดซับซ้อน

ปัญหาหลักของ SPL แบบดั้งเดิมคือ Android ในปัจจุบันได้รับการอัปเดตแบบทีละส่วนเนื่องจาก Project Mainline และการอัปเดตระบบของ Google Play เพื่อจัดระเบียบความวุ่นวายนี้ ไลบรารีใหม่จึงแบ่งความปลอดภัยออกเป็นสามส่วนหลัก ได้แก่ระบบปฏิบัติการหลัก (อัปเดตผ่าน OTA) โมดูลระบบ (ส่งผ่าน Google Play) และเคอร์เนล Linuxซึ่งเป็นรากฐานของทุกสิ่ง และแตกต่างจากส่วนอื่นๆ ตรงที่วัดจากเวอร์ชัน LTS (เช่น 6.1.91) แทนที่จะเป็นวันที่วางจำหน่ายรายเดือน
สำหรับองค์ประกอบแต่ละอย่าง นักพัฒนาสามารถตรวจสอบสถานะที่แตกต่างกันสามสถานะซึ่งกำหนดลักษณะการรักษาความปลอดภัยได้:
- ระดับความดังเสียงของอุปกรณ์ (DSPL): ฟังก์ชันนี้จะบอกเราว่าแพทช์ใดถูกติดตั้งและกำลังทำงานอยู่บนอุปกรณ์ ณ เวลานั้น โดยไม่จำเป็นต้องเรียกใช้ฟังก์ชันผ่านเครือข่าย
- SPL ที่เผยแพร่แล้ว (PSPL): นี่คือเวอร์ชันล่าสุดที่ได้รับการเผยแพร่อย่างเป็นทางการใน Android Security Bulletin
- ระดับความดังเสียงที่มีให้เลือก (ASPL): แอปนี้จะแสดงให้เห็นว่ามีการดาวน์โหลดและพร้อมติดตั้งการอัปเดตบนอุปกรณ์นั้นแล้วหรือไม่ โดยใช้กลไกบางอย่าง การสื่อสารระหว่างกระบวนการ (IPC).
การควบคุมช่องโหว่และการตรวจสอบ CVE

หนึ่งในจุดเด่นสำคัญคือการผสานรวมเข้ากับ ฐานข้อมูลช่องโหว่โอเพนซอร์ส (OSV) ต่อไป นี้ ไม่ต้องคาดเดาอีกแล้วว่าแพทช์เดือนพฤษภาคมจะแก้ไขช่องโหว่เฉพาะเจาะจงได้หรือไม่ ตอนนี้ สามารถตรวจสอบ CVE เฉพาะได้โดยอัตโนมัติ นี่เป็นสิ่งที่มีค่าอย่างยิ่งสำหรับแอปพลิเคชันฟินเทคหรือระบบยืนยันตัวตนขององค์กร เพราะช่วยให้พวกเขาสามารถบล็อกการโอนเงินหรือการเข้าถึงข้อมูลสำคัญได้ หากตรวจพบว่าช่องโหว่ NFC หรือ Bluetooth ที่ร้ายแรงยังคงทำงานอยู่
นอกจากนี้ Android 17 ยังได้นำมาซึ่งการปรับปรุงที่สำคัญสำหรับผู้ผลิต (OEM) พวกเขาสามารถใช้ ไฟล์ XML ของ Supplemental Patchesเพื่อประกาศการแก้ไขด้านความปลอดภัยที่พวกเขาได้ดำเนินการเองโดยไม่ต้องรอการเผยแพร่ SPL ทั่วโลก ซึ่งจะช่วยให้การแก้ไขอย่างต่อเนื่องได้รับการยอมรับทันที ป้องกันไม่ให้อุปกรณ์ดูเหมือนมีช่องโหว่ทั้งที่จริงแล้วได้รับการแก้ไขแล้ว
การดำเนินการ técnica และ flujo de trabajo

เพื่อให้ใช้งานได้ง่าย เพียงแค่เพิ่ม dependency ที่จำเป็น androidx.security:security-state:1.1.0 ในไฟล์ Gradle การเริ่มต้นใช้งานนั้นง่ายและต้องการบริบทของ Android แต่ถ้าคุณมีรายงานช่องโหว่ในรูปแบบ JSON อยู่แล้ว คุณสามารถส่งรายงานนั้นไปยังคอนสตรัคเตอร์ได้โดยตรง สถานะแพทช์ความปลอดภัย เพื่อเพิ่มความเร็วในการปฏิบัติงาน
โดยทั่วไปแล้ว ขั้นตอนการทำงานจะแบ่งออกเป็นสามประเภทของการตรวจสอบ:
- การตรวจสอบแบบซิงโครนัส: เหมาะอย่างยิ่งสำหรับการตรวจสอบ DSPL เมื่อเริ่มต้นแอป และเปรียบเทียบกับวันที่ฐานที่กำหนดไว้
- การสืบค้นแบบอะซิงโครนัส: ตลอด
fetchAvailableSecurityPatchLevelแอปสามารถแจ้งเตือนผู้ใช้ว่ามีการอัปเดตที่กำลังจะมาถึง และส่งผู้ใช้ไปยังการตั้งค่าระบบโดยตรง - การตรวจสอบเชิงลึก: การใช้
queryAllAvailableUpdatesคุณสามารถตรวจสอบความทันสมัยของข้อมูลและทราบได้อย่างแน่ชัดว่าผู้ให้บริการอัปเดตรายใดกำลังตอบสนองอยู่
ควรทราบว่าการรองรับนั้นแตกต่างกันไปตามเวอร์ชันของ Android Android 11 และเวอร์ชันที่ใหม่กว่านั้นรองรับอย่างเต็มที่ แต่ Android 10 ขาดการรองรับเคอร์เนลผ่านทางประกาศอย่างเป็นทางการ และในเวอร์ชัน 9 และก่อนหน้านั้น โมดูล Project Mainline ยังไม่มีอยู่ ดังนั้นระบบจึงใช้รูปแบบวันที่แบบ Unix (1970-01-01)เป็นค่าเริ่มต้น
บทบาทพื้นฐานของผู้ให้บริการด้านความมั่นคงแห่งรัฐ

เพื่อให้ระบบทั้งหมดนี้ทำงานได้ จำเป็นต้องมีผู้แจ้งให้ผู้ใช้ทราบว่ามีการอัปเดตพร้อมใช้งานแล้ว นี่คือจุดที่ ไลบรารี Security State Provider เข้ามา มีบทบาท ก่อนหน้านี้ ข้อมูล OTA ของผู้ผลิตแต่ละรายถูกล็อกไว้ในระบบเฉพาะของตนเอง แต่ตอนนี้ ไลบรารีนี้ได้กำหนดมาตรฐานวิธีการที่ไคลเอนต์อัปเดตรายงาน ASPL ทำให้แอปที่ได้รับอนุญาตใด ๆ สามารถเข้าถึงข้อมูลได้โดยไม่คำนึงถึงผู้ผลิตโทรศัพท์
ปัจจุบัน การอัปเดตจาก Google Play ได้ถูกรวมเข้าไว้แล้ว และ ระบบ Google Over-The-Air (GOTA)ก็ได้นำกรอบการทำงานนี้มาใช้เช่นกัน เป้าหมายสูงสุดคือการที่ผู้ผลิตทั่วโลกจะนำมาตรฐานนี้ไปใช้ เพื่อให้ความปลอดภัยของ Android โปร่งใสและตรวจสอบได้สำหรับนักพัฒนาทุกคน ขจัดความไม่โปร่งใสของระบบปิด
ข้อควรพิจารณาเกี่ยวกับการเข้ารหัสข้อมูล
นอกเหนือจากสถานะระบบแล้ว สิ่งสำคัญที่ควรกล่าวถึงคือเครื่องมืออย่างEncryptedSharedPreferencesแม้ว่า JetSec เวอร์ชันอย่างเป็นทางการจะถูกยกเลิกไปแล้วเพื่อสนับสนุน API ของแพลตฟอร์มและการใช้งาน Android Keystore โดยตรง แต่ก็มีเวอร์ชันที่ไม่เป็นทางการเกิดขึ้นมาเพื่อรักษาการสนับสนุนและป้องกันไม่ให้แอปหยุดทำงานเมื่ออัปเดตส่วนประกอบต่างๆ อย่างไรก็ตาม คำแนะนำในปัจจุบันคือควรหลีกเลี่ยงการจัดเก็บข้อมูลที่ละเอียดอ่อนมากเกินไปบนอุปกรณ์ เนื่องจาก โมเดลแซนด์บ็อกซ์ และการเข้ารหัสไฟล์ของ Android นั้นให้การป้องกันที่แข็งแกร่งอยู่แล้วโดยค่าเริ่มต้น
การผสานรวมการควบคุมการแก้ไขช่องโหว่แบบละเอียด ความสามารถในการตรวจสอบ CVE ผ่าน OSV และการอัปเดต OTA ที่ได้มาตรฐาน ทำให้ AndroidX Security State เป็นเครื่องมือที่ดีที่สุดสำหรับการยกระดับมาตรฐานความปลอดภัย ด้วยการเปลี่ยนจากการตรวจสอบภาพรวมทั่วไปไปสู่การตรวจสอบในระดับส่วนประกอบนักพัฒนาสามารถเสริมความแข็งแกร่งให้กับเวิร์กโฟลว์ที่สำคัญที่สุดของตน และมั่นใจได้ว่าผู้ใช้จะได้รับการปกป้องจากภัยคุกคามล่าสุดในโลกดิจิทัลอยู่เสมอ