在 Google Play 上保護您的游戲與用戶

來源: 谷歌開發(fā)者
作者:Google Play
時間:2020-10-29
17020
在打造出一款優(yōu)秀的游戲后,開發(fā)者們都希望能夠網羅四海玩家,并為他們帶去流暢安心的預期體驗。不過,開發(fā)者們也同時面臨著喜憂參半的困境:游戲越受歡迎,就越容易引起攻擊者和濫用者的注意。人們會出于各種目的嘗試篡改您的游戲或者濫用您的分發(fā)及獲利渠道:其中一些可能相對無害,而另一些則可能會對您的玩家和業(yè)務產生負面影響。

640.webp (1).jpg

在打造出一款優(yōu)秀的游戲后,開發(fā)者們都希望能夠網羅四海玩家,并為他們帶去流暢安心的預期體驗。不過,開發(fā)者們也同時面臨著喜憂參半的困境:游戲越受歡迎,就越容易引起攻擊者和濫用者的注意。人們會出于各種目的嘗試篡改您的游戲或者濫用您的分發(fā)及獲利渠道:其中一些可能相對無害,而另一些則可能會對您的玩家和業(yè)務產生負面影響。

因此,制定正確的反濫用策略并根據目標迅速采取行動非常重要。雖然目前還沒有方案能夠完美解決游戲的安全問題,不過我們建議大家在規(guī)劃整體戰(zhàn)略時,不妨參考以下推薦的Google Play工具和服務,為您的游戲和玩家?guī)ジ鼜姶蟮陌踩雷o。

完整性

對游戲和玩家的攻擊通常來自不受信任的環(huán)境,例如修改后的APK、模擬器、遭到入侵或者獲得root權限的設備。盡管這些環(huán)境本身可能并無害,但是通過檢測它們,您便可以依據自身的目標為游戲選擇最佳的應對方案。例如,阻止盜版者體驗付費游戲;或者,如果是免費網絡游戲,您可能會想把所有疑似使用模擬器的玩家全部轉移到同一個服務器上。

Google Play提供了許多適用于網絡游戲的API,讓您能夠更加輕松地發(fā)現濫用問題并采取正確的應對措施。此外,Google Play還新推出了一款自動完整性保護的開發(fā)者預覽版工具,以減少單機/網絡游戲的二次打包問題。

在服務器端手動檢查完整性

Google Play應用許可服務能夠確保玩家使用從Google Play安裝的未經修改的二進制文件。SafetyNet attestation則可用于評估運行設備的狀態(tài)。

Google Play應用許可服務

https://developer.android.google.cn/google/play/licensing

SafetyNet attestation

https://developer.android.google.cn/training/safetynet/attestation.html

開發(fā)者可將這些檢查集成到一項或多項關鍵操作(如啟動、登錄、匹配、購買等)上,以便能夠在由服務器驅動的網絡游戲內順利運行這些檢查。如果在客戶端執(zhí)行檢查卻不與關鍵操作進行綁定,將很容易被攻擊者移除。建議各位開發(fā)者按照下列步驟,將檢查逐步集成到游戲中:

生成Nonce:在您的服務器上生成一個Nonce以啟動檢查。Nonce是您為各項檢查附加的唯一隨機字符串,它可確保攻擊者難以在重放攻擊中復制一個正響應。請盡量使用特定于請求的信息(如用戶ID的哈希值),以確保不會重復使用同一個Nonce;

請求響應:請將生成的Nonce附加到游戲檢查中,并調用應用許可和SafetyNet API。您必須使用API密鑰才能集成SafetyNet,且每天的默認請求配額為10,000次。如果您的應用需要增加配額,請?zhí)岢稣埱螅?/span>

接收響應:API與Google服務器進行通信時,Google服務器通過返回一個響應,告知您當前用戶是否從Google Play獲得應用許可,以及設備是否為通過兼容性測試的Android實體設備。為避免過度調用,SafetyNet有時會出現響應超時的情況,因此,還請您針對該意外情況進行規(guī)劃并做好相應的準備;

傳輸響應:您的游戲會將Google響應和Nonce一同發(fā)送回您的服務器上。請務必在服務器端執(zhí)行驗證流程,使攻擊者更難從游戲中移除檢查;

評估響應:您的服務器應確保所有內容有效,包括Nonce、應用包名稱及哈希值、時間戳,然后再根據Google的響應對許可與設備進行評估。例如,若用戶擁有有效許可且設備可信,則允許用戶繼續(xù)游戲。

想知道這些API在游戲中的實戰(zhàn)表現嗎?請收看上方視頻,聆聽來自Ravio和Supercell的精彩案例分享。Ravio利用上述API優(yōu)化了《憤怒的小鳥2》玩家排行榜;Supercell則在《荒野亂斗》beta版發(fā)布前大幅削減了非授權玩家的數量。

Ravio

https://play.google.com/store/apps/dev?id=9133452689932095671&hl=en_GB

Supercell

https://play.google.com/store/apps/dev?id=6715068722362591614&hl=en_GB

《憤怒的小鳥2》

https://play.google.com/store/apps/details?id=com.rovio.baba&hl=en_GB

《荒野亂斗》

https://play.google.com/store/apps/details?id=com.supercell.brawlstars&hl=en_GB

在客戶端自動檢查完整性

這些API并不適用于所有類型的游戲和用例。您的游戲可能主要在離線環(huán)境下運行,就像許多付費游戲和單人游戲一樣。為此,我們正在積極尋找資深合作伙伴,邀請他們加入Google Play自動完整性保護開發(fā)者預覽計劃,攜手為僅具備輕量服務器集成或者完全無服務器的游戲提供更好的支持。

Google Play自動完整性保護

http://g.co/play/integrityprotection

對于加入該開發(fā)者預覽計劃的游戲,當您將游戲上傳至Google Play Console管理中心后,Google Play將以您的身份為代碼添加一項證書檢查以及反篡改保護。直至測試之前,您不必進行任何額外的開發(fā)工作,只需通過Android App Bundle發(fā)布游戲即可。這些保護措施的優(yōu)勢在于,它們會隨著時間的推移自行優(yōu)化與改進,并不需要開發(fā)者進行任何操作。此外,反篡改保護也可幫助網絡游戲減少二次打包的問題。如果您希望為自己的游戲添加這些保護措施,歡迎您前往官網提交信息。

Android App Bundle

https://developer.android.google.cn/platform/technology/app-bundle

前往官網提交信息

http://g.co/play/integrityprotection

公平性

對于提供應用內購買的游戲來說,公平的"游戲內經濟體系"不僅有助于確保最佳的整體玩家體驗,還能為您帶來持續(xù)的業(yè)務增長。為了在游戲中取得不正當優(yōu)勢或謀取經濟利益,不良行為者可能會以某些方式操控交易或商品,這將會對其他玩家和您的業(yè)務造成不良影響。您可以在游戲內集成由Google Play Billing提供的豐富工具,幫助Google檢測并打擊欺詐性交易和退款濫用行為。

Google Play Billing

https://developer.android.google.cn/distribute/play-billing

驗證購買

在應用設計允許的范圍內,請您盡可能將敏感數據和邏輯移至后端服務器,其中包括應用內購驗證??蛻舳酥械臄祿瓦壿嬙蕉?,就越容易遭到逆向工程攻擊。當您驗證購買時,請向游戲服務器發(fā)送購買ID,并確認該ID之前并未被使用過。每次向用戶提供所購商品的訪問權限之前,請務必先通過Play Developer API向Google Play驗證該購買交易的合法性。

此外,您還可以在啟動購買時將經過混淆處理的帳號和個人資料ID傳遞給Google Play,從而確保購買交易歸因于同一個游戲賬號或角色個人資料。當您驗證購買時,請向后臺端服務器發(fā)送這些ID,以確保商品與發(fā)起購買交易的用戶正確匹配。

購買交易歸因

https://developer.android.google.cn/google/play/billing/developer-payload#attribute

虛假購買

為了提高Google Play檢測和阻止游戲中欺詐性購買的能力,我們建議您在每個購買請求中加入一些有關購買者的非個人識別信息。具體來說,您可以使用這些方法將經過混淆處理的賬戶ID附加到用戶的每個購買請求中,如果您開發(fā)了多個游戲,則可在所有游戲內再添加一個可代表用戶的個人資料ID。Google的風險引擎會根據這些ID評估當前交易是否屬于欺詐性購買,并在二次銷售行為發(fā)生前加以阻止。我們已經從頂尖開發(fā)者那里獲得了許多積極的反饋:在使用該Google Play Billing特性后,欺詐事件最高減少了30%,退款損失最高降低了50%。

使用這些方法

https://developer.android.google.cn/google/play/billing/security#fraud

退款商品的狀態(tài)

現在,游戲可通過Google Play的一項測試特性提供更多有關應用內購買的信息。Play會根據這些信息制定出更為合理的退款決策。該特性可幫助我們簡化退款流程并減少濫用行為的發(fā)生,例如更輕易地識別對已用商品多次申請退款的用戶。當用戶提交退款請求時,Google Play會向您的游戲傳遞該請求的相關信息,包括退款理由。您的游戲隨后可分享用戶所購商品的狀態(tài),例如商品是否已被使用,然后再建議是否批準此項請求。通過這些信息,Google Play可以幫您做出恰當的退款決定。目前僅有部分合作伙伴參與了該特性的測試工作。如果您想獲取更多相關資訊或者希望我們今后能夠向更多開發(fā)者開放該特性,請咨詢您的合作伙伴經理。

無效購買

借助voided purchases API,您可以隨時向Google Play請求用戶已退款的應用內購買列表。您可以根據這些信息更新用戶賬戶中的商品,移除已退款的商品或對用戶體驗作出其它更改。這不僅有助于游戲內商品的保值,還能有效防止濫用行為的發(fā)生。超過80%的頂尖開發(fā)者已經在自己的游戲中集成了voided purchases API,其中部分開發(fā)者向我們反饋表示,該API為他們減少了80%的退款損失。以下為voided purchases API的一些使用技巧,希望能對您有所幫助:

請定期調用voided purchases API,用于更新用戶所購項目列表;

從用戶賬戶移除已退款的商品;

告知用戶商品已被移除;

在收回商品失敗時,請及時采取應對措施。若多次失敗,請考慮升級響應措施,例如禁止用戶繼續(xù)購買;

如果用戶已經花掉了游戲內貨幣,可以考慮將其余額設置為負數;

對于游戲內貨幣余額為負數的賬戶,可考慮限制游戲內功能或服務。

voided purchases API

https://developer.android.google.cn/android-publisher/voided-purchases

安全

安全是Android開發(fā)中十分重要的話題,而且牽涉范圍廣泛,因此本文僅作簡要探討。一旦攻擊者在您的游戲中發(fā)現漏洞并加以利用,便會給您帶來嚴重的后果,例如對玩家造成安全威脅,引發(fā)負面社會輿情,在某些情況下您甚至還需要面臨監(jiān)管機構的罰款懲治。我們建議您在開發(fā)過程中,遵循安全性實踐指南并依照安全清單對游戲進行評估。與此同時,請您務必謹慎處理數據、權限及網絡流量方面的問題。

安全性實踐指南

https://developer.android.google.cn/topic/security/best-practices

安全清單

https://developer.android.google.cn/docs/quality-guidelines/core-app-quality#sc

第三方庫和SDK

開發(fā)者經常會在游戲代碼中使用大量的第三方庫和SDK,它們也帶來了嚴重的安全隱患。有些第三方庫自身含有惡意代碼,但是在大部分情況下,庫或SDK內的安全漏洞才是最大的風險所在。開發(fā)者應對游戲內所有內容(包括第三方庫和SDK)負責,所以,由第三方程序導致的安全問題自然也在您責任范圍內。部分SDK會在開發(fā)人員不知情的情況下引發(fā)安全問題,為此Google Play已經下架了數款包含問題SDK的游戲。我們建議您在管理第三方庫和SDK時,遵循以下實踐指南:

對SDK可訪問的數據和設備信息進行分析,并確保SDK在訪問數據前已獲得用戶同意;

確保SDK支持最低級別的targetSdkVersion;

確保SDK無法收集不可重置的設備標識符;

在游戲卸載后,從外部儲存移除所有SDK特定文件;

僅通過HTTPS協(xié)議向服務器傳遞信息。

請前往應用成功學院,了解更多有關SDK使用方法的實踐指南。

有關SDK使用方法的實踐指南

https://playacademy.exceedlms.com/student/activity/18797-build-and-distribute-privacy-friendly-apps

Google Play安全獎勵計劃

擁有大批玩家的游戲開發(fā)者不妨申請加入Google Play安全獎勵計劃。該漏洞賞金計劃提供了一定數額的獎金,用于激勵安全研究人員發(fā)現并負責任地披露漏洞。您可對這些漏洞進行修復,以便為玩家長期提供安全可靠的游戲環(huán)境。

Google Play安全獎勵計劃

https://www.google.com/about/appsecurity/play-rewards/

小結

不良行為者是任何產業(yè)都無法避免的問題,移動游戲行業(yè)自然也不例外。不論是小風險隱患,例如玩家只想在游戲中搶占不公平的優(yōu)勢,還是嚴重的安全威脅,如不法人士為謀私利惡意操控游戲和玩家,Google Play都將提供更多工具與服務,幫助開發(fā)者采取正確的應對措施并制定全方位反濫用策略,以求最大程度降低玩家和游戲業(yè)務的風險。歡迎各位開發(fā)者向我們分享您的反饋與建議,協(xié)助我們進一步優(yōu)化產品或彌補不足之處。

640 (1).png

立即登錄,閱讀全文
版權說明:
本文內容來自于谷歌開發(fā)者,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家