Google Cloud Fraud Defense ti aiuta a rilevare e prevenire i takeover degli account (ATO) nei tuoi siti web e nelle tue applicazioni mobile. Per proteggere gli account dal credential stuffing e da altri attacchi automatici, puoi combinare l'analisi comportamentale a livello di account con il rilevamento delle credenziali compromesse e l'autenticazione a più fattori (MFA) avanzata.
Gli attacchi ATO, come il credential stuffing, si verificano in genere quando un malintenzionato invia richieste di accesso utilizzando credenziali esposte in violazioni dei dati e dump di password. Poiché gli utenti riutilizzano spesso le password riutilizzate su siti non correlati, gli attacchi di stuffing automatici possono avere successo anche contro endpoint di autenticazione configurati correttamente, a meno che non valuti il rischio comportamentale e le credenziali compromesse.
Prima di iniziare
Prepara il tuo ambiente per Google Cloud Fraud Defense.
Rileva e previeni gli ATO
Con Fraud Defense, puoi rilevare e prevenire gli ATO utilizzando le seguenti funzionalità:
- Account defense e scoring del rischio ATO
- Password defense per il rilevamento della divulgazione di password
- Chiavi basate sul punteggio e MFA con step-up
Utilizza Account Defense e lo scoring del rischio di ATO
Account defense è la funzionalità principale per rilevare e prevenire gli ATO su siti web e app mobile.
Account defense fornisce uno score del rischio ATO dedicato (accountDefenderAssessment.accountTakeoverVerdict.risk, compreso tra 0.0 e 1.0) e indicatori di spiegabilità (riskReasons e trustReasons). Questi indicatori valutano la cronologia comportamentale a livello di account insieme agli indicatori di sessione, fornendo una precisione di rilevamento degli ATO circa quattro volte superiore rispetto ai soli punteggi dei bot.
Per integrare Account defense, passa un identificatore dell'account stabile nel campo user_info.account_id (event.userInfo.accountId quando chiami CreateAssessment.
Se l'identificatore dell'account è disponibile solo dopo l'autenticazione, passa
account_id quando chiami
AnnotateAssessment.
Rileva password divulgate
Poiché gli ATO spesso si basano sul credential stuffing con credenziali esposte in dump di password, utilizza Password defense nei flussi di accesso, modifica della password e reimpostazione password per rilevare le credenziali compromesse.
Quando controlli le credenziali durante una valutazione, Password defense valuta il nome utente in formato canonico e il prefisso dell'hash della password rispetto alle violazioni dei dati note senza esporre le credenziali in testo non crittografato a Google. Quando chiami
CreateAssessment,
passa il prefisso hash (lookupHashPrefix) del nome utente (credentials.username) e
l'hash delle credenziali criptate (encryptedUserCredentialsHash) in
privatePasswordLeakVerification. Se l'esito (leakedPasswordVerdict) indica credenziali compromesse, richiedi una reimpostazione password o attiva una verifica MFA avanzata.
Utilizza chiavi basate sul punteggio e l'MFA avanzata
Quando lo scoring del rischio ATO (accountDefenderAssessment.accountTakeoverVerdict.risk) o il punteggio bot (riskAnalysis.score) indica un rischio elevato, utilizza le chiavi basate sul punteggio per attivare l'autenticazione step-up o l'autenticazione a più fattori (MFA) nella tua applicazione come meccanismo di applicazione. Ad esempio, chiedi all'utente un fattore aggiuntivo, richiedi la riautenticazione o attiva la verifica della password monouso (OTP).
Per implementare le chiavi basate sul punteggio e l'MFA con step-up, completa i seguenti passaggi:
Installa chiavi basate sul punteggio per raccogliere indicatori di sessione e rilevare l'automazione negli ATO su larga scala:
Web: chiama
grecaptcha.enterprise.execute()nelle tue pagine web. Per saperne di più, consulta Installa chiavi basate sul punteggio sui siti web.Dispositivi mobili: chiama
execute()negli SDK per dispositivi mobili. Per saperne di più, consulta Integra Fraud Defense con le app per Android o Integra Fraud Defense con le app per iOS.
Quando
accountTakeoverVerdict.risksupera la soglia di rischio oriskAnalysis.scorescende al di sotto della soglia dei bot, attiva l'autenticazione step-up o una verifica MFA nel tuo provider di identità per verificare la proprietà dell'account al momento dell'accesso o per azioni sensibili. L'attivazione selettiva di verifiche di livello superiore per le richieste a rischio elevato riduce i problemi per gli utenti legittimi.
L'esempio seguente mostra come integrare le chiavi basate su punteggio in un workflow di accesso:
function submitForm() {
grecaptcha.enterprise.ready(function() {
grecaptcha.enterprise.execute(
'reCAPTCHA_site_key', {action: 'account_login'}).then(function(token) {
document.getElementById("token").value = token;
document.getElementByID("loginForm").submit();
});
});
}<form id="loginForm" action="?" method="POST"> Username: <input type="text" name="username"/><br/> Password: <input type="password" name="password"/><br/> <input type="hidden" id="token" name="recaptcha_token"/> <button onclick="submitForm()">Login</button> </form>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
Puoi sperimentare con questo codice in JSFiddle facendo clic sull'icona <> nell'angolo in alto a destra della finestra del codice.
<html>
<head>
<title>Account Login - Score</title>
<script src="https://www.google.com/recaptcha/enterprise.js"></script>
<script>
function submitForm() {
grecaptcha.enterprise.ready(function() {
grecaptcha.enterprise.execute(
'reCAPTCHA_site_key', {action: 'account_login'}).then(function(token) {
document.getElementById("token").value = token;
document.getElementByID("loginForm").submit();
});
});
}
</script>
</head>
<body>
<form id="loginForm" action="?" method="POST">
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<input type="hidden" id="token" name="recaptcha_token"/>
<button onclick="submitForm()">Login</button>
</form>
</body>
</html>Passaggi successivi
- Per scoprire altre funzionalità di protezione degli account, consulta Funzionalità di protezione degli account utente.