วิธีแก้ไขแอปที่มีการใช้งาน TrustManager ที่ไม่ปลอดภัย

ข้อมูลนี้มีไว้สำหรับนักพัฒนาแอปที่มีการใช้งานอินเทอร์เฟซ X509TrustManager ที่ไม่ปลอดภัย

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

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

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

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

 

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

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

ในการจัดการการตรวจสอบใบรับรอง SSL อย่างเหมาะสม ให้เปลี่ยนแปลงโค้ดในเมธอด checkServerTrusted ของอินเทอร์เฟซ X509TrustManager ที่กำหนดเองให้ใช้ CertificateException หรือ IllegalArgumentException เมื่อใดก็ตามที่เซิร์ฟเวอร์แสดงใบรับรองที่ไม่ตรงตามความคาดหมายของคุณ โดยเฉพาะอย่างยิ่ง โปรดพึงระวังอันตรายดังต่อไปนี้

  1. ตรวจสอบว่าจะไม่มีการตรวจพบข้อยกเว้นที่เกิดจาก checkServerTrusted ภายในเมธอด ซึ่งจะทำให้ checkServerTrusted ออกตามปกติและทำให้แอปเชื่อถือใบรับรองที่เป็นอันตราย
  2. ห้ามใช้ checkValidity เพื่อวัตถุประสงค์ในการตรวจสอบใบรับรองของเซิร์ฟเวอร์ โดย checkValidity จะตรวจสอบว่าใบรับรองหมดอายุหรือยังและบอกไม่ได้ว่าใบรับรองเชื่อถือได้หรือไม่

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

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

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

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