- Ressource: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- Methoden
Ressource: HashList
Eine Liste von Hashes, die anhand ihres Namens identifiziert werden.
JSON-Darstellung |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Felder | |
---|---|
name |
Der Name der Hash-Liste. Der globale Cache ist ebenfalls nur eine Hashliste und kann hier referenziert werden. |
version |
Die Version der Hash-Liste. Der Client darf diese Bytes NICHT manipulieren. Ein base64-codierter String. |
partialUpdate |
Wenn „true“ ist, handelt es sich um eine teilweise Differenz, die Ergänzungen und Entfernungen enthält, die auf dem bereits vorhandenen Inhalt des Clients basieren. Wenn „false“ ist, ist dies die vollständige Hash-Liste. Wenn „false“ ist, MUSS der Client alle lokal gespeicherten Versionen für diese Hashliste löschen. Das bedeutet, dass entweder die Version des Clients stark veraltet ist oder die Clientdaten beschädigt sind. Das Feld Wenn „true“ angegeben ist, MUSS der Client ein inkrementelles Update anwenden, indem er zuerst Elemente entfernt und dann hinzufügt. |
compressedRemovals |
Die mit Rice-Delta codierte Version von Entfernungsindexen. Da jede Hashliste weniger als 2^32 Einträge hat, werden die Indizes als 32‑Bit-Ganzzahlen behandelt und codiert. |
minimumWaitDuration |
Clients sollten mindestens so lange warten, um die Hash-Liste noch einmal abzurufen. Wenn dieser Parameter weggelassen oder null ist, MÜSSEN Clients ihn sofort abrufen, da dies darauf hinweist, dass der Server ein zusätzliches Update an den Client senden kann, dies aber aufgrund der vom Client angegebenen Einschränkungen nicht konnte. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
sha256Checksum |
Die sortierte Liste aller Hashes, die noch einmal mit SHA256 gehasht werden. Dies ist die Prüfsumme für die sortierte Liste aller Hashes, die nach dem Anwenden des bereitgestellten Updates in der Datenbank vorhanden sind. Wenn keine Updates bereitgestellt wurden, lässt der Server dieses Feld aus, um anzugeben, dass der Client die vorhandene Prüfsumme verwenden soll. Ein base64-codierter String. |
metadata |
Metadaten zur Hashliste. Dieser Wert wird nicht mit der Methode |
Union-Feld compressed_additions . Die mit Rice-Delta codierte Version der Ergänzungen. Die Länge der Hash-Präfixe von Ergänzungen ist für alle Ergänzungen in der Liste gleich. Es ist entweder der vom Client gesendete desired_hash_length oder ein vom Server ausgewählter Wert, wenn der Client dieses Feld ausgelassen hat. Für compressed_additions ist nur einer der folgenden Werte zulässig: |
|
additionsFourBytes |
Die 4-Byte-Zusätze. |
additionsEightBytes |
Die 8-Byte-Zusätze. |
additionsSixteenBytes |
Die 16-Byte-Zusätze. |
additionsThirtyTwoBytes |
Die 32-Byte-Zusätze. |
RiceDeltaEncoded32Bit
Die Rice-Golomb-codierten Daten. Wird entweder für Hashes oder Entfernungsindizes verwendet. Es ist garantiert, dass jeder Hash oder Index hier dieselbe Länge hat und diese Länge genau 32 Bit beträgt.
Wenn wir alle Einträge lexikografisch sortieren, stellen wir in der Regel fest, dass sich die Bits höherer Ordnung in der Regel nicht so häufig ändern wie die Bits niedrigerer Ordnung. Wenn wir also auch die benachbarte Differenz zwischen den Einträgen berücksichtigen, haben die Bits höherer Ordnung mit hoher Wahrscheinlichkeit den Wert 0. Diese hohe Wahrscheinlichkeit von Null wird ausgenutzt, indem im Wesentlichen eine bestimmte Anzahl von Bits ausgewählt wird. Alle Bitpositionen, die höher sind, sind wahrscheinlich Null. Daher wird die unary-Codierung verwendet. Siehe Feld riceParameter
.
Historischer Hinweis: Die Rice-Delta-Codierung wurde erstmals in Version 4 dieser API verwendet. In Version 5 wurden zwei wichtige Verbesserungen vorgenommen: Erstens ist die Rice-Delta-Codierung jetzt mit Hash-Präfixen verfügbar, die länger als 4 Byte sind. Zweitens werden die codierten Daten jetzt als Big-Endian behandelt, um einen kostspieligen Sortierschritt zu vermeiden.
JSON-Darstellung |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Felder | |
---|---|
firstValue |
Der erste Eintrag in den codierten Daten (Hashes oder Indexe) oder, wenn nur ein einzelnes Hash-Präfix oder ein Index codiert wurde, der Wert dieses Eintrags. Wenn das Feld leer ist, ist der Eintrag „0“. |
riceParameter |
Der Golomb-Rice-Parameter. Dieser Parameter hat garantiert eine Länge von 3 bis 30 Zeichen. |
entriesCount |
Die Anzahl der Einträge, die in den codierten Daten deltacodiert sind. Wenn nur eine einzelne Ganzzahl codiert wurde, ist dieser Wert null und der einzelne Wert wird in |
encodedData |
Die codierten Deltas, die mit dem Golomb-Rice-Codierer codiert werden. Ein base64-codierter String. |
RiceDeltaEncoded64Bit
Entspricht RiceDeltaEncoded32Bit
, codiert aber 64‑Bit-Zahlen.
JSON-Darstellung |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Felder | |
---|---|
firstValue |
Der erste Eintrag in den codierten Daten (Hashes) oder, wenn nur ein einzelnes Hash-Präfix codiert wurde, der Wert dieses Eintrags. Wenn das Feld leer ist, ist der Eintrag „0“. |
riceParameter |
Der Golomb-Rice-Parameter. Dieser Parameter liegt garantiert zwischen 35 und 62. |
entriesCount |
Die Anzahl der Einträge, die in den codierten Daten deltacodiert sind. Wenn nur eine einzelne Ganzzahl codiert wurde, ist dieser Wert null und der einzelne Wert wird in |
encodedData |
Die codierten Deltas, die mit dem Golomb-Rice-Codierer codiert werden. Ein base64-codierter String. |
RiceDeltaEncoded128Bit
Entspricht RiceDeltaEncoded32Bit
, codiert aber 128‑Bit-Zahlen.
JSON-Darstellung |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Felder | |
---|---|
firstValueHi |
Die oberen 64 Bit des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die oberen 64 Bit alle Null. |
firstValueLo |
Die unteren 64 Bit des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die unteren 64 Bit alle Null. |
riceParameter |
Der Golomb-Rice-Parameter. Dieser Parameter liegt garantiert zwischen 99 und 126. |
entriesCount |
Die Anzahl der Einträge, die in den codierten Daten deltacodiert sind. Wenn nur eine einzelne Ganzzahl codiert wurde, ist dieser Wert null und der einzelne Wert wird in |
encodedData |
Die codierten Deltas, die mit dem Golomb-Rice-Codierer codiert werden. Ein base64-codierter String. |
RiceDeltaEncoded256Bit
Entspricht RiceDeltaEncoded32Bit
, codiert aber 256‑Bit-Zahlen.
JSON-Darstellung |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Felder | |
---|---|
firstValueFirstPart |
Die ersten 64 Bit des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die ersten 64 Bits alle Null. |
firstValueSecondPart |
Die 65. bis 128. Bit des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die 65. bis 128. Bits alle Null. |
firstValueThirdPart |
Die 129. bis 192. Bits des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die Bits 129 bis 192 alle Nullen. |
firstValueFourthPart |
Die letzten 64 Bit des ersten Eintrags in den codierten Daten (Hashes). Wenn das Feld leer ist, sind die letzten 64 Bit alle null. |
riceParameter |
Der Golomb-Rice-Parameter. Dieser Parameter liegt garantiert zwischen 227 und 254 (einschließlich). |
entriesCount |
Die Anzahl der Einträge, die in den codierten Daten deltacodiert sind. Wenn nur eine einzelne Ganzzahl codiert wurde, ist dieser Wert null und der einzelne Wert wird in |
encodedData |
Die codierten Deltas, die mit dem Golomb-Rice-Codierer codiert werden. Ein base64-codierter String. |
HashListMetadata
Metadaten zu einer bestimmten Hashliste.
JSON-Darstellung |
---|
{ "threatTypes": [ enum ( |
Felder | |
---|---|
threatTypes[] |
Unsortierte Liste. Wenn die Liste nicht leer ist, handelt es sich um eine Art von Bedrohungsliste, in der die Art der Bedrohungen aufgelistet ist, die mit Hashes oder Hash-Präfixen in dieser Hash-Liste verknüpft sind. Kann leer sein, wenn der Eintrag keine Bedrohung darstellt, d.h. wenn er einen wahrscheinlich sicheren Typ darstellt. |
likelySafeTypes[] |
Unsortierte Liste. Wenn die Liste nicht leer ist, gibt sie an, dass die Hash-Liste eine Liste mit wahrscheinlich sicheren Hashes darstellt, und hier werden die Gründe aufgeführt, warum sie als wahrscheinlich sicher eingestuft werden. Dieses Feld schließt das Feld „threatTypes“ aus. |
description |
Eine für Menschen lesbare Beschreibung dieser Liste. Sie muss auf Englisch verfasst sein. |
supportedHashLengths[] |
Die unterstützten Hash-Längen für diese Hash-Liste. Jede Hashliste unterstützt mindestens eine Länge. Dieses Feld ist daher nicht leer. |
hashLength |
Die unterstützte Hash-Länge für diese Hash-Liste. Jede Hashliste unterstützt genau eine Länge. Wenn für dieselbe Gruppe von Bedrohungs- oder sicheren Typen eine andere Hash-Länge eingeführt wird, wird sie als separate Liste mit einem eindeutigen Namen und einer entsprechenden Hash-Länge festgelegt. |
ThreatType
Arten von Bedrohungen
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Unbekannter Bedrohungstyp. Wenn dies vom Server zurückgegeben wird, muss der Client die umschließende FullHashDetail vollständig ignorieren. |
MALWARE |
Malware-Bedrohungstyp. Malware ist eine Software oder mobile App, die speziell dazu entwickelt wurde, einem Computer, einem Mobilgerät, der darauf ausgeführten Software oder deren Nutzern zu schaden. Malware weist bösartiges Verhalten auf und installiert unter anderem Software ohne das Einverständnis des Nutzers sowie schädliche Software wie Viren. Weitere Informationen finden Sie hier. |
SOCIAL_ENGINEERING |
Art der Social Engineering-Bedrohung. Social Engineering-Seiten geben vor, im Namen eines Drittanbieters zu handeln, um Nutzer dazu zu bringen, eine Aktion auszuführen, der sie nur einem echten Vertreter dieses Drittanbieters vertrauen würden. Phishing ist eine Form von Social Engineering, bei der Nutzer dazu verleitet werden, bestimmte Aktionen auszuführen, z. B. die Angabe von Informationen wie Anmeldedaten. Weitere Informationen finden Sie hier. |
UNWANTED_SOFTWARE |
Bedrohungstyp für unerwünschte Software. Unerwünschte Software ist Software, die nicht den Software-Prinzipien von Google entspricht, aber keine Malware ist. |
POTENTIALLY_HARMFUL_APPLICATION |
Art der Bedrohung durch potenziell schädliche Apps, wie von Google Play Protect für den Play Store verwendet. |
LikelySafeType
Arten von Websites, die wahrscheinlich sicher sind
Beachten Sie, dass SearchHashesResponse
absichtlich kein LikelySafeType
enthält.
Enums | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
Unbekannt |
GENERAL_BROWSING |
Diese Website ist wahrscheinlich sicher genug für allgemeines Surfen. Dieser wird auch als globaler Cache bezeichnet. |
CSD |
Diese Website ist wahrscheinlich so sicher, dass keine clientseitigen Erkennungsmodelle oder Passwortschutzprüfungen ausgeführt werden müssen. |
DOWNLOAD |
Diese Website ist wahrscheinlich so sicher, dass Downloads von der Website nicht überprüft werden müssen. |
HashLength
Die Länge der Hashes in einer Hash-Liste.
Enums | |
---|---|
HASH_LENGTH_UNSPECIFIED |
Unbestimmte Länge. Der Server gibt diesen Wert nicht in Antworten an den Client zurück (im Feld supportedHashLengths ). Der Client darf diesen Wert jedoch an den Server senden (im Feld desiredHashLength ). In diesem Fall wählt der Server automatisch einen Wert aus. Clients sollten dem Server erlauben, einen Wert auszuwählen. |
FOUR_BYTES |
Jeder Hash ist ein Präfix mit vier Byte. |
EIGHT_BYTES |
Jeder Hash ist ein Präfix mit acht Byte. |
SIXTEEN_BYTES |
Jeder Hash ist ein 16-Byte-Präfix. |
THIRTY_TWO_BYTES |
Jeder Hash ist ein 32-Byte-Vollhash. |
Methoden |
|
---|---|
|
Ruft den aktuellen Inhalt einer Hash-Liste ab. |