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) pod kątem stale aktualizowanych przez Google list niebezpiecznych zasobów internetowych. Interfejsy API Bezpiecznego przeglądania (wersja 4) obejmują interfejsy Update API i Lookup API.
Interfejs Update API jest przeznaczony dla naszych większych klientów i zawiera metody FindFullHashes i FetchThreatListUpdates . Interfejs Update API wymaga, aby klienty utrzymywały pobrane listy zagrożeń w lokalnej bazie danych.
Po pierwsze, klient sprawdza zgodność z lokalnymi listami w celu określenia stanu (bezpiecznego lub niebezpiecznego) danego zasobu internetowego. Listy najczęściej składają się z prefiksów haszujących wyrażeń URL znajdujących się na czarnej liście. Aby sprawdzić adres URL, klient generuje hasze danego adresu URL i sprawdza na listach lokalnych pod kątem kolizji prefiksów. Jeśli klient znajdzie dopasowanie prefiksu, za pomocą metody FindFullHashes pobiera pełne wartości hash powiązane z dopasowanym prefiksem skrótu. Następnie klient porównuje lokalny pełny hasz ze zwróconymi pełnymi haszami. Dopasowanie wskazuje, że adres URL jest niebezpieczny.
Po drugie, klient uzyskuje aktualizacje lokalnych baz danych 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 bezpośrednio dopasowywać zasoby do list zagrożeń Bezpiecznego przeglądania za pomocą metody FindThreatMatch.
Klienty używające interfejsu Update API lub Lookup API mogą uzyskać listę list zagrożeń Bezpiecznego przeglądania dostępnych do pobrania za pomocą metody ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: Zaufani klienci ds. zagrożeń mogą przesyłać do Google raporty do analizy, korzystając z metody SubmitThreatReport. --}
FetchThreatListUpdates |
---|
Pobiera najnowsze aktualizacje listy zagrożeń. Klient może poprosić o aktualizacje wielu list jednocześnie. |
FindFullHashes |
---|
Znajduje pełne wartości hash pasujące do żądanych prefiksów skrótów. |
FindThreatMatches |
---|
Znajduje wpisy o zagrożeniach pasujące do list Bezpiecznego przeglądania. |
ListThreatLists |
---|
Wyświetla listy zagrożeń Bezpiecznego przeglądania dostępne do pobrania. |
Suma kontrolna
Oczekiwany stan lokalnej bazy danych klienta.
Pola | |
---|---|
sha256 |
Skrót SHA256 stanu klienta; czyli posortowana lista wszystkich skrótów dostępnych w bazie danych. |
ClientInfo
Metadane klienta powiązane z żądaniami do interfejsu Bezpieczne przeglądanie.
Pola | |
---|---|
client_id |
Identyfikator klienta, który (mam nadzieję) jednoznacznie identyfikuje implementację klienta interfejsu Bezpieczne przeglądanie. |
client_version |
Wersja implementacji klienta. |
CompressionType
Sposoby kompresowania zbiorów wpisów zagrożeń.
Wartości w polu enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Nieznany. |
RAW |
Nieprzetworzone, nieskompresowane dane. |
RICE |
Dane zakodowane w postaci ryżu i golomba. |
FetchThreatListUpdatesRequest
Opisuje żądanie aktualizacji interfejsu API Bezpiecznego przeglądania. Klienci mogą poprosić o aktualizacje wielu list w pojedynczym żądaniu. Serwer może nie odpowiadać na wszystkie żądania, jeśli lista nie jest aktualizowana. UWAGA: pole indeksu 2 nie jest używane. DALEJ: 5
Pola | |
---|---|
client |
Metadane klienta. |
list_update_requests[] |
Żądana lista zagrożeń zostanie zaktualizowana. |
ListUpdateRequest
Jedno żądanie aktualizacji listy.
Pola | |
---|---|
threat_type |
Rodzaj zagrożenia, jakie stwarzają wpisy na liście. |
platform_type |
Typ platformy zagrożonej 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 po ostatniej udanej aktualizacji listy). |
constraints |
Ograniczenia powiązane z tym żądaniem. |
Ograniczenia
Ograniczenia związane z tą aktualizacją.
Pola | |
---|---|
max_update_entries |
Maksymalny rozmiar w liczbie wpisów. Aktualizacja nie będzie zawierać więcej pozycji niż ta wartość. Powinna to być potęga 2 z zakresu od 2**10 do 2**20. Jeśli wartość wynosi 0, limit rozmiaru aktualizacji nie jest ustawiony. |
max_database_entries |
Określa maksymalną liczbę wpisów, które klient może mieć w lokalnej bazie danych na potrzeby określonej listy. Powinna to być potęga 2 z zakresu od 2**10 do 2**20. Wartość 0 nie powoduje ustawienia limitu rozmiaru bazy danych. |
region |
Wysyła żądanie wyświetlenia listy dla określonej lokalizacji geograficznej. Jeśli zasada jest nieskonfigurowana, serwer może wybierać 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 |
Wysyła żądanie wyświetlenia list dla określonego języka. Oczekiwany jest format ISO 639 alfa-2. |
device_location |
Fizyczna lokalizacja klienta, wyrażona jako kod regionu zgodny ze standardem ISO 31166-1 alfa-2. |
FetchThreatListUpdatesResponse
Pola | |
---|---|
list_update_responses[] |
Aktualizacje listy żądane przez klientów. Liczba odpowiedzi może być mniejsza od liczby żądań wysłanych przez klientów. Dzieje się tak na przykład wtedy, gdy na serwerze nie ma aktualizacji konkretnej listy. |
minimum_wait_duration |
Minimalny czas, przez jaki klient musi czekać przed wysłaniem żądania aktualizacji. Jeśli to pole nie jest skonfigurowane, klienci mogą aktualizować dane tak szybko, jak chcą. |
ListUpdateResponse
Aktualizacja pojedynczej listy.
Pola | |
---|---|
threat_type |
Typ zagrożenia, w przypadku którego zwracane są dane. |
threat_entry_type |
Format zagrożeń. |
platform_type |
Typ platformy, w przypadku której zwracane są dane. |
response_type |
Typ odpowiedzi. Może to oznaczać, że po otrzymaniu odpowiedzi klient musi podjąć działanie. |
additions[] |
Zestaw wpisów, które należy dodać do listy lokalnego typu zagrożeń. Powtarzanie tych czynności, aby umożliwić wysłanie kombinacji skompresowanych i nieprzetworzonych danych w ramach jednej odpowiedzi. |
removals[] |
Zestaw wpisów do usunięcia z listy lokalnego typu zagrożeń. W praktyce to pole jest puste lub zawiera dokładnie jeden ThreatEntrySet. |
new_client_state |
Nowy stan klienta w formacie zaszyfrowany. Nieprzezroczyste dla klientów. |
checksum |
Oczekiwany hasz SHA256 stanu klienta; jest to posortowana lista wszystkich haszów obecnych w bazie danych po zastosowaniu podanej aktualizacji. Jeśli stan klienta nie jest zgodny z oczekiwanym, 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 lokalnej bazy danych klienta. |
FULL_UPDATE |
Pełne aktualizacje zastępują całą lokalną bazę danych klienta. Oznacza to, że klient był przestarzały lub prawdopodobnie jest uszkodzony. |
FindFullHashesRequest
Żądanie zwracania pełnych wartości hash dopasowanych przez podane prefiksy skrótów.
Pola | |
---|---|
client |
Metadane klienta. |
client_states[] |
Bieżący stan klienta dla każdej lokalnej listy zagrożeń klienta. |
threat_info |
Listy i hasze do sprawdzenia. |
api_client |
Metadane klienta powiązane z elementami wywołującymi interfejsy API wyższego poziomu tworzone na podstawie implementacji klienta. |
FindFullHashesResponse
Pola | |
---|---|
matches[] |
Pełne hasze pasujące do żądanych prefiksów. |
minimum_wait_duration |
Minimalny czas, przez jaki klient musi czekać przed wysłaniem jakichkolwiek żądań haszów znajdowania. Jeśli to pole nie jest skonfigurowane, klienci mogą wysyłać żądania tak szybko, jak chcą. |
negative_cache_duration |
Czas przechowywania odpowiedzi w pamięci podręcznej w przypadku żądanych encji, które nie pasowały do listy zagrożeń. |
FindThreatMatchesRequest
Żądanie sprawdzenia wpisów względem list.
Pola | |
---|---|
client |
Metadane klienta. |
threat_info |
Listy i wpisy pod kątem zgodności. |
FindThreatMatchesResponse
Pola | |
---|---|
matches[] |
Lista zagrożeń jest jednakowa. |
ListThreatListsResponse
Pola | |
---|---|
threat_lists[] |
Listy dostępne do pobrania dla klienta. |
PlatformType
Typy platform.
Wartości w polu enum | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
Nieznana platforma. |
WINDOWS |
Zagrożenie dla systemu Windows. |
LINUX |
Zagrożenie dla systemu Linux. |
ANDROID |
Zagrożenie dla Androida. |
OSX |
Zagrożenie dla systemu OS X. |
IOS |
Zagrożenie dla systemu iOS. |
ANY_PLATFORM |
Zagrożenie dla co najmniej 1 ze zdefiniowanych platform. |
ALL_PLATFORMS |
Zagrożenie dla wszystkich zdefiniowanych platform. |
CHROME |
Zagrożenie dla Chrome. |
RawHashes
Nieskompresowane wpisy zagrożenia w formacie skrótu o określonej długości prefiksu. Hasze mogą mieć od 4 do 32 bajtów. Znaczna większość ma 4 bajty, ale niektóre hasze są dłuższe, jeśli zderzą się z hashtagiem popularnego adresu URL.
Służy do wysyłania ThreatEntrySet do klientów, które nie obsługują kompresji, lub do wysyłania skrótów nie4-bajtowych do klientów, które obsługują kompresję.
Pola | |
---|---|
prefix_size |
Liczba bajtów dla każdego prefiksu zakodowanego poniżej. Pole może zawierać dowolną z wartości od 4 (najkrótszy prefiks) do 32 (pełny hasz SHA256). |
raw_hashes |
Skróty w formacie binarnym są połączone w jeden długi ciąg. Hashe są sortowane w kolejności leksykograficznej. W przypadku użytkowników interfejsu JSON API wartości hash są zakodowane w formacie base64. |
RawIndices
Zestaw nieprzetworzonych indeksów do usunięcia z listy lokalnej.
Pola | |
---|---|
indices[] |
Indeksy do usunięcia z posortowanej leksykograficznie listy lokalnej. |
RiceDeltaEncoding
Dane zakodowane w postaci ryżu-golomba. Służy do przesyłania skompresowanych 4-bajtowych haszów lub skompresowanych indeksów usuwania.
Pola | |
---|---|
first_value |
Przesunięcie pierwszej pozycji w zakodowanych danych lub, jeśli zakodowana była tylko jedna liczba całkowita, wartość tej pojedynczej liczby całkowitej. Jeśli pole jest puste lub go nie ma, przyjmujej wartość 0. |
rice_parameter |
Parametr Golomb-Rice, który musi mieć wartość od 2 do 28. Jeśli |
num_entries |
Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana jest tylko jedna liczba całkowita, wartość wynosi 0 i pojedyncza wartość zostanie zapisana w funkcji |
encoded_data |
Zakodowane delta zakodowane za pomocą kodera Golomb-Rice. |
ThreatEntry
Pojedyncze zagrożenie, na przykład złośliwy adres URL lub jego reprezentacja za pomocą skrótu. Należy ustawić tylko jedno z tych pól.
Pola | |
---|---|
hash |
Prefiks skrótu składający się z najważniejszych 4–32 bajtów skrótu SHA256. To pole ma format binarny. W przypadku żądań JSON hasze są zakodowane w formacie base64. |
url |
Adres URL. |
digest |
Skrót pliku wykonywalnego w formacie SHA256. Interfejs API obsługuje skróty binarne i szesnastkowe. W przypadku żądań JSON podsumowania są zakodowane w formacie base64. |
ThreatEntryMetadata
Metadane powiązane z konkretnym wpisem o zagrożeniu. Klient powinien znać pary klucz-wartość metadanych powiązane z poszczególnymi typami zagrożeń.
Pola | |
---|---|
entries[] |
Wpisy metadanych. |
MetadataEntry
Pojedynczy wpis metadanych.
Pola | |
---|---|
key |
Klucz wpisu metadanych. W przypadku żądań JSON klucz jest zakodowany w formacie base64. |
value |
Wartość wpisu metadanych. W przypadku żądań JSON wartość jest zakodowana w formacie base64. |
ThreatEntrySet
Zestaw zagrożeń, które należy dodać do lokalnej 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 |
Nieprzetworzone indeksy usunięć dla listy lokalnej. |
rice_hashes |
Zakodowane 4-bajtowe prefiksy wpisów w formacie SHA256 z kodowaniem Golomb-Rice. Skróty są konwertowane do formatu uint32, posortowane w kolejności rosnącej, a potem zakodowane delta i zapisywane jako dane_kodowane. |
rice_indices |
Zakodowane lokalne, posortowane leksykograficznie indeksy list z użyciem kodowania Golomb-Rice. Służy do przesyłania skompresowanych indeksów usunięcia. Indeksy usunięcia (uint32) są sortowane w kolejności rosnącej, a potem kodowane delta i przechowywane jako dane_zakodowane. |
ThreatEntryType
Rodzaje 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 |
Program 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 do sprawdzenia. |
threat_entry_types[] |
Typy wpisów do sprawdzenia. |
threat_entries[] |
Wpisy zagrożeń do sprawdzenia. |
ThreatListDescriptor
Opisuje listę poszczególnych zagrożeń. Listę definiuje się na podstawie 3 parametrów: typu stwarzanego zagrożenia, typu platformy, na którą jest ono kierowane, oraz typu wpisów na liście.
Pola | |
---|---|
threat_type |
Typ zagrożenia stwarzany przez wpisy na liście. |
platform_type |
Typ platformy, na który są kierowane wpisy z listy. |
threat_entry_type |
Typy wpisów na liście. |
ThreatMatch
Dopasowanie podczas sprawdzania wpisu o zagrożeniu 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 zagrożenia pasujący do tego zagrożenia. |
threat |
Zagrożenie zgodne z tym zagrożeniem. |
threat_entry_metadata |
Opcjonalne metadane powiązane z tym zagrożeniem. |
cache_duration |
Czas przechowywania dla zwróconego dopasowania w pamięci podręcznej. Klienty nie mogą buforować tej odpowiedzi na dłużej niż ten czas, aby uniknąć wyników fałszywie pozytywnych. |
ThreatType
Typy zagrożeń.
Wartości w polu enum | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Nieznany. |
MALWARE |
Rodzaj zagrożenia związany ze złośliwym oprogramowaniem. |
SOCIAL_ENGINEERING |
Rodzaj zagrożenia związany z inżynierią społeczną. |
UNWANTED_SOFTWARE |
Typ zagrożenia związanego z niechcianym oprogramowaniem. |
POTENTIALLY_HARMFUL_APPLICATION |
Typ zagrożenia potencjalnie szkodliwego dla aplikacji. |