如何處理應用程式中的 WebView SSL 錯誤處理常式快訊

開發人員請注意,您的應用程式使用的 WebViewClient.onReceivedSslError 處理常式實作方式不安全,請詳閱本文資訊。詳細說明如下:您的實作會忽略所有 SSL 憑證驗證錯誤,讓應用程式更容易遭受攔截式攻擊。攻擊者可能會變更受影響的 WebView 內容、讀取傳輸的資料 (例如登入憑證),以及執行應用程式內使用的 JavaScript 程式碼。

問題說明

自 2016 年 11 月 25 日起,只要新的應用程式或更新內容含有這類安全漏洞,一律禁止在 Google Play 發布。請參閱 Play Console 的通知內容。Play Console 顯示的修正期限過後,Google Play 會將尚未修復安全漏洞的應用程式下架。

需採取行動​

  1. 登入 Play Console,然後前往「快訊」專區查看受影響的應用程式以及解決這些問題的期限。
  2. 更新受影響的應用程式並修復安全漏洞。
  3. 提交受影響應用程式的更新版本。

我們將再次審查您重新提交的應用程式,過程可能需要數小時。如果應用程式可以通過審查並成功發布,您就不必採取進一步行動。如果應用程式未能通過審查,就無法發布新的版本,而且您將收到電子郵件通知。

其他詳細資訊

  1. 如要解決這個問題,請更新應用程式的程式碼,在伺服器提供的憑證符合預期時叫用 SslErrorHandler.proceed(),不符合預期時則叫用 SslErrorHandler.cancel()。
  2. 如果是你所用的第三方程式庫包含這個安全性漏洞,請通知該第三方,與對方合作解決這個問題。

如要進一步瞭解 SSL 錯誤處理常式,請前往 Android 開發人員說明中心參閱我們提供的說明文件。如有其他技術問題,請前往 https://www.stackoverflow.com/questions 張貼問題並加上「android-security」和「SslErrorHandler」標記。

雖然這些特定問題不一定會對所有使用 WebView SSL 的應用程式造成影響,我們仍建議您安裝所有最新的安全性修補程式。如果應用程式有安全性漏洞,導致使用者的資料有外洩之虞,我們就可能將該應用程式視為危險產品 (違反《內容政策》和《開發人員發布協議》第 4.4 條)。

我們很樂意提供協助

如有關於安全漏洞的技術問題,請前往 Stack Overflow 張貼問題並加上「android-security」標記。如需進一步瞭解這個問題的解決步驟,歡迎與開發人員支援小組聯絡。

這篇文章實用嗎?
我們應如何改進呢?