ดูแลสิ่งแวดล้อมให้ปลอดภัย

Google มีชุด API และบริการ เพื่อช่วยให้คุณตรวจสอบว่าแอปของคุณ ทำงานในสภาพแวดล้อม ที่ปลอดภัยและเชื่อถือได้ หัวใจสำคัญคือ Play Integrity API ซึ่งจะช่วยตรวจสอบว่าการโต้ตอบเป็นความจริงโดยการตรวจหา การโต้ตอบที่มีความเสี่ยงและเป็นการฉ้อโกง นอกจากความสมบูรณ์ของแอปและอุปกรณ์แล้ว Play ตอนนี้ Integrity API นำเสนอข้อมูลเกี่ยวกับความเสี่ยงในการเข้าถึงและการเข้าถึง Google Play Protect และกิจกรรมล่าสุดในอุปกรณ์ ทำให้แข็งขึ้นอีก กลยุทธ์ป้องกันการฉ้อโกงของคุณ แพลตฟอร์ม Android มี API สำหรับสถานการณ์ที่เฉพาะเจาะจง ที่อาจเกี่ยวข้องกับแอปของคุณ

Play Integrity API

ฟีเจอร์ของ Play Integrity API

Play Integrity API ช่วยให้คุณดูข้อมูลเกี่ยวกับสถานะความปลอดภัยของ อุปกรณ์ที่แอปกำลังเรียกใช้อยู่ วิธีนี้จะช่วยให้คุณมั่นใจได้ว่าผู้ใช้ที่ถูกต้อง เข้าถึงข้อมูลที่ละเอียดอ่อน

ช่วยคุณตรวจสอบว่าการโต้ตอบและคำขอของเซิร์ฟเวอร์มาจาก ไบนารีของแอปแท้ในสภาพแวดล้อมที่เชื่อถือได้:

  • ไบนารีของแอปจริง: ระบุว่าคุณกำลังโต้ตอบกับ ไบนารีที่ไม่มีการแก้ไขที่ Google Play รู้จัก
  • การติดตั้งใน Play จริง: ระบุว่าบัญชีผู้ใช้ปัจจุบันคือ ได้รับอนุญาต ซึ่งหมายความว่าผู้ใช้ได้ติดตั้งหรือชําระเงินสําหรับแอปหรือเกมของคุณแล้วใน Google Play
  • อุปกรณ์ Android จริง: ระบุว่าแอปทํางานอยู่ในของแท้หรือไม่ อุปกรณ์ที่ใช้ระบบ Android ขับเคลื่อนโดยบริการ Google Play
  • ไม่มีมัลแวร์ที่รู้จัก: ตรวจสอบว่า Google Play Protect เปิดอยู่หรือไม่ และพบแอปที่มีความเสี่ยงหรือเป็นอันตรายติดตั้งอยู่ในอุปกรณ์หรือไม่
  • ความเสี่ยงต่ำที่แอปอื่นๆ จะเข้าถึง: พิจารณาว่าแอปอื่นๆ ทำงานอยู่หรือไม่ ที่สามารถจับภาพหน้าจอหรือควบคุมอุปกรณ์และอินพุตไปยังแอปของคุณได้

วิธีนี้ช่วยลดการประพฤติมิชอบได้อย่างไร

เมื่อผู้ใช้ดำเนินการสำคัญในแอป คุณสามารถโทรหา Play Integrity API หากไม่เป็นเช่นนั้น เซิร์ฟเวอร์แบ็กเอนด์ของแอปสามารถเลือกได้ว่าจะดําเนินการอย่างไร เพื่อป้องกันการโจมตีและการประพฤติมิชอบ ตัวอย่างเช่น คุณอาจต้องการ การยืนยันผู้ใช้เพิ่มเติมหรือปฏิเสธการเข้าถึงฟังก์ชันการทำงานที่มีความละเอียดอ่อน

ขั้นตอนการตัดสินใจ 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 หรือนำเนื้อหาที่เป็นอันตรายออก แอปก่อนที่จะดำเนินการต่อ

เปิดกล่องโต้ตอบ Play Protect

playProtectVerdict อาจมีค่าใดค่าหนึ่งต่อไปนี้

คำตัดสิน คำอธิบาย การดำเนินการที่แนะนำ

NO_ISSUES

Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ของแอปใน อุปกรณ์

Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ

NO_DATA

Play Protect เปิดอยู่แต่ยังไม่ได้สแกน ของอุปกรณ์หรือแอป Play Store เพิ่งได้รับการรีเซ็ตเมื่อเร็วๆ นี้

Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ

POSSIBLE_RISK

Play Protect ปิดอยู่

Play Protect เปิดอยู่และไม่พบปัญหาใดๆ ผู้ใช้จึงไม่ต้องดำเนินการใดๆ ต้องระบุ

MEDIUM_RISK

Play Protect เปิดอยู่และพบแอปที่อาจเป็นอันตราย ที่ติดตั้งบนอุปกรณ์

คุณขอให้ผู้ใช้เปิดใช้งานได้ ทั้งนี้ขึ้นอยู่กับการยอมรับความเสี่ยงของคุณ Play Protect และดำเนินการตามคำเตือนของ Play Protect หากผู้ใช้ ไม่สามารถทำตามข้อกำหนดเหล่านี้ คุณอาจบล็อกพวกเขาจากเซิร์ฟเวอร์ได้ การดำเนินการ

HIGH_RISK

Play Protect เปิดอยู่และพบการติดตั้งแอปอันตราย ในอุปกรณ์

คุณขอให้ผู้ใช้เปิดใช้งานได้ ทั้งนี้ขึ้นอยู่กับการยอมรับความเสี่ยงของคุณ Play Protect และดำเนินการตามคำเตือนของ Play Protect หากผู้ใช้ ไม่สามารถปฏิบัติตามข้อกำหนดเหล่านี้ คุณสามารถบล็อกพวกเขาจาก การดำเนินการของเซิร์ฟเวอร์

UNEVALUATED

ยังไม่มีการประเมินคำตัดสิน 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 จะอนุญาตคำขอได้สูงสุด 10, 000 รายการต่อแอปต่อวัน ถึง แสดงความสนใจในการเพิ่มคำขอสูงสุดต่อวัน ทำตาม วิธีการ มีสิทธิ์ได้รับจำนวนสูงสุดต่อวันเพิ่มขึ้น แอปของคุณต้องใช้ Play Integrity API อย่างถูกต้องและ ซึ่งพร้อมให้บริการบน Google Play นอกเหนือจากช่องทางการเผยแพร่อื่นๆ

สิ่งที่ควรทราบเกี่ยวกับ Play Integrity API

การปกป้องความสมบูรณ์โดยอัตโนมัติ (API >= 23)

การปกป้องความสมบูรณ์โดยอัตโนมัติเป็นบริการป้องกันโค้ดที่สอดแทรกเข้ามา ปกป้องแอปของคุณจากการละเมิดความสมบูรณ์ในรูปแบบที่ไม่ได้รับอนุญาต การปรับเปลี่ยนและการจัดจำหน่ายซ้ำ ทำงานได้โดยไม่ต้องเชื่อมต่อข้อมูล และต้องใช้ นักพัฒนาซอฟต์แวร์ไม่ได้ทำงานก่อนการทดสอบและไม่มีการผสานรวมเซิร์ฟเวอร์แบ็กเอนด์

วิธีนี้ช่วยลดการประพฤติมิชอบได้อย่างไร

เมื่อคุณเปิดการปกป้องความสมบูรณ์โดยอัตโนมัติ Google Play จะเพิ่มการตรวจสอบลงใน โค้ดของแอปและทำให้ยากต่อการนำออกด้วยการปรับให้ยากต่อการอ่าน (Obfuscate) ขั้นสูงและ เทคนิคการต่อต้านวิศวกรรมย้อนกลับ ขณะรันไทม์ การปกป้องจะตรวจสอบว่า แอปถูกดัดแปลงหรือเผยแพร่ซ้ำ

  • หากตรวจสอบโปรแกรมติดตั้งไม่สำเร็จ ระบบจะแสดงข้อความเตือนให้ผู้ใช้ดาวน์โหลดแอปของคุณจาก Google Play
  • หากตรวจสอบการปรับเปลี่ยนไม่สำเร็จ แอปจะไม่ทำงาน

วิธีนี้ช่วยให้ผู้ใช้ปลอดภัยจากแอปเวอร์ชันที่แก้ไขแล้ว

การใช้งาน

การปกป้องความสมบูรณ์โดยอัตโนมัติพร้อมให้บริการแก่พาร์ทเนอร์ Play บางรายเท่านั้นในส่วนนี้ ติดต่อทีมสนับสนุนนักพัฒนาแอป Google Play หากฟีเจอร์นี้ไม่พร้อมให้บริการใน Google Play Console ของคุณ และคุณต้องการแสดงความสนใจที่จะ สิทธิ์การเข้าถึง

คุณจะเปิดการปกป้องขณะสร้างรุ่นหรือเปิดแอปก็ได้ ความสมบูรณ์ (รุ่น > ความสมบูรณ์ของแอป) ความสมบูรณ์โดยอัตโนมัติ การปกป้องกำหนดให้แอปของคุณใช้ Play App Signing

อย่าลืมทดสอบแอปที่มีการปกป้องก่อนที่จะโปรโมตรุ่นเป็น เวอร์ชันที่ใช้งานจริง

ข้อควรจำ

  • อย่าเผยแพร่แอปเวอร์ชันที่ไม่มีการปกป้อง
  • โปรดระมัดระวังเวลาใช้โซลูชันการป้องกันการปลอมแปลงหลายอย่างร่วมกัน
  • ทดสอบแอปที่มีการปกป้องก่อนเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง
  • ตรวจสอบสถิติตามปกติเพื่อหาข้อขัดข้องที่เพิ่มขึ้น
  • คุณรายงานแอปเวอร์ชันที่ถูกแคร็กไปยัง Google Play ได้