Обзор Servicepipe Mobile SDK
Какую пользу несёт SDK, как работает, чем отличаются механизмы защиты с SDK и без него.
Что это
Servicepipe Mobile SDK — библиотека, которая добавляет дополнительные эшелоны защиты для вашего приложения:
-
увеличенная точность распознавания трафика вашего приложения (усложняет мимикрию под него);
-
анализ поведения пользователя в рамках сессии для выявления подозрительной активности;
-
выдача проверок (JS-челленджа и CAPTCHA) при подозрительном поведении пользователя;
-
анализ поведения пользователя во время прохождения CAPTCHA для выявления ботов.
Благодаря SDK ваше приложение будет надёжно защищено от эксплуатации автоматизациями.
Как работает
SDK подключается к сетевому слою приложения: встраивается в HTTP-клиент или заменяет стандартный сетевой клиент на SDK-совместимый. Приложение отправляет через него запросы к вашему ресурсу и получает ответы как обычно. Дополнительно SDK:
-
управляет служебными cookies Servicepipe: хранит их, обновляет, считывает Set-Cookie от системы защиты и добавляет служебные cookies в запросы приложения;
-
показывает пользователю JS-челлендж и CAPTCHA, если их выдала система защиты.
Эти механизмы позволяют нам существенно улучшить защиту вашего мобильного приложения. Детально процесс работы SDK описан в статье Схема работы.
Защита без SDK vs. с SDK
Рассказываем, какой механизм защиты стоит по умолчанию — и какие эшелоны позволяет добавить SDK.
Без SDK
Основной механизм защиты – распознавание трафика вашего мобильного приложения. Чтобы его настроить, мы:
-
Анализируем паттерны запросов вашего приложения: их технические характеристики, маршруты, частотность и другие параметры.
-
На основе собранных данных строим портрет легитимного трафика вашего приложения.
-
Устанавливаем жёсткую политику фильтрации: блокируем любой мобильный трафик, который не соответствует составленному «портрету».
Для злоумышленника такой фильтр — уже барьер, который невероятно сложно преодолеть. Запрос пройдёт, только если выглядит в точности как трафик настоящего приложения.
С SDK
SDK даёт возможность добавить ещё несколько эшелонов защиты. Пробиться через все становится практически нереально.
Добавление к запросам от вашего приложения особой cookie Servicepipe
По ней система защиты распознаёт, что запрос пришёл из приложения, куда интегрирован наш SDK. По согласованию с вами можем настроить фильтрацию так, что запросы без этой cookie будут блокироваться.
Анализ поведения в рамках сессии
К каждому запросу SDK добавляет ID сессии. Благодаря этому система защиты связывает отдельные обращения в единую цепочку и анализирует поведение пользователя: последовательность действий, частоту запросов и сценарии работы с ресурсом. Если поведение подозрительное, блокирует запрос либо выдаёт пользователю антибот-проверку: JavaScript-челлендж, CAPTCHA, либо обе сразу — сначала одну, затем другую.
Итог
Для автоматизаций становится почти нереально пробиться через защиту приложения с SDK. Для этого нужно:
-
делать запросы с теми же техническими характеристиками, что и приложения на телефонах реальных пользователей;
-
уметь воспроизводить наши служебные cookies;
-
повторять паттерны запросов реальных пользователей;
-
иметь техническую возможность распознать и пройти JS-челлендж и CAPTCHA;
-
при прохождении JS-челленджа и CAPTCHA делать это как реальный человек с реального устройства.
Чтобы обойти защиту, злоумышленникам пришлось бы построить настолько сложную, продвинутую и дорогую систему, что эксплуатация вашего приложения будет экономически невыгодной. Чего мы и добивались.