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

    • Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (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. Pastikan penagihan diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan Web Risk API, jika belum diaktifkan:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). 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

    • Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (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. Pastikan penagihan diaktifkan untuk project Google Cloud Anda.

  13. Aktifkan Web Risk API, jika belum diaktifkan:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). 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 mengkueri 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 URL berbahaya. Database ini berfungsi sebagai filter bloom. Artinya, mungkin ada positif palsu (URL diidentifikasi sebagai berbahaya, tetapi sebenarnya tidak), tetapi tidak boleh ada negatif palsu (URL diidentifikasi sebagai tidak berbahaya, tetapi sebenarnya berbahaya). Oleh karena itu, server Web Risk jarang dihubungi, dan hanya dihubungi untuk mengonfirmasi kecocokan dan membedakan positif palsu. Pada umumnya, 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 adalah solusi integrasi Web Risk berdasarkan urutan kompleksitasnya

  1. Menggunakan LookUp API
  2. Memperbarui klien Basic Update API
  3. Memperbarui klien API menggunakan perbedaan
  4. Mengupdate klien API menggunakan diff terkompresi 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 putusan. 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 standar dengan Web Risk, klien akan menerapkan perbedaan database agar tetap mendapatkan informasi 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. Meminta 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 diff 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 mungkin berukuran beberapa megabyte. Solusi ini seharusnya sudah memadai 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 lebih mengurangi bandwidth update. Solusi ini dimaksudkan untuk digunakan oleh pelanggan yang memiliki batasan bandwidth paling ketat. Contoh di mana hal ini mungkin relevan adalah jika kueri Web Risk dibuat ke dalam aplikasi Telepon. Pengguna aplikasi tersebut pasti akan menghargai solusi bandwidth yang lebih rendah jika mereka perlu memperbarui database melalui data ponsel. Untuk mengetahui informasi selengkapnya, lihat Kompresi.