- Ресурс: Хэш-лист
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- Хэш-списМетаданные
- Тип угрозы
- LikelySafeType
- HashLength
- Методы
Ресурс: Хэш-лист
Список хешей, идентифицированных по их имени.
| JSON-представление |
|---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
| Поля | |
|---|---|
name | Название списка хешей. Обратите внимание, что глобальный кэш также представляет собой просто список хешей, и на него можно ссылаться здесь. |
version | Версия хеш-списка. Клиенту ЗАПРЕЩЕНО манипулировать этими байтами. Строка, закодированная в формате Base64. |
partialUpdate | Если значение равно true, это частичное сравнение, содержащее добавления и удаления на основе уже имеющихся у клиента данных. Если значение равно false, это полный список хешей. Если значение равно false, клиент ОБЯЗАН удалить все локально сохраненные версии для этого списка хешей. Это означает, что либо версия, имеющаяся у клиента, серьезно устарела, либо данные клиента считаются поврежденными. Поле Если это так, клиент ОБЯЗАН выполнить инкрементальное обновление, сначала удалив, а затем добавив данные. |
compressedRemovals | Версия индексов удаления, закодированная с помощью алгоритма Райса-дельта. Поскольку каждый хеш-список определенно содержит менее 2^32 элементов, индексы рассматриваются как 32-битные целые числа и кодируются. |
minimumWaitDuration | Клиентам следует подождать как минимум это время, чтобы снова получить список хешей. Если значение отсутствует или равно нулю, клиенты ДОЛЖНЫ получить список немедленно, поскольку это указывает на то, что сервер должен отправить клиенту дополнительное обновление, но не смог этого сделать из-за ограничений, указанных клиентом. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « |
sha256Checksum | Отсортированный список всех хешей, повторно хешированных с помощью SHA256. Это контрольная сумма для отсортированного списка всех хешей, присутствующих в базе данных после применения предоставленного обновления. В случае, если обновления не были предоставлены, сервер опустит это поле, чтобы указать клиенту, что следует использовать существующую контрольную сумму. Строка, закодированная в формате Base64. |
metadata | Метаданные о хеш-списке. Они заполняются не методом |
Поле объединения compressed_additions . Версия adds, закодированная по алгоритму Райса-дельта. Длина префикса хеша adds одинакова для всех adds в списке. compressed_additions может принимать только одно из следующих значений: | |
additionsFourBytes | Сложение 4 байтов. |
additionsEightBytes | 8-байтовые сложения. |
additionsSixteenBytes | Добавление 16 байт. |
additionsThirtyTwoBytes | Добавление 32 байт. |
RiceDeltaEncoded32Bit
Данные, закодированные по алгоритму Райса-Голомба. Используются либо для хешей, либо для индексов удаления. Гарантируется, что каждый хеш или индекс имеет одинаковую длину, которая составляет ровно 32 бита.
В общем случае, если мы отсортируем все записи лексикографически, мы обнаружим, что старшие биты, как правило, изменяются не так часто, как младшие. Это означает, что если мы также возьмем разницу между соседними записями, старшие биты с высокой вероятностью будут равны нулю. Эта высокая вероятность нуля используется для выбора определенного количества битов; все биты старше этого количества, скорее всего, будут равны нулю, поэтому мы используем унарное кодирование. См. поле riceParameter .
Историческая справка: кодировка Райса-дельта впервые была использована в версии 4 этого API. В версии 5 были внесены два существенных улучшения: во-первых, кодировка Райса-дельта теперь доступна для хеш-префиксов длиннее 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. |
Хэш-списМетаданные
Метаданные, относящиеся к конкретному хеш-списку.
| 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 . |
LikelySafeType
Типы потенциально безопасных мест.
Обратите внимание, что объект SearchHashesResponse намеренно не содержит LikelySafeType .
| Перечисления | |
|---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED | Неизвестный. |
GENERAL_BROWSING | Этот сайт, вероятно, достаточно безопасен для обычного просмотра. Это также известно как глобальный кэш. |
CSD | Вероятно, этот сайт достаточно безопасен, поэтому нет необходимости запускать модели обнаружения угроз на стороне клиента или проверять защиту паролем. |
DOWNLOAD | Вероятно, этот сайт достаточно безопасен, поэтому проверять файлы, скачиваемые с него, не нужно. |
HashLength
Длина хешей в хеш-списке.
| Перечисления | |
|---|---|
HASH_LENGTH_UNSPECIFIED | Длина не указана. |
FOUR_BYTES | Каждый хеш представляет собой четырехбайтовый префикс. |
EIGHT_BYTES | Каждый хеш представляет собой восьмибайтовый префикс. |
SIXTEEN_BYTES | Каждый хеш представляет собой шестнадцатибайтовый префикс. |
THIRTY_TWO_BYTES | Каждый хеш представляет собой полный хеш размером тридцать два байта. |
Методы | |
|---|---|
| Получает последнее содержимое хэш-списка. |