Google Cloud Fraud Defense memungkinkan Anda mendeteksi dan mencegah pengambilalihan akun (ATO) di seluruh situs dan aplikasi seluler Anda. Untuk membantu melindungi akun dari credential stuffing dan pengambilalihan otomatis, Anda dapat menggabungkan analisis perilaku tingkat akun di Account defense dengan pemeriksaan kredensial yang disusupi di Password defense dan autentikasi multi-faktor (MFA) langkah-langkah.
Serangan ATO, seperti credential stuffing, biasanya terjadi saat penyerang mengirim permintaan untuk login menggunakan kredensial yang terekspos dalam pelanggaran data dan dump sandi. Karena pengguna sering menggunakan kembali sandi di berbagai situs yang tidak terkait, serangan credential stuffing otomatis dapat berhasil bahkan terhadap endpoint autentikasi yang dikonfigurasi dengan benar, kecuali jika Anda mengevaluasi risiko perilaku dan kredensial yang bocor.
Sebelum memulai
Menyiapkan lingkungan Anda untuk Google Cloud Fraud Defense.
Mendeteksi dan mencegah ATO
Dengan Fraud Defense, Anda dapat mendeteksi dan mencegah ATO menggunakan kemampuan berikut:
- Account defense dan skor risiko ATO
- Password defense untuk deteksi kebocoran sandi
- Kunci berbasis skor dan MFA bertingkat
Menggunakan Account defense dan skor penilaian risiko ATO
Account defense adalah kemampuan utama untuk mendeteksi dan mencegah ATO di seluruh situs dan aplikasi seluler.
Account defense memberikan
skor risiko ATO
khusus (accountDefenderAssessment.accountTakeoverVerdict.risk, mulai dari 0.0 hingga
1.0) dan sinyal penjelasan (riskReasons dan trustReasons). Sinyal ini
mengevaluasi histori perilaku tingkat akun bersama dengan sinyal sesi,
sehingga memberikan presisi deteksi ATO sekitar empat kali lebih tinggi daripada skor bot
saja.
Untuk mengintegrasikan Account defense, teruskan ID akun yang stabil di
kolom user_info.account_id (event.userInfo.accountId saat Anda memanggil
CreateAssessment.
Jika ID akun hanya tersedia setelah autentikasi, teruskan
account_id saat Anda memanggil
AnnotateAssessment.
Mendeteksi sandi yang bocor
Karena ATO sering kali mengandalkan credential stuffing dengan kredensial yang terekspos dalam dump sandi, gunakan Password defense pada alur login, perubahan sandi, dan reset sandi untuk mendeteksi kredensial yang disusupi.
Saat Anda memeriksa kredensial selama penilaian, Password defense akan mengevaluasi
nama pengguna yang dikanonikalisasi dan awalan hash sandi terhadap pelanggaran data yang diketahui
tanpa mengekspos kredensial teks biasa ke Google. Saat Anda memanggil
CreateAssessment,
teruskan awalan hash (lookupHashPrefix) nama pengguna (credentials.username) dan
hash kredensial terenkripsi (encryptedUserCredentialsHash) di
privatePasswordLeakVerification. Jika verdict (leakedPasswordVerdict)
menunjukkan kredensial yang disusupi, wajibkan reset sandi atau picu
tantangan MFA tambahan.
Menggunakan kunci berbasis skor dan MFA peningkatan
Jika skor risiko ATO
(accountDefenderAssessment.accountTakeoverVerdict.risk) atau skor bot
(riskAnalysis.score) menunjukkan risiko yang meningkat, gunakan kunci berbasis skor untuk memicu
autentikasi tambahan atau autentikasi multi-faktor (MFA) di aplikasi Anda
sebagai mekanisme penegakan. Misalnya, meminta faktor tambahan kepada pengguna, mewajibkan autentikasi ulang, atau memicu verifikasi sandi sekali pakai (OTP).
Untuk menerapkan kunci berbasis skor dan MFA peningkatan, selesaikan langkah-langkah berikut:
Instal kunci berbasis skor untuk mengumpulkan sinyal sesi dan mendeteksi otomatisasi dalam ATO berskala besar:
Web: Panggil
grecaptcha.enterprise.execute()di halaman web Anda. Untuk mengetahui informasi selengkapnya, lihat Menginstal kunci berbasis skor di situs.Seluler: Panggil
execute()di SDK seluler. Untuk mengetahui informasi selengkapnya, lihat Mengintegrasikan Fraud Defense dengan aplikasi Android atau Mengintegrasikan Fraud Defense dengan aplikasi iOS.
Jika
accountTakeoverVerdict.riskmelebihi nilai minimum risiko atauriskAnalysis.scoreberada di bawah nilai minimum bot, picu autentikasi step-up atau verifikasi MFA di penyedia identitas Anda untuk memverifikasi kepemilikan akun saat login atau untuk tindakan sensitif. Memicu verifikasi langkah tambahan secara selektif pada permintaan berisiko tinggi akan mengurangi hambatan bagi pengguna yang sah.
Contoh berikut menunjukkan cara mengintegrasikan kunci berbasis skor dalam alur kerja login:
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>
Anda dapat bereksperimen dengan kode ini di JSFiddle dengan mengklik ikon <> di
sudut kanan atas jendela kode.
<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>Langkah berikutnya
- Untuk mempelajari fitur perlindungan akun lainnya, lihat Fitur perlindungan akun pengguna.