การแก้ไขช่องโหว่ Intent ภายในแบบไม่เจาะจงปลายทาง

ข้อมูลนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่มีแอปซึ่งใช้ Intent แบบไม่เจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายใน

สิ่งที่จะเกิดขึ้น

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

วิธีแก้ไขการแจ้งเตือน "Intent ภายในแบบไม่เจาะจงปลายทาง"

ตรวจสอบตำแหน่งที่มีการใช้ Intent แบบไม่เจาะจงปลายทางในแอป ตัวอย่างเช่น โค้ดต่อไปนี้ใช้ Intent แบบไม่เจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายใน 

//แอปมีคอมโพเนนต์ที่ลงทะเบียน MY_CUSTOM_ACTION

//ที่ลงทะเบียนโดยแอปนี้เท่านั้น ซึ่งบ่งชี้ว่านักพัฒนาซอฟต์แวร์ตั้งใจให้นำส่ง Intent นี้ 

//ไปยังคอมโพเนนต์ภายในอย่างปลอดภัย 

Intent intent = new Intent("MY_CUSTOM_ACTION");

//เพิ่มเนื้อหาที่อาจมีความละเอียดอ่อนลงใน "intent" 

intent.putExtra("message", sensitive_content);

startActivity(intent);

Google ขอแนะนำให้นักพัฒนาซอฟต์แวร์ใช้ Intent แบบเจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายในด้วยวิธีต่อไปนี้

  • ใช้ Intent.setComponent เพื่อตั้งค่าให้คอมโพเนนต์จัดการ Intent อย่างชัดแจ้ง
  • ใช้ Intent.setClass หรือ Intent.setClassName เพื่อกำหนดคอมโพเนนต์เป้าหมายอย่างชัดแจ้ง
  • ใช้ Intent.setPackage เพื่อจำกัดคอมโพเนนต์ที่ Intent นี้จะจับคู่ข้อมูลด้วย

ขั้นตอนถัดไป

  1. อัปเดตแอปโดยทำตามขั้นตอนที่ไฮไลต์อยู่ด้านบน
  2. ลงชื่อเข้าใช้ Play Console และส่งแอปเวอร์ชันอัปเดตแล้ว

ระหว่างนี้แอปใหม่หรืออัปเดตของแอปจะมีสถานะอยู่ระหว่างการตรวจสอบจนกว่าจะมีการตรวจสอบคำขอ คุณจะยังคงเห็นคำเตือนหากยังไม่ได้อัปเดตแอปให้ถูกต้อง

เราพร้อมช่วยเหลือคุณ

หากมีคำถามทางเทคนิคเกี่ยวกับช่องโหว่ คุณโพสต์ถามได้ที่ Stack Overflow โดยใช้แท็ก android-security หากต้องการคำชี้แจงเกี่ยวกับขั้นตอนที่ต้องดำเนินการเพื่อแก้ไขปัญหานี้ โปรดติดต่อทีมสนับสนุนของเรา

ข้อมูลนี้มีประโยชน์ไหม

เราจะปรับปรุงได้อย่างไร
false
เมนูหลัก
16495280953615807041
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
5016068
false
false