Package google.security.safebrowsing.v4

Indeks

SafeBrowsing

Safe Browsing API memungkinkan klien memeriksa resource web (paling sering URL) berdasarkan daftar resource web tidak aman yang terus diperbarui Google. Safe Browsing API (v4) memiliki Update API dan Lookup API.

API Pembaruan dirancang untuk klien kami yang lebih besar dan menyertakan metode FindFullHashes dan FetchThreatListUpdates . Update API mengharuskan klien mengelola daftar ancaman yang didownload di database lokal.

Pertama, klien mencocokkan dengan daftar lokal mereka untuk menentukan status (aman atau tidak aman) dari resource web tertentu. Biasanya, daftar terdiri dari awalan hash dari ekspresi URL yang ada dalam daftar hitam. Untuk memeriksa URL, klien membuat hash URL tertentu dan memeriksa konflik awalan dalam daftar lokalnya; jika kecocokan awalan ditemukan, klien akan memperoleh hash lengkap yang terkait dengan awalan hash yang cocok melalui metode FindFullHashes . Klien kemudian membandingkan hash lengkap lokal dengan hash lengkap yang ditampilkan; kecocokan menunjukkan bahwa URL tidak aman.

Kedua, klien mendapatkan pembaruan untuk database lokal mereka melalui metode FetchThreatListUpdates , yang mengambil status klien saat ini dan mengembalikan status klien yang diperbarui bersama dengan perubahan yang harus diterapkan klien ke daftar ancaman lokal mereka.

Lookup API dirancang untuk klien kami yang lebih kecil dan memungkinkan mereka mencocokkan resource secara langsung dengan daftar ancaman Safe Browsing melalui metode FindThreatMatches.

Klien yang menggunakan Update API atau Lookup API dapat memperoleh daftar daftar ancaman Safe Browsing yang tersedia untuk didownload melalui metode ListThreatLists.

{-- TRUSTED_THREAT_REPORTER: Klien ancaman tepercaya dapat mengirimkan laporan ke Google untuk dianalisis melalui metode SubmitThreatReport. --}

FetchThreatListUpdates

rpc FetchThreatListUpdates(FetchThreatListUpdatesRequest) returns (FetchThreatListUpdatesResponse)

Mengambil pembaruan daftar ancaman terbaru. Klien dapat meminta pembaruan untuk beberapa daftar sekaligus.

FindFullHashes

rpc FindFullHashes(FindFullHashesRequest) returns (FindFullHashesResponse)

Menemukan hash lengkap yang cocok dengan awalan hash yang diminta.

FindThreatMatches

rpc FindThreatMatches(FindThreatMatchesRequest) returns (FindThreatMatchesResponse)

Menemukan entri ancaman yang cocok dengan daftar Safe Browsing.

ListThreatLists

rpc ListThreatLists(Empty) returns (ListThreatListsResponse)

Mencantumkan daftar ancaman Safe Browsing yang tersedia untuk didownload.

Checksum

Status yang diharapkan dari database lokal klien.

Kolom
sha256

bytes

Hash SHA256 status klien; yaitu, daftar yang diurutkan dari semua hash yang ada dalam database.

ClientInfo

Metadata klien yang terkait dengan permintaan Safe Browsing API.

Kolom
client_id

string

Client ID yang (semoga) secara unik mengidentifikasi implementasi klien Safe Browsing API.

client_version

string

Versi implementasi klien.

CompressionType

Cara kompresi kumpulan entri ancaman.

Enum
COMPRESSION_TYPE_UNSPECIFIED Tidak diketahui.
RAW Data mentah dan tidak dikompresi.
RICE Data yang dienkode Rice-Golomb.

FetchThreatListUpdatesRequest

Menjelaskan permintaan update Safe Browsing API. Klien dapat meminta pembaruan untuk beberapa daftar dalam satu permintaan. Server mungkin tidak merespons semua permintaan, jika server tidak memiliki pembaruan untuk daftar tersebut. CATATAN: Indeks kolom 2 tidak digunakan. BERIKUTNYA: 5

Kolom
client

ClientInfo

Metadata klien.

list_update_requests[]

ListUpdateRequest

Pembaruan daftar ancaman yang diminta.

ListUpdateRequest

Permintaan pembaruan daftar tunggal.

Kolom
threat_type

ThreatType

Jenis ancaman yang ditimbulkan oleh entri yang ada dalam daftar.

platform_type

PlatformType

Jenis platform yang berisiko berdasarkan entri yang ada dalam daftar.

threat_entry_type

ThreatEntryType

Jenis entri yang ada dalam daftar.

state

bytes

Status klien saat ini untuk daftar yang diminta (status klien terenkripsi yang diterima dari pembaruan daftar terakhir yang berhasil).

constraints

Constraints

Batasan yang terkait dengan permintaan ini.

Batasan

Batasan untuk update ini.

Kolom
max_update_entries

int32

Ukuran maksimum dalam jumlah entri. Update tidak akan berisi entri yang melebihi nilai ini. Ini harus berupa kekuatan 2 antara 2**10 dan 2**20. Jika nol, tidak ada batas ukuran update yang ditetapkan.

max_database_entries

int32

Menetapkan jumlah entri maksimum yang bersedia dimiliki klien dalam database lokal untuk daftar yang ditentukan. Ini harus berupa kekuatan 2 antara 2**10 dan 2**20. Jika nol, tidak ada batas ukuran database yang ditetapkan.

region

string

Meminta daftar untuk lokasi geografis tertentu. Jika tidak disetel, server dapat mengambil nilai tersebut berdasarkan alamat IP pengguna. Format ISO 3166-1 alpha-2 diharapkan.

supported_compressions[]

CompressionType

Jenis kompresi yang didukung oleh klien.

language

string

Meminta daftar untuk bahasa tertentu. Format ISO 639 alpha-2 diharapkan.

device_location

string

Lokasi fisik klien, yang dinyatakan sebagai kode wilayah ISO 31166-1 alpha-2.

FetchThreatListUpdatesResponse

Kolom
list_update_responses[]

ListUpdateResponse

Pembaruan daftar yang diminta oleh klien. Jumlah respons di sini mungkin kurang dari jumlah permintaan yang dikirim oleh klien. Hal ini terjadi, misalnya, jika server tidak memiliki pembaruan untuk daftar tertentu.

minimum_wait_duration

Duration

Durasi minimum yang harus ditunggu klien sebelum mengeluarkan permintaan pembaruan apa pun. Jika kolom ini tidak ditetapkan, klien dapat mengupdate segera setelah mereka inginkan.

ListUpdateResponse

Pembaruan pada daftar individual.

Kolom
threat_type

ThreatType

Jenis ancaman yang datanya ditampilkan.

threat_entry_type

ThreatEntryType

Format ancaman.

platform_type

PlatformType

Jenis platform tempat data ditampilkan.

response_type

ResponseType

Jenis respons. Hal ini mungkin menunjukkan bahwa klien perlu melakukan tindakan saat respons diterima.

additions[]

ThreatEntrySet

Kumpulan entri yang akan ditambahkan ke daftar jenis ancaman lokal. Diulang untuk memungkinkan kombinasi data terkompresi dan mentah dikirim dalam satu respons.

removals[]

ThreatEntrySet

Kumpulan entri yang akan dihapus dari daftar jenis ancaman lokal. Dalam praktiknya, kolom ini kosong atau berisi tepat satu ThreatEntrySet.

new_client_state

bytes

Status klien baru, dalam format terenkripsi. Tidak transparan kepada klien.

checksum

Checksum

Hash SHA256 yang diharapkan untuk status klien; yaitu, daftar yang diurutkan dari semua hash yang ada di database setelah menerapkan update yang disediakan. Jika status klien tidak cocok dengan status yang diharapkan, klien harus mengabaikan update ini dan mencobanya lagi nanti.

ResponseType

Jenis respons yang dikirim ke klien.

Enum
RESPONSE_TYPE_UNSPECIFIED Tidak diketahui.
PARTIAL_UPDATE Update sebagian diterapkan ke database lokal klien yang ada.
FULL_UPDATE Update penuh akan menggantikan seluruh database lokal klien. Ini berarti bahwa klien benar-benar sudah ketinggalan zaman atau klien diyakini korup.

FindFullHashesRequest

Permintaan untuk menampilkan hash lengkap yang cocok dengan awalan hash yang disediakan.

Kolom
client

ClientInfo

Metadata klien.

client_states[]

bytes

Status klien saat ini untuk setiap daftar ancaman lokal klien.

threat_info

ThreatInfo

Daftar dan hash yang akan diperiksa.

api_client

ClientInfo

Metadata klien yang terkait dengan pemanggil API tingkat lebih tinggi yang di-build berdasarkan implementasi klien.

FindFullHashesResponse

Kolom
matches[]

ThreatMatch

Hash lengkap yang cocok dengan awalan yang diminta.

minimum_wait_duration

Duration

Durasi minimum yang harus ditunggu klien sebelum mengeluarkan permintaan find hash. Jika kolom ini tidak ditetapkan, klien dapat mengajukan permintaan segera setelah mereka inginkan.

negative_cache_duration

Duration

Untuk entity yang diminta yang tidak cocok dengan daftar ancaman, durasi cache respons.

FindThreatMatchesRequest

Permintaan untuk memeriksa entri terhadap daftar.

Kolom
client

ClientInfo

Metadata klien.

threat_info

ThreatInfo

Daftar dan entri yang akan diperiksa kecocokannya.

FindThreatMatchesResponse

Kolom
matches[]

ThreatMatch

Daftar ancaman cocok.

ListThreatListsResponse

Kolom
threat_lists[]

ThreatListDescriptor

Daftar yang tersedia untuk didownload oleh klien.

PlatformType

Jenis platform.

Enum
PLATFORM_TYPE_UNSPECIFIED Platform tidak diketahui.
WINDOWS Ancaman yang ditimbulkan oleh Windows.
LINUX Ancaman yang ditimbulkan ke Linux.
ANDROID Ancaman yang ditimbulkan oleh Android.
OSX Ancaman yang ditimbulkan oleh OS X.
IOS Ancaman yang ditimbulkan oleh iOS.
ANY_PLATFORM Ancaman yang ditimbulkan oleh setidaknya salah satu platform yang ditentukan.
ALL_PLATFORMS Ancaman yang ditimbulkan ke semua platform yang ditentukan.
CHROME Ancaman yang ditimbulkan ke Chrome.

RawHashes

Entri ancaman yang tidak dikompresi dalam format hash dengan panjang awalan tertentu. Ukuran {i>hash <i}dapat di mana saja dari 4 hingga 32 byte. Sebagian besar berukuran 4 byte, tetapi beberapa hash diperpanjang jika berbenturan dengan hash URL populer.

Digunakan untuk mengirim ThreatEntrySet ke klien yang tidak mendukung kompresi, atau saat mengirim hash non-4 byte ke klien yang mendukung kompresi.

Kolom
prefix_size

int32

Jumlah byte untuk setiap awalan yang dienkode di bawah. Kolom ini dapat berisi mulai dari 4 (awalan terpendek) hingga 32 (hash SHA256 lengkap).

raw_hashes

bytes

Hash, dalam format biner, digabungkan menjadi satu string panjang. {i>Hash<i} diurutkan dalam urutan leksikografis. Untuk pengguna JSON API, hash berenkode base64.

RawIndices

Sekumpulan indeks mentah yang akan dihapus dari daftar lokal.

Kolom
indices[]

int32

Indeks yang akan dihapus dari daftar lokal yang diurutkan secara leksikografis.

RiceDeltaEncoding

Data yang dienkode Rice-Golomb. Digunakan untuk mengirim hash 4 byte yang dikompresi atau indeks penghapusan terkompresi.

Kolom
first_value

int64

Offset entri pertama dalam data yang dienkode, atau, jika hanya satu bilangan bulat yang dienkode, nilai bilangan bulat tunggal tersebut. Jika kolom kosong atau tidak ada, asumsikan nol.

rice_parameter

int32

Parameter Golomb-Rice, yang merupakan angka antara 2 dan 28. Kolom ini tidak ada (yaitu, nol) jika num_entries adalah nol.

num_entries

int32

Jumlah entri yang dienkode secara delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilainya akan menjadi nol dan nilai tunggal akan disimpan di first_value.

encoded_data

bytes

Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice.

ThreatEntry

Ancaman individu; misalnya, URL berbahaya atau representasi hash-nya. Hanya salah satu dari kolom ini yang harus ditetapkan.

Kolom
hash

bytes

Awalan {i>hash<i}, terdiri dari 4-32 byte yang paling signifikan dari {i>hash<i} SHA256. Kolom ini menggunakan format biner. Untuk permintaan JSON, hash berenkode base64.

url

string

URL.

digest

bytes

Ringkasan file yang dapat dieksekusi dalam format SHA256. API ini mendukung ringkasan biner dan heksadesimal. Untuk permintaan JSON, ringkasan berenkode base64.

ThreatEntryMetadata

Metadata yang terkait dengan entri ancaman tertentu. Klien diharapkan mengetahui key-value pair metadata yang terkait dengan setiap jenis ancaman.

Kolom
entries[]

MetadataEntry

Entri metadata.

MetadataEntry

Satu entri metadata.

Kolom
key

bytes

Kunci entri metadata. Untuk permintaan JSON, kuncinya berenkode base64.

value

bytes

Nilai entri metadata. Untuk permintaan JSON, nilainya berenkode base64.

ThreatEntrySet

Serangkaian ancaman yang harus ditambahkan atau dihapus dari database lokal klien.

Kolom
compression_type

CompressionType

Jenis kompresi untuk entri dalam kumpulan ini.

raw_hashes

RawHashes

Entri berformat SHA256 mentah.

raw_indices

RawIndices

Indeks penghapusan mentah untuk daftar lokal.

rice_hashes

RiceDeltaEncoding

Awalan 4 byte yang dienkode dari entri berformat SHA256, menggunakan encoding Golomb-Rice. Hash dikonversi ke uint32, diurutkan dalam urutan menaik, kemudian dienkode delta dan disimpan sebagai encoding_data.

rice_indices

RiceDeltaEncoding

Indeks daftar lokal yang dienkode dan diurutkan secara leksikografis, menggunakan encoding Golomb-Rice. Digunakan untuk mengirim indeks penghapusan terkompresi. Indeks penghapusan (uint32) diurutkan dalam urutan menaik, kemudian dienkode delta dan disimpan sebagai encoding_data.

ThreatEntryType

Jenis entri yang menimbulkan ancaman. Daftar ancaman adalah kumpulan entri dari satu jenis.

Enum
THREAT_ENTRY_TYPE_UNSPECIFIED Tidak ditentukan.
URL URL.
EXECUTABLE Program yang dapat dieksekusi.

ThreatInfo

Informasi mengenai satu atau beberapa ancaman yang dikirimkan klien saat memeriksa kecocokan dalam daftar ancaman.

Kolom
threat_types[]

ThreatType

Jenis ancaman yang akan diperiksa.

platform_types[]

PlatformType

Jenis platform yang akan diperiksa.

threat_entry_types[]

ThreatEntryType

Jenis entri yang akan diperiksa.

threat_entries[]

ThreatEntry

Entri ancaman yang akan diperiksa.

ThreatListDescriptor

Menjelaskan daftar ancaman individual. Daftar ditentukan oleh tiga parameter: jenis ancaman yang ditimbulkan, jenis platform yang ditargetkan oleh ancaman, dan jenis entri dalam daftar.

Kolom
threat_type

ThreatType

Jenis ancaman yang ditimbulkan oleh entri daftar.

platform_type

PlatformType

Jenis platform yang ditargetkan oleh entri daftar.

threat_entry_type

ThreatEntryType

Jenis entri yang terdapat dalam daftar.

ThreatMatch

Kecocokan saat memeriksa entri ancaman di daftar ancaman Safe Browsing.

Kolom
threat_type

ThreatType

Jenis ancaman yang cocok dengan ancaman ini.

platform_type

PlatformType

Jenis platform yang cocok dengan ancaman ini.

threat_entry_type

ThreatEntryType

Jenis entri ancaman yang cocok dengan ancaman ini.

threat

ThreatEntry

Ancaman yang cocok dengan ancaman ini.

threat_entry_metadata

ThreatEntryMetadata

Metadata opsional yang terkait dengan ancaman ini.

cache_duration

Duration

Masa aktif cache untuk pencocokan yang ditampilkan. Klien tidak boleh meng-cache respons ini selama lebih dari durasi ini untuk menghindari positif palsu.

ThreatType

Jenis ancaman.

Enum
THREAT_TYPE_UNSPECIFIED Tidak diketahui.
MALWARE Jenis ancaman malware.
SOCIAL_ENGINEERING Jenis ancaman manipulasi psikologis.
UNWANTED_SOFTWARE Jenis ancaman software yang tidak diinginkan.
POTENTIALLY_HARMFUL_APPLICATION Jenis ancaman aplikasi yang berpotensi berbahaya.