Índice
SafeBrowsing
(interfaz)Checksum
(mensaje)ClientInfo
(mensaje)CompressionType
(enumeración)FetchThreatListUpdatesRequest
(mensaje)FetchThreatListUpdatesRequest.ListUpdateRequest
(mensaje)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(mensaje)FetchThreatListUpdatesResponse
(mensaje)FetchThreatListUpdatesResponse.ListUpdateResponse
(mensaje)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(enumeración)FindFullHashesRequest
(mensaje)FindFullHashesResponse
(mensaje)FindThreatMatchesRequest
(mensaje)FindThreatMatchesResponse
(mensaje)ListThreatListsResponse
(mensaje)PlatformType
(enumeración)RawHashes
(mensaje)RawIndices
(mensaje)RiceDeltaEncoding
(mensaje)ThreatEntry
(mensaje)ThreatEntryMetadata
(mensaje)ThreatEntryMetadata.MetadataEntry
(mensaje)ThreatEntrySet
(mensaje)ThreatEntryType
(enumeración)ThreatInfo
(mensaje)ThreatListDescriptor
(mensaje)ThreatMatch
(mensaje)ThreatType
(enumeración)
Navegación segura
Las APIs de Safe Browsing permiten que los clientes verifiquen los recursos web (en su mayoría, URLs) con las listas de recursos web no seguros de Google, que se actualizan constantemente. Las APIs de Safe Browsing (v4) incluyen la API de Update y la API de Lookup.
La API de Update está diseñada para nuestros clientes más grandes y, además, incluye los métodos FindFullHashes y FetchThreatListUpdates . La API de Update requiere que los clientes mantengan las listas de amenazas descargadas en una base de datos local.
Primero, los clientes realizan una coincidencia con sus listas locales para determinar el estado (seguro o no seguro) de un recurso web determinado. Por lo general, las listas se componen de prefijos de hash de expresiones de URLs incluidas en la lista negra. Para verificar una URL, los clientes generan los valores hash de una URL determinada y comprueban si hay colisiones de prefijos en sus listas locales. Si se encuentra una coincidencia de prefijo, el cliente obtiene los valores hash completos asociados con el prefijo de hash coincidente a través del método FindFullHashes. Luego, el cliente compara el hash completo local con los hashes completos que se muestran. Una coincidencia indica que la URL no es segura.
En segundo lugar, los clientes obtienen actualizaciones de sus bases de datos locales a través del método FetchThreatListUpdates , que toma el estado actual del cliente y muestra un estado actualizado junto con los cambios que el cliente debe aplicar a sus listas de amenazas locales.
La API de Lookup está diseñada para nuestros clientes más pequeños y les permite hacer coincidir los recursos directamente con las listas de amenazas de Safe Browsing a través del método FindThreatMatches.
Los clientes que usan la API de Update o la API de Lookup pueden obtener una lista de las listas de amenazas de Safe Browsing disponibles para descargar mediante el método ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: Los clientes de amenazas de confianza pueden enviar informes a Google para su análisis mediante el método SubmitThreatReport. --}
FetchThreatListUpdates |
---|
Recupera las actualizaciones más recientes de la lista de amenazas. Un cliente puede solicitar actualizaciones de varias listas a la vez. |
FindFullHashes |
---|
Busca los hashes completos que coinciden con los prefijos de hash solicitados. |
FindThreatMatches |
---|
Encuentra las entradas de amenazas que coinciden con las listas de Navegación segura. |
ListThreatLists |
---|
Muestra las listas de amenazas de la Navegación segura disponibles para descargar. |
Suma de comprobación
Es el estado esperado de la base de datos local de un cliente.
Campos | |
---|---|
sha256 |
El hash SHA256 del estado del cliente, es decir, de la lista ordenada de todos los hashes presentes en la base de datos |
ClientInfo
Son los metadatos del cliente asociados con las solicitudes de la API de Safe Browsing.
Campos | |
---|---|
client_id |
Un ID de cliente que, con suerte, identifica de forma única la implementación cliente de la API de Safe Browsing. |
client_version |
Es la versión de la implementación del cliente. |
CompressionType
Las formas en que se pueden comprimir los conjuntos de entradas de amenazas.
Enumeraciones | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconocido. |
RAW |
Datos sin procesar y sin comprimir |
RICE |
Datos codificados de Rice-Golomb |
FetchThreatListUpdatesRequest
Describe una solicitud de actualización de la API de Safe Browsing. Los clientes pueden solicitar actualizaciones de varias listas en una sola solicitud. Es posible que el servidor no responda a todas las solicitudes si no tiene actualizaciones para esa lista. NOTA: El índice de campo 2 no se usa. SIGUIENTE: 5
Campos | |
---|---|
client |
Los metadatos del cliente |
list_update_requests[] |
Las actualizaciones de la lista de amenazas solicitadas |
ListUpdateRequest
Una sola solicitud de actualización de lista.
Campos | |
---|---|
threat_type |
Es el tipo de amenaza que representan las entradas presentes en la lista. |
platform_type |
Es el tipo de plataforma en riesgo según las entradas presentes en la lista. |
threat_entry_type |
Son los tipos de entradas presentes en la lista. |
state |
El estado actual del cliente para la lista solicitada (el estado del cliente encriptado que se recibió de la última actualización correcta de la lista) |
constraints |
Las restricciones asociadas con esta solicitud. |
Limitaciones
Son las restricciones de esta actualización.
Campos | |
---|---|
max_update_entries |
Es el tamaño máximo en cantidad de entradas. La actualización no contendrá más entradas que este valor. Debe ser una potencia de 2 entre 2**10 y 2**20. Si es cero, no se establece ningún límite de tamaño de actualización. |
max_database_entries |
Establece la cantidad máxima de entradas que el cliente desea tener en la base de datos local para la lista especificada. Debe ser una potencia de 2 entre 2**10 y 2**20. Si es cero, no se establece ningún límite de tamaño de la base de datos. |
region |
Solicita la lista de una ubicación geográfica específica. Si no se establece, el servidor puede elegir ese valor según la dirección IP del usuario. Espera el formato ISO 3166-1 alpha-2. |
supported_compressions[] |
Los tipos de compresión que admite el cliente |
language |
Solicita las listas de un idioma específico. Espera el formato ISO 639 alpha-2. |
device_location |
Es la ubicación física de un cliente, expresada como un código de región ISO 31166-1 alfa-2. |
FetchThreatListUpdatesResponse
Campos | |
---|---|
list_update_responses[] |
Las actualizaciones de la lista que solicitan los clientes. La cantidad de respuestas aquí puede ser menor que la cantidad de solicitudes que envían los clientes. Este es el caso, por ejemplo, si el servidor no tiene actualizaciones para una lista en particular. |
minimum_wait_duration |
Es la duración mínima que el cliente debe esperar antes de emitir cualquier solicitud de actualización. Si no se configura este campo, los clientes pueden actualizarlo cuando quieran. |
ListUpdateResponse
Es una actualización de una lista individual.
Campos | |
---|---|
threat_type |
El tipo de amenaza para el que se muestran los datos. |
threat_entry_type |
Es el formato de las amenazas. |
platform_type |
Es el tipo de plataforma para el que se muestran los datos. |
response_type |
El tipo de respuesta. Esto puede indicar que el cliente debe realizar una acción cuando se recibe la respuesta. |
additions[] |
Es un conjunto de entradas para agregar a la lista de un tipo de amenaza local. Se repite para permitir que se envíe una combinación de datos comprimidos y sin procesar en una sola respuesta. |
removals[] |
Es un conjunto de entradas que se quitarán de la lista de un tipo de amenaza local. En la práctica, este campo está vacío o contiene exactamente un ThreatEntrySet. |
new_client_state |
El nuevo estado del cliente, en formato encriptado No es transparente para los clientes. |
checksum |
El hash SHA256 esperado del estado del cliente, es decir, de la lista ordenada de todos los hashes presentes en la base de datos después de aplicar la actualización proporcionada. Si el estado del cliente no coincide con el estado esperado, el cliente debe ignorar esta actualización y volver a intentarlo más tarde. |
ResponseType
Es el tipo de respuesta que se envía al cliente.
Enumeraciones | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Desconocido. |
PARTIAL_UPDATE |
Las actualizaciones parciales se aplican a la base de datos local existente del cliente. |
FULL_UPDATE |
Las actualizaciones completas reemplazan toda la base de datos local del cliente. Esto significa que el cliente estaba muy desactualizado o que se cree que está dañado. |
FindFullHashesRequest
Solicita que se muestren los hashes completos que coincidan con los prefijos de hash proporcionados.
Campos | |
---|---|
client |
Los metadatos del cliente |
client_states[] |
Los estados actuales del cliente para cada una de sus listas de amenazas locales |
threat_info |
Las listas y los hashes que se deben verificar |
api_client |
Los metadatos del cliente asociados con los llamadores de APIs de nivel superior compilados sobre la implementación del cliente |
FindFullHashesResponse
Campos | |
---|---|
matches[] |
Los valores hash completos que coincidieron con los prefijos solicitados |
minimum_wait_duration |
Es la duración mínima que el cliente debe esperar antes de emitir cualquier solicitud de búsqueda de hash. Si no se establece este campo, los clientes pueden emitir una solicitud en cuanto lo deseen. |
negative_cache_duration |
Para las entidades solicitadas que no coincidieron con la lista de amenazas, indica durante cuánto tiempo se almacenará en caché la respuesta. |
FindThreatMatchesRequest
Solicitud para verificar las entradas en función de las listas
Campos | |
---|---|
client |
Los metadatos del cliente |
threat_info |
Las listas y entradas que se deben verificar para encontrar coincidencias |
FindThreatMatchesResponse
Campos | |
---|---|
matches[] |
La lista de amenazas coincide. |
ListThreatListsResponse
Campos | |
---|---|
threat_lists[] |
Las listas que el cliente puede descargar |
PlatformType
Tipos de plataformas
Enumeraciones | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
Plataforma desconocida. |
WINDOWS |
Amenaza para Windows. |
LINUX |
Amenaza para Linux. |
ANDROID |
Amenaza para Android |
OSX |
Amenaza para OS X. |
IOS |
Amenaza para iOS. |
ANY_PLATFORM |
Amenaza que representa al menos una de las plataformas definidas. |
ALL_PLATFORMS |
Amenaza que representa para todas las plataformas definidas. |
CHROME |
Amenaza para Chrome |
RawHashes
Las entradas de amenazas sin comprimir en formato hash de una longitud de prefijo en particular. Los valores hash pueden tener un tamaño de entre 4 y 32 bytes. La gran mayoría son de 4 bytes, pero algunos se alargan si colisionan con el hash de una URL popular.
Se usa para enviar ThreatEntrySet a clientes que no admiten compresión o cuando se envían hashes que no son de 4 bytes a clientes que sí admiten compresión.
Campos | |
---|---|
prefix_size |
Es la cantidad de bytes de cada prefijo codificado a continuación. Este campo puede tener entre 4 (prefijo más corto) y 32 (hash SHA256 completo). |
raw_hashes |
Los valores hash, en formato binario, se concatenan en una cadena larga. Los hash se ordenan de manera lexicográfica. Para los usuarios de la API de JSON, los hash están codificados en base64. |
RawIndices
Es un conjunto de índices sin procesar que se quitarán de una lista local.
Campos | |
---|---|
indices[] |
Los índices que se quitarán de una lista local ordenada alfabéticamente. |
RiceDeltaEncoding
Los datos codificados de Rice-Golomb. Se usa para enviar hashes de 4 bytes comprimidos o índices de eliminación comprimidos.
Campos | |
---|---|
first_value |
Es el desplazamiento de la primera entrada en los datos codificados o, si solo se codificó un número entero, el valor de ese número entero. Si el campo está vacío o falta, se supone que es cero. |
rice_parameter |
El parámetro Golomb-Rice, que es un número entre 2 y 28. Falta este campo (es decir, es cero) si |
num_entries |
Es la cantidad de entradas que se codifican delta en los datos codificados. Si solo se codificó un número entero, este será cero y el valor único se almacenará en |
encoded_data |
Son los deltas codificados con el codificador Golomb-Rice. |
ThreatEntry
Una amenaza individual, por ejemplo, una URL maliciosa o su representación de hash Solo se debe establecer uno de estos campos.
Campos | |
---|---|
hash |
Un prefijo hash, que consta de los 4 a 32 bytes más significativos de un hash SHA256. Este campo está en formato binario. En el caso de las solicitudes JSON, los valores hash están codificados en base64. |
url |
Una URL. |
digest |
Es el resumen de un ejecutable en formato SHA256. La API admite resúmenes hexadecimales y binarios. En el caso de las solicitudes JSON, los resúmenes están codificados en base64. |
ThreatEntryMetadata
Son los metadatos asociados con una entrada de amenaza específica. Se espera que el cliente conozca los pares clave-valor de metadatos asociados con cada tipo de amenaza.
Campos | |
---|---|
entries[] |
Las entradas de metadatos |
MetadataEntry
Es una sola entrada de metadatos.
Campos | |
---|---|
key |
Es la clave de entrada de metadatos. En el caso de las solicitudes JSON, la clave está codificada en base64. |
value |
Es el valor de entrada de metadatos. En el caso de las solicitudes JSON, el valor está codificado en base64. |
ThreatEntrySet
Es un conjunto de amenazas que se deben agregar o quitar de la base de datos local de un cliente.
Campos | |
---|---|
compression_type |
Es el tipo de compresión de las entradas de este conjunto. |
raw_hashes |
Las entradas sin procesar con formato SHA256. |
raw_indices |
Los índices de eliminación sin procesar de una lista local. |
rice_hashes |
Los prefijos codificados de 4 bytes de las entradas con formato SHA256, que usan una codificación Golomb-Rice Los valores hash se convierten a uint32, se ordenan de forma ascendente y, luego, se codifican con delta y se almacenan como encoded_data. |
rice_indices |
Los índices de lista locales codificados y ordenados de forma léxica con una codificación Golomb-Rice Se usa para enviar índices de eliminación comprimidos. Los índices de eliminación (uint32) se ordenan de forma ascendente, luego se codifican con delta y se almacenan como encoded_data. |
ThreatEntryType
Tipos de entradas que representan amenazas. Las listas de amenazas son colecciones de entradas de un solo tipo.
Enumeraciones | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
Sin especificar. |
URL |
Una URL. |
EXECUTABLE |
Un programa ejecutable. |
ThreatInfo
Es la información sobre una o más amenazas que un cliente envía cuando busca coincidencias en las listas de amenazas.
Campos | |
---|---|
threat_types[] |
Los tipos de amenazas que se deben verificar. |
platform_types[] |
Los tipos de plataformas que se deben verificar. |
threat_entry_types[] |
Los tipos de entrada que se deben verificar. |
threat_entries[] |
Las entradas de amenazas que se deben verificar. |
ThreatListDescriptor
Describe una lista de amenazas individual. Una lista se define con tres parámetros: el tipo de amenaza que representa, el tipo de plataforma a la que se orienta y el tipo de entradas de la lista.
Campos | |
---|---|
threat_type |
Es el tipo de amenaza que representan las entradas de la lista. |
platform_type |
Es el tipo de plataforma al que se orientan las entradas de la lista. |
threat_entry_type |
Los tipos de entradas que contiene la lista. |
ThreatMatch
Una coincidencia cuando se verifica una entrada de amenaza en las listas de amenazas de la Navegación segura.
Campos | |
---|---|
threat_type |
El tipo de amenaza que coincide con esta amenaza. |
platform_type |
El tipo de plataforma que coincide con esta amenaza. |
threat_entry_type |
El tipo de entrada de amenaza que coincide con esta amenaza. |
threat |
La amenaza que coincide con esta amenaza. |
threat_entry_metadata |
Metadatos opcionales asociados con esta amenaza. |
cache_duration |
Es la vida útil de la caché para la coincidencia que se muestra. Los clientes no deben almacenar en caché esta respuesta por más tiempo para evitar falsos positivos. |
ThreatType
Tipos de amenazas
Enumeraciones | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Desconocido. |
MALWARE |
Tipo de amenaza de software malicioso. |
SOCIAL_ENGINEERING |
Tipo de amenaza de ingeniería social. |
UNWANTED_SOFTWARE |
Tipo de amenaza de software no deseado. |
POTENTIALLY_HARMFUL_APPLICATION |
Tipo de amenaza de aplicación potencialmente dañina. |