Package google.security.safebrowsing.v4

Indeks

SafeBrowsing

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

Update API 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 lokalnya untuk menentukan status (aman atau tidak aman) resource web tertentu. Umumnya, daftar terdiri dari awalan hash ekspresi URL yang ada dalam daftar hitam. Untuk memeriksa URL, klien membuat hash URL tertentu dan memeriksa konflik awalan di daftar lokalnya; jika kecocokan awalan ditemukan, klien akan mendapatkan 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 update ke database lokal mereka melalui metode FetchThreatListUpdates , yang mengambil status klien saat ini dan menampilkan status klien yang diperbarui beserta 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 update 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 dari status klien; yaitu, dari daftar yang diurutkan dari semua hash yang ada di 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 set entri ancaman dapat dikompresi.

Enum
COMPRESSION_TYPE_UNSPECIFIED Tak diketahui.
RAW Data mentah yang 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 update untuk daftar tersebut. CATATAN: Indeks kolom 2 tidak digunakan. BERIKUTNYA: 5

Kolom
client

ClientInfo

Metadata klien.

list_update_requests[]

ListUpdateRequest

Update daftar ancaman yang diminta.

ListUpdateRequest

Satu permintaan pembaruan daftar.

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. Pembaruan tidak akan berisi lebih banyak entri daripada nilai ini. Nilai ini harus merupakan pangkat 2 antara 2**10 dan 2**20. Jika nol, tidak ada batas ukuran update yang ditetapkan.

max_database_entries

int32

Menetapkan jumlah maksimum entri yang ingin dimiliki klien di database lokal untuk daftar yang ditentukan. Nilai ini harus merupakan pangkat 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 ditetapkan, server dapat memilih nilai tersebut berdasarkan alamat IP pengguna. Mengharapkan format ISO 3166-1 alpha-2.

supported_compressions[]

CompressionType

Jenis kompresi yang didukung oleh klien.

language

string

Meminta daftar untuk bahasa tertentu. Mengharapkan format ISO 639 alpha-2.

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. Misalnya, hal ini terjadi jika server tidak memiliki pembaruan untuk daftar tertentu.

minimum_wait_duration

Duration

Durasi minimum yang harus ditunggu klien sebelum mengeluarkan permintaan update apa pun. Jika kolom ini tidak ditetapkan, klien dapat melakukan update sesegera mungkin.

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 dapat menunjukkan bahwa klien memerlukan 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. Buram bagi klien.

checksum

Checksum

Hash SHA256 yang diharapkan dari status klien; yaitu, dari daftar yang diurutkan dari semua hash yang ada di database setelah menerapkan update yang diberikan. Jika status klien tidak sesuai dengan status yang diharapkan, klien harus mengabaikan pembaruan ini dan mencoba lagi nanti.

ResponseType

Jenis respons yang dikirim ke klien.

Enum
RESPONSE_TYPE_UNSPECIFIED Tak diketahui.
PARTIAL_UPDATE Update parsial diterapkan ke database lokal klien yang ada.
FULL_UPDATE Update penuh akan mengganti seluruh database lokal klien. Artinya, klien sudah sangat usang atau klien diyakini rusak.

FindFullHashesRequest

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

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 tinggi yang dibuat di atas 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 hash temukan. Jika kolom ini tidak ditetapkan, klien dapat mengeluarkan permintaan sesegera mungkin.

negative_cache_duration

Duration

Untuk entity yang diminta yang tidak cocok dengan daftar ancaman, berapa lama respons akan di-cache.

FindThreatMatchesRequest

Permintaan untuk memeriksa entri berdasarkan 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 terhadap Windows.
LINUX Ancaman yang ditimbulkan terhadap Linux.
ANDROID Ancaman yang ditimbulkan terhadap Android.
OSX Ancaman yang ditimbulkan terhadap OS X.
IOS Ancaman yang ditimbulkan terhadap iOS.
ANY_PLATFORM Ancaman yang ditimbulkan terhadap setidaknya satu platform yang ditentukan.
ALL_PLATFORMS Ancaman yang ditimbulkan ke semua platform yang ditentukan.
CHROME Ancaman yang ditimbulkan terhadap Chrome.

RawHashes

Entri ancaman yang tidak dikompresi dalam format hash dengan panjang awalan tertentu. Hash dapat berukuran antara 4 hingga 32 byte. Sebagian besar berukuran 4 byte, tetapi beberapa hash diperpanjang jika bertabrakan 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 berupa 4 (awalan terpendek) hingga 32 (hash SHA256 lengkap).

raw_hashes

bytes

Hash, dalam format biner, digabungkan menjadi satu string panjang. Hash diurutkan dalam urutan leksikografis. Untuk pengguna JSON API, hash dienkode base64.

RawIndices

Kumpulan 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 yang dikompresi.

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 delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilai ini akan nol dan nilai tunggal akan disimpan di first_value.

encoded_data

bytes

Delta yang dienkode yang dienkode menggunakan coder Golomb-Rice.

ThreatEntry

Ancaman individual; misalnya, URL berbahaya atau representasi hash-nya. Hanya salah satu kolom ini yang boleh ditetapkan.

Kolom
hash

bytes

Awalan hash, yang terdiri dari 4-32 byte paling signifikan dari hash SHA256. Kolom ini dalam format biner. Untuk permintaan JSON, hash dienkode base64.

url

string

URL.

digest

bytes

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

ThreatEntryMetadata

Metadata yang terkait dengan entri ancaman tertentu. Klien diharapkan mengetahui pasangan nilai kunci 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 dienkode base64.

value

bytes

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

ThreatEntrySet

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

Kolom
compression_type

CompressionType

Jenis kompresi untuk entri dalam set ini.

raw_hashes

RawHashes

Entri mentah berformat SHA256.

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 menjadi uint32, diurutkan dalam urutan menaik, lalu delta dienkode dan disimpan sebagai encoded_data.

rice_indices

RiceDeltaEncoding

Indeks daftar lokal yang dienkode dan diurutkan secara leksikografis, menggunakan encoding Golomb-Rice. Digunakan untuk mengirim indeks penghapusan yang dikompresi. Indeks penghapusan (uint32) diurutkan dalam urutan menaik, lalu delta dienkode dan disimpan sebagai encoded_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 terkait 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 berlaku cache untuk kecocokan yang ditampilkan. Klien tidak boleh meng-cache respons ini lebih dari durasi ini untuk menghindari positif palsu.

ThreatType

Jenis ancaman.

Enum
THREAT_TYPE_UNSPECIFIED Tak 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 membahayakan.