修復敏感的 JavaScript 介面安全漏洞

開發人員請注意,如果您的應用程式含有敏感的 JavaScript 介面安全漏洞,請詳閱本文資訊。

問題說明

請參閱 Play 管理中心的通知內容

Play 管理中心顯示的修正期限過後,如果應用程式的安全漏洞尚未修正,就會從 Google Play 下架。

敬請採取行動

  1. 開啟傳送至帳戶擁有者電子郵件地址的 Google Play 電子郵件通知,查看受影響的應用程式和相關問題的修正期限。
  2. 更新受影響的應用程式並修復安全漏洞。
  3. 提交受影響應用程式的更新版本。

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

其他詳細資訊

裝置與網路濫用行為政策規定:「在執行階段載入 JavaScript 的應用程式或第三方程式碼 (例如 SDK) 不得違反 Play 開發人員政策。」

本文將任何會透過 WebView 的 addJavascriptInterface 方法向 WebView 顯露功能的物件稱為 JavaScript 介面;有關 JavaScript 介面的說明,請參閱 Google Developers 網誌,瞭解如何在 WebView 中建構網頁應用程式。

這一類安全漏洞會導致不肖人士可以利用 JavaScript 介面,做出違反使用者資料惡意軟體政策的行為。視顯露的介面而定,這可能導致非預期的資料收集與竊取情形,讓應用程式或 SDK 開發人員在不知情的情況下提供可能有害的應用程式。

建議您採用下列其中一種做法來防堵這個安全漏洞:

做法 1:確定 WebView 不會在 JavaScript 介面中加入物件

檢查是否有任何 WebView 載入不受信任的網路內容,並確認其 JavaScript 介面沒有加入物件。檢查方式有以下兩種:

  1. 檢查 JavaScript 介面中沒有任何透過 addJavascriptInterface 呼叫而加入的物件。
  2. 在 WebView 載入不受信任的內容前,於 shouldInterceptRequest 中透過 removeJavascriptInterface 移除 JavaScript 介面的物件。

做法 2:確保 JavaScript 介面不會顯露敏感功能

請確保 JavaScript 介面中未加入任何敏感功能 (例如需要權限的 Android API 呼叫),包括不會收集與使用者/裝置相關的機密資料,或顯露無障礙工具或簡訊功能等 API。您可以利用以下幾種方式修復這個安全漏洞:

  1. 重新實作每個需要機密權限或是會收集機密資訊的功能,讓應用程式內部的封裝程式碼呼叫這些功能。請務必對使用者顯示醒目揭露事項
  2. 如有任何可透過介面存取敏感功能或使用者資料的函式,請予以移除。

做法 3:確保 WebView 不會向不受信任的內容顯露敏感功能

包含敏感功能的 WebView 不得從不明來源載入任意 JavaScript,而且必須提供關於所用資料或功能的醒目揭露事項。請確保 WebView 只會載入嚴格限定範圍的網址和應用程式開發人員擁有的內容。

如未修復安全漏洞,應用程式將因可能違反 Google Play 政策受到違規處置。

我們很樂意提供協助

閱讀政策說明後,如果您仍對這項決定存有疑慮,認為我們的判斷有誤,請與我們的政策支援團隊聯絡。我們會在 2 個工作天內回覆您。

感謝您一直以來的支持,讓 Google Play 得以持續為開發人員和消費者提供優質體驗。

 

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
主選單
2890534779564507646
true
搜尋說明中心
true
true
true
true
true
92637
false
false