Google มีชุด API และบริการ เพื่อช่วยให้คุณตรวจสอบว่าแอปของคุณ ทำงานในสภาพแวดล้อม ที่ปลอดภัยและเชื่อถือได้ หัวใจสำคัญคือ Play Integrity API ซึ่งจะช่วยตรวจสอบว่าการโต้ตอบเป็นความจริงโดยการตรวจหา การโต้ตอบที่มีความเสี่ยงและเป็นการฉ้อโกง นอกจากความสมบูรณ์ของแอปและอุปกรณ์แล้ว Play ตอนนี้ Integrity API นำเสนอข้อมูลเกี่ยวกับความเสี่ยงในการเข้าถึงและการเข้าถึง Google Play Protect และกิจกรรมล่าสุดในอุปกรณ์ ทำให้แข็งขึ้นอีก กลยุทธ์ป้องกันการฉ้อโกงของคุณ แพลตฟอร์ม Android มี API สำหรับสถานการณ์ที่เฉพาะเจาะจง ที่อาจเกี่ยวข้องกับแอปของคุณ
Play Integrity API
Play Integrity API ช่วยให้คุณดูข้อมูลเกี่ยวกับสถานะความปลอดภัยของ อุปกรณ์ที่แอปกำลังเรียกใช้อยู่ วิธีนี้จะช่วยให้คุณมั่นใจได้ว่าผู้ใช้ที่ถูกต้อง เข้าถึงข้อมูลที่ละเอียดอ่อน
ช่วยคุณตรวจสอบว่าการโต้ตอบและคำขอของเซิร์ฟเวอร์มาจาก ไบนารีของแอปแท้ในสภาพแวดล้อมที่เชื่อถือได้:
- ไบนารีของแอปจริง: ระบุว่าคุณกำลังโต้ตอบกับ ไบนารีที่ไม่มีการแก้ไขที่ Google Play รู้จัก
- การติดตั้งใน Play จริง: ระบุว่าบัญชีผู้ใช้ปัจจุบันคือ ได้รับอนุญาต ซึ่งหมายความว่าผู้ใช้ได้ติดตั้งหรือชําระเงินสําหรับแอปหรือเกมของคุณแล้วใน Google Play
- อุปกรณ์ Android จริง: ระบุว่าแอปทํางานอยู่ในของแท้หรือไม่ อุปกรณ์ที่ใช้ระบบ Android ขับเคลื่อนโดยบริการ Google Play
- ไม่มีมัลแวร์ที่รู้จัก: ตรวจสอบว่า Google Play Protect เปิดอยู่หรือไม่ และพบแอปที่มีความเสี่ยงหรือเป็นอันตรายติดตั้งอยู่ในอุปกรณ์หรือไม่
- ความเสี่ยงต่ำที่แอปอื่นๆ จะเข้าถึง: พิจารณาว่าแอปอื่นๆ ทำงานอยู่หรือไม่ ที่สามารถจับภาพหน้าจอหรือควบคุมอุปกรณ์และอินพุตไปยังแอปของคุณได้
วิธีนี้ช่วยลดการประพฤติมิชอบได้อย่างไร
เมื่อผู้ใช้ดำเนินการสำคัญในแอป คุณสามารถโทรหา Play Integrity API หากไม่เป็นเช่นนั้น เซิร์ฟเวอร์แบ็กเอนด์ของแอปสามารถเลือกได้ว่าจะดําเนินการอย่างไร เพื่อป้องกันการโจมตีและการประพฤติมิชอบ ตัวอย่างเช่น คุณอาจต้องการ การยืนยันผู้ใช้เพิ่มเติมหรือปฏิเสธการเข้าถึงฟังก์ชันการทำงานที่มีความละเอียดอ่อน
ความเสี่ยงในการเข้าถึงแอป
เราได้เปิดตัวสัญญาณความเสี่ยงในการเข้าถึงแอปเพื่อช่วยคุณประเมินว่า แอปในอุปกรณ์อาจดูและจับภาพหน้าจอเมื่อแอป เรียกใช้หรือเข้าถึงแอปโดยใช้สิทธิ์การช่วยเหลือพิเศษ ยืนยันแล้ว ระบบจะยกเว้นแอปการช่วยเหลือพิเศษจากผลการตัดสินเหล่านี้โดยอัตโนมัติ การเข้าถึงแอป ความเสี่ยงช่วยให้นักพัฒนาแอปปกป้องแอปของตนไปพร้อมๆ กับรักษาความเป็นส่วนตัวของผู้ใช้เนื่องจาก แอปที่ส่งคำขอไม่ได้รับข้อมูลระบุตัวตนของแอปที่ติดตั้งไว้และ คำตัดสินไม่ได้ลิงก์กับตัวระบุผู้ใช้หรืออุปกรณ์
การร่วมแรงร่วมใจกันนี้ทำให้ เราได้รับสัญญาณที่จำเป็น ให้ข้อมูลเชิงลึกที่ละเอียดยิ่งขึ้นเพื่อปกป้องลูกค้าได้อย่างมีประสิทธิภาพมากขึ้น
- Nubank พาร์ทเนอร์ทดลองใช้ก่อนเปิดตัว
ความเสี่ยงในการเข้าถึงแอปมีระดับความเสี่ยงที่แตกต่างกันดังนี้
- การตอบสนองในการจับภาพหมายความว่าแอปอื่นๆ ทำงานอยู่ที่สามารถจับภาพหน้าจอได้
- การตอบสนองการควบคุมหมายความว่าแอปอื่นๆ ทำงานอยู่ซึ่งสามารถควบคุม อุปกรณ์ จึงทำได้ทั้งจับภาพหน้าจอและควบคุมอินพุต ในแอปของคุณ
ความเสี่ยงในการเข้าถึงแอปพร้อมให้บริการแล้วในเวอร์ชันเบต้าแบบสาธารณะ และจะเปิดตัวเป็นเวอร์ชันสำหรับผู้ใช้ทั่วไป ในอีกไม่กี่เดือนข้างหน้า
การบังคับใช้ความเสี่ยงในการเข้าถึงแอป
ระบุการกระทําที่มีมูลค่าสูงหรือมีความละเอียดอ่อนในแอปหรือเกมเพื่อปกป้องด้วย เล่น Integrity API แทนการปฏิเสธการเข้าถึงทันที หากเป็นไปได้ ให้ท้าทาย การเข้าชมที่มีความเสี่ยง ก่อนที่จะอนุญาตการดำเนินการที่มีมูลค่าสูง ตัวอย่างเช่น เมื่อ ความเสี่ยงในการเข้าถึงแอปบ่งชี้ว่ามีแอปทำงานอยู่ซึ่งอาจบันทึก ขอให้ผู้ใช้ปิดหรือถอนการติดตั้งแอปที่จับภาพหน้าจอได้ ก่อนที่จะอนุญาตให้ไปยังฟังก์ชันที่คุณต้องการปกป้อง
ตารางนี้มีตัวอย่างคำตัดสิน ดังนี้
ตัวอย่างการตอบกลับผลการตัดสินความเสี่ยงในการเข้าถึงแอป | การตีความ |
---|---|
appsDetected: ["KNOWN_INSTALLED"]
|
มีเฉพาะแอปที่ติดตั้งที่ Google Play รู้จัก หรือโหลดไว้ล่วงหน้าในพาร์ติชันระบบโดยผู้ผลิตอุปกรณ์ ไม่มีแอปใดที่ทำงานอยู่ที่จะทำให้เกิดการจับภาพ การควบคุม หรือการวางซ้อนผลการตัดสิน |
appsDetected: ["KNOWN_INSTALLED", "UNKNOWN_INSTALLED", "UNKNOWN_CAPTURING"]
|
มีแอปที่ติดตั้งโดย Google Play หรือโหลดไว้ล่วงหน้าบน พาร์ติชันระบบตามผู้ผลิตอุปกรณ์ มีแอปอื่นๆ ที่ทำงานอยู่และมีการเปิดใช้สิทธิ์ที่อาจ ใช้เพื่อดูหน้าจอหรือจับภาพอินพุตและเอาต์พุตอื่นๆ |
appsDetected: ["KNOWN_INSTALLED", "KNOWN_CAPTURING", "UNKNOWN_INSTALLED", "UNKNOWN_CONTROLLING"]
|
มี Play หรือระบบที่กำลังทำงานซึ่งเปิดใช้สิทธิ์ เพื่อดูหน้าจอหรือจับภาพอินพุตและเอาต์พุตอื่นๆ ได้ นอกจากนี้ยังมีแอปอื่นๆ ที่ทำงานอยู่ซึ่งเปิดใช้สิทธิ์ ที่สามารถใช้ควบคุมอุปกรณ์และควบคุมอินพุตโดยตรง แอปของคุณ |
appAccessRiskVerdict: {}
|
ไม่ได้ประเมินความเสี่ยงในการเข้าถึงแอป เนื่องจากข้อกำหนดที่จำเป็นคือ พลาดไป เช่น อุปกรณ์ไม่น่าเชื่อถือพอ |
สัญญาณ Play Protect
สัญญาณ Play Protect จะบอกแอปของคุณว่า Play Protect เปิดอยู่หรือไม่ และ พบแอปอันตรายที่ติดตั้งไว้ในอุปกรณ์หรือไม่
environmentDetails:{
playProtectVerdict: "NO_ISSUES"
}
หากมัลแวร์เป็นเรื่องเกี่ยวกับแอปของคุณหรือผู้ใช้โดยเฉพาะ คุณสามารถ ตรวจสอบผลการตรวจสอบนี้และขอให้ผู้ใช้เปิด Play Protect หรือนำเนื้อหาที่เป็นอันตรายออก แอปก่อนที่จะดำเนินการต่อ
playProtectVerdict
อาจมีค่าใดค่าหนึ่งต่อไปนี้
คำตัดสิน | คำอธิบาย | การดำเนินการที่แนะนำ |
---|---|---|
|
Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ของแอปใน อุปกรณ์ |
Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ |
|
Play Protect เปิดอยู่แต่ยังไม่ได้สแกน ของอุปกรณ์หรือแอป Play Store เพิ่งได้รับการรีเซ็ตเมื่อเร็วๆ นี้ |
Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ |
|
Play Protect ปิดอยู่ |
Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ |
|
Play Protect เปิดอยู่และพบแอปที่อาจเป็นอันตราย ที่ติดตั้งบนอุปกรณ์ |
คุณขอให้ผู้ใช้เปิดใช้งานได้ ทั้งนี้ขึ้นอยู่กับการยอมรับความเสี่ยงของคุณ Play Protect และดำเนินการตามคำเตือนของ Play Protect หากผู้ใช้ ไม่สามารถทำตามข้อกำหนดเหล่านี้ คุณอาจบล็อกพวกเขาจากเซิร์ฟเวอร์ได้ การดำเนินการ |
|
Play Protect เปิดอยู่และพบการติดตั้งแอปอันตราย ในอุปกรณ์ |
คุณขอให้ผู้ใช้เปิดใช้งานได้ ทั้งนี้ขึ้นอยู่กับการยอมรับความเสี่ยงของคุณ Play Protect และดำเนินการตามคำเตือนของ Play Protect หากผู้ใช้ ไม่สามารถปฏิบัติตามข้อกำหนดเหล่านี้ คุณสามารถบล็อกพวกเขาจาก การดำเนินการของเซิร์ฟเวอร์ |
|
ยังไม่มีการประเมินคำตัดสิน Play Protect การดำเนินการนี้อาจ ซึ่งเกิดขึ้นได้จากหลายสาเหตุ เช่น
|
กิจกรรมล่าสุดในอุปกรณ์
คุณยังเลือกใช้กิจกรรมล่าสุดในอุปกรณ์ได้ด้วย ซึ่งจะบอกจำนวนครั้งที่ แอปของคุณขอโทเค็นความสมบูรณ์บนอุปกรณ์หนึ่งๆ ในชั่วโมงที่ผ่านมา คุณ สามารถใช้กิจกรรมล่าสุดในอุปกรณ์เพื่อปกป้องแอปของคุณจากสิ่งที่ไม่คาดคิด อุปกรณ์ที่ใช้งานมากเกินไปที่อาจบ่งชี้ถึงการโจมตีที่กำลังเกิดขึ้น คุณสามารถ ตัดสินใจว่าจะเชื่อถือระดับกิจกรรมล่าสุดแต่ละระดับในอุปกรณ์เท่าใด โดยอิงตามจำนวน จำนวนครั้งที่คาดว่าแอปที่ติดตั้งในอุปกรณ์ทั่วไปจะขอความสมบูรณ์ แต่ละชั่วโมง
หากคุณเลือกรับ recentDeviceActivity
ช่อง deviceIntegrity
จะ
มี 2 ค่า ได้แก่
deviceIntegrity: {
deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
recentDeviceActivity: {
// "LEVEL_2" is one of several possible values.
deviceActivityLevel: "LEVEL_2"
}
}
ก่อนอื่น คุณควรตรวจสอบข้อมูลเพื่อดูกิจกรรมโดยทั่วไปของอุปกรณ์ สำหรับแอปของคุณในทุกอุปกรณ์ จากนั้นคุณก็เลือกได้ว่าจะให้แอป ควรตอบสนองเมื่ออุปกรณ์ส่งคำขอมากเกินไป หากกิจกรรม คุณอาจต้องการขอให้ผู้ใช้ลองอีกครั้งในภายหลัง หากกิจกรรม สูงมาก คุณอาจต้องดำเนินการบังคับใช้ที่เข้มงวดยิ่งขึ้น
คำขอแบบมาตรฐานกับคำขอแบบคลาสสิก
สิ่งสำคัญที่ควรใช้ในการติดตั้งใช้งาน Play Integrity คำขอทั้ง 2 ประเภท คุณควรใช้คำขอมาตรฐานในกรณีส่วนใหญ่ เพื่อให้การตอบกลับเร็วที่สุด และควรใช้คำขอแบบคลาสสิกในตำแหน่ง จำเป็นต้องมีคำขอที่สร้างขึ้นใหม่กับระเบียนเอกสารรับรองของอุปกรณ์
คำขอแบบคลาสสิก |
คำขอมาตรฐาน |
---|---|
โดยคําขอจะใช้เวลานานกว่าปกติและควรลดความถี่ในการขอ เช่น เป็นแบบครั้งเดียวเพื่อตรวจสอบว่าโฆษณาที่มีคุณค่าสูงหรือ การดำเนินการที่ละเอียดอ่อนเป็นเรื่องจริง ใช้ไม่บ่อย |
คำขอมีเวลาในการตอบสนองต่ำและใช้งานได้แบบออนดีมานด์ คำขอมาตรฐานประกอบด้วย 2 ส่วน ดังนี้
ใช้ตามคำขอ |
อ่านเอกสารประกอบของ Play Integrity เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับมาตรฐานและ คำขอแบบคลาสสิก
การใช้งาน
วิธีเริ่มต้นใช้งาน Play Integrity API
- เปิดใช้ Play Integrity API ใน Google Play Console และลิงก์ กับโปรเจ็กต์ Google Cloud
- ผสานรวม Play Integrity API ในแอป
- ตัดสินใจว่าจะจัดการกับคำตัดสินอย่างไร
โดยค่าเริ่มต้น Play Integrity API จะอนุญาตคำขอได้สูงสุด 10, 000 รายการต่อแอปต่อวัน ถึง แสดงความสนใจในการเพิ่มคำขอสูงสุดต่อวัน ทำตาม วิธีการ มีสิทธิ์ได้รับจำนวนสูงสุดต่อวันเพิ่มขึ้น แอปของคุณต้องใช้ Play Integrity API อย่างถูกต้องและ ซึ่งพร้อมให้บริการบน Google Play นอกเหนือจากช่องทางการเผยแพร่อื่นๆ
สิ่งที่ควรทราบเกี่ยวกับ Play Integrity API
- คุณต้องจัดการกับข้อผิดพลาดในคำตอบของ Play Integrity API อย่างเหมาะสม ทำตามคำแนะนำเกี่ยวกับการลองใหม่และกลยุทธ์การบังคับใช้ ตามรหัสข้อผิดพลาด
- Play Integrity API มีเครื่องมือทดสอบสำหรับการตอบกลับ
- หากต้องการดูผลลัพธ์ความสมบูรณ์จากอุปกรณ์ ให้ทำตามขั้นตอนเหล่านี้
- อ่านข้อควรพิจารณาด้านความปลอดภัยเหล่านี้สำหรับแนวทางปฏิบัติที่แนะนำโดยใช้ Play Integrity API
การปกป้องความสมบูรณ์โดยอัตโนมัติ (API >= 23)
การปกป้องความสมบูรณ์โดยอัตโนมัติเป็นบริการป้องกันโค้ดที่สอดแทรกเข้ามา ปกป้องแอปของคุณจากการละเมิดความสมบูรณ์ในรูปแบบที่ไม่ได้รับอนุญาต การปรับเปลี่ยนและการจัดจำหน่ายซ้ำ ทำงานได้โดยไม่ต้องเชื่อมต่อข้อมูล และต้องใช้ นักพัฒนาซอฟต์แวร์ไม่ได้ทำงานก่อนการทดสอบและไม่มีการผสานรวมเซิร์ฟเวอร์แบ็กเอนด์
วิธีนี้ช่วยลดการประพฤติมิชอบได้อย่างไร
เมื่อคุณเปิดการปกป้องความสมบูรณ์โดยอัตโนมัติ Google Play จะเพิ่มการตรวจสอบลงใน โค้ดของแอปและทำให้ยากต่อการนำออกด้วยการปรับให้ยากต่อการอ่าน (Obfuscate) ขั้นสูงและ เทคนิคการต่อต้านวิศวกรรมย้อนกลับ ขณะรันไทม์ การปกป้องจะตรวจสอบว่า แอปถูกดัดแปลงหรือเผยแพร่ซ้ำ
- หากตรวจสอบโปรแกรมติดตั้งไม่สำเร็จ ระบบจะแสดงข้อความเตือนให้ผู้ใช้ดาวน์โหลดแอปของคุณจาก Google Play
- หากตรวจสอบการปรับเปลี่ยนไม่สำเร็จ แอปจะไม่ทำงาน
วิธีนี้ช่วยให้ผู้ใช้ปลอดภัยจากแอปเวอร์ชันที่แก้ไขแล้ว
การใช้งาน
การปกป้องความสมบูรณ์โดยอัตโนมัติพร้อมให้บริการแก่พาร์ทเนอร์ Play บางรายเท่านั้นในส่วนนี้ ติดต่อทีมสนับสนุนนักพัฒนาแอป Google Play หากฟีเจอร์นี้ไม่พร้อมให้บริการใน Google Play Console ของคุณ และคุณต้องการแสดงความสนใจที่จะ สิทธิ์การเข้าถึง
คุณจะเปิดการปกป้องขณะสร้างรุ่นหรือเปิดแอปก็ได้ ความสมบูรณ์ (รุ่น > ความสมบูรณ์ของแอป) ความสมบูรณ์โดยอัตโนมัติ การปกป้องกำหนดให้แอปของคุณใช้ Play App Signing
อย่าลืมทดสอบแอปที่มีการปกป้องก่อนที่จะโปรโมตรุ่นเป็น เวอร์ชันที่ใช้งานจริง
ข้อควรจำ
- อย่าเผยแพร่แอปเวอร์ชันที่ไม่มีการปกป้อง
- โปรดระมัดระวังเวลาใช้โซลูชันการป้องกันการปลอมแปลงหลายอย่างร่วมกัน
- ทดสอบแอปที่มีการปกป้องก่อนเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง
- ตรวจสอบสถิติตามปกติเพื่อหาข้อขัดข้องที่เพิ่มขึ้น
- คุณรายงานแอปเวอร์ชันที่ถูกแคร็กไปยัง Google Play ได้