保護環境

Google 提供一系列 API 和服務, 會在安全可靠的環境中執行核心是 Play Integrity API:偵測 涉及風險的詐欺活動除了應用程式和裝置完整性外,Google Play Integrity API 現在提供存取和無障礙風險的相關資訊。 Google Play 安全防護最近的裝置活動。進一步強化 Android 平台針對特定情況提供了 API 來協助您制定反詐騙策略 可能與您的應用程式相關的建議

Play Integrity API

Play Integrity API 功能

Play Integrity API 可讓您瞭解 應用程式的裝置這有助於您確定正確的使用者 存取機密資訊時的畫面。

協助您檢查互動和伺服器要求是否來自您的 正版應用程式二進位檔:

  • 正版應用程式二進位檔:判斷您是否與應用程式互動 Google Play 認定的未修改二進位檔。
  • 正版 Play 安裝:判斷目前的使用者帳戶是否為 授權,也就是使用者安裝或付費購買您的應用程式或遊戲 Google Play。
  • 正版 Android 裝置:判斷應用程式是否在正版上執行 採用 Google Play 服務技術的 Android 裝置。
  • 不含已知的惡意軟體:判斷是否已啟用 Google Play 安全防護 以及裝置上是否安裝有風險或危險的應用程式。
  • 其他應用程式存取的風險較低:判斷其他應用程式是否正在執行 可擷取螢幕畫面,或是控制裝置和輸入到應用程式的輸入內容。

這項機制如何協助防範詐欺行為

當使用者在應用程式中執行重要操作時,您可以呼叫 Play Integrity API。如果不是,那麼應用程式的後端伺服器 防範攻擊和詐欺行為舉例來說 進一步驗證使用者,或是拒絕存取敏感功能。

Play Integrity API 決策流程

應用程式存取風險

我們推出了應用程式存取風險信號,可用於評估 在應用程式發生時,裝置上的應用程式可能會查看及擷取螢幕畫面 透過無障礙權限執行或存取您的應用程式已驗證 無障礙應用程式會自動從判定結果中排除。應用程式存取權 風險有助於開發人員保護應用程式,同時維護使用者隱私。 要求的應用程式不會取得已安裝應用程式的身分資訊, 判定結果不會與使用者或裝置 ID 建立關聯。

要求使用者關閉特定應用程式的手機螢幕截圖。

雙方的合作,讓我們能夠獲得所需的信號, 提供更深入的分析資訊,進一步保護我們的客戶
—Nubank,搶先體驗合作夥伴

應用程式存取風險有不同的風險等級:

  • 擷取回應表示其他應用程式正在執行,可擷取螢幕畫面。
  • 控制回應表示其他應用程式正在執行, 因此可以擷取螢幕畫面並控制輸入來源 整合到應用程式中

應用程式存取風險信號現已推出公開測試版,預計將全面開放使用 未來幾個月內推出的任何一項功能

強制執行應用程式存取風險

找出應用程式或遊戲中的高價值或敏感操作,以便透過 Play Integrity API 提供安全防護,而不要直接拒絕使用者存取。如果情況允許,請先對有風險的流量進行驗證,再允許執行高價值操作。舉例來說,如果應用程式存取風險信號指出應用程式正在執行,可能會擷取螢幕畫面,那麼請先要求使用者停用或解除安裝可能擷取螢幕畫面的應用程式,再讓他們使用您想保護的功能。

下表包含部分判定結果範例:

應用程式存取風險判定結果的回應示例 解釋
appsDetected:
["KNOWN_INSTALLED"]
只有 Google Play 可識別的已安裝應用程式 或裝置製造商在系統分區預先載入的內容 沒有任何執行中的應用程式會導致擷取, 或疊加在判定結果上
appsDetected:
["KNOWN_INSTALLED",
"UNKNOWN_INSTALLED",
"UNKNOWN_CAPTURING"]
有 Google Play 安裝或預先載入的應用程式 系統分區 目前有其他執行中的應用程式已啟用權限 用於查看螢幕畫面或擷取其他輸入和輸出內容。
appsDetected:
["KNOWN_INSTALLED",
"KNOWN_CAPTURING",
"UNKNOWN_INSTALLED",
"UNKNOWN_CONTROLLING"]
目前 Google Play 或系統執行中的權限已啟用 可用於查看螢幕畫面或擷取其他輸入和輸出內容 還有其他已啟用權限的應用程式正在執行中 可用於控制裝置,並直接控制輸入來源
appAccessRiskVerdict: {} 系統不會評估應用程式存取風險,因為這是必要的要求 錯過。舉例來說,如果裝置可信度不足,就屬這種情況。

Play 安全防護信號

Play 安全防護訊號會告知應用程式是否已啟用 Play 安全防護。 無論裝置上是否安裝已知的有害應用程式。

environmentDetails:{
  playProtectVerdict: "NO_ISSUES"
}

如果惡意軟體會引起您的應用程式或使用者的特定疑慮也可以 查看這項判定結果,並要求使用者開啟 Play 安全防護或移除有害內容

開啟 Play 安全防護對話方塊

playProtectVerdict 可含有下列其中一個值:

判定結果 說明 建議做法

NO_ISSUES

已開啟 Play 安全防護,且未發現 裝置。

Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 這通常代表交易 不會十分要求關聯語意

NO_DATA

已開啟 Play 安全防護,但未執行掃描作業。 裝置或 Play 商店應用程式最近可能已重設。

Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 這通常代表交易 不會十分要求關聯語意

POSSIBLE_RISK

已關閉 Play 安全防護。

Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 必填。

MEDIUM_RISK

已開啟 Play 安全防護,並找到可能有害的應用程式 安裝在裝置上。

視風險容忍度而定,您可以要求使用者啟動應用程式 Play 安全防護並根據 Play 安全防護警告採取行動。如果使用者 無法滿足這些需求,您可以 動作。

HIGH_RISK

已開啟 Play 安全防護,並發現安裝了危險的應用程式 應用程式。

視風險容忍度而定,您可以要求使用者啟動應用程式 Play 安全防護並根據 Play 安全防護警告採取行動。如果使用者 就無法達成這些條件,您可以在 伺服器動作

UNEVALUATED

未評估 Play 安全防護判定結果。

這麼做 可能有幾個原因,包括:

  • 裝置可信度不足。
  • 僅限遊戲:使用者帳戶並非 LICENSED。

近期裝置活動

你也可以選擇啟用近期裝置活動,瞭解查看 過去一小時內,您的應用程式在特定裝置上要求取得完整性權杖。個人中心 能夠透過最近的裝置活動資訊保護應用程式,防範非預期的使用者、 可能表示正在遭受攻擊的超活躍裝置。你可以 根據每個近期裝置活動等級的信任程度 您預期在一般裝置上安裝的應用程式會要求完整性 取得憑證

如果選擇接收 recentDeviceActivitydeviceIntegrity 欄位就會 有兩個值:

deviceIntegrity: {
  deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
  recentDeviceActivity: {
    // "LEVEL_2" is one of several possible values.
    deviceActivityLevel: "LEVEL_2"
  }
}

請先查看資料,瞭解一般裝置活動程度 。接著,你可以決定應用程式 應會回應。如果活動是 這時您便可以要求使用者稍後再試一次。如果活動 。

標準與傳統要求

實作 Play Integrity 時,請務必考量 這兩種要求在大多數情況下,您應使用標準要求。 才能提供最快的回應,而傳統要求應用於 需要針對裝置認證記錄新建的要求

傳統要求

標準要求

要求可能需要較長的處理時間,應降低使用頻率。

舉例來說,我們會做為不定期的一次性 敏感動作都是真實的。

不常使用

要求延遲時間短,可以隨選使用。

提出標準要求的程序包含兩個部分:

  • 備妥完整性權杖供應工具 (一次性)
  • 索取完整性權杖 (隨選)

隨選使用

請參閱 Play Integrity 說明文件,進一步瞭解標準和 「傳統」要求。

實作

如要開始使用 Play Integrity API,請按照下列步驟操作:

根據預設,Play Integrity API 每天允許每個應用程式最多 1 萬個要求。目的地: 有意提高每日要求數量上限,請遵循下列 操作說明。您有機會申請調高每日上限 您的應用程式必須正確導入 Play Integrity API,且 以及其他發行管道

Play Integrity API 注意事項

自動完整防護 (API >= 23)

自動完整防護是一種防竄改程式碼保護服務, 以未經授權的形式,防止應用程式受到完整性濫用行為的侵擾 修改與轉散佈行為不需要數據連線即可運作,且需要 沒有開發人員在測試前執行作業,也沒有後端伺服器整合。

這項機制如何協助防範詐欺行為

啟用自動完整防護功能後,Google Play 會在 ,並利用進階模糊處理和 執行反反向工程技術在執行階段,保護措施會檢查 應用程式遭到竄改或重新發行:

  • 如果安裝程式檢查失敗,系統會提示使用者透過 Google Play 使用應用程式
  • 如果修改檢查失敗,應用程式將無法執行

這有助於確保使用者防範經過修改的應用程式版本。

實作

自動完整防護功能目前僅開放給特定 Play 合作夥伴使用 讓應用程式從可以最快做出回應的位置 回應使用者要求如果無法使用這項功能,請與 Google Play 開發人員支援團隊聯絡 而且想有興趣在 Play 管理中心加入 資源存取權

您可以在建立版本時開啟防護功能,或是在應用程式 「完整性」頁面 (「發布」>「應用程式完整性」)。自動完整性 必須讓您的應用程式使用 Play 應用程式簽署功能,才能確保安全性。

請務必先測試受保護的應用程式,再將應用程式發布至 正式環境

注意事項

  • 不發布未受保護的應用程式版本
  • 混用防竄改功能解決方案的注意事項
  • 測試受保護的應用程式後再發布正式版
  • 照常監控統計資料,掌握當機情形增加的情況
  • 您可以向 Google Play 回報應用程式的破解版本