如何修復實行不安全 TrustManager 的應用程式

以下資訊以開發人員為對象,針對在應用程式中實行不安全的 X509TrustManager 介面。

有什麼變動?

您的一個或多個應用程式實行不安全的 X509TrustManager 介面。具體而言,在與遠端主機建立 HTTPS 連線時,這種實行方式會略過所有 SSL 憑證驗證錯誤,使您的應用程式容易受到 Man-in-the-middle 攻擊。攻擊者可以讀取傳輸的資料 (例如登入憑證),甚至變更透過 HTTPS 連線傳輸的資料。請查看以下詳細步驟,以修正您的應用程式內的問題。Play 管理中心」顯示的限期過後,任何含有未修正安全漏洞的應用程式可能會從 Google Play 中移除。

需要採取行動

  1. 登入「Play 管理中心」,並導覽至「警示」部分,以查看受影響的應用程式及解決問題的限期。
  2. 更新受影響的應用程式並修復漏洞。
  3. 提交受影響應用程式的更新版本。

 

重新提交後,您的應用程式將再次接受審核,此程序可能需時幾小時。如果應用程式通過審核並成功發佈,則您無需採取進一步行動。如果應用程式未能通過審核,則新的應用程式版本將不會發佈,而您將收到電郵通知。

其他詳細資料

如要正確處理 SSL 憑證驗證,每當伺服器提供的憑證符合預期時,請在自訂 X509TrustManager 介面的 checkServerTrusted 方法中變更程式碼,以啟用 CertificateExceptionIllegalArgumentException。請特別注意下列陷阱:

  1. 確保 checkServerTrusted 產生的例外情況不會在該方法中被攔截,這會令 checkServerTrusted 正常結束,從而導致應用程式信任有害的憑證。
  2. 如果憑證未到期,並且無法判斷應否信任憑證,請勿將 checkValidity 用於伺服器憑證 checkValidity 檢查。

您亦可以使用網絡安全設定,以發生較少錯誤的方式自訂應用程式的憑證行為。

我們樂意提供協助

如有關此漏洞的技術問題,請在 Stack Overflow 發佈並加上「android-security」和「TrustManager」標籤。如需我們釐清解決此問題的所需步驟,請與開發人員支援團隊聯絡。

false
主選單
15985155543643733359
true
搜尋說明中心
true
true
true
true
true
5016068
false
false