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

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

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

ตั้งแต่วันที่ 17 พฤษภาคม 2016 Google Play ได้เริ่มบล็อกการเผยแพร่แอปใหม่ หรือการอัปเดตที่มีการใช้งานอินเทอร์เฟซ X509TrustManager ที่ไม่ปลอดภัย โปรดดูประกาศใน Play Console เราอาจนำแอปที่มีช่องโหว่ด้านความปลอดภัยที่ไม่ได้รับการแก้ไขออกจาก Google Play หลังพ้นกำหนดเวลาที่แสดงใน Play Console

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

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

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

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

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

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

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

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

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

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