Cette page explique comment détecter et prévenir les prises de contrôle de compte à l'aide de Google Cloud Fraud Defense.
Les attaques par ATO se produisent généralement lorsqu'un pirate informatique envoie des requêtes de connexion aux points de terminaison d'API à l'aide d'identifiants obtenus lors d'une violation de données, également appelée vidage de mot de passe. Ce type d'attaque peut réussir, même si le vidage du mot de passe provient d'un site non lié, car les utilisateurs ont tendance à réutiliser les mots de passe pour plusieurs comptes. Ce type d'attaque ne fonctionne pas avec les utilisateurs qui pratiquent une bonne gestion des mots de passe, comme l'utilisation d'un gestionnaire de mots de passe.
Avant de commencer
Préparer votre environnement pour Google Cloud Fraud Defense
Détecter et prévenir les prises de contrôle de compte
Avec Fraud Defense, vous pouvez détecter et prévenir les ATO en utilisant l'une des options suivantes :
Utiliser la case à cocher "Je ne suis pas un robot"
L'ajout de la case à cocher Je ne suis pas un robot à votre site est le moyen le plus rapide et le plus simple de fournir une protection contre les piratages de compte sans avoir à intégrer de fonctionnalités supplémentaires, telles que la validation par SMS ou par e-mail.. Pour un pirate informatique, briser cette protection a un coût, et cette option peut suffire pour certains sites.
Ajoutez la case à cocher Je ne suis pas un robot sur vos pages Web.
Le code suivant est un exemple concret de page de connexion protégée par la case à cocher :
function onSuccess(token) {
// The token is included in the POST data in the g-recaptcha-response
// parameter. The backend must create an Assessment with the token
// and verify the token is valid.
console.log(token);
}<form id="loginForm" action="?" method="POST">
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<div class="g-recaptcha" data-sitekey="reCATCHA_sitekey"
data-action="account_login" data-callback="onSuccess"></div>
</form><script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
Vous pouvez tester ce code dans JSFiddle en cliquant sur l'icône <> dans l'angle supérieur droit de la fenêtre de code.
<html>
<head>
<title>Account Login - Checkbox</title>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
<script>
function onSuccess(token) {
// The token is included in the POST data in the g-recaptcha-response
// parameter. The backend must create an Assessment with the token
// and verify the token is valid.
console.log(token);
}
</script>
</head>
<body>
<form id="loginForm" action="?" method="POST">
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<div class="g-recaptcha" data-sitekey="6LeAkOgUAAAAACcy3uY6N9H9SJMS27n3Zx2OOnYK"
data-action="account_login" data-callback="onSuccess"></div>
</form>
</body>
</html>Utiliser des scores et des défis personnalisés
Pour vous protéger contre les attaques par piratage de compte, utilisez les clés basées sur le score Fraud Defense et les défis d'authentification multifacteur (MFA), comme les défis par e-mail et par SMS dans lesquels des codes secrets sont envoyés à l'utilisateur.
Pour utiliser des clés basées sur le score et des défis personnalisés, envisagez les options suivantes :
Installez des clés basées sur un score pour détecter l'automatisation dans les attaques par prise de contrôle de compte à grande échelle.
Pour installer des clés basées sur des scores sur des pages Web, consultez Installer des clés basées sur des scores sur des pages Web.
Pour installer des clés basées sur un score sur des applications mobiles, consultez Intégrer Fraud Defense aux applications Android ou Intégrer Fraud Defense aux applications iOS.
Utilisez l'authentification multifacteur pour valider la propriété du compte lors de la connexion ou pour les actions sensibles.
Pour en savoir plus, consultez Configurer l'authentification multifacteur.
Selon votre cas d'utilisation, vous pouvez utiliser MFA seule ou avec des clés basées sur un score. Par exemple, vous pouvez préférer utiliser des défis MFA uniquement pour les scores inférieurs à un certain seuil afin de réduire les frictions.
L'exemple suivant montre comment intégrer des clés basées sur le score dans le scénario de connexion.
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>
Vous pouvez tester ce code dans JSFiddle en cliquant sur l'icône <> dans l'angle supérieur droit de la fenêtre de code.
<html>
<head>
<title>Account Login - Score</title>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></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>Étapes suivantes
- Pour en savoir plus sur les autres fonctionnalités de protection des comptes, consultez Fonctionnalités de protection des comptes utilisateur.