Indeks
SafeBrowsing
(interfejs)Checksum
(komunikat)ClientInfo
(komunikat)CompressionType
(wyliczenie)FetchThreatListUpdatesRequest
(komunikat)FetchThreatListUpdatesRequest.ListUpdateRequest
(komunikat)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(komunikat)FetchThreatListUpdatesResponse
(komunikat)FetchThreatListUpdatesResponse.ListUpdateResponse
(komunikat)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(wyliczenie)FindFullHashesRequest
(komunikat)FindFullHashesResponse
(komunikat)FindThreatMatchesRequest
(komunikat)FindThreatMatchesResponse
(komunikat)ListThreatListsResponse
(komunikat)PlatformType
(wyliczenie)RawHashes
(komunikat)RawIndices
(komunikat)RiceDeltaEncoding
(komunikat)ThreatEntry
(komunikat)ThreatEntryMetadata
(komunikat)ThreatEntryMetadata.MetadataEntry
(komunikat)ThreatEntrySet
(komunikat)ThreatEntryType
(wyliczenie)ThreatInfo
(komunikat)ThreatListDescriptor
(komunikat)ThreatMatch
(komunikat)ThreatType
(wyliczenie)
SafeBrowsing
Interfejsy API Bezpiecznego przeglądania umożliwiają klientom sprawdzanie zasobów internetowych (najczęściej adresów URL) na stale aktualizowanych przez Google listach niebezpiecznych zasobów internetowych. Interfejsy API bezpiecznego przeglądania (wersja 4) obejmują interfejs Update API i interfejs Lookup API.
Interfejs Update API jest przeznaczony dla większych klientów i obsługuje metody FindFullHashes oraz FetchThreatListUpdates . Interfejs Update API wymaga, aby klienci przechowywali pobrane listy zagrożeń w lokalnej bazie danych.
Najpierw klienci porównują dane z lokalnymi listami, aby określić stan (bezpieczny lub niebezpieczny) danego zasobu internetowego. Najczęściej listy zawierają prefiksy haszowania wyrażeń adresów URL z czarnej listy. Aby sprawdzić adres URL, klienci generują łańcuchy haszowania danego adresu URL i sprawdzają, czy nie ma kolizji prefiksów na swoich listach lokalnych. Jeśli zostanie znalezione dopasowanie prefiksu, klient uzyskuje pełne łańcuchy haszowania powiązane z dopasowanym prefiksem za pomocą metody FindFullHashes. Następnie klient porównuje lokalny pełny hasz z zwróconymi pełnymi haszami; dopasowanie wskazuje, że adres URL jest niebezpieczny.
Po drugie, klienci uzyskują aktualizacje swoich baz danych lokalnych za pomocą metody FetchThreatListUpdates, która pobiera bieżący stan klienta i zwraca zaktualizowany stan klienta wraz ze zmianami, które klient powinien zastosować do swoich lokalnych list zagrożeń.
Interfejs Lookup API jest przeznaczony dla mniejszych klientów i pozwala im dopasowywać zasoby bezpośrednio do list zagrożeń Safe Browsing za pomocą metody FindThreatMatches.
Klienci korzystający z interfejsu Update API lub Lookup API mogą uzyskać listę list zagrożeń Safe Browsing do pobrania za pomocą metody ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: Trusted threat clients can submit reports to Google for analysis via the SubmitThreatReport method. --}
FetchThreatListUpdates |
---|
Pobiera najnowsze aktualizacje listy zagrożeń. Klient może poprosić o aktualizację wielu list naraz. |
FindFullHashes |
---|
Znajduje pełne hashe, które pasują do żądanych prefiksów haszy. |
FindThreatMatches |
---|
Znajduje wpisy zagrożeń pasujące do list Bezpiecznego przeglądania. |
ListThreatLists |
---|
Lista list zagrożeń Bezpiecznego przeglądania dostępnych do pobrania. |
Suma kontrolna
Oczekiwany stan lokalnej bazy danych klienta.
Pola | |
---|---|
sha256 |
Skrót SHA256 stanu klienta, czyli posortowanej listy wszystkich skrótów obecnych w bazie danych. |
ClientInfo
Metadane klienta powiązane z żądaniami interfejsu API Bezpiecznego przeglądania.
Pola | |
---|---|
client_id |
Identyfikator klienta, który (miejmy nadzieję) jednoznacznie identyfikuje implementację interfejsu Safe Browsing API. |
client_version |
Wersja implementacji klienta. |
CompressionType
Sposoby kompresowania zestawów wpisów dotyczących zagrożeń.
Wartości w polu enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Nieznany. |
RAW |
Nieprzetworzone, nieskompresowane dane. |
RICE |
Dane zakodowane algorytmem Rice-Golomb. |
FetchThreatListUpdatesRequest
Opisuje żądanie aktualizacji interfejsu API Bezpiecznego przeglądania. Klienci mogą poprosić o aktualizację wielu list w jednym żądaniu. Serwer może nie odpowiadać na niektóre żądania, jeśli nie ma żadnych aktualizacji dotyczących tej listy. UWAGA: indeks pola 2 nie jest używany. DALEJ: 5
Pola | |
---|---|
client |
Metadane klienta. |
list_update_requests[] |
Zaktualizowana lista zagrożeń. |
ListUpdateRequest
jedna prośba o zaktualizowanie listy.
Pola | |
---|---|
threat_type |
Rodzaj zagrożenia związanego z wpisami na liście. |
platform_type |
Typ platformy, która jest zagrożona, według wpisów na liście. |
threat_entry_type |
Typy wpisów na liście. |
state |
bieżący stan klienta na żądanej liście (zaszyfrowany stan klienta otrzymany z ostatniej pomyślnej aktualizacji listy). |
constraints |
Ograniczenia związane z tą prośbą. |
Ograniczenia
Ograniczenia tej aktualizacji.
Pola | |
---|---|
max_update_entries |
Maksymalny rozmiar pod względem liczby wpisów. Aktualizacja nie będzie zawierać większej liczby pozycji niż ta wartość. Powinien być potęgą 2 mieszczącą się w zakresie od 2**10 do 2**20. Jeśli wartość wynosi 0, nie jest ustawiony limit rozmiaru aktualizacji. |
max_database_entries |
Określa maksymalną liczbę wpisów, które klient chce mieć w bazie danych lokalnej dla określonej listy. Powinien być potęgą 2 mieszczącą się w zakresie od 2**10 do 2**20. Jeśli wartość wynosi 0, nie jest ustawiony limit rozmiaru bazy danych. |
region |
Wymaga listy dla określonej lokalizacji geograficznej. Jeśli nie jest ustawiony, serwer może wybrać tę wartość na podstawie adresu IP użytkownika. Oczekiwany jest format ISO 3166-1 alfa-2. |
supported_compressions[] |
Typy kompresji obsługiwane przez klienta. |
language |
Wymaga listy dla konkretnego języka. Oczekiwany jest format ISO 639 alfa-2. |
device_location |
Fizyczna lokalizacja klienta wyrażona jako kod regionu w formacie ISO 3166-1 alfa-2. |
FetchThreatListUpdatesResponse
Pola | |
---|---|
list_update_responses[] |
Lista jest aktualizowana zgodnie z prośbami klientów. Liczba odpowiedzi może być mniejsza niż liczba żądań wysłanych przez klientów. Dzieje się tak na przykład, gdy na serwerze nie ma żadnych aktualizacji dotyczących danej listy. |
minimum_wait_duration |
Minimalny czas, przez jaki klient musi czekać, zanim prześle żądanie aktualizacji. Jeśli to pole nie jest ustawione, klienci mogą aktualizować aplikację w dowolnym momencie. |
ListUpdateResponse
aktualizacja pojedynczej listy.
Pola | |
---|---|
threat_type |
Typ zagrożenia, którego dane są zwracane. |
threat_entry_type |
Format gróźb. |
platform_type |
Typ platformy, dla której zwracane są dane. |
response_type |
Typ odpowiedzi. Może to oznaczać, że po otrzymaniu odpowiedzi klient musi podjąć określone działanie. |
additions[] |
Zestaw wpisów do dodania do listy lokalnego typu zagrożenia. Powtarzane, aby umożliwić wysyłanie w jednej odpowiedzi kombinacji skompresowanych i nieprzetworzonych danych. |
removals[] |
Zestaw wpisów do usunięcia z listy lokalnego typu zagrożenia. W praktyce to pole jest puste lub zawiera dokładnie jeden zestaw wpisów o zagrożeniach. |
new_client_state |
Nowy stan klienta w zaszyfrowanym formacie. Niewidoczne dla klientów. |
checksum |
Oczekiwany skrót SHA256 stanu klienta, czyli posortowana lista wszystkich skrótów obecnych w bazie danych po zastosowaniu dostarczonej aktualizacji. Jeśli stan klienta nie odpowiada oczekiwanemu stanowi, klient musi zignorować tę aktualizację i spróbować ponownie później. |
ResponseType
Typ odpowiedzi wysłanej do klienta.
Wartości w polu enum | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Nieznany. |
PARTIAL_UPDATE |
Częściowe aktualizacje są stosowane do istniejącej bazy danych klienta. |
FULL_UPDATE |
Pełne aktualizacje zastępują całą lokalną bazę danych klienta. Oznacza to, że klient był bardzo przestarzały lub uszkodzony. |
FindFullHashesRequest
Żądanie zwrócenia pełnych haszy dopasowanych do podanych prefiksów.
Pola | |
---|---|
client |
Metadane klienta. |
client_states[] |
Obecne stany klienta dla każdej z lokalnych list zagrożeń klienta. |
threat_info |
listy i łańcuchy haszowe do sprawdzenia. |
api_client |
Metadane klienta powiązane z wywoływającymi interfejsami API wyższego poziomu, które zostały stworzone na podstawie implementacji klienta. |
FindFullHashesResponse
Pola | |
---|---|
matches[] |
Całkowite wartości haszujące, które pasują do żądanych prefiksów. |
minimum_wait_duration |
Minimalny czas, przez jaki klient musi czekać, zanim wyśle żądanie znajdowania haszy. Jeśli to pole nie jest ustawione, klienci mogą wysyłać żądania w dowolnym momencie. |
negative_cache_duration |
W przypadku żądanych elementów, które nie pasują do listy zagrożeń, czas przechowywania odpowiedzi w pamięci podręcznej. |
FindThreatMatchesRequest
Prośba o sprawdzenie wpisów na liście.
Pola | |
---|---|
client |
Metadane klienta. |
threat_info |
listy i wpisy, które mają być sprawdzane pod kątem dopasowań; |
FindThreatMatchesResponse
Pola | |
---|---|
matches[] |
Lista zagrożeń jest taka sama. |
ListThreatListsResponse
Pola | |
---|---|
threat_lists[] |
listy dostępne do pobrania przez klienta. |
PlatformType
Typy platform
Wartości w polu enum | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
Nieznana platforma. |
WINDOWS |
Zagrożenie dla systemu Windows. |
LINUX |
Zagrożenie dla Linuksa. |
ANDROID |
Zagrożenie dla Androida. |
OSX |
Zagrożenie dla systemu operacyjnego OS X. |
IOS |
Zagrożenie dla iOS. |
ANY_PLATFORM |
Zagrożenie dla co najmniej jednej z zdefiniowanych platform. |
ALL_PLATFORMS |
Zagrożenie dla wszystkich zdefiniowanych platform. |
CHROME |
Zagrożenie dla Chrome. |
RawHashes
Nieskompresowane wpisy zagrożeń w formacie hasz o określonej długości prefiksu. Rozmiar hasha może wynosić od 4 do 32 bajtów. Większość z nich to 4 bajty, ale niektóre hashe są dłuższe, jeśli kolidują z hashem popularnego adresu URL.
Służy do wysyłania zestawu ThreatEntry do klientów, którzy nie obsługują kompresji, lub do wysyłania haszy niebędących 4-bajtowymi haszami do klientów, którzy obsługują kompresję.
Pola | |
---|---|
prefix_size |
Liczba bajtów dla każdego zaszyfrowanego poniżej prefiksu. To pole może zawierać od 4 (najkrótszy prefiks) do 32 znaków (pełny ciąg znaków SHA256). |
raw_hashes |
hashy w formacie binarnym połączone w jeden długi ciąg znaków; Hasze są sortowane w kolejności alfabetycznej. W przypadku użytkowników interfejsu JSON API szyfry są kodowane w formacie Base64. |
RawIndices
Zestaw indeksów surowych do usunięcia z listy lokalnej.
Pola | |
---|---|
indices[] |
Indeksy do usunięcia z posortowanej alfabetycznie listy lokalnej. |
RiceDeltaEncoding
Dane zakodowane algorytmem Rice-Golomb. Służy do wysyłania skompresowanych haszy 4-bajtowych lub skompresowanych indeksów usuwania.
Pola | |
---|---|
first_value |
Odsunięcie pierwszego wpisu w zakodowanych danych lub, jeśli zakodowano tylko jedną liczbę całkowitą, jej wartość. Jeśli pole jest puste lub nie można go odnaleźć, przyjmuje się wartość 0. |
rice_parameter |
parametr Golomb-Rice, który jest liczbą z zakresu od 2 do 28; To pole jest puste (czyli ma wartość 0), jeśli |
num_entries |
Liczba wpisów zakodowanych w danych zakodowanych za pomocą kodowania delty. Jeśli zakodowana została tylko jedna liczba całkowita, będzie ona równa 0, a jedyna wartość zostanie zapisana w polu |
encoded_data |
zakodowane delty, które są kodowane za pomocą kodera Golomb-Rice; |
ThreatEntry
pojedyncza groźba, np. złośliwy adres URL lub jego reprezentacja w postaci hasha; Należy ustawić tylko jedno z tych pól.
Pola | |
---|---|
hash |
Prefiks skrótu, który składa się z 4–32 najbardziej znaczących bajtów identyfikatora SHA-256. To pole ma format binarny. W przypadku żądań JSON hasze są kodowane w formacie Base64. |
url |
adres URL, |
digest |
Skrót pliku wykonywalnego w formacie SHA256. Interfejs API obsługuje zarówno sumę kontrolną w postaci binarnej, jak i szesnastkowej. W przypadku żądań JSON skróty są kodowane w formacie Base64. |
ThreatEntryMetadata
Metadane powiązane z konkretnym wpisem dotyczącym zagrożenia. Klient powinien znać pary klucz/wartość metadanych powiązane z każdym typem zagrożenia.
Pola | |
---|---|
entries[] |
Wpisy metadanych. |
MetadataEntry
pojedynczy wpis metadanych;
Pola | |
---|---|
key |
Klucz wpisu metadanych. W przypadku żądań JSON klucz jest kodowany w formacie Base64. |
value |
Wartość wpisu metadanych. W przypadku żądań JSON wartość jest kodowana w formacie Base64. |
ThreatEntrySet
Zestaw zagrożeń, które należy dodać do bazy danych klienta lub z niej usunąć.
Pola | |
---|---|
compression_type |
Typ kompresji wpisów w tym zbiorze. |
raw_hashes |
Nieprzetworzone wpisy w formacie SHA256. |
raw_indices |
Surowe indeksy usunięcia dla listy lokalnej. |
rice_hashes |
Zakodowane 4-bajtowe prefiksy wpisów w formacie SHA256 za pomocą kodowania Golomb-Rice. Hasze są konwertowane na uint32, sortowane w kolejności rosnącej, a następnie kodowane delta i zapisywane jako encoded_data. |
rice_indices |
Zakodowane lokalne indeksy list posortowane leksykograficznie za pomocą kodowania Golomb-Rice. Służy do wysyłania skompresowanych indeksów usuwania. Indeksy usuwania (uint32) są sortowane w kolejności rosnącej, a następnie kodowane i przechowywane jako zakodowane_dane. |
ThreatEntryType
Typy wpisów, które stanowią zagrożenie. Listy zagrożeń to zbiory wpisów jednego typu.
Wartości w polu enum | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
Nie określono. |
URL |
adres URL, |
EXECUTABLE |
Plik wykonywalny. |
ThreatInfo
Informacje o co najmniej 1 zagrożeniu, które klient przesyła podczas sprawdzania dopasowań na listach zagrożeń.
Pola | |
---|---|
threat_types[] |
Typy zagrożeń do sprawdzenia. |
platform_types[] |
Typy platform, które mają być sprawdzane. |
threat_entry_types[] |
Typy wpisów do sprawdzenia. |
threat_entries[] |
Wpisy zagrożeń do sprawdzenia. |
ThreatListDescriptor
Opis pojedynczej listy zagrożeń. Lista jest definiowana przez 3 parametry: typ zagrożenia, typ platformy, na której występuje zagrożenie, oraz typ wpisów na liście.
Pola | |
---|---|
threat_type |
Typ zagrożenia związanego z elementami na liście. |
platform_type |
Typ platformy objętej kierowaniem przez wpisy na liście. |
threat_entry_type |
Typy wpisów na liście. |
ThreatMatch
Dopasowanie podczas sprawdzania wpisu zagrożenia na listach zagrożeń Bezpiecznego przeglądania.
Pola | |
---|---|
threat_type |
Typ zagrożenia pasujący do tego zagrożenia. |
platform_type |
Typ platformy pasujący do tego zagrożenia. |
threat_entry_type |
Typ wpisu o zagrożeniu odpowiadający temu zagrożeniu. |
threat |
Zagrożenie pasujące do tego zagrożenia. |
threat_entry_metadata |
Opcjonalne metadane powiązane z tym zagrożeniem. |
cache_duration |
Czas przechowywania w pamięci podręcznej zwróconego dopasowania. Aby uniknąć wyników fałszywie dodatnich, klienci nie mogą przechowywać w pamięci podręcznej tej odpowiedzi przez dłuższy czas. |
ThreatType
Rodzaje zagrożeń
Wartości w polu enum | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Nieznany. |
MALWARE |
Typ zagrożenia związanego ze złośliwym oprogramowaniem. |
SOCIAL_ENGINEERING |
Typ zagrożenia związanego z inżynierią społeczną. |
UNWANTED_SOFTWARE |
Typ zagrożenia związanego z niechcianym oprogramowaniem. |
POTENTIALLY_HARMFUL_APPLICATION |
Typ zagrożenia związanego z potencjalnie szkodliwą aplikacją. |