Index
SafeBrowsing
(interface)Checksum
(message)ClientInfo
(message)CompressionType
(enum)FetchThreatListUpdatesRequest
(message)FetchThreatListUpdatesRequest.ListUpdateRequest
(message)FetchThreatListUpdatesRequest.ListUpdateRequest.Constraints
(message)FetchThreatListUpdatesResponse
(message)FetchThreatListUpdatesResponse.ListUpdateResponse
(message)FetchThreatListUpdatesResponse.ListUpdateResponse.ResponseType
(enum)FindFullHashesRequest
(message)FindFullHashesResponse
(message)FindThreatMatchesRequest
(message)FindThreatMatchesResponse
(message)ListThreatListsResponse
(message)PlatformType
(enum)RawHashes
(message)RawIndices
(message)RiceDeltaEncoding
(message)ThreatEntry
(message)ThreatEntryMetadata
(message)ThreatEntryMetadata.MetadataEntry
(message)ThreatEntrySet
(message)ThreatEntryType
(enum)ThreatInfo
(message)ThreatListDescriptor
(message)ThreatMatch
(message)ThreatType
(enum)
SafeBrowsing
Les API Safe Browsing permettent aux clients de comparer des ressources Web (généralement des URL) aux listes de ressources Web non sécurisées constamment mises à jour par Google. Les API Safe Browsing (v4) incluent l'API Update et l'API Lookup.
L'API Update est conçue pour nos plus grands clients et inclut les méthodes FindFullHashes et FetchThreatListUpdates . L'API Update exige que les clients gèrent les listes de menaces téléchargées dans une base de données locale.
Tout d'abord, les clients effectuent des correspondances avec leurs listes locales pour déterminer l'état (sûr ou non) d'une ressource Web donnée. La plupart du temps, les listes sont constituées de préfixes de hachage des expressions d'URL figurant sur la liste noire. Pour vérifier une URL, les clients génèrent les hachages d'une URL donnée et recherchent des conflits de préfixes dans leurs listes locales. Si une correspondance de préfixe est détectée, le client obtient les hachages complets associés au préfixe de hachage correspondant via la méthode FindFullHashes. Le client compare ensuite le hachage complet local aux hachages complets renvoyés. Une correspondance indique que l'URL n'est pas sécurisée.
Deuxièmement, les clients obtiennent les mises à jour de leurs bases de données locales via la méthode FetchThreatListUpdates, qui prend l'état actuel du client et renvoie un état client mis à jour, ainsi que les modifications que le client doit appliquer à ses listes de menaces locales.
L'API Lookup est conçue pour nos petits clients. Elle leur permet de faire correspondre des ressources directement aux listes de menaces Safe Browsing via la méthode FindThreatMatches.
Les clients qui utilisent l'API Update ou l'API Lookup peuvent obtenir la liste des listes de menaces Safe Browsing disponibles à télécharger via la méthode ListThreatLists.
{-- TRUSTED_THREAT_REPORTER: les clients de menaces fiables peuvent envoyer des rapports à Google pour analyse via la méthode SubmitThreatReport. --}
FetchThreatListUpdates |
---|
Récupère les dernières mises à jour de la liste de menaces. Un client peut demander des mises à jour pour plusieurs listes à la fois. |
FindFullHashes |
---|
Recherche les hachages complets correspondant aux préfixes de hachage demandés. |
FindThreatMatches |
---|
Recherche les entrées de menace correspondant aux listes de navigation sécurisée. |
ListThreatLists |
---|
Répertorie les listes de menaces de la navigation sécurisée disponibles au téléchargement. |
Total
État attendu de la base de données locale d'un client.
Champs | |
---|---|
sha256 |
Hachage SHA256 de l'état du client, c'est-à-dire de la liste triée de tous les hachages présents dans la base de données. |
ClientInfo
Métadonnées client associées aux requêtes de l'API Safe Browsing.
Champs | |
---|---|
client_id |
ID client qui identifie (si possible) de manière unique l'implémentation cliente de l'API Safe Browsing. |
client_version |
Version de l'implémentation client. |
CompressionType
Méthodes de compression des ensembles d'entrées de menaces.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Inconnu. |
RAW |
Données brutes, non compressées. |
RICE |
Données encodées Rice-Golomb. |
FetchThreatListUpdatesRequest
Décrit une requête de mise à jour de l'API Safe Browsing. Les clients peuvent demander des mises à jour pour plusieurs listes dans une seule requête. Le serveur peut ne pas répondre à toutes les requêtes s'il n'a aucune mise à jour pour cette liste. REMARQUE: L'index de champ 2 n'est pas utilisé. SUIVANT: 5
Champs | |
---|---|
client |
Métadonnées du client. |
list_update_requests[] |
Mises à jour de la liste de menaces demandées. |
ListUpdateRequest
Une seule requête de mise à jour de liste.
Champs | |
---|---|
threat_type |
Type de menace représentée par les entrées de la liste. |
platform_type |
Type de plate-forme à risque en fonction des entrées de la liste. |
threat_entry_type |
Types d'entrées présents dans la liste. |
state |
État actuel du client pour la liste demandée (état client chiffré reçu lors de la dernière mise à jour de la liste réussie). |
constraints |
Contraintes associées à cette requête. |
Contraintes
Contraintes de cette mise à jour.
Champs | |
---|---|
max_update_entries |
Taille maximale en nombre d'entrées. La mise à jour ne contiendra pas plus d'entrées que cette valeur. Il doit s'agir d'une puissance de 2 comprise entre 2**10 et 2**20. Si la valeur est nulle, aucune limite de taille de mise à jour n'est définie. |
max_database_entries |
Définit le nombre maximal d'entrées que le client souhaite avoir dans la base de données locale pour la liste spécifiée. Il doit s'agir d'une puissance de 2 comprise entre 2**10 et 2**20. Si la valeur est nulle, aucune limite de taille de base de données n'est définie. |
region |
Demande la liste pour une zone géographique spécifique. Si ce n'est pas le cas, le serveur peut choisir cette valeur en fonction de l'adresse IP de l'utilisateur. Format attendu : ISO 3166-1 alpha-2. |
supported_compressions[] |
Types de compression acceptés par le client. |
language |
Demande les listes pour une langue spécifique. Format ISO 639 alpha-2 attendu. |
device_location |
Emplacement physique d'un client, exprimé sous la forme d'un code régional ISO 3166-1 alpha-2. |
FetchThreatListUpdatesResponse
Champs | |
---|---|
list_update_responses[] |
Mises à jour de la liste demandées par les clients. Le nombre de réponses peut être inférieur au nombre de requêtes envoyées par les clients. C'est le cas, par exemple, si le serveur ne dispose d'aucune mise à jour pour une liste spécifique. |
minimum_wait_duration |
Durée minimale pendant laquelle le client doit attendre avant d'envoyer une demande de mise à jour. Si ce champ n'est pas défini, les clients peuvent effectuer des mises à jour dès qu'ils le souhaitent. |
ListUpdateResponse
Mise à jour d'une liste spécifique.
Champs | |
---|---|
threat_type |
Type de menace pour lequel les données sont renvoyées. |
threat_entry_type |
Format des menaces. |
platform_type |
Type de plate-forme pour laquelle les données sont renvoyées. |
response_type |
Type de réponse. Cela peut indiquer qu'une action est requise du client lorsqu'il reçoit la réponse. |
additions[] |
Ensemble d'entrées à ajouter à la liste d'un type de menace local. Répété pour permettre d'envoyer une combinaison de données brutes et compressées dans une seule réponse. |
removals[] |
Ensemble d'entrées à supprimer de la liste d'un type de menace local. En pratique, ce champ est vide ou contient exactement un seul ThreatEntrySet. |
new_client_state |
Nouvel état du client, au format chiffré. Opaque pour les clients. |
checksum |
Le hachage SHA256 attendu de l'état du client, c'est-à-dire de la liste triée de tous les hachages présents dans la base de données après l'application de la mise à jour fournie. Si l'état du client ne correspond pas à l'état attendu, le client doit ignorer cette mise à jour et réessayer plus tard. |
ResponseType
Type de réponse envoyée au client.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Inconnu. |
PARTIAL_UPDATE |
Les mises à jour partielles sont appliquées à la base de données locale existante du client. |
FULL_UPDATE |
Les mises à jour complètes remplacent l'intégralité de la base de données locale du client. Cela signifie que le client était très obsolète ou qu'il est considéré comme corrompu. |
FindFullHashesRequest
Requête visant à renvoyer les hachages complets correspondant aux préfixes de hachage fournis.
Champs | |
---|---|
client |
Métadonnées du client. |
client_states[] |
États actuels du client pour chacune de ses listes de menaces locales. |
threat_info |
Les listes et les hachages à vérifier. |
api_client |
Métadonnées client associées aux appelants d'API de niveau supérieur créées sur la base de l'implémentation du client. |
FindFullHashesResponse
Champs | |
---|---|
matches[] |
Les hachages complets correspondant aux préfixes demandés. |
minimum_wait_duration |
Durée minimale pendant laquelle le client doit attendre avant d'envoyer une requête de recherche de hachages. Si ce champ n'est pas défini, les clients peuvent envoyer une requête dès qu'ils le souhaitent. |
negative_cache_duration |
Pour les entités demandées qui ne correspondaient pas à la liste de menaces, durée de mise en cache de la réponse. |
FindThreatMatchesRequest
Demande de vérification des entrées par rapport à des listes.
Champs | |
---|---|
client |
Métadonnées du client. |
threat_info |
Listes et entrées à rechercher |
FindThreatMatchesResponse
Champs | |
---|---|
matches[] |
La liste des menaces correspond. |
ListThreatListsResponse
Champs | |
---|---|
threat_lists[] |
Listes disponibles en téléchargement par le client. |
PlatformType
Types de plates-formes
Enums | |
---|---|
PLATFORM_TYPE_UNSPECIFIED |
Plate-forme inconnue. |
WINDOWS |
Menace pour Windows. |
LINUX |
Menaces pour Linux |
ANDROID |
Menace pour Android |
OSX |
Menace pour OS X |
IOS |
Menace pour iOS |
ANY_PLATFORM |
Menace posée à au moins une des plates-formes définies. |
ALL_PLATFORMS |
Menace posée à toutes les plates-formes définies. |
CHROME |
Menaces pour Chrome |
RawHashes
Entrées de menace non compressées au format hachage d'une longueur de préfixe spécifique. La taille des hachages peut varier de 4 à 32 octets. La grande majorité d'entre eux comportent 4 octets, mais certains hachages sont allongés s'ils entrent en conflit avec le hachage d'une URL populaire.
Utilisé pour envoyer ThreatEntrySet aux clients qui ne prennent pas en charge la compression ou pour envoyer des hachages autres que 4 octets aux clients qui prennent en charge la compression.
Champs | |
---|---|
prefix_size |
Nombre d'octets pour chaque préfixe encodé ci-dessous. La longueur de ce champ peut varier de 4 (préfixe le plus court) à 32 (hachage SHA256 complet). |
raw_hashes |
Les hachages, au format binaire, concaténés en une longue chaîne. Les hachages sont triés par ordre lexicographique. Pour les utilisateurs de l'API JSON, les hachages sont encodés en base64. |
RawIndices
Ensemble d'indices bruts à supprimer d'une liste locale.
Champs | |
---|---|
indices[] |
Indices à supprimer d'une liste locale triée par ordre alphabétique. |
RiceDeltaEncoding
Données encodées Rice-Golomb. Utilisé pour envoyer des hachages compressés à 4 octets ou des indices de suppression compressés.
Champs | |
---|---|
first_value |
Décalage de la première entrée dans les données encodées ou, si un seul entier a été encodé, valeur de cet entier. Si le champ est vide ou manquant, la valeur est supposée être nulle. |
rice_parameter |
Paramètre Golomb-Rice, qui est un nombre compris entre 2 et 28. Ce champ est manquant (c'est-à-dire, nul) si |
num_entries |
Nombre d'entrées encodées en delta dans les données encodées. Si un seul entier a été encodé, cette valeur sera nulle et la valeur unique sera stockée dans |
encoded_data |
Deltas encodés à l'aide de l'encodeur Golomb-Rice. |
ThreatEntry
Menace individuelle, par exemple une URL malveillante ou sa représentation en hachage. Un seul de ces champs doit être défini.
Champs | |
---|---|
hash |
Préfixe de hachage, composé des 4 à 32 octets les plus significatifs d'un hachage SHA-256. Ce champ est au format binaire. Pour les requêtes JSON, les hachages sont encodés en base64. |
url |
une URL ; |
digest |
Condensé d'un exécutable au format SHA256. L'API est compatible avec les récapitulatifs binaires et hexadécimaux. Pour les requêtes JSON, les récapitulatifs sont encodés en base64. |
ThreatEntryMetadata
Métadonnées associées à une entrée de menace spécifique. Le client doit connaître les paires clé/valeur de métadonnées associées à chaque type de menace.
Champs | |
---|---|
entries[] |
Les entrées de métadonnées. |
MetadataEntry
Une seule entrée de métadonnées.
Champs | |
---|---|
key |
Clé d'entrée des métadonnées. Pour les requêtes JSON, la clé est encodée en base64. |
value |
Valeur de l'entrée de métadonnées. Pour les requêtes JSON, la valeur est encodée en base64. |
ThreatEntrySet
Ensemble de menaces à ajouter ou à supprimer de la base de données locale d'un client.
Champs | |
---|---|
compression_type |
Type de compression des entrées de cet ensemble. |
raw_hashes |
Entrées brutes au format SHA256. |
raw_indices |
Indices de suppression bruts pour une liste locale. |
rice_hashes |
Préfixes de 4 octets encodés des entrées au format SHA256, à l'aide d'un encodage Golomb-Rice. Les hachages sont convertis en uint32, triés par ordre croissant, puis codés en delta et stockés sous forme de données encodées. |
rice_indices |
Indices de liste locaux encodés et triés par ordre alphabétique, à l'aide d'un encodage Golomb-Rice. Permet d'envoyer des indices de suppression compressés. Les indices de suppression (uint32) sont triés par ordre croissant, puis codés en delta et stockés sous forme de données encodées. |
ThreatEntryType
Types d'entrées qui constituent des menaces. Les listes de menaces sont des collections d'entrées d'un même type.
Enums | |
---|---|
THREAT_ENTRY_TYPE_UNSPECIFIED |
Non spécifié. |
URL |
une URL ; |
EXECUTABLE |
Programme exécutable. |
ThreatInfo
Informations sur une ou plusieurs menaces qu'un client envoie lors de la recherche de correspondances dans des listes de menaces.
Champs | |
---|---|
threat_types[] |
Types de menaces à vérifier. |
platform_types[] |
Types de plates-formes à vérifier. |
threat_entry_types[] |
Types d'entrées à vérifier. |
threat_entries[] |
Entrées de menace à vérifier. |
ThreatListDescriptor
Décrit une liste de menaces individuelle. Une liste est définie par trois paramètres: le type de menace, le type de plate-forme ciblée par la menace et le type d'entrées de la liste.
Champs | |
---|---|
threat_type |
Type de menace représenté par les entrées de la liste. |
platform_type |
Type de plate-forme ciblé par les entrées de la liste. |
threat_entry_type |
Types d'entrées contenus dans la liste. |
ThreatMatch
Correspondance lors de la vérification d'une entrée de menace dans les listes de menaces de la navigation sécurisée.
Champs | |
---|---|
threat_type |
Type de menace correspondant à cette menace. |
platform_type |
Type de plate-forme correspondant à cette menace. |
threat_entry_type |
Type d'entrée de menace correspondant à cette menace. |
threat |
Menace correspondant à cette menace. |
threat_entry_metadata |
Métadonnées facultatives associées à cette menace. |
cache_duration |
Durée de vie du cache pour la correspondance renvoyée. Pour éviter les faux positifs, les clients ne doivent pas mettre en cache cette réponse pendant plus de cette durée. |
ThreatType
Types de menaces.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Inconnu. |
MALWARE |
Type de menace de logiciel malveillant. |
SOCIAL_ENGINEERING |
Type de menace d'ingénierie sociale. |
UNWANTED_SOFTWARE |
Type de menace de logiciel indésirable. |
POTENTIALLY_HARMFUL_APPLICATION |
Type de menace d'application potentiellement dangereuse. |