Google ลงทุนอย่างต่อเนื่องในความโปร่งใสของผลิตภัณฑ์ เราจึงเพิ่มความโปร่งใสให้กับ APK ของบริการระบบใหม่ 2 รายการของ Google ได้แก่ Android System SafetyCore (com.google.android.safetycore) และ โปรแกรมตรวจสอบคีย์ของระบบ Android (com.google.android.contactkeys) APK เหล่านี้ขับเคลื่อนฟีเจอร์คำเตือนเกี่ยวกับเนื้อหาที่ละเอียดอ่อนและการยืนยันคีย์การเข้ารหัส ใน Google Messages ตามลำดับ บันทึกความโปร่งใสที่เราเผยแพร่เพื่อยืนยัน การอ้างสิทธิ์เกี่ยวกับ APK เหล่านี้
เนื่องด้วยความก้าวหน้าด้าน AI ตอนนี้เราจึงเพิ่มความโปร่งใสให้กับ APK ต่อไปนี้ด้วย
- Private Compute Services (com.google.android.as.oss)
แพ็กเกจที่ครอบคลุม
ส่วนนี้อธิบายแพ็กเกจที่ครอบคลุมในบันทึกความโปร่งใสและ คีย์การลงนามความโปร่งใสของโค้ดที่เกี่ยวข้อง
Android System SafetyCore
Android System SafetyCore (com.google.android.safetycore) เป็นคอมโพเนนต์ของระบบ Android ที่ มีโครงสร้างพื้นฐานการปกป้องผู้ใช้ในอุปกรณ์ที่รักษาความเป็นส่วนตัวสำหรับแอป
ขณะนี้โค้ดจาก APK นี้ได้รับการลงนามด้วยคีย์ต่อไปนี้ที่อธิบายไว้ในใบรับรองนี้
-----BEGIN CERTIFICATE-----
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
4ZM=
-----END CERTIFICATE-----
โปรแกรมตรวจสอบคีย์ของระบบ Android
โปรแกรมตรวจสอบคีย์ของระบบ Android APK (com.google.android.contactkeys) เป็นบริการสำหรับการยืนยันรายชื่อติดต่อใน Android ซึ่งช่วยให้ผู้ใช้สามารถยืนยันคีย์สาธารณะของรายชื่อติดต่อเพื่อยืนยันว่ากำลังสื่อสารกับบุคคลที่ต้องการส่งข้อความถึง บริการนี้เป็นระบบยืนยันคีย์สาธารณะแก่แอปต่างๆ ในแบบรวม ซึ่งใช้การยืนยันผ่านการสแกนคิวอาร์โค้ดหรือการเปรียบเทียบตัวเลข
ขณะนี้โค้ดจาก APK นี้ได้รับการลงนามด้วยคีย์ต่อไปนี้ที่อธิบายไว้ในใบรับรองนี้
-----BEGIN CERTIFICATE-----
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
PLM=
-----END CERTIFICATE-----
Private Compute Services
APK ของบริการการประมวลผลแบบส่วนตัว (com.google.android.as.oss) เป็นบริการของระบบที่บังคับใช้การปกป้องความเป็นส่วนตัว สำหรับข้อมูลผู้ใช้ที่ฟีเจอร์ที่ขับเคลื่อนด้วย AI ใช้ในอุปกรณ์ที่ใช้ Android Private Compute Services ทำหน้าที่เป็นเกตเวย์ที่ปลอดภัยและตรวจสอบได้สำหรับแอปพลิเคชัน Private Compute Core (PCC) เช่น Android System Intelligence (AiAi) ซึ่งจัดการข้อมูลที่ละเอียดอ่อนในอุปกรณ์ เพื่อเข้าถึงทรัพยากรเครือข่าย Astrea ช่วยให้ผู้ใช้และนักวิจัยสามารถยืนยันได้ว่าระบบจัดการข้อมูลในลักษณะที่รักษาความเป็นส่วนตัว โดยการจัดหา API ที่กำหนดไว้อย่างดีและให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรกสำหรับงานต่างๆ เช่น การดาวน์โหลด HTTP และการเรียนรู้แบบรวมศูนย์ รวมถึงการทำให้โค้ดพร้อมใช้งานแบบสาธารณะ
ขณะนี้โค้ดจาก APK นี้ได้รับการลงนามด้วยคีย์ต่อไปนี้ที่อธิบายไว้ในใบรับรองนี้
-----BEGIN CERTIFICATE-----
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
asY=
-----END CERTIFICATE-----
โมเดลภัยคุกคาม
ระบบความโปร่งใสสามารถใช้เพื่อตรวจจับและป้องกันการโจมตีซัพพลายเชนได้ เราจะยกตัวอย่างประกอบ
สมมติว่าผู้โจมตีแก้ไข APK ของบริการระบบ Google โดยประสงค์ร้ายและสามารถลงนามด้วยคีย์ Signing ที่ Google Play ใช้ ทุกคนที่ได้รับ APK ที่เป็นอันตรายจะค้นหาบันทึกความโปร่งใสของไบนารีเพื่อ ยืนยันความถูกต้องของ APK ได้ โดยจะพบว่า Google ไม่ได้เพิ่มข้อมูลเมตาของ APK ที่เกี่ยวข้องลงใน บันทึก และจะทราบว่าไม่ควรเชื่อถือ APK ที่ถูกบุกรุก
เนื่องจากการเผยแพร่ไปยังบันทึกเป็นกระบวนการที่แยกจากกระบวนการเผยแพร่ที่มีการลงนาม (ดังที่แสดงในแผนภาพระบบนิเวศ) จึงทำให้ผู้โจมตีทำได้ยากขึ้นนอกเหนือจากการบุกรุกคีย์
แม้ว่าเราจะวางแผนที่จะผสานรวมบันทึกนี้เข้ากับเครือข่ายพยานสาธารณะ โดยใช้โปรโตคอลพยานมาตรฐาน แต่เราขอแนะนำให้บุคคลภายนอกที่เป็นอิสระตรวจสอบความสมบูรณ์ของบันทึกที่เปิดเผยต่อสาธารณะนี้ บุคคลเหล่านี้สามารถยืนยันคุณสมบัติแบบต่อท้ายเท่านั้นของบันทึก และรายงานการ ดัดแปลงใดๆ
การมีอยู่ของระบบความโปร่งใสและโอกาสในการค้นพบการโจมตีเพิ่มเติม จะช่วยลดกิจกรรมที่เป็นอันตราย หาก APK ถูกบุกรุก แต่ผู้ใช้เชื่อถือเฉพาะ APK ที่อยู่ในบันทึก APK ที่ถูกบุกรุกจะต้องเปิดเผยต่อสาธารณะ ซึ่งจะเพิ่มโอกาสในการค้นพบว่ามี APK ที่ถูกบุกรุกอยู่ และสามารถดำเนินการเพื่อนำการเผยแพร่ APK นั้นออกได้
โมเดลผู้ร้องเรียน
โมเดลผู้กล่าวอ้าง เป็นเฟรมเวิร์กที่ใช้กำหนดบทบาทและอาร์ติแฟกต์ในระบบที่ตรวจสอบได้ ในกรณีของความโปร่งใสของ APK สำหรับบริการระบบของ Google การอ้างสิทธิ์ที่เราทำคือ แฮชของไบนารีที่ลงนามซึ่งบันทึกไว้ในบันทึกนี้แสดงถึงโค้ดอย่างเป็นทางการ สำหรับ APK ของบริการระบบของ Google ที่เกี่ยวข้อง
- อ้างสิทธิ์GoogleSystemServicesApk: (ฉัน Google อ้างว่า
$codeSignatureมีไว้สำหรับ$googleSystemServicesApk) โดยที่$codeSignatureคือ JSON Web Token (JWT) ที่ลงนามแล้วซึ่งมีรายการไฟล์ DEX และไลบรารีเนทีฟ รวมถึงแฮชที่เกี่ยวข้องซึ่งรวมอยู่ใน$googleSystemServicesApkเวอร์ชันที่เฉพาะเจาะจง$googleSystemServicesApkคือแพ็กเกจ Android (APK) จากชุดแพ็กเกจต่อไปนี้{Android System SafetyCore (com.google.android.safetycore), Android System Key Verifier (com.google.android.contactkeys)}
ทุกคนที่มีสำเนาของ $googleSystemServicesApk สามารถยืนยันการอ้างสิทธิ์ข้างต้นได้
และเราอธิบายกระบวนการนี้อย่างละเอียดในหน้าการยืนยัน
เนื้อหาบันทึก
เมื่อ Google เปิดตัว APK เวอร์ชันใหม่ตามที่ระบุไว้ข้างต้น Google จะเพิ่มรายการที่เกี่ยวข้องลงใน บันทึกความโปร่งใสของ APK สำหรับบริการระบบของ Google
แต่ละรายการในบันทึกนี้จะมีข้อมูลเมตาของ APK 4 ส่วน ดังนี้
- แฮชของลายเซ็นโค้ดของ APK ที่ Google พัฒนา ซึ่งเป็นสตริงเลขฐานสิบหกของข้อมูลสรุป SHA256 ของโทเค็นความโปร่งใสของโค้ด (หรือที่เรียกว่า JWT ความโปร่งใสของโค้ด)
- คำอธิบายประเภทแฮชด้านบน นี่คือสตริง
- ชื่อแพ็กเกจของ APK นี่คือสตริง
- หมายเลขเวอร์ชัน (versionCode) ของ APK โดยค่านี้จะเป็นจำนวนเต็ม
รูปแบบของรายการบันทึกคือการต่อข้อมูล 4 ส่วนเข้าด้วยกันโดยมีอักขระขึ้นบรรทัดใหม่ (\n) ดังตัวอย่างต่อไปนี้
hash\nSHA256(Signed Code Transparency JWT)\npackage_name\npackage_version\n
โปรดทราบว่าในรุ่นนี้ เรากำลังทดลองใช้ความโปร่งใสของโค้ด
ซึ่งหมายความว่าเราจะบันทึกข้อมูลสรุปของโทเค็นความโปร่งใสของโค้ดแทนที่จะเป็นแฮชของ APK
ดังนั้นคำอธิบายแฮชจึงได้รับการแก้ไขเป็น
SHA256(Signed Code Transparency JWT)
นอกจากนี้ ยังแสดงให้เห็นถึงวิธีที่นักพัฒนาแอปสามารถใช้ความโปร่งใสของโค้ดได้เมื่อ Google Play ถือ คีย์ App Signing ของแอป
แผนภาพระบบนิเวศ
