- Ресурс: Хэшлист
- РайсDeltaEncoded32Bit
- РайсDeltaEncoded64Bit
- РайсDeltaEncoded128Bit
- РайсDeltaEncoded256Bit
- HashListМетаданные
- Тип угрозы
- ВероятноСафеТип
- длина хеша
- Методы
Ресурс: Хэшлист
Список хэшей, идентифицируемых по имени.
JSON-представление |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Поля | |
---|---|
name | Имя хеш-списка. Обратите внимание, что глобальный кэш — это также просто хэш-список, на который можно ссылаться здесь. |
version | Версия хэш-списка. Клиент НЕ ДОЛЖЕН манипулировать этими байтами. Строка в кодировке Base64. |
partialUpdate | Если это правда, это частичная разница, содержащая дополнения и удаления на основе того, что уже есть у клиента. Если значение false, это полный хэш-список. Если значение false, клиент ДОЛЖЕН удалить любую локально сохраненную версию этого хэш-списка. Это означает, что либо версия, которой владеет клиент, серьезно устарела, либо данные клиента считаются поврежденными. Поле Если это правда, клиент ДОЛЖЕН применить инкрементное обновление, применяя удаления, а затем добавляя. |
compressedRemovals | Версия индексов удаления, закодированная в дельта-коде Райса. Поскольку каждый хэш-список определенно содержит менее 2^32 записей, индексы обрабатываются как 32-битные целые числа и кодируются. |
minimumWaitDuration | Клиентам следует подождать как минимум столько же времени, чтобы снова получить хеш-список. Если этот параметр опущен или равен нулю, клиенты ДОЛЖНЫ получить данные немедленно, поскольку это указывает на то, что сервер имеет дополнительное обновление для отправки клиенту, но не может этого сделать из-за ограничений, указанных клиентом. Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « |
metadata | Метаданные о хеш-списке. Он не заполняется методом |
Поле объединения compressed_additions . Версия дополнений, закодированная в дельта-коде Райса. Длина хеш-префиксов дополнений одинакова для всех дополнений в списке. Это либо desired_hash_length , отправленная клиентом, либо значение, выбранное сервером, если клиент пропустил это поле. compressed_additions может быть только одним из следующих: | |
additionsFourBytes | 4-байтовые дополнения. |
additionsEightBytes | 8-байтовые дополнения. |
additionsSixteenBytes | 16-байтовые дополнения. |
additionsThirtyTwoBytes | 32-байтовые дополнения. |
checksum сумма поля объединения. Это контрольная сумма отсортированного списка всех хешей, присутствующих в базе данных после применения предоставленного обновления. Это поле «oneof», позволяющее использовать несколько алгоритмов хеширования. Сервер также может пропустить это поле (в случае, если обновления не были предоставлены), чтобы указать, что клиент должен использовать существующую контрольную сумму. checksum может быть только одной из следующих: | |
sha256Checksum | Отсортированный список всех хэшей, снова хешированный с помощью SHA256. Строка в кодировке Base64. |
РайсDeltaEncoded32Bit
Данные, закодированные Райсом-Голомбом. Используется для хешей или индексов удаления. Гарантируется, что каждый хэш или индекс здесь имеет одинаковую длину, и эта длина составляет ровно 32 бита.
Вообще говоря, если мы отсортируем все записи лексикографически, мы обнаружим, что биты более высокого порядка имеют тенденцию меняться не так часто, как биты более низкого порядка. Это означает, что если мы также возьмем разность соседних записей между записями, биты более высокого порядка с высокой вероятностью будут равны нулю. При этом используется высокая вероятность нуля, по существу выбирая определенное количество битов; все биты, более значимые, чем этот, скорее всего, будут равны нулю, поэтому мы используем унарное кодирование. См. поле riceParameter
.
Историческая справка: кодировка Rice-delta впервые была использована в V4 этого API. В V5 было сделано два существенных улучшения: во-первых, дельта-кодировка Райса теперь доступна с хеш-префиксами длиной более 4 байт; во-вторых, закодированные данные теперь обрабатываются как с прямым порядком байтов, чтобы избежать дорогостоящего этапа сортировки.
JSON-представление |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValue | Первая запись в закодированных данных (хеши или индексы) или, если был закодирован только один хеш-префикс или индекс, значение этой записи. Если поле пусто, запись равна нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 3 до 30 включительно. |
entriesCount | Количество записей, которые закодированы дельта-кодом в закодированных данных. Если было закодировано только одно целое число, оно будет равно нулю, и единственное значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке Base64. |
РайсDeltaEncoded64Bit
То же, что и RiceDeltaEncoded32Bit
за исключением того, что кодирует 64-битные числа.
JSON-представление |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Поля | |
---|---|
firstValue | Первая запись в закодированных данных (хешах) или, если был закодирован только один префикс хеша, значение этой записи. Если поле пусто, запись равна нулю. |
riceParameter | Параметр Голомба-Райса. Этот параметр гарантированно находится в диапазоне от 35 до 62 включительно. |
entriesCount | Количество записей, которые закодированы дельта-кодом в закодированных данных. Если было закодировано только одно целое число, оно будет равно нулю, и единственное значение будет сохранено в |
encodedData | Закодированные дельты, закодированные с помощью кодера Голомба-Райса. Строка в кодировке Base64. |
РайсDeltaEncoded128Bit
То же, что и 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. |
РайсDeltaEncoded256Bit
То же, что и 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. |
HashListМетаданные
Метаданные об определенном хеш-списке.
JSON-представление |
---|
{ "threatTypes": [ enum ( |
Поля | |
---|---|
threatTypes[] | Неупорядоченный список. Если не пусто, это указывает, что список хэшей является своего рода списком угроз и перечисляет типы угроз, связанных с хешами или префиксами хэшей в этом списке хэшей. Может быть пустым, если запись не представляет угрозы, т. е. в случае, если она представляет вероятный безопасный тип. |
likelySafeTypes[] | Неупорядоченный список. Если не пусто, это указывает, что список хешей представляет собой список вероятно безопасных хэшей, и в нем перечислены способы, которыми они считаются вероятно безопасными. Это поле является взаимоисключающим с полем ThreatTypes. |
mobileOptimized | Оптимизирован ли этот список для мобильных устройств (Android и iOS). |
description | Удобочитаемое описание этого списка. Написано на английском языке. |
supportedHashLengths[] | Поддерживаемая длина хэшей для этого списка хэшей. Каждый хеш-список будет поддерживать хотя бы одну длину. Поэтому это поле не будет пустым. |
Тип угрозы
Виды угроз.
Перечисления | |
---|---|
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 | Этот сайт, вероятно, достаточно безопасен, поэтому нет необходимости проверять загрузки с него. |
длина хеша
Длина хэшей в хеш-списке.
Перечисления | |
---|---|
HASH_LENGTH_UNSPECIFIED | Неопределенная длина. Сервер не будет возвращать это значение в ответах клиенту (в поле supportedHashLengths ), но клиенту разрешено отправлять это значение на сервер (в поле desiredHashLength ), и в этом случае сервер выберет значение автоматически. Клиенты ДОЛЖНЫ позволить серверу выбрать значение. |
FOUR_BYTES | Каждый хеш представляет собой четырехбайтовый префикс. |
EIGHT_BYTES | Каждый хэш представляет собой восьмибайтовый префикс. |
SIXTEEN_BYTES | Каждый хэш представляет собой шестнадцатибайтовый префикс. |
THIRTY_TWO_BYTES | Каждый хеш представляет собой полный хеш длиной тридцать два байта. |
Методы | |
---|---|
| Получите последнее содержимое хэш-списка. |