Overview

Las APIs de Safe Browsing permiten que tus aplicaciones cliente realicen verificaciones de URLs en tiempo real o basadas en listas con las listas de recursos web no seguros de Google, que se actualizan constantemente. Algunos ejemplos de recursos web no seguros son los sitios de ingeniería social (sitios engañosos y de phishing) y los sitios que alojan software malicioso o no deseado. Todas las URLs que se encuentran en una lista de Navegación segura se consideran inseguras.

Para determinar si una URL está en alguna de las listas de la Navegación segura, los clientes pueden usar urls.search o hashes.search.

Novedades

Actualidad de los datos

Tradicionalmente, los clientes de la Navegación segura descargan periódicamente listas de amenazas que se utilizan para detectar posibles amenazas. A medida que el volumen y la velocidad de las amenazas aumentaron con el tiempo, estas listas de amenazas locales se volvieron menos eficaces contra las amenazas modernas.

Para cerrar esta brecha, presentamos la capacidad de cambiar los protocolos para que sean de verificación predeterminada en lugar del protocolo de permiso predeterminado disponible anteriormente en la versión 4. Para ello, se introdujo la capacidad de descargar una lista de sitios probablemente seguros, conocida como "caché global". Si no se encuentra una URL en la caché global, el cliente debe realizar una verificación con la API para determinar si la URL es una amenaza.

Esta capacidad de realizar verificaciones de forma predeterminada, además de la mejora en la actualización de los datos del servicio, proporcionará una protección más rápida y casi en tiempo real contra las nuevas amenazas.

Privacidad de la IP

La API de Safe Browsing solo usa las direcciones IP para las necesidades esenciales de redes y para fines de protección contra ataques de DoS.

Presentamos una API complementaria conocida como Safe Browsing Oblivious HTTP Gateway API para habilitar garantías de privacidad adicionales. Esto usa Oblivious HTTP para ocultar las direcciones IP de los usuarios finales a Google. Funciona con un tercero que no participa en la colusión para controlar una versión encriptada de la solicitud del usuario y, luego, reenviarla a Google. Por lo tanto, el tercero solo tiene acceso a las direcciones IP, y Google solo tiene acceso al contenido de la solicitud. El tercero opera un retransmisor de HTTP Oblivious (como este servicio de Fastly) y Google opera la puerta de enlace de HTTP Oblivious. Esta es una API complementaria opcional. Cuando se usa en conjunto con la Navegación segura de Google, las direcciones IP de los usuarios finales ya no se envían a Google.

Consulta la documentación de la API de Safe Browsing Oblivious HTTP Gateway para obtener más detalles.

Métodos de búsqueda

Repasemos los diferentes métodos disponibles para realizar verificaciones en tiempo real de URLs.

urls.search

Permite que las aplicaciones cliente envíen URLs al servicio de la Navegación segura para verificar si hay amenazas asociadas a ellas.

Ventajas
  • Verificaciones de URL simples: Envías una solicitud con las URLs reales y el servidor responde con las URLs y sus amenazas asociadas (si las hay).
Desventajas
  • Sin confidencialidad de la URL: La solicitud contiene las URLs sin procesar que se verifican.

Si las ventajas y desventajas se ajustan a tus requisitos, considera usar urls.search, ya que es fácil de usar.

Revisa las Condiciones del Servicio del uso del método, ya que difieren de hashes.search.

hashes.search

Permite que las aplicaciones cliente verifiquen si hay amenazas conocidas en un conjunto de URLs sin revelar las URLs reales al servicio. Para ello, solo se proporciona el prefijo de hash de la URL. La respuesta contendrá hashes completos de amenazas conocidas con el prefijo de hash de fragmento.

Ventajas
  • Confidencialidad de la URL: En la solicitud, solo se incluye un prefijo hash de 4 bytes de la URL con hash.
  • Compatibilidad: Dado que el cliente controla la canonización y el hash de URLs, este método se integra sin problemas con los modos que usan una base de datos local, como el modo en tiempo real y el modo de lista local.
Desventajas
  • Comprobaciones de URL complejas: Debes saber cómo canonicalizar las URLs, crear expresiones de sufijo o prefijo, y calcular hashes SHA256 para realizar solicitudes a este método, comparaciones con las copias locales de las listas de sitios no seguros o la caché global.

Si necesitas priorizar la confidencialidad de la URL y te interesa usar el modo en tiempo real o el modo de lista local, te recomendamos que uses hashes.search.

Los métodos HashList

Estos métodos permiten que los clientes descarguen y almacenen versiones con hash de las listas de sitios no seguros y la caché global. Los clientes pueden usar esta información para determinar si deben realizar una búsqueda en tiempo real de las URLs en cuestión.

Estos métodos son esenciales para el funcionamiento del Modo en tiempo real y el Modo de lista local.

Para obtener más información sobre cómo usar estos métodos, consulta la página Base de datos local.

Ejemplos de solicitudes

En esta sección, se documentan algunos ejemplos del uso directo de la API de HTTP para acceder a Navegación Segura. En general, se recomienda usar una vinculación de lenguaje generada, ya que controlará automáticamente la codificación y la decodificación de una manera conveniente. Consulta la documentación de esa vinculación.

Ejemplo de solicitud HTTP con urls.search:

GET https://safebrowsing.googleapis.com/v5alpha1/urls:search?key=INSERT_YOUR_API_KEY_HERE&urls=testsafebrowsing.appspot.com/

Ejemplo de solicitud HTTP con hashes.search:

GET https://safebrowsing.googleapis.com/v5/hashes:search?key=INSERT_YOUR_API_KEY_HERE&hashPrefixes=WwuJdQ

Ejemplo de solicitud HTTP con hashLists.batchGet:

GET https://safebrowsing.googleapis.com/v5/hashLists:batchGet?key=INSERT_YOUR_API_KEY_HERE&names=se&names=mw-4b

Todos los cuerpos de respuesta son cargas útiles con formato de búfer de protocolo que puedes decodificar.