Google offre una serie di API e servizi per aiutarti a rilevare se la tua app è in esecuzione in un ambiente sicuro e affidabile. Il pezzo forte è Play Integrity API, che consente di verificare che le interazioni siano autentiche rilevando potenziali le interazioni rischiose e fraudolente. Oltre all'integrità dell'app e del dispositivo, Google Play L'API Integrity ora offre informazioni sui rischi di accesso e accessibilità, Google Play Protect e attività recenti del dispositivo. Per rafforzare ulteriormente la protezione la tua strategia antifrode, la piattaforma Android offre API per scenari specifici che potrebbero essere pertinenti per la tua app.
API Play Integrity
L'API Play Integrity ti consente di scoprire lo stato di sicurezza del dispositivo su cui è in esecuzione l'app. Questo ti aiuta ad avere la certezza che l'utente giusto accede a informazioni sensibili.
Ti aiuta a verificare che le interazioni e le richieste del server provengano il codice binario dell'app originale in un ambiente affidabile:
- File binario dell'app originale: consente di stabilire se stai interagendo o meno con il tuo binario non modificato riconosciuto da Google Play.
- Installazione Play originale: consente di stabilire se l'account utente corrente è licenza, il che significa che l'utente ha installato o pagato l'app o il gioco su Google Play.
- Dispositivo Android originale: consente di stabilire se la tua app è in esecuzione su un Dispositivo Android con Google Play Services.
- Senza malware noto: consente di stabilire se Google Play Protect è attivo e se ha trovato app rischiose o pericolose installate sul dispositivo.
- Basso rischio di accesso da parte di altre app: consente di stabilire se altre app sono in esecuzione. che possono acquisire lo schermo o controllare il dispositivo e gli ingressi nella tua app.
In che modo questo contribuisce a mitigare le attività fraudolente
Quando un utente esegue un'azione importante nella tua app, puoi richiamare l'app API Integrity. In caso contrario, il server di backend della tua app può decidere cosa per difenderti da attacchi e attività fraudolente. Ad esempio, potresti richiedere un'ulteriore verifica dell'utente o negare l'accesso a funzionalità sensibili.
Rischio di accesso all'app
È stato introdotto l'indicatore Rischio di accesso alle app per aiutarti a valutare se altre le app su un dispositivo potrebbero visualizzare e acquisire lo schermo mentre l'app è in esecuzione o accede alla tua app usando le autorizzazioni di accessibilità. Verificata le app di accessibilità vengono escluse automaticamente da questi esiti. Accesso alle app aiuta gli sviluppatori a proteggere le loro app tutelando la privacy degli utenti l'app richiedente non ottiene l'identità delle app installate e i l'esito non è collegato agli identificatori utente o dispositivo.
Grazie a questo impegno collaborativo, siamo in grado di acquisire gli indicatori necessari per ci forniscono informazioni più approfondite per proteggere i nostri clienti in modo più efficace.
— Nubank, partner per l'accesso in anteprima
Il rischio di accesso all'app presenta diversi livelli di rischio:
- Un'acquisizione di risposta significa che sono in esecuzione altre app in grado di acquisire lo schermo.
- Una risposta di controllo significa che sono in esecuzione altre app in grado di controllare dispositivo, consentendo di acquisire lo schermo e controllare gli ingressi nella tua app.
Il rischio di accesso all'app è ora disponibile in versione beta pubblica e verrà reso in generale sarà disponibile nei prossimi mesi.
Applicazione del rischio di accesso alle app
Identifica le azioni sensibili o di valore elevato nella tua app o nel tuo gioco da proteggere con il all'API Play Integrity, invece di negare del tutto l'accesso. Se possibile, verifica e rischioso prima di consentire il completamento di azioni di alto valore. Ad esempio, quando il rischio di accesso all'app indica che è in esecuzione un'app che potrebbe acquisire schermata, chiedi all'utente di disattivare o disinstallare le app in grado di acquisire la schermata prima di consentire di passare alla funzionalità che vuoi proteggere.
Questa tabella contiene alcuni esiti di esempio:
Esempio di risposta sull'esito del rischio di accesso all'app | Interpretazione |
---|---|
appsDetected: ["KNOWN_INSTALLED"]
|
Esistono soltanto app installate riconosciute da Google Play o precaricati sulla partizione di sistema dal produttore del dispositivo. Non ci sono app in esecuzione che ne comporterebbero l'acquisizione, o sovrappone gli esiti. |
appsDetected: ["KNOWN_INSTALLED", "UNKNOWN_INSTALLED", "UNKNOWN_CAPTURING"]
|
Esistono app installate da Google Play o precaricate partizione di sistema di sistema dal produttore del dispositivo. Esistono altre app in esecuzione con autorizzazioni abilitate che potrebbero essere utilizzato per visualizzare la schermata o acquisire altri input e output. |
appsDetected: ["KNOWN_INSTALLED", "KNOWN_CAPTURING", "UNKNOWN_INSTALLED", "UNKNOWN_CONTROLLING"]
|
È in esecuzione Google Play o un sistema con le autorizzazioni attivate che può essere utilizzato per visualizzare lo schermo o acquisire altri input e output. Esistono anche altre app in esecuzione con autorizzazioni abilitate che può essere usata per controllare il dispositivo e controllare direttamente gli ingressi nel la tua app. |
appAccessRiskVerdict: {}
|
Il rischio di accesso all'app non viene valutato perché è stato richiesto un requisito non riusciti. Ad esempio, il dispositivo non era abbastanza attendibile. |
Indicatore Play Protect
L'indicatore Play Protect comunica all'app se Play Protect è attivo e se ha trovato app dannose note installate sul dispositivo.
environmentDetails:{
playProtectVerdict: "NO_ISSUES"
}
Se il malware è un problema particolare per la tua app o per i tuoi utenti di dati, puoi Controlla questo esito e chiedi agli utenti di attivare Play Protect o di rimuovere contenuti dannosi app prima di procedere.
playProtectVerdict
può avere uno dei seguenti valori:
Esito | Spiegazione | Azione consigliata |
---|---|---|
|
Play Protect è attivo e non ha rilevato problemi con l'app nella dispositivo. |
Play Protect è attivo e non ha rilevato problemi, quindi non è stata rilevata alcuna azione dell'utente obbligatorio. |
|
Play Protect è attivo, ma non è stata ancora eseguita alcuna scansione. La dispositivo o l'app Play Store potrebbe essere stata reimpostata di recente. |
Play Protect è attivo e non ha rilevato problemi, quindi non è stata rilevata alcuna azione dell'utente obbligatorio. |
|
Play Protect è disattivato. |
Play Protect è attivo e non ha rilevato problemi, quindi nessuna azione dell'utente è obbligatorio. |
|
Play Protect è attivo e ha trovato app potenzialmente dannose installato sul dispositivo. |
A seconda della tua tolleranza al rischio, puoi chiedere all'utente di avviare Play Protect e intervenire in merito agli avvisi di Play Protect. Se l'utente non può soddisfare questi requisiti, puoi bloccarlo dal server un'azione. |
|
Play Protect è attivo e ha trovato app pericolose installate sul dispositivo. |
A seconda della tua tolleranza al rischio, puoi chiedere all'utente di avviare Play Protect e intervenire in merito agli avvisi di Play Protect. Se l'utente non può soddisfare questi requisiti, puoi bloccarlo dell'azione del server. |
|
L'esito di Play Protect non è stato valutato. Questo potrebbe si verificano per diversi motivi, tra cui:
|
Attività del dispositivo recente
Puoi anche attivare le attività recenti del dispositivo, che ti indicano quante volte la tua app ha richiesto un token di integrità su un dispositivo specifico nell'ultima ora. Tu può usare l'attività recente del dispositivo per proteggere la tua app da imprevisti, dispositivi iperattivi che potrebbero indicare un attacco attivo. Puoi decidi il livello di attendibilità di ogni livello di attività recente del dispositivo in base al numero volte in cui ti aspetti che la tua app installata su un dispositivo tipico richieda un'integrità ogni ora.
Se attivi la ricezione di recentDeviceActivity
, il campo deviceIntegrity
verrà
hanno due valori:
deviceIntegrity: {
deviceRecognitionVerdict: ["MEETS_DEVICE_INTEGRITY"]
recentDeviceActivity: {
// "LEVEL_2" is one of several possible values.
deviceActivityLevel: "LEVEL_2"
}
}
Innanzitutto, devi controllare i dati per vedere quali sono i livelli di attività tipici del dispositivo per la tua app sono disponibili su tutti i tuoi dispositivi. Dopodiché puoi decidere in che modo la tua app deve rispondere quando un dispositivo effettua troppe richieste. Se l'attività è un un po' troppo alto, potresti chiedere all'utente di riprovare più tardi. Se l'attività è molto probabile, ti consigliamo di prendere provvedimenti più severi per l'applicazione delle norme.
Richieste standard e classiche
Nell'ambito dell'implementazione di Play Integrity, è importante considerare i due tipi di richieste. Dovresti usare le richieste standard nella maggior parte dei casi, per fornire la risposta più rapida, mentre le richieste classiche dovrebbero essere utilizzate dove è necessaria una richiesta appena generata rispetto al record di attestazione del dispositivo.
Richiesta classica |
Richiesta standard |
---|---|
Le richieste richiedono più tempo e dovrebbero essere effettuate con meno frequenza. ad esempio una tantum per verificare se un'offerta di valore l'azione sensibile è autentica. Usalo raramente. |
Le richieste sono a bassa latenza e possono essere utilizzate on demand. Una richiesta standard è costituita da due parti:
Utilizza on demand. |
Leggi la documentazione di Play Integrity per avere ulteriori informazioni su standard e richieste classice.
Implementazione
Per iniziare a utilizzare l'API Play Integrity:
- Attiva le risposte dell'API Play Integrity in Google Play Console e collega in un progetto Google Cloud.
- Integra l'API Play Integrity nella tua app.
- Decidi come gestire gli esiti.
Per impostazione predefinita, l'API Play Integrity consente fino a 10.000 richieste per app al giorno. A esprimi il tuo interesse ad aumentare le richieste massime giornaliere, segui queste istruzioni. Idoneità a un aumento del numero massimo giornaliero di richieste, la tua app deve implementare correttamente l'API Play Integrity ed essere disponibili su Google Play oltre che su eventuali altri canali di distribuzione.
Aspetti da tenere presenti per l'API Play Integrity
- È essenziale gestire gli errori nelle risposte dell'API Play Integrity, in modo appropriato. Segui questa guida sulle strategie di ripetizione e applicazione in base ai codici di errore.
- L'API Play Integrity offre strumenti di test per le risposte.
- Per vedere i risultati relativi all'integrità del tuo dispositivo, segui questi passaggi.
- Leggi queste considerazioni sulla sicurezza per le pratiche consigliate relative all'utilizzo del API Play Integrity.
Protezione automatica dell'integrità (API >= 23)
Protezione automatica dell'integrità è un servizio di protezione da manomissione del codice che protegge la tua app da abusi dell'integrità sotto forma di delle modifiche e ridistribuzione. Funziona senza connessione dati e richiede Non servono interventi degli sviluppatori prima del test né integrazione del server di backend.
In che modo questo contribuisce a mitigare le attività fraudolente
Se attivi Protezione automatica dell'integrità, Google Play aggiunge controlli al tuo il codice dell'app e ne rende difficili la rimozione con l'offuscamento avanzato tecniche anti-decompilazione. In fase di runtime, la protezione controlla se le tue L'app è stata manomessa o ridistribuita:
- Se il controllo del programma di installazione non viene superato, agli utenti verrà chiesto di scaricare la tua app da Google Play
- Se il controllo delle modifiche non va a buon fine, l'app non verrà eseguita.
Questo contribuisce a proteggere gli utenti dalle versioni modificate della tua app.
Implementazione
Protezione automatica dell'integrità è disponibile solo per partner di Google Play selezionati in questo momento nel tempo. Contatta l'assistenza per gli sviluppatori di Google Play se la funzionalità non è disponibile in su Google Play Console e vorresti esprimere il tuo interesse a ricevere l'accesso.
Puoi attivare la protezione quando crei una release oppure nell'app pagina integrità (Release > Integrità dell'app). Integrità automatica la protezione richiede che la tua app utilizzi la firma dell'app di Google Play.
Assicurati di testare la tua app protetta prima di promuovere la release su produzione.
Da ricordare
- Non rilasciare versioni dell'app non protette
- Fare attenzione quando si combinano soluzioni di protezione dalle manomissioni
- Testa l'app protetta prima di rilasciarla in produzione
- Monitora normalmente le statistiche per rilevare eventuali aumenti degli arresti anomali
- Puoi segnalare le versioni con crack della tua app a Google Play