- Recurso: HashList
- RiceDeltaEncoded32Bit (em inglês)
- RiceDeltaEncoded64Bit (em inglês)
- RiceDeltaEncoded128Bit (em inglês)
- RiceDeltaEncoded256Bit (em inglês)
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- Métodos
Recurso: HashList
Uma lista de hashes identificados pelo nome.
Representação JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Campos | |
---|---|
name |
O nome da lista de hash. Observe que o cache global também é apenas uma lista de hash e pode ser consultada aqui. |
version |
A versão da lista de hash. O cliente NÃO PODE manipular esses bytes. Uma string codificada em base64. |
partialUpdate |
Quando verdadeiro, esta é uma comparação parcial que contém adições e remoções com base no que o cliente já tem. Quando falso, essa é a lista de hash completa. Quando falso, o cliente PRECISA excluir qualquer versão armazenada localmente dessa lista de hash. Isso significa que a versão que o cliente possui está seriamente desatualizada ou os dados do cliente podem estar corrompidos. O campo Quando verdadeiro, o cliente PRECISA aplicar uma atualização incremental aplicando remoções e adições. |
compressedRemovals |
A versão codificada pelo Rice-delta dos índices de remoção. Como cada lista de hash definitivamente tem menos de 2^32 entradas, os índices são tratados como números inteiros de 32 bits e codificados. |
minimumWaitDuration |
Os clientes precisam esperar pelo menos esse tempo para receber a lista de hash novamente. Se omitido ou zero, os clientes DEVEM buscar imediatamente porque indica que o servidor tem uma atualização adicional a ser enviada ao cliente, mas não pode ser devido a restrições especificadas pelo cliente. Duração em segundos com até nove dígitos fracionários, terminando em " |
metadata |
Metadados sobre a lista de hash. Isso não é preenchido pelo método |
Campo de união compressed_additions . A versão das adições codificada em delta de arroz. Os comprimentos de prefixo de hash das adições são uniformes em todas as adições na lista. É o desired_hash_length enviado pelo cliente ou um valor escolhido pelo servidor se o cliente omitir esse campo. compressed_additions pode ser apenas de um dos tipos a seguir: |
|
additionsFourBytes |
As adições de 4 bytes. |
additionsEightBytes |
As adições de 8 bytes. |
additionsSixteenBytes |
As adições de 16 bytes. |
additionsThirtyTwoBytes |
As adições de 32 bytes. |
Campo de união checksum . Essa é a soma de verificação da lista classificada de todos os hashes presentes no banco de dados após a aplicação da atualização fornecida. Este é um "oneof" para permitir vários algoritmos de hash. Também é possível que o servidor omita esse campo (caso nenhuma atualização tenha sido fornecida) para indicar que o cliente deve usar a soma de verificação existente. checksum pode ser apenas de um dos tipos a seguir: |
|
sha256Checksum |
A lista classificada de todos os hashes, com hash novamente com SHA256. Uma string codificada em base64. |
RiceDeltaEncoded32bits
Os dados codificados por Rice-Golomb. Usado para hashes ou índices de remoção. É garantido que cada hash ou índice aqui tenha o mesmo comprimento, que é de exatamente 32 bits.
De modo geral, se classificarmos todas as entradas lexicograficamente, descobriremos que os bits de ordem superior tendem a não mudar com a mesma frequência que os bits de ordem inferior. Isso significa que, se também considerarmos a diferença adjacente entre entradas, os bits de ordem superior terão uma alta probabilidade de serem zero. Isso explora essa alta probabilidade de zero basicamente escolhendo um certo número de bits; todos os bits mais significativos que isso provavelmente serão zero, por isso usamos codificação unária. Consulte o campo riceParameter
.
Observação histórica: a codificação Rice-delta foi usada pela primeira vez na V4 desta API. Duas melhorias significativas foram feitas na V5: em primeiro lugar, a codificação Rice-delta agora está disponível com prefixos de hash com mais de 4 bytes; Depois, os dados codificados são tratados como big-endian para evitar uma etapa de classificação dispendiosa.
Representação JSON |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Campos | |
---|---|
firstValue |
A primeira entrada nos dados codificados (hashes ou índices) ou, se apenas um único prefixo de hash ou índice tiver sido codificado, o valor dessa entrada. Se o campo estiver vazio, a entrada será zero. |
riceParameter |
O parâmetro Golomb-Rice. Esse parâmetro está entre 3 e 30, inclusive. |
entriesCount |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro for codificado, ele será zero e o valor único será armazenado em |
encodedData |
Os deltas codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEncoded64bits
Igual a RiceDeltaEncoded32Bit
, mas codifica números de 64 bits.
Representação JSON |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Campos | |
---|---|
firstValue |
A primeira entrada nos dados codificados (hashes) ou, se apenas um único prefixo de hash tiver sido codificado, o valor dessa entrada. Se o campo estiver vazio, a entrada será zero. |
riceParameter |
O parâmetro Golomb-Rice. Esse parâmetro está entre 35 e 62. |
entriesCount |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro for codificado, ele será zero e o valor único será armazenado em |
encodedData |
Os deltas codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEncoded128bits
Igual a RiceDeltaEncoded32Bit
, mas codifica números de 128 bits.
Representação JSON |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Campos | |
---|---|
firstValueHi |
Os 64 bits superiores da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os 64 bits mais altos serão todos zero. |
firstValueLo |
Os 64 bits mais baixos da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os 64 bits mais baixos serão todos zero. |
riceParameter |
O parâmetro Golomb-Rice. Este parâmetro tem a garantia de estar entre 99 e 126, inclusive. |
entriesCount |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro for codificado, ele será zero e o valor único será armazenado em |
encodedData |
Os deltas codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEncoded256bits
Igual a RiceDeltaEncoded32Bit
, mas codifica números de 256 bits.
Representação JSON |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Campos | |
---|---|
firstValueFirstPart |
Os primeiros 64 bits da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os primeiros 64 bits serão todos zero. |
firstValueSecondPart |
Os 65 a 128 bits da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os 65 a 128 bits serão todos zero. |
firstValueThirdPart |
Os 129 a 192 bits da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os 129 a 192 bits serão todos zero. |
firstValueFourthPart |
Os últimos 64 bits da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os últimos 64 bits serão todos zero. |
riceParameter |
O parâmetro Golomb-Rice. Esse parâmetro está entre 227 e 254. |
entriesCount |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro for codificado, ele será zero e o valor único será armazenado em |
encodedData |
Os deltas codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
HashListMetadata
Metadados sobre uma lista de hash específica.
Representação JSON |
---|
{ "threatTypes": [ enum ( |
Campos | |
---|---|
threatTypes[] |
Lista não ordenada. Se não estiver vazio, isto especifica que a lista de hash é um tipo de lista de ameaças e enumera o tipo de ameaças associadas a hashes ou prefixos de hash nessa lista de hash. Poderá estar vazia se a entrada não representar uma ameaça, ou seja, se representar um tipo provável seguro. |
likelySafeTypes[] |
Lista não ordenada. Se não estiver vazio, isso especifica que a lista de hashes representa uma lista de prováveis hashes seguros e enumera as maneiras como eles são considerados provavelmente seguros. Esse campo é mutuamente exclusivo com o campo ThreatTypes. |
mobileOptimized |
Indica se esta lista está otimizada para dispositivos móveis (Android e iOS). |
description |
Uma descrição legível sobre esta lista. em inglês; |
supportedHashLengths[] |
Os comprimentos de hash aceitos para esta lista de hash. Cada lista de hash aceitaria pelo menos um tamanho. Portanto, este campo não ficará vazio. |
ThreatType
Tipos de ameaças.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Tipo de ameaça desconhecido. Se ele for retornado pelo servidor, o cliente desconsidera completamente o FullHashDetail . |
MALWARE |
Tipo de ameaça de malware. Malware é qualquer software ou aplicativo para dispositivos móveis projetado especificamente para causar danos a um computador, dispositivo móvel, bem como a usuários ou outro software. Além disso, o malware apresenta um comportamento malicioso que pode incluir a instalação de software sem o consentimento do usuário e a instalação de software nocivo, como vírus. Saiba mais aqui. |
SOCIAL_ENGINEERING |
Tipo de ameaça de engenharia social. As páginas de engenharia social têm a intenção falsa de agir em nome de terceiros com a intenção de confundir os espectadores e fazer com que realizem uma ação em que eles confiam apenas em um agente de verdade. Phishing é um tipo de engenharia social que engana o espectador para que ele execute a ação específica de fornecer informações, como credenciais de login. Saiba mais aqui. |
UNWANTED_SOFTWARE |
Tipo de ameaça de software indesejado. Software indesejado é qualquer software que não está em conformidade com os Princípios de software do Google, mas não é malware. |
POTENTIALLY_HARMFUL_APPLICATION |
Tipo de ameaça a apps potencialmente nocivo conforme usado pelo Google Play Protect para a Play Store. |
LikelySafeType
Tipos de sites provavelmente seguros.
Observe que SearchHashesResponse
não contém intencionalmente LikelySafeType
.
Enums | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
Desconhecido. |
GENERAL_BROWSING |
É provável que este site seja seguro o suficiente para a navegação geral. Isso também é conhecido como cache global. |
CSD |
É provável que esse site seja seguro o suficiente para que não seja necessário executar modelos de detecção do lado do cliente ou verificações de proteção de senha. |
DOWNLOAD |
Este site provavelmente é seguro o suficiente para que os downloads dele não precisem ser verificados. |
HashLength
O tamanho dos hashes em uma lista de hashes.
Enums | |
---|---|
HASH_LENGTH_UNSPECIFIED |
Duração não especificada. O servidor não vai retornar esse valor nas respostas ao cliente (no campo supportedHashLengths ), mas o cliente tem permissão para enviar esse valor ao servidor (no campo desiredHashLength ). Nesse caso, o servidor escolherá um valor automaticamente. Os clientes DEVEM deixar o servidor escolher um valor. |
FOUR_BYTES |
Cada hash é um prefixo de quatro bytes. |
EIGHT_BYTES |
Cada hash é um prefixo de oito bytes. |
SIXTEEN_BYTES |
Cada hash é um prefixo de 16 bytes. |
THIRTY_TWO_BYTES |
Cada hash é um hash completo de 32 bytes. |
Métodos |
|
---|---|
|
Acessa o conteúdo mais recente de uma lista de hash. |