Í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)
SafeBrowsing
Las APIs de Navegación segura permiten a los clientes verificar los recursos web (por lo general, URLs) con respecto a las listas de Google de recursos web no seguros que se actualizan constantemente. Las APIs de Navegación segura (v4) incluyen la API de Update y la API de Lookup.
La API de Update está diseñada para clientes más grandes y, además, incluye los métodos FindFullHashes y FetchThreatListUpdates . La API de Update exige que los clientes mantengan listas de amenazas descargadas en una base de datos local.
En primer lugar, los clientes establecen coincidencias 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 URL en la lista negra. Para verificar una URL, los clientes generan los hashes 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 hashes 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 a sus bases de datos locales a través del método FetchThreatListUpdates , que toma el estado actual del cliente y devuelve un estado de cliente actualizado junto con los cambios que el cliente debe aplicar a sus listas de amenazas locales.
La API de Lookup está diseñada para clientes más pequeños y les permite hacer coincidir los recursos directamente con las listas de amenazas de la Navegación segura a través del método FindThreatMatches.
Los clientes que utilizan la API Update o la API de Lookup pueden obtener una lista de las listas de amenazas de Navegación segura disponibles para descargar a través del método ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: Los clientes de amenazas confiables pueden enviar informes a Google para su análisis a través del método SubmitThreatReport. --}
FetchThreatListUpdates |
---|
Recupera las actualizaciones más recientes de la lista de amenazas. Un cliente puede solicitar actualizaciones para varias listas a la vez. |
FindFullHashes |
---|
Busca los hashes completos que coincidan con los prefijos de hash solicitados. |
FindThreatMatches |
---|
Encuentra las entradas de amenazas que coinciden con las listas de Navegación segura. |
ListThreatLists |
---|
Muestra una lista de las listas de amenazas de Navegación segura disponibles para descargar. |
Suma de comprobación
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
Los metadatos del cliente asociados con las solicitudes a la API de Navegación segura.
Campos | |
---|---|
client_id |
Un ID de cliente que (con suerte) identifica de forma única la implementación del cliente de la API de Navegación segura. |
client_version |
La versión de la implementación del cliente. |
CompressionType
Las formas en que se pueden comprimir los conjuntos de entradas de amenazas
Enumeradores | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconocido. |
RAW |
Datos sin procesar, sin comprimir. |
RICE |
Datos codificados en Rice-Golomb. |
FetchThreatListUpdatesRequest
Describe una solicitud de actualización a la API de Navegación segura. Los clientes pueden solicitar actualizaciones para 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 está en uso. 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 |
El tipo de amenaza que representan las entradas presentes en la lista. |
platform_type |
El tipo de plataforma en riesgo por entradas presentes en la lista. |
threat_entry_type |
Los tipos de entradas presentes en la lista. |
state |
El estado actual del cliente para la lista solicitada (el estado de cliente encriptado que se recibió de la última actualización exitosa de la lista). |
constraints |
Las restricciones asociadas con esta solicitud. |
Restricciones
Las restricciones de esta actualización.
Campos | |
---|---|
max_update_entries |
El tamaño máximo en cantidad de entradas. La actualización no contendrá más entradas que este valor. Esto 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 actualizaciones. |
max_database_entries |
Establece la cantidad máxima de entradas que el cliente está dispuesto a tener en la base de datos local para la lista especificada. Esto 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 para una ubicación geográfica específica. Si no se configura, el servidor puede elegir ese valor según la dirección IP del usuario. Espera el formato ISO 3166-1 alfa-2. |
supported_compressions[] |
Los tipos de compresión que admite el cliente. |
language |
Solicita las listas para un idioma específico. Espera el formato ISO 639 alfa-2. |
device_location |
La ubicación física de un cliente, expresada como un código regional 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 debe esperar el cliente antes de emitir una solicitud de actualización. Si no estableces este campo, los clientes podrán actualizarlo en cuanto lo deseen. |
ListUpdateResponse
Es una actualización de una lista individual.
Campos | |
---|---|
threat_type |
El tipo de amenaza para el que se muestran datos. |
threat_entry_type |
El formato de las amenazas. |
platform_type |
El tipo de plataforma para el que se muestran los datos. |
response_type |
Es el tipo de respuesta. Esto puede indicar que el cliente requiere una acción cuando se recibe la respuesta. |
additions[] |
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[] |
Un conjunto de entradas para quitar 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. Opaco 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
El tipo de respuesta que se envía al cliente.
Enumeradores | |
---|---|
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 consideró que estaba dañado. |
FindFullHashesRequest
Solicitud para mostrar hashes completos que coincidan con los prefijos de hash proporcionados.
Campos | |
---|---|
client |
Los metadatos del cliente. |
client_states[] |
Los estados del cliente actual para cada una de las listas de amenazas locales del cliente. |
threat_info |
Las listas y los hashes que se deben verificar. |
api_client |
Metadatos de cliente asociados con llamadores de APIs de nivel superior compilados sobre la implementación del cliente. |
FindFullHashesResponse
Campos | |
---|---|
matches[] |
Los hashes completos que coincidieron con los prefijos solicitados. |
minimum_wait_duration |
Es la duración mínima que debe esperar el cliente 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, cuánto tiempo se debe almacenar en caché la respuesta. |
FindThreatMatchesRequest
Solicitud para verificar las entradas con las listas.
Campos | |
---|---|
client |
Los metadatos del cliente. |
threat_info |
Las listas y entradas en las que se comprobará si hay coincidencias. |
FindThreatMatchesResponse
Campos | |
---|---|
matches[] |
La lista de amenazas coincide. |
ListThreatListsResponse
Campos | |
---|---|
threat_lists[] |
Las listas disponibles para que el cliente las descargue. |
PlatformType
Tipos de plataformas.
Enumeradores | |
---|---|
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 |
La amenaza representa al menos una de las plataformas definidas. |
ALL_PLATFORMS |
Amenaza para todas las plataformas definidas. |
CHROME |
Amenaza para Chrome. |
RawHashes
Las entradas de amenazas sin comprimir en formato hash con una longitud de prefijo particular. Los hash pueden tener un tamaño de entre 4 y 32 bytes. La mayoría son de 4 bytes, pero algunos hash se alargan si colisionan con el hash de una URL popular.
Se utiliza para enviar ThreatEntrySet a los clientes que no admiten la compresión o cuando se envían hashes que no son de 4 bytes a los clientes que sí admiten la compresión.
Campos | |
---|---|
prefix_size |
El número de bytes para cada prefijo codificado a continuación. Este campo puede ser de 4 (prefijo más corto) a 32 (hash SHA256 completo). |
raw_hashes |
Los hashes, en formato binario, concatenados en una cadena larga. Los hash se ordenan en orden lexicográfico. Para los usuarios de la API de JSON, los hash están codificados en base64. |
RawIndices
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 de forma lexicográfica. |
RiceDeltaEncoding
Los datos codificados en Rice-Golomb. Se usa para enviar hashes de 4 bytes comprimidos o índices de eliminación comprimidos.
Campos | |
---|---|
first_value |
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 no se encuentra, supón que es cero. |
rice_parameter |
El parámetro Golomb-Rice, que es un número entre 2 y 28. Falta este campo (es decir, cero) si |
num_entries |
El número de entradas que están codificadas 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 |
Los deltas codificados que se codifican 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 de hash que consta de los 4 a 32 bytes más significativos de un hash SHA256. Este campo está en formato binario. Para las solicitudes JSON, los hash están codificados en base64. |
url |
Una URL. |
digest |
Es el resumen de un archivo ejecutable en formato SHA256. La API admite resúmenes binarios y hexadecimales. Para las solicitudes JSON, los resúmenes están codificados en base64. |
ThreatEntryMetadata
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
Una sola entrada de metadatos.
Campos | |
---|---|
key |
La clave de entrada de metadatos. Para las solicitudes JSON, la clave está codificada en base64. |
value |
El valor de entrada de metadatos. Para las solicitudes JSON, el valor está codificado en base64. |
ThreatEntrySet
Un conjunto de amenazas que se debe agregar o quitar de la base de datos local de un cliente.
Campos | |
---|---|
compression_type |
El tipo de compresión para las entradas en este conjunto. |
raw_hashes |
Las entradas con formato SHA256 sin procesar. |
raw_indices |
Los índices de eliminación sin procesar para una lista local. |
rice_hashes |
Los prefijos de 4 bytes codificados de entradas con formato SHA256 que utilizan una codificación Golomb-Rice. Los hashes se convierten en uint32, se ordenan en orden ascendente y, luego, se codifican delta y se almacenan como encoded_data. |
rice_indices |
Los índices de lista locales codificados, ordenados lexicográficamente, mediante una codificación Golomb-Rice. Se usa para enviar índices de eliminación comprimidos. Los índices de eliminación (uint32) se ordenan en forma ascendente, luego se codifican 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.
Enumeradores | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
No se especifica. |
URL |
Una URL. |
EXECUTABLE |
Un programa ejecutable. |
ThreatInfo
La información sobre una o más amenazas que un cliente envía al buscar 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 entradas que se deben verificar. |
threat_entries[] |
Las entradas de amenazas que se deben verificar. |
ThreatListDescriptor
Describe una lista de amenazas individual. Una lista está definida por tres parámetros: el tipo de amenaza representada, el tipo de plataforma a la que apunta la amenaza y el tipo de entradas en la lista.
Campos | |
---|---|
threat_type |
El tipo de amenaza que representan las entradas de la lista |
platform_type |
El tipo de plataforma al que se orientan las entradas de la lista. |
threat_entry_type |
Los tipos de entradas que se incluyen en la lista. |
ThreatMatch
Una coincidencia cuando se verifica una entrada de amenaza en las listas de amenazas de 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 |
La vida útil en caché de la coincidencia que se muestra. Los clientes no deben almacenar esta respuesta en caché por más tiempo para evitar falsos positivos. |
ThreatType
Tipos de amenazas.
Enumeradores | |
---|---|
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 la aplicación potencialmente dañina. |