Índice
SafeBrowsing
(interface)Checksum
(mensagem)ClientInfo
(mensagem)CompressionType
(enum)FetchThreatListUpdatesRequest
(mensagem)FetchThreatListUpdatesRequest.ListUpdateRequest
(mensagem)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(mensagem)FetchThreatListUpdatesResponse
(mensagem)FetchThreatListUpdatesResponse.ListUpdateResponse
(mensagem)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(enum)FindFullHashesRequest
(mensagem)FindFullHashesResponse
(mensagem)FindThreatMatchesRequest
(mensagem)FindThreatMatchesResponse
(mensagem)ListThreatListsResponse
(mensagem)PlatformType
(enum)RawHashes
(mensagem)RawIndices
(mensagem)RiceDeltaEncoding
(mensagem)ThreatEntry
(mensagem)ThreatEntryMetadata
(mensagem)ThreatEntryMetadata.MetadataEntry
(mensagem)ThreatEntrySet
(mensagem)ThreatEntryType
(enum)ThreatInfo
(mensagem)ThreatListDescriptor
(mensagem)ThreatMatch
(mensagem)ThreatType
(enum)
SafeBrowsing
As APIs de Navegação segura permitem que os clientes verifiquem recursos da Web (geralmente URLs) em relação às listas do Google de recursos inseguros da Web, que são constantemente atualizadas. As APIs Safe Browsing (v4) apresentam a API Update e a API Lookup.
A API Update foi desenvolvida para nossos clientes maiores e inclui os métodos FindFullHashes e FetchThreatListUpdates . A API Update exige que os clientes mantenham listas de ameaças transferidas por download em um banco de dados local.
Primeiro, os clientes fazem a correspondência com as listas locais para determinar o estado (seguro ou não) de um determinado recurso da Web. Geralmente, as listas são compostas por prefixos de hash de expressões de URL em listas de proibições. Para verificar um URL, os clientes geram os hashes de um determinado URL e verificam se há conflitos de prefixos em suas listas locais. Se uma correspondência de prefixo for encontrada, o cliente obtém os hashes completos associados ao prefixo de hash correspondente por meio do método FindFullHashes . Em seguida, o cliente compara o hash completo local com os hashes completos retornados. Uma correspondência indica que o URL não é seguro.
Em segundo lugar, os clientes obtêm atualizações em seus bancos de dados locais através do método FetchThreatListUpdates , que pega o estado atual do cliente e retorna um estado atualizado do cliente juntamente com as alterações que o cliente deve aplicar às suas listas de ameaças locais.
A API Lookup foi desenvolvida para nossos clientes menores e permite que eles associem recursos diretamente às listas de ameaças da Navegação segura pelo método FindThreatMatches.
Clientes que usam a API Update ou a API Lookup podem obter uma lista das listas de ameaças da Navegação segura disponíveis para download pelo método ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: Clientes de ameaças confiáveis podem enviar relatórios ao Google para análise por meio do método SubmitThreatReport. --}
FetchThreatListUpdates |
---|
Busca as atualizações mais recentes da lista de ameaças. Um cliente pode solicitar atualizações para várias listas ao mesmo tempo. |
FindFullHashes |
---|
Encontra os hashes completos que correspondem aos prefixos de hash solicitados. |
FindThreatMatches |
---|
Encontra as entradas com ameaças que correspondem às listas da Navegação segura. |
ListThreatLists |
---|
Lista as listas de ameaças da Navegação segura disponíveis para download. |
Soma de verificação
O estado esperado do banco de dados local de um cliente.
Campos | |
---|---|
sha256 |
O hash SHA256 do estado do cliente, ou seja, da lista classificada de todos os hashes presentes no banco de dados. |
ClientInfo
Os metadados do cliente associados às solicitações da API Safe Browsing.
Campos | |
---|---|
client_id |
Um ID de cliente que (espera-se) identifique de forma exclusiva a implementação cliente da API Safe Browsing. |
client_version |
A versão da implementação do cliente. |
CompressionType
Os modos pelos quais os conjuntos de entradas de ameaças podem ser compactados.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconhecido. |
RAW |
Dados brutos e não compactados. |
RICE |
Dados codificados de arroz em Golomb. |
FetchThreatListUpdatesRequest
Descreve uma solicitação de atualização da API Safe Browsing. Os clientes podem solicitar atualizações para várias listas em uma única solicitação. O servidor pode não responder a todas as solicitações se não tiver atualizações para a lista. OBSERVAÇÃO: o índice de campo 2 não é usado. PRÓXIMO: 5
Campos | |
---|---|
client |
Os metadados do cliente. |
list_update_requests[] |
A lista de ameaças solicitada é atualizada. |
ListUpdateRequest
Uma única solicitação de atualização de lista.
Campos | |
---|---|
threat_type |
O tipo de ameaça representado pelas entradas presentes na lista. |
platform_type |
O tipo de plataforma em risco de acordo com as entradas presentes na lista. |
threat_entry_type |
Os tipos de entradas presentes na lista. |
state |
O estado atual do cliente para a lista solicitada (o estado criptografado do cliente recebido na última atualização bem-sucedida da lista). |
constraints |
As restrições associadas a esta solicitação. |
Restrições
As restrições para esta atualização.
Campos | |
---|---|
max_update_entries |
O tamanho máximo em número de entradas. A atualização não conterá mais entradas do que esse valor. Deve ser uma potência de 2 entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho de atualização será definido. |
max_database_entries |
Define o número máximo de entradas que o cliente está disposto a ter no banco de dados local para a lista especificada. Deve ser uma potência de 2 entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho de banco de dados será definido. |
region |
Solicita a lista para um local geográfico específico. Se ele não for definido, o servidor poderá escolher esse valor com base no endereço IP do usuário. Espera-se o formato ISO 3166-1 alfa-2. |
supported_compressions[] |
Os tipos de compactação compatíveis com o cliente. |
language |
Solicita as listas para um idioma específico. Espera-se o formato ISO 639 alfa-2. |
device_location |
O local físico de um cliente, expresso como um código regional ISO 31166-1 alfa-2. |
FetchThreatListUpdatesResponse
Campos | |
---|---|
list_update_responses[] |
Atualizações de lista solicitadas pelos clientes. O número de respostas pode ser menor que o número de solicitações enviadas pelos clientes. Isso acontece, por exemplo, quando o servidor não tem atualizações para determinada lista. |
minimum_wait_duration |
A duração mínima que o cliente precisa esperar antes de emitir qualquer solicitação de atualização. Se este campo não for definido, os clientes poderão ser atualizados assim que quiserem. |
ListUpdateResponse
Atualização de uma lista individual.
Campos | |
---|---|
threat_type |
O tipo de ameaça para o qual os dados são retornados. |
threat_entry_type |
O formato das ameaças. |
platform_type |
O tipo de plataforma para o qual os dados são retornados. |
response_type |
O tipo de resposta. Isso pode indicar que o cliente precisa realizar uma ação quando a resposta é recebida. |
additions[] |
Um conjunto de entradas a adicionar à lista de um tipo de ameaça local. repetido para permitir que uma combinação de dados compactados e brutos seja enviada em uma única resposta; |
removals[] |
Um conjunto de entradas a serem removidas da lista de um tipo de ameaça local. Na prática, esse campo está vazio ou contém exatamente um ThreatEntrySet. |
new_client_state |
O novo estado do cliente, em formato criptografado. Opaco para os clientes. |
checksum |
O hash SHA256 esperado do estado do cliente, ou seja, da lista classificada de todos os hashes presentes no banco de dados após a atualização fornecida. Se o estado do cliente não corresponder ao estado esperado, o cliente deverá ignorar essa atualização e tentar novamente mais tarde. |
ResponseType
O tipo de resposta enviada ao cliente.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Desconhecido. |
PARTIAL_UPDATE |
As atualizações parciais são aplicadas ao banco de dados local do cliente. |
FULL_UPDATE |
As atualizações completas substituem todo o banco de dados local do cliente. Isso significa que o cliente estava seriamente desatualizado ou acredita-se que ele estivesse corrompido. |
FindFullHashesRequest
Solicitação para retornar hashes completos que correspondem aos prefixos de hash fornecidos.
Campos | |
---|---|
client |
Os metadados do cliente. |
client_states[] |
Os estados atuais do cliente para cada uma das listas de ameaças locais do cliente. |
threat_info |
As listas e os hashes a serem verificados. |
api_client |
Metadados do cliente associados a autores de chamadas de APIs de nível superior criados com base na implementação do cliente. |
FindFullHashesResponse
Campos | |
---|---|
matches[] |
Os hashes completos que corresponderam aos prefixos solicitados. |
minimum_wait_duration |
O tempo mínimo que o cliente precisa aguardar antes de emitir qualquer solicitação de localização de hashes. Se esse campo não for definido, os clientes poderão emitir uma solicitação quando quiserem. |
negative_cache_duration |
Por quanto tempo a resposta será armazenada em cache para entidades solicitadas que não correspondem à lista de ameaças. |
FindThreatMatchesRequest
Solicitação para verificar entradas em relação a listas.
Campos | |
---|---|
client |
Os metadados do cliente. |
threat_info |
As listas e entradas que serão verificadas para encontrar correspondências. |
FindThreatMatchesResponse
Campos | |
---|---|
matches[] |
A lista de ameaças coincide. |
ListThreatListsResponse
Campos | |
---|---|
threat_lists[] |
As listas disponíveis para download pelo cliente. |
PlatformType
Tipos de plataformas.
Enums | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
Plataforma desconhecida. |
WINDOWS |
uma ameaça ao Windows. |
LINUX |
Ameaça representada ao Linux. |
ANDROID |
Ameaça representada ao Android. |
OSX |
Ameaça representada ao OS X. |
IOS |
Ameaça representada ao iOS. |
ANY_PLATFORM |
Ameaça representada em pelo menos uma das plataformas definidas. |
ALL_PLATFORMS |
Ameaça representada em todas as plataformas definidas. |
CHROME |
Ameaça representada ao Chrome. |
RawHashes
Entradas de ameaças não compactadas em formato hash com um tamanho de prefixo específico. Os hashes podem ter de 4 a 32 bytes. A maioria deles tem 4 bytes, mas alguns hashes são ampliados se colidem com o hash de um URL conhecido.
Usado para enviar ThreatEntrySet a clientes que não oferecem suporte à compactação ou ao enviar hashes que não são de 4 bytes a clientes compatíveis.
Campos | |
---|---|
prefix_size |
O número de bytes de cada prefixo codificado abaixo. Esse campo pode ser de 4 (menor prefixo) a 32 (hash SHA256 completo). |
raw_hashes |
Os hashes, em formato binário, concatenados em uma única string longa. Os hashes são classificados em ordem lexicográfica. Para usuários da API JSON, os hashes são codificados em base64. |
RawIndices
Um conjunto de índices brutos a serem removidos de uma lista local.
Campos | |
---|---|
indices[] |
Os índices a serem removidos de uma lista local classificada lexicograficamente. |
RiceDeltaEncoding
Os dados codificados em Rice-Golomb. Usado para enviar hashes de 4 bytes compactados ou índices de remoção compactados.
Campos | |
---|---|
first_value |
O deslocamento da primeira entrada nos dados codificados ou, se apenas um número inteiro foi codificado, o valor desse único inteiro. Se o campo estiver vazio ou ausente, considere zero. |
rice_parameter |
O parâmetro Golomb-Rice, que é um número entre 2 e 28. Este campo estará ausente (ou seja, zero) se |
num_entries |
O número de entradas com codificação delta nos dados codificados. Se apenas um número inteiro for codificado, esse valor será zero e o valor único será armazenado em |
encoded_data |
Os deltas codificados que são codificados usando o codificador Golomb-Rice. |
ThreatEntry
Uma ameaça individual, por exemplo, um URL malicioso ou a representação hash dele. Somente um desses campos deve ser definido.
Campos | |
---|---|
hash |
Um prefixo de hash, que consiste nos 4 a 32 bytes mais significativos de um hash SHA256. Este campo está no formato binário. Para solicitações JSON, os hashes são codificados em base64. |
url |
Um URL. |
digest |
O resumo de um executável no formato SHA256. A API oferece suporte a resumos binários e hexadecimais. Para solicitações JSON, os resumos são codificados em base64. |
ThreatEntryMetadata
Os metadados associados a uma entrada de ameaça específica. Espera-se que o cliente conheça os pares de chave-valor de metadados associados a cada tipo de ameaça.
Campos | |
---|---|
entries[] |
As entradas de metadados. |
MetadataEntry
Uma única entrada de metadados.
Campos | |
---|---|
key |
A chave de entrada de metadados. Para solicitações JSON, a chave é codificada em base64. |
value |
O valor da entrada de metadados. Para solicitações JSON, o valor é codificado em base64. |
ThreatEntrySet
Um conjunto de ameaças que deve ser adicionada ou removida do banco de dados local do cliente.
Campos | |
---|---|
compression_type |
O tipo de compactação para as entradas nesse conjunto. |
raw_hashes |
Entradas brutas formatadas em SHA256. |
raw_indices |
Os índices brutos de remoção para uma lista local. |
rice_hashes |
Os prefixos de 4 bytes codificados das entradas formatadas em SHA256, usando uma codificação Golomb-Rice. Os hashes são convertidos em uint32, classificados em ordem crescente e, em seguida, codificados em delta e armazenados comoencoded_data. |
rice_indices |
Os índices de lista locais codificados lexicograficamente classificados, usando uma codificação Golomb-Rice. Usado para enviar índices de remoção compactados. Os índices de remoção (uint32) são classificados em ordem crescente, depois codificados em delta e armazenados comoencoded_data. |
ThreatEntryType
Tipos de entradas que representam ameaças. Listas de ameaças são coleções de entradas de um único tipo.
Enums | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
Não especificado. |
URL |
Um URL. |
EXECUTABLE |
Um programa executável. |
ThreatInfo
As informações relativas a uma ou mais ameaças que um cliente envia ao verificar correspondências nas listas de ameaças.
Campos | |
---|---|
threat_types[] |
Os tipos de ameaça a serem verificados. |
platform_types[] |
Os tipos de plataforma a serem verificados. |
threat_entry_types[] |
Os tipos de entrada a serem verificados. |
threat_entries[] |
As entradas de ameaças a serem verificadas. |
ThreatListDescriptor
Descreve uma lista individual de ameaças. Uma lista é definida por três parâmetros: o tipo de ameaça apresentado, o tipo de plataforma visada pela ameaça e o tipo de entradas na lista.
Campos | |
---|---|
threat_type |
O tipo de ameaça representado pelas entradas da lista. |
platform_type |
O tipo de plataforma segmentado pelas entradas da lista. |
threat_entry_type |
Os tipos de entrada contidos na lista. |
ThreatMatch
Uma correspondência ao verificar uma entrada de ameaça nas listas de ameaças da Navegação segura.
Campos | |
---|---|
threat_type |
O tipo de ameaça correspondente a esta ameaça. |
platform_type |
O tipo de plataforma que corresponde a essa ameaça. |
threat_entry_type |
O tipo de entrada que corresponde a essa ameaça. |
threat |
A ameaça que corresponde a esta ameaça. |
threat_entry_metadata |
Metadados opcionais associados a essa ameaça. |
cache_duration |
A vida útil do cache para a correspondência retornada. Os clientes não podem armazenar essa resposta em cache por mais tempo do que essa duração para evitar falsos positivos. |
ThreatType
Tipos de ameaças.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Desconhecido. |
MALWARE |
Tipo de ameaça de malware. |
SOCIAL_ENGINEERING |
Tipo de ameaça de engenharia social. |
UNWANTED_SOFTWARE |
Tipo de ameaça de software indesejado. |
POTENTIALLY_HARMFUL_APPLICATION |
Tipo de ameaça de app potencialmente nocivo. |