วิธีแก้ไข HostnameVerifier ที่ไม่ปลอดภัย

ข้อมูลนี้มีไว้สำหรับนักพัฒนาซอฟท์แวร์ที่มีแอปที่ใช้งานอินเทอร์เฟซ HostnameVerifier ที่ไม่ปลอดภัยเพราะยอมรับทุกชื่อโฮสต์เมื่อทำการเชื่อมต่อ HTTPS กับโฮสต์ระยะไกลด้วย setDefaultHostnameVerifier API ซึ่งทำให้แอปเสี่ยงต่อการถูกโจมตีโดยบุคคลที่แทรกกลางการเชื่อมต่อ ผู้โจมตีอาจอ่านข้อมูลที่ส่ง (เช่น ข้อมูลรับรองการเข้าสู่ระบบ) และแม้กระทั่งเปลี่ยนแปลงข้อมูลที่ส่งผ่านการเชื่อมต่อ HTTPS ดังกล่าว

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

ตั้งแต่วันที่ 1 มีนาคม 2017 Google Play ได้เริ่มบล็อกการเผยแพร่แอปใหม่ๆ หรือการอัปเดตแอปใดๆ ที่มีการใช้งาน HostnameVerifier ที่ไม่ปลอดภัย โปรดดูประกาศใน Play Console เราอาจนำแอปที่มีช่องโหว่ด้านความปลอดภัยที่ไม่ได้รับการแก้ไขออกจาก Google Play หลังพ้นกำหนดเวลาที่แสดงใน Play Console

ต้องดำเนินการ​

  1. ลงชื่อเข้าใช้ Play Console และไปที่ส่วนการแจ้งเตือนเพื่อดูแอปที่ได้รับผลกระทบและกำหนดเวลาในการแก้ไขปัญหาเหล่านี้
  2. อัปเดตแอปที่ได้รับผลกระทบและแก้ไขช่องโหว่
  3. ส่งเวอร์ชันที่อัปเดตของแอปที่ได้รับผลกระทบ

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

รายละเอียดเพิ่มเติม

ในการจัดการการยืนยันชื่อโฮสต์อย่างเหมาะสม ให้เปลี่ยนเมธอด verify ในอินเทอร์เฟซ HostnameVerifier ที่กำหนดเองให้คืนค่า "เท็จ" ทุกครั้งที่ชื่อโฮสต์ของเซิร์ฟเวอร์ไม่ตรงตามความคาดหมายของคุณ

โปรดทราบว่าแอปจะต้องเป็นไปตามข้อตกลงการจัดจำหน่ายของนักพัฒนาซอฟต์แวร์และนโยบายเนื้อหาด้วย

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

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

ข้อมูลนี้มีประโยชน์ไหม
เราจะปรับปรุงได้อย่างไร