Перейти к основному содержимому

# Риск

Риск - это какая-либо закономерность в данных попытки, которая может говорить о мошеннических действиях со стороны пользователя.

Риск может быть в трёх состояниях:

1. Активный. Влияет на вердикт попытки при срабатывании.

2. Неактивный. Сохраняется в попытку при срабатывании.

3. Отключённый. Не сохраняется и не влияет на вердикт попытки.

В системе существуют следующие риски:

№ | Тип риска | Причины срабатывания риска
0 | MassAttack | Превышение числа запросов валидации, отправленных после определенной даты (текущая дата минус период) c IP-адреса. Параметры: Period — период, по умолчанию равен TimeSpan("01:00:00"), Count — количество запросов, по умолчанию равно 3. Например, если не менять дефолтные параметры риска, он сработает, если в течение часа с одного ip адреса пришло более трёх запросов.
1 | PeriodicAttack | Риск сработает если пользователь с одного устройства будет пытаться сдать биометрию по разным аппликантам.
6 | DuplicateFace | Риск сработает если пользователь попытается зарегистрировать биометрию, которая уже есть в системе.
7 | InconsistentMetadata | При проверке были обнаружены несоответствия в метаданных клиента. Возможные несоответствия: Страна телефона - страна номера телефона не совпадает со страной ip клиента. TimeZone - часовой пояс на клиентском устройстве не совпадает с часовым поясом clientIp.
8 | MissingMetadata | Риск возникнет, если метаданные не были отправлены в запросе на валидацию биометрии
9 | UntrustedIp | IP при регистрации не совпадает с IP авторизации.
10 | MotionControlFailed | Движения пользователя не совпадают с указаниями веб-компоненты при записи видео
11 | UntrustedDevice | Отпечаток устройства при регистрации не совпадает с отпечатком устройства при авторизации

примечание

Данные риска MotionControl, в отличие от остальных рисков, не сохраняются в список под ключем riskEvents. Они хранятся как отдельный блок проверок в объекте validations.

Например:

    "validations":
    {
        "motionControl": {
            "verdict": false,
            "motionControlInfo": [
                {
                  "pattern": "left",
                  "result": true
                },
                {
                  "pattern": "right",
                  "result": true
                },
                {
                  "pattern": "up",
                  "result": true
                },
                {
                  "pattern": "closer",
                  "result": true
                },
                {
                  "pattern": "farther",
                  "result": false
                }
            ]
        }
    }