Mendeteksi URL berbahaya dengan Web Risk

Sebelum memulai

Menyiapkan autentikasi dan mengaktifkan Web Risk API

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  6. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan Web Risk API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable webrisk.googleapis.com
  8. Instal Google Cloud CLI.

  9. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  10. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  11. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  12. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  13. Aktifkan Web Risk API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable webrisk.googleapis.com

Menggunakan API

Saat menggunakan Web Risk API, pastikan Anda memahami Perjanjian Tingkat Layanan dan batas penggunaan Web Risk.

Untuk mulai menggunakan Web Risk, lihat topik berikut:

API mana yang tepat untuk saya? Mencari atau Memperbarui?

Web Risk menyediakan dua API berbeda yang dapat Anda integrasikan. API ini adalah Lookup API dan Update API. Kedua API ini memberikan informasi yang sama. Artinya, apakah URL telah diidentifikasi sebagai berbahaya atau tidak. Yang paling mudah digunakan adalah Lookup API. Dengan menggunakan Lookup API, Anda akan mengirimkan kueri ke Web Risk untuk setiap URL yang ingin Anda periksa.

Update API lebih kompleks, tetapi memiliki beberapa properti yang diinginkan. Dengan menggunakan Update API, Anda akan mengelola database lokal. Database ini dapat diperiksa untuk melihat apakah suatu URL berbahaya atau tidak. Database ini berfungsi sebagai filter bloom. Artinya, mungkin ada positif palsu (URL diidentifikasi sebagai berbahaya, tetapi tidak), tetapi tidak boleh ada negatif palsu (URL diidentifikasi sebagai tidak berbahaya, tetapi berbahaya). Oleh karena itu, server Web Risk jarang dihubungi, dan hanya dihubungi untuk mengonfirmasi kecocokan dan membedakan positif palsu. Dalam sebagian besar kasus, saat memeriksa URL menggunakan Update API, Anda tidak perlu menghubungi server Web Risk sama sekali. Anda diharapkan menghubungi server Web Risk hanya saat memperbarui database lokal dan saat mengonfirmasi bahwa URL berbahaya.

Singkatnya, gunakan Lookup API jika Anda ingin melakukan penyiapan dengan cepat dan mudah. Gunakan Update API jika Anda memerlukan pemeriksaan URL dengan latensi yang lebih rendah.

Memilih Fitur Klien yang Tepat

Jika memilih untuk menggunakan Update API, Anda mungkin tidak perlu menerapkan seluruh spesifikasi. Ada beberapa fitur yang dirancang untuk klien yang didistribusikan secara luas (seperti browser web) yang merupakan pengoptimalan berlebihan dalam banyak kasus perusahaan.

Ada beberapa fitur yang dapat diabaikan untuk mempermudah integrasi.

Berikut solusi integrasi Web Risk berdasarkan tingkat kompleksitasnya

  1. Menggunakan LookUp API
  2. Memperbarui klien Basic Update API
  3. Memperbarui klien API menggunakan perbedaan
  4. Memperbarui klien API menggunakan perbedaan yang dikompresi RICE

Menggunakan Lookup API

Penggunaan Lookup API memiliki kompleksitas terendah. Setiap kali ada URL yang berpotensi mencurigakan, cukup panggil Lookup API dengan URL tersebut untuk melihat putusannya. Kanonikalisasi dan pemformatan URL ditangani oleh server Web Risk. Solusi ini akan valid untuk sebagian besar klien kecuali jika latensi rata-rata melebihi persyaratan.

Memperbarui klien Basic Update API

Update API memerlukan kompleksitas tambahan dalam mengelola database lokal dan URL kanonis sebelum kueri.

Dalam integrasi klien yang umum dengan Web Risk, klien akan menerapkan perbedaan database agar tetap terbaru. Logika aplikasi diff mungkin memerlukan waktu untuk diterapkan dengan benar, jadi dalam kasus yang paling sederhana, sebaiknya klien mengabaikan diff dan meminta database baru lengkap dari Web Risk setiap siklus. Database ini akan tetap disimpan dalam memori untuk kueri yang efisien. Permintaan reset database penuh dilakukan dengan mengosongkan kolom versionToken di permintaan threatLists.computeDiff. Solusi ini harus valid untuk klien kecuali jika latensi sinkronisasi database atau bandwidth melebihi persyaratan.

Menggunakan Update API dan meminta update perbedaan

Solusi ini memiliki kompleksitas tambahan dalam menerapkan logika perbedaan ke database lokal. Untuk mengetahui informasi selengkapnya, lihat Perbedaan Database. Penggunaan diff akan mengurangi bandwidth dengan mengorbankan kompleksitas, dibandingkan dengan meminta database baru setiap siklus. Update database lengkap dapat berukuran beberapa megabyte. Solusi ini seharusnya sudah cukup untuk sebagian besar klien perusahaan.

Menggunakan Update API dan meminta update perbedaan yang dienkode RICE

Solusi ini adalah integrasi klien yang paling efisien. Encoding RICE memampatkan ukuran DIFF dan semakin mengurangi bandwidth update. Solusi ini ditujukan untuk pelanggan yang paling dibatasi bandwidth-nya. Contoh di mana hal ini mungkin relevan adalah jika kueri Web Risk dibangun ke dalam Aplikasi ponsel. Pengguna aplikasi tersebut pasti akan menghargai solusi bandwidth yang lebih rendah jika mereka perlu mengupdate database melalui data ponsel. Untuk mengetahui informasi selengkapnya, lihat Kompresi.