Google 提供一系列 API 和服務, 會在安全可靠的環境中執行核心是 Play Integrity API:偵測 涉及風險的詐欺活動除了應用程式和裝置完整性外,Google Play Integrity API 現在提供存取和無障礙風險的相關資訊。 Google Play 安全防護和最近的裝置活動。進一步強化 Android 平台針對特定情況提供了 API 來協助您制定反詐騙策略 可能與您的應用程式相關的建議
Play Integrity API
Play Integrity API 可讓您瞭解 應用程式的裝置這有助於您確定正確的使用者 存取機密資訊時的畫面。
協助您檢查互動和伺服器要求是否來自您的 正版應用程式二進位檔:
- 正版應用程式二進位檔:判斷您是否與應用程式互動 Google Play 認定的未修改二進位檔。
- 正版 Play 安裝:判斷目前的使用者帳戶是否為 授權,也就是使用者安裝或付費購買您的應用程式或遊戲 Google Play。
- 正版 Android 裝置:判斷應用程式是否在正版上執行 採用 Google Play 服務技術的 Android 裝置。
- 不含已知的惡意軟體:判斷是否已啟用 Google Play 安全防護 以及裝置上是否安裝有風險或危險的應用程式。
- 其他應用程式存取的風險較低:判斷其他應用程式是否正在執行 可擷取螢幕畫面,或是控制裝置和輸入到應用程式的輸入內容。
這項機制如何協助防範詐欺行為
當使用者在應用程式中執行重要操作時,您可以呼叫 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 安全防護或移除有害內容
playProtectVerdict
可含有下列其中一個值:
判定結果 | 說明 | 建議做法 |
---|---|---|
|
已開啟 Play 安全防護,且未發現 裝置。 |
Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 這通常代表交易 不會十分要求關聯語意 |
|
已開啟 Play 安全防護,但未執行掃描作業。 裝置或 Play 商店應用程式最近可能已重設。 |
Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 這通常代表交易 不會十分要求關聯語意 |
|
已關閉 Play 安全防護。 |
Play 安全防護功能已啟用,且未發現任何問題,因此使用者未採取任何動作 必填。 |
|
已開啟 Play 安全防護,並找到可能有害的應用程式 安裝在裝置上。 |
視風險容忍度而定,您可以要求使用者啟動應用程式 Play 安全防護並根據 Play 安全防護警告採取行動。如果使用者 無法滿足這些需求,您可以 動作。 |
|
已開啟 Play 安全防護,並發現安裝了危險的應用程式 應用程式。 |
視風險容忍度而定,您可以要求使用者啟動應用程式 Play 安全防護並根據 Play 安全防護警告採取行動。如果使用者 就無法達成這些條件,您可以在 伺服器動作 |
|
未評估 Play 安全防護判定結果。 這麼做 可能有幾個原因,包括:
|
近期裝置活動
你也可以選擇啟用近期裝置活動,瞭解查看 過去一小時內,您的應用程式在特定裝置上要求取得完整性權杖。個人中心 能夠透過最近的裝置活動資訊保護應用程式,防範非預期的使用者、 可能表示正在遭受攻擊的超活躍裝置。你可以 根據每個近期裝置活動等級的信任程度 您預期在一般裝置上安裝的應用程式會要求完整性 取得憑證
如果選擇接收 recentDeviceActivity
,deviceIntegrity
欄位就會
有兩個值:
deviceIntegrity: {
deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
recentDeviceActivity: {
// "LEVEL_2" is one of several possible values.
deviceActivityLevel: "LEVEL_2"
}
}
請先查看資料,瞭解一般裝置活動程度 。接著,你可以決定應用程式 應會回應。如果活動是 這時您便可以要求使用者稍後再試一次。如果活動 。
標準與傳統要求
實作 Play Integrity 時,請務必考量 這兩種要求在大多數情況下,您應使用標準要求。 才能提供最快的回應,而傳統要求應用於 需要針對裝置認證記錄新建的要求
傳統要求 |
標準要求 |
---|---|
要求可能需要較長的處理時間,應降低使用頻率。 舉例來說,我們會做為不定期的一次性 敏感動作都是真實的。 不常使用。 |
要求延遲時間短,可以隨選使用。 提出標準要求的程序包含兩個部分:
隨選使用。 |
請參閱 Play Integrity 說明文件,進一步瞭解標準和 「傳統」要求。
實作
如要開始使用 Play Integrity API,請按照下列步驟操作:
- 在 Google Play 管理中心和連結中啟用 Play Integrity API 回應 至 Google Cloud 專案
- 在應用程式中整合 Play Integrity API。
- 決定您要處理判定結果的方式。
根據預設,Play Integrity API 每天允許每個應用程式最多 1 萬個要求。目的地: 有意提高每日要求數量上限,請遵循下列 操作說明。您有機會申請調高每日上限 您的應用程式必須正確導入 Play Integrity API,且 以及其他發行管道
Play Integrity API 注意事項
- 請務必處理 Play Integrity API 回應中的錯誤。 才是正確的做法請參閱這裡的重試和違規處置策略指南。 偵測出快訊
- Play Integrity API 提供回應測試工具。
- 如要在裝置上查看完整性結果,請按照這些步驟操作。
- 請參閱安全性考量,瞭解使用 Play Integrity API。
自動完整防護 (API >= 23)
自動完整防護是一種防竄改程式碼保護服務, 以未經授權的形式,防止應用程式受到完整性濫用行為的侵擾 修改與轉散佈行為不需要數據連線即可運作,且需要 沒有開發人員在測試前執行作業,也沒有後端伺服器整合。
這項機制如何協助防範詐欺行為
啟用自動完整防護功能後,Google Play 會在 ,並利用進階模糊處理和 執行反反向工程技術在執行階段,保護措施會檢查 應用程式遭到竄改或重新發行:
- 如果安裝程式檢查失敗,系統會提示使用者透過 Google Play 使用應用程式
- 如果修改檢查失敗,應用程式將無法執行
這有助於確保使用者防範經過修改的應用程式版本。
實作
自動完整防護功能目前僅開放給特定 Play 合作夥伴使用 讓應用程式從可以最快做出回應的位置 回應使用者要求如果無法使用這項功能,請與 Google Play 開發人員支援團隊聯絡 而且想有興趣在 Play 管理中心加入 資源存取權
您可以在建立版本時開啟防護功能,或是在應用程式 「完整性」頁面 (「發布」>「應用程式完整性」)。自動完整性 必須讓您的應用程式使用 Play 應用程式簽署功能,才能確保安全性。
請務必先測試受保護的應用程式,再將應用程式發布至 正式環境。
注意事項
- 不發布未受保護的應用程式版本
- 混用防竄改功能解決方案的注意事項
- 測試受保護的應用程式後再發布正式版
- 照常監控統計資料,掌握當機情形增加的情況
- 您可以向 Google Play 回報應用程式的破解版本