- Ресурс: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- Тип угрозы
- ВероятноБезопасныйТип
- HashLength
- Методы
Ресурс: HashList
Список хэшей, идентифицированных по имени.
JSON-представление |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Поля | |
---|---|
name | Имя списка хэшей. Обратите внимание, что глобальный кэш также является просто списком хэшей и на него можно ссылаться здесь. |
version | Версия списка хэшей. Клиент НЕ ДОЛЖЕН манипулировать этими байтами. Строка в кодировке base64. |
partialUpdate | Если true, это частичный diff, содержащий добавления и удаления на основе того, что уже есть у клиента. Если false, это полный список хешей. Если false, клиент ДОЛЖЕН удалить любую локально сохраненную версию для этого списка хэшей. Это означает, что либо версия, которой владеет клиент, серьезно устарела, либо данные клиента считаются поврежденными. Поле Если задано значение true, клиент ДОЛЖЕН применить инкрементное обновление, применив удаления, а затем добавления. |
compressedRemovals | Версия индексов удаления, закодированная с помощью Rice-delta. Поскольку каждый хэш-список определенно содержит менее 2^32 записей, индексы рассматриваются как 32-битные целые числа и кодируются. |
minimumWaitDuration | Клиенты должны ждать по крайней мере это время, чтобы снова получить список хэшей. Если пропущено или равно нулю, клиенты ДОЛЖНЫ извлечь немедленно, поскольку это указывает на то, что у сервера есть дополнительное обновление для отправки клиенту, но это невозможно из-за ограничений, указанных клиентом. Длительность в секундах с дробной частью до девяти цифр, заканчивающаяся на ' |
sha256Checksum | Отсортированный список всех хэшей, снова хэшированных с помощью SHA256. Это контрольная сумма для отсортированного списка всех хэшей, присутствующих в базе данных после применения предоставленного обновления. В случае, если обновления не были предоставлены, сервер пропустит это поле, чтобы указать, что клиент должен использовать существующую контрольную сумму. Строка в кодировке base64. |
metadata | Метаданные о списке хешей. Это не заполняется методом |
Поле объединения compressed_additions . Версия дополнений, закодированная с помощью дельта-кода Райса. Длины префиксов хеша дополнений одинаковы для всех дополнений в списке. compressed_additions может быть только одним из следующих: | |
additionsFourBytes | 4-байтовые дополнения. |
additionsEightBytes | 8-байтовые дополнения. |
additionsSixteenBytes | 16-байтовые дополнения. |
additionsThirtyTwoBytes | 32-байтовые дополнения. |
RiceDeltaEncoded32Bit
Данные, закодированные по Райсу-Голомбу. Используется для хэшей или индексов удаления. Гарантируется, что каждый хэш или индекс здесь имеет одинаковую длину, и эта длина составляет ровно 32 бита.
Вообще говоря, если мы отсортируем все записи лексикографически, мы обнаружим, что биты более высокого порядка, как правило, не меняются так часто, как биты более низкого порядка. Это означает, что если мы также возьмем смежную разницу между записями, биты более высокого порядка имеют высокую вероятность быть нулевыми. Это использует эту высокую вероятность нуля, по сути выбирая определенное количество бит; все биты более значимые, чем это, вероятно, будут нулевыми, поэтому мы используем унарное кодирование. Смотрите поле riceParameter
.
Историческая справка: кодировка Rice-delta впервые была использована в версии V4 этого API. В версии V5 были сделаны два существенных улучшения: во-первых, кодировка Rice-delta теперь доступна с префиксами хэша длиннее 4 байтов; во-вторых, закодированные данные теперь обрабатываются как big-endian, чтобы избежать дорогостоящего этапа сортировки.
JSON-представление |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValue | Первая запись в закодированных данных (хэши или индексы) или, если был закодирован только один префикс хеша или индекс, значение этой записи. Если поле пустое, запись равна нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 3 до 30 включительно. |
entriesCount | Количество записей, которые дельта-кодированы в закодированных данных. Если было закодировано только одно целое число, это будет ноль, и одно значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке base64. |
RiceDeltaEncoded64Bit
То же, что и RiceDeltaEncoded32Bit
за исключением того, что кодирует 64-битные числа.
JSON-представление |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValue | Первая запись в закодированных данных (хэшах) или, если был закодирован только один префикс хеша, значение этой записи. Если поле пустое, запись равна нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 35 до 62 включительно. |
entriesCount | Количество записей, которые дельта-кодированы в закодированных данных. Если было закодировано только одно целое число, это будет ноль, и одно значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке base64. |
RiceDeltaEncoded128Bit
То же, что и RiceDeltaEncoded32Bit
за исключением того, что кодирует 128-битные числа.
JSON-представление |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValueHi | Верхние 64 бита первой записи в закодированных данных (хэшах). Если поле пустое, верхние 64 бита все равны нулю. |
firstValueLo | Нижние 64 бита первой записи в закодированных данных (хэшах). Если поле пустое, нижние 64 бита все равны нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 99 до 126 включительно. |
entriesCount | Количество записей, которые дельта-кодированы в закодированных данных. Если было закодировано только одно целое число, это будет ноль, и одно значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке base64. |
RiceDeltaEncoded256Bit
То же, что и RiceDeltaEncoded32Bit
за исключением того, что кодирует 256-битные числа.
JSON-представление |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValueFirstPart | Первые 64 бита первой записи в закодированных данных (хэшах). Если поле пустое, то первые 64 бита равны нулю. |
firstValueSecondPart | Биты с 65 по 128 первой записи в закодированных данных (хэши). Если поле пустое, биты с 65 по 128 равны нулю. |
firstValueThirdPart | Биты с 129 по 192 первой записи в закодированных данных (хэши). Если поле пустое, биты с 129 по 192 равны нулю. |
firstValueFourthPart | Последние 64 бита первой записи в закодированных данных (хэшах). Если поле пустое, последние 64 бита равны нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 227 до 254 включительно. |
entriesCount | Количество записей, которые дельта-кодированы в закодированных данных. Если было закодировано только одно целое число, это будет ноль, и одно значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке base64. |
HashListMetadata
Метаданные о конкретном списке хэшей.
JSON-представление |
---|
{ "threatTypes": [ enum ( |
Поля | |
---|---|
threatTypes[] | Неупорядоченный список. Если не пустой, это указывает, что список хешей является своего рода списком угроз, и это перечисляет виды угроз, связанных с хэшами или префиксами хешей в этом списке хешей. Может быть пустым, если запись не представляет угрозы, т. е. в случае, если она представляет вероятный безопасный тип. |
likelySafeTypes[] | Неупорядоченный список. Если не пусто, это указывает, что список хешей представляет собой список вероятных безопасных хешей, и это перечисляет способы, которыми они считаются вероятно безопасными. Это поле является взаимоисключающим с полем threatTypes. |
description | Человекочитаемое описание этого списка. Написано на английском языке. |
hashLength | Поддерживаемая длина хеша для этого списка хешей. Каждый список хешей будет поддерживать ровно одну длину. Если для того же набора типов угроз или безопасных типов вводится другая длина хеша, она будет введена как отдельный список с отдельным именем и соответствующим набором длины хеша. |
Тип угрозы
Виды угроз.
Перечисления | |
---|---|
THREAT_TYPE_UNSPECIFIED | Неизвестный тип угрозы. Если это возвращено сервером, клиент должен полностью проигнорировать прилагаемый FullHashDetail . |
MALWARE | Тип угрозы вредоносного ПО. Вредоносное ПО — это любое программное обеспечение или мобильное приложение, специально разработанное для нанесения вреда компьютеру, мобильному устройству, программному обеспечению, которое оно запускает, или его пользователям. Вредоносное ПО демонстрирует вредоносное поведение, которое может включать установку программного обеспечения без согласия пользователя и установку вредоносного программного обеспечения, такого как вирусы. Более подробную информацию можно найти здесь . |
SOCIAL_ENGINEERING | Тип угрозы социальной инженерии. Страницы социальной инженерии ложно заявляют, что действуют от имени третьей стороны с целью сбить зрителей с толку и заставить их выполнить действие, которому они доверяют только настоящему агенту этой третьей стороны. Фишинг — это тип социальной инженерии, который обманом заставляет зрителей выполнить определенное действие по предоставлению информации, например, учетных данных для входа. Более подробную информацию можно найти здесь . |
UNWANTED_SOFTWARE | Нежелательное ПО — тип угрозы. Нежелательное ПО — это любое ПО, которое не соответствует принципам Google в отношении ПО, но не является вредоносным ПО. |
POTENTIALLY_HARMFUL_APPLICATION | Потенциально опасный тип угрозы приложения , используемый Google Play Protect для Play Store . |
ВероятноБезопасныйТип
Типы потенциально безопасных сайтов.
Обратите внимание, что SearchHashesResponse
намеренно не содержит LikelySafeType
.
Перечисления | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED | Неизвестный. |
GENERAL_BROWSING | Этот сайт, скорее всего, достаточно безопасен для общего просмотра. Это также известно как глобальный кэш. |
CSD | Этот сайт, скорее всего, достаточно безопасен, поэтому нет необходимости запускать модели обнаружения на стороне клиента или проверки защиты паролем. |
DOWNLOAD | Вероятно, этот сайт достаточно безопасен, поэтому нет необходимости проверять загрузки с него. |
HashLength
Длина хешей в списке хешей.
Перечисления | |
---|---|
HASH_LENGTH_UNSPECIFIED | Длина не указана. |
FOUR_BYTES | Каждый хеш представляет собой четырехбайтовый префикс. |
EIGHT_BYTES | Каждый хеш представляет собой восьмибайтовый префикс. |
SIXTEEN_BYTES | Каждый хеш представляет собой шестнадцатибайтовый префикс. |
THIRTY_TWO_BYTES | Каждый хеш представляет собой полный хеш размером тридцать два байта. |
Методы | |
---|---|
| Получить последнее содержимое списка хешей. |