- Recurso: HashList
- RiceDeltaEnencoded32Bit
- RiceDeltaEnencoded64Bit
- RiceDeltaEnencoded128Bit
- RiceDeltaEnencoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- Métodos
Recurso: HashList
Uma lista de hashes identificados por seu nome.
Representação JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Campos | |
---|---|
name |
O nome da lista de hash. O cache global também é apenas uma lista de hash e pode ser referenciado 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, essa diferença é parcial, mas contém adições e remoções com base no que o cliente já tem. Quando definido como falso, esta é a lista completa de hash. Quando definido como "false", o cliente PRECISA excluir qualquer versão armazenada localmente para essa lista de hash. Isso significa que a versão que o cliente possui está seriamente desatualizada ou os dados dele estão corrompidos. O campo Quando verdadeiro, o cliente PRECISA aplicar uma atualização incremental aplicando remoções e, em seguida, adições. |
compressedRemovals |
A versão codificada de Rice-delta dos índices de remoção. Como cada lista de hashes 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 acessar a lista de hashes novamente. Se omitido ou zero, os clientes DEVEM buscar imediatamente porque isso indica que o servidor tem uma atualização adicional a ser enviada ao cliente, mas não conseguiu devido às restrições especificadas pelo cliente. Uma 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 de adições codificada em delta de arroz. O tamanho das adições do prefixo de hash é uniforme em todas as adições na lista. Ele é o desired_hash_length enviado pelo cliente ou um valor escolhido pelo servidor se o cliente tiver omitido 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 atualização fornecida. Este é um campo "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 precisa usar a soma de verificação atual. checksum pode ser apenas de um dos tipos a seguir: |
|
sha256Checksum |
A lista classificada de todos os hashes, novamente com hash com SHA256. Uma string codificada em base64. |
RiceDeltaEnencoded32bit
Os dados codificados em Rice-Golomb. Usado para hashes ou índices de remoção. É garantido que cada hash ou índice aqui tenha o mesmo comprimento, e esse comprimento é 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 tomarmos a diferença adjacente entre as entradas, os bits de ordem superior terão uma alta probabilidade de serem zero. Isso explora essa alta probabilidade de zero essencialmente escolhendo um certo número de bits. Todos os bits mais significativos que isso provavelmente são zero, por isso usamos codificação unária. Veja o campo riceParameter
.
Observação histórica: a codificação delta de arroz foi usada pela primeira vez na V4 dessa API. Na V5, duas melhorias significativas foram feitas: primeiro, a codificação delta do arroz agora está disponível com prefixos de hash com mais de 4 bytes; em segundo lugar, os dados codificados agora 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 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 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 |
encodedData |
Os deltas codificados que são codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEnencoded64bit
O mesmo que 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 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 certamente está entre 35 e 62. |
entriesCount |
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 |
encodedData |
Os deltas codificados que são codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEnencoded128Bit
Funciona da mesma forma que 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 mais altos da primeira entrada nos dados codificados (hashes). Se o campo estiver vazio, os 64 bits superiores 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. Esse parâmetro está entre 99 e 126, inclusive. |
entriesCount |
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 |
encodedData |
Os deltas codificados que são codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
RiceDeltaEnencoded256bit
O mesmo que 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á garantido entre 227 e 254. |
entriesCount |
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 |
encodedData |
Os deltas codificados que são 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, 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. Pode estar em branco se a entrada não representar uma ameaça, ou seja, no caso de representar um tipo provável seguro. |
likelySafeTypes[] |
Lista não ordenada. Se não estiver vazio, esse atributo especifica que a lista de hash representa uma lista de prováveis hashes seguros e enumera as maneiras como eles são considerados prováveis seguros. Este campo é mutuamente exclusivo com o campo threatTypes. |
mobileOptimized |
Indica se a lista está otimizada para dispositivos móveis (Android e iOS). |
description |
Uma descrição legível sobre esta lista. Escrita em inglês. |
supportedHashLengths[] |
Os comprimentos de hash compatíveis com esta lista de hash. Cada lista de hash pode ter pelo menos um comprimento. Este campo, portanto, não estará vazio. |
ThreatType
Tipos de ameaças.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Tipo de ameaça desconhecido. Se esse valor for retornado pelo servidor, o cliente precisará desconsiderar 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. 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, fazendo-os realizar uma ação com a qual eles confiam somente em um agente desse terceiro. Phishing é um tipo de engenharia social que engana o espectador para que realize 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 esteja em conformidade com os Princípios de software do Google, mas não seja malware. |
POTENTIALLY_HARMFUL_APPLICATION |
Tipo de ameaça de apps potencialmente nocivos usado pelo Google Play Protect na Play Store. |
LikelySafeType
Tipos de sites que podem ser seguros.
Observe que o SearchHashesResponse
intencionalmente não contém 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 este 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 do site não precisem ser verificados. |
HashLength
O tamanho dos hashes em uma lista de hashes.
Enums | |
---|---|
HASH_LENGTH_UNSPECIFIED |
Tamanho não especificado. 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 para o servidor (no campo desiredHashLength ). Nesse caso, o servidor escolherá um valor automaticamente. Os clientes DEVEM deixar o servidor selecionar 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 |
|
---|---|
|
Receber o conteúdo mais recente de uma lista de hash. |