เรามุ่งมั่นที่จะแสดงแอปผลิตภัณฑ์ทั้งหมดของ Google ในบันทึกความโปร่งใสเพื่อเพิ่มความน่าเชื่อถือในแอปของ Google เราได้เผยแพร่บันทึกความโปร่งใสเพื่อยืนยันต่อสาธารณะเกี่ยวกับ การกล่าวอ้างที่เราทำเกี่ยวกับ APK เหล่านี้
โมเดลภัยคุกคาม
ระบบความโปร่งใสสามารถใช้เพื่อตรวจหาและป้องกันการโจมตีซัพพลายเชนได้ เราจะยกตัวอย่างประกอบ
สมมติว่าผู้โจมตีแก้ไขแอป Google อย่างไม่สุจริตและสามารถลงนาม แอปด้วยคีย์ Signing ที่ใช้สำหรับการเผยแพร่ผ่าน Google Play เมื่อมีบันทึกความโปร่งใสของไบนารี ทุกคนที่ได้รับ APK ที่น่าสงสัยจะใช้บันทึกนี้เป็นแหล่งที่มาของข้อมูลที่ได้จากการสังเกตการณ์ที่ตรวจสอบได้เพื่อยืนยันความถูกต้องของ APK ได้ โดยจะพบว่า Google ไม่ได้เพิ่มข้อมูลเมตาของ APK ที่เกี่ยวข้องลงใน บันทึก และจะทราบว่าไม่ควรเชื่อถือ APK ที่ถูกบุกรุก
เนื่องจากการเผยแพร่ไปยังบันทึกเป็นกระบวนการที่แยกจากกระบวนการเผยแพร่ที่มีการลงนาม (ดังที่แสดงในแผนภาพระบบนิเวศ) จึงเป็นการยกระดับความยากในการโจมตีให้สูงขึ้นนอกเหนือจากการประนีประนอมคีย์
แม้ว่าเราวางแผนที่จะผสานรวมบันทึกนี้เข้ากับเครือข่ายพยานสาธารณะ โดยใช้โปรโตคอลพยานมาตรฐาน แต่เราขอแนะนำให้บุคคลภายนอกที่เป็นอิสระตรวจสอบความสมบูรณ์ของบันทึกที่เปิดเผยต่อสาธารณะนี้ บุคคลเหล่านี้สามารถยืนยันคุณสมบัติแบบต่อท้ายเท่านั้นของบันทึก และรายงานการ ดัดแปลงใดๆ
การมีอยู่ของระบบความโปร่งใสและโอกาสในการค้นพบการโจมตีเพิ่มเติม จะช่วยลดกิจกรรมที่เป็นอันตราย หาก APK ถูกบุกรุก แต่ผู้ใช้เชื่อถือเฉพาะ APK ที่อยู่ในบันทึก APK ที่ถูกบุกรุกจะต้องเปิดเผยต่อสาธารณะ ซึ่งจะเพิ่มโอกาสในการค้นพบว่ามี APK ที่ถูกบุกรุกอยู่ และสามารถดำเนินการเพื่อนำการเผยแพร่ APK นั้นออกได้
โมเดลผู้ร้องเรียน
โมเดลผู้กล่าวอ้างเป็นเฟรมเวิร์กที่ใช้กำหนดบทบาทและอาร์ติแฟกต์ในระบบที่ตรวจสอบได้ ในกรณีของความโปร่งใสของแอปของบุคคลที่หนึ่งของ Google คำกล่าวอ้างของเราคือ แฮชของไฟล์ APK ที่บันทึกไว้ในบันทึกนี้แสดงถึงเวอร์ชันที่เฉพาะเจาะจงของแอป Google อย่างเป็นทางการที่มีไว้สำหรับการใช้งานสาธารณะ
- อ้างสิทธิ์GoogleApp: (ฉัน Google ขออ้างสิทธิ์ว่า
$hashAppเป็นของ$googleApp) โดยมีรายละเอียดดังนี้
ทุกคนที่มีสำเนาของ $googleApp สามารถยืนยันการอ้างสิทธิ์นี้ได้
และเราอธิบายกระบวนการนี้อย่างละเอียดใน
หน้าการยืนยัน
เนื้อหาบันทึก
เมื่อ Google เปิดตัว APK เวอร์ชันใหม่ ระบบจะเพิ่มรายการที่เกี่ยวข้องลงใน บันทึกความโปร่งใสของ APK ของบุคคลที่หนึ่งของ Google
แต่ละรายการในบันทึกนี้จะมีข้อมูลเมตา 4 ส่วน ดังนี้
- แฮชของไฟล์ APK ของแอปที่ Google ลงนาม นี่คือสตริงเลขฐานสิบหกของข้อมูลสรุป SHA256 ของทั้งไฟล์
- คำอธิบายประเภทของแฮชก่อนหน้า นี่คือสตริง
- ชื่อแพ็กเกจของ APK นี่คือสตริง
- หมายเลขเวอร์ชัน (versionCode) ของ APK โดยค่านี้ต้องเป็นจำนวนเต็มที่ไม่ใช่ 0
รูปแบบของรายการบันทึกคือการต่อข้อมูล 4 ส่วนเข้าด้วยกันโดยมีอักขระขึ้นบรรทัดใหม่ (\n) ดังตัวอย่างต่อไปนี้
hash\nSHA256(APK)\npackage_name\npackage_version\n
เนื่องจากเราวัดไฟล์ APK ทั้งหมด คำอธิบายแฮช
จึงตั้งค่าเป็น SHA256(APK) ซึ่งจะช่วยให้ครอบคลุมเนื้อหาของแต่ละไฟล์อย่างครบถ้วน และช่วยให้ผู้ใช้ได้รับการวัดผลนี้ได้ง่ายขึ้น
แผนภาพระบบนิเวศ
