Обзор Servicepipe Mobile SDK

Какую пользу несёт SDK, как работает, чем отличаются механизмы защиты с SDK и без него.

Что это

Servicepipe Mobile SDK — библиотека, которая добавляет дополнительные эшелоны защиты для вашего приложения:

  • увеличенная точность распознавания трафика вашего приложения (усложняет мимикрию под него);

  • анализ поведения пользователя в рамках сессии для выявления подозрительной активности;

  • выдача проверок (JS-челленджа и CAPTCHA) при подозрительном поведении пользователя;

  • анализ поведения пользователя во время прохождения CAPTCHA для выявления ботов.

Благодаря SDK ваше приложение будет надёжно защищено от эксплуатации автоматизациями.

Для каких систем подходит

Можно интегрировать в приложения для Android, iOS и React Native.

Как работает

SDK подключается к сетевому слою приложения: встраивается в HTTP-клиент или заменяет стандартный сетевой клиент на SDK-совместимый. Приложение отправляет через него запросы к вашему ресурсу и получает ответы как обычно. Дополнительно SDK:

  • управляет служебными cookies Servicepipe: хранит их, обновляет, считывает Set-Cookie от системы защиты и добавляет служебные cookies в запросы приложения;

  • показывает пользователю JS-челлендж и CAPTCHA, если их выдала система защиты.

Эти механизмы позволяют нам существенно улучшить защиту вашего мобильного приложения. Детально процесс работы SDK описан в статье Схема работы.

Защита без SDK vs. с SDK

Рассказываем, какой механизм защиты стоит по умолчанию — и какие эшелоны позволяет добавить SDK.

Без SDK

Основной механизм защиты – распознавание трафика вашего мобильного приложения. Чтобы его настроить, мы:

  1. Анализируем паттерны запросов вашего приложения: их технические характеристики, маршруты, частотность и другие параметры.

  2. На основе собранных данных строим портрет легитимного трафика вашего приложения.

  3. Устанавливаем жёсткую политику фильтрации: блокируем любой мобильный трафик, который не соответствует составленному «портрету».

Для злоумышленника такой фильтр — уже барьер, который невероятно сложно преодолеть. Запрос пройдёт, только если выглядит в точности как трафик настоящего приложения.

С SDK

SDK даёт возможность добавить ещё несколько эшелонов защиты. Пробиться через все становится практически нереально.

По ней система защиты распознаёт, что запрос пришёл из приложения, куда интегрирован наш SDK. По согласованию с вами можем настроить фильтрацию так, что запросы без этой cookie будут блокироваться.

Анализ поведения в рамках сессии

К каждому запросу SDK добавляет ID сессии. Благодаря этому система защиты связывает отдельные обращения в единую цепочку и анализирует поведение пользователя: последовательность действий, частоту запросов и сценарии работы с ресурсом. Если поведение подозрительное, блокирует запрос либо выдаёт пользователю антибот-проверку: JavaScript-челлендж, CAPTCHA, либо обе сразу — сначала одну, затем другую.

Прохождение антибот-проверки

Когда система защиты выдаёт редирект на страницу с JavaScript-челленджем или CAPTCHA, SDK открывает её в специальном окне внутри приложения. Если клиент злоумышленника не способен обрабатывать сценарий с антибот-проверкой, то не сможет её открыть, а значит, и пройти.

Анализ процесса прохождения проверки

Во время JavaScript-челленджа и CAPTCHA система защиты учитывает не только итоговый ответ, но и технические и поведенческие признаки прохождения. Если признаки не похожи на то, что проверку проходит реальный человек с реального устройства, запрос блокируется.

Итог

Для автоматизаций становится почти нереально пробиться через защиту приложения с SDK. Для этого нужно:

  • делать запросы с теми же техническими характеристиками, что и приложения на телефонах реальных пользователей;

  • уметь воспроизводить наши служебные cookies;

  • повторять паттерны запросов реальных пользователей;

  • иметь техническую возможность распознать и пройти JS-челлендж и CAPTCHA;

  • при прохождении JS-челленджа и CAPTCHA делать это как реальный человек с реального устройства.

Чтобы обойти защиту, злоумышленникам пришлось бы построить настолько сложную, продвинутую и дорогую систему, что эксплуатация вашего приложения будет экономически невыгодной. Чего мы и добивались.

Что дальше

Интегрируйте SDK и наслаждайтесь надёжной защитой от эксплуатации вашего приложения автоматизациями.

Встроить SDK и ответить на ваши вопросы помогут статьи: