Google ударила по пиратским играм и приложениям на Android — запущен API для отслеживания происхождения ПО

Читать в полной версии

Компания Google запустила набор инструментов Play Integrity API — он поможет разработчику определять, было ли его приложение для Android скачано из официального магазина «Play Маркет» или из стороннего источника.

Источник изображения: Rubaitul Azad / unsplash.com

Владелец устройства под управлением Android может по разным причинам устанавливать приложения не из Google Play, а из сторонних источников — у разработчиков тоже может быть множество причин блокировать такую установку. К примеру, у приложения, загруженного не из Google Play, может отсутствовать часть ресурсов, кода или функций, и отследить это поможет интерфейс Play Integrity API. Этот набор инструментов позволяет разработчику «проверить, что взаимодействия и запросы к серверу исходят от подлинного двоичного файла приложения, работающего на подлинном устройстве Android». Он пытается обнаружить подтверждение, что приложение подверглось взлому, что оно выполняется в «ненадёжной» программной среде, и включена ли на устройстве защита Google Play. Схожим образом работает механизм SafetyNet Attestation, но Play Integrity API обладает более широким набором возможностей.

Разработчик может вызвать Play Integrity API в любой момент работы приложения и получить набор данных, который называется «вердиктом целостности» (integrity verdict). В зависимости от результата можно предпринять любую дальнейшую последовательность действий. Можно блокировать работу приложения целиком или вызвать API только в момент выполнения действий конфиденциального характера, чтобы предупредить пользователя, что продолжения работы может быть сопряжено с угрозами.

Источник изображения: github.com/linuxct/hydra

На конференции разработчиков Google I/O в мае компания также продемонстрировала диалоговые окна «исправления» (remediation), предлагающие решение проблем с вердиктом целостности. Так, если запрос «appLicensingVerdict» вернул результат «UNLICENSED», значит, пользователь не имеет лицензии на приложение — он не покупал и не устанавливал его в Google Play. В этом случае можно также обратиться к Play Integrity API, который выведет окно «GET_LICENSED», которое поможет получить приложение из официального магазина приложений. Существующее приложение будет удалено со всеми его данными, система установит «официальный» экземпляр, приложение добавится в библиотеку магазина, а все дальнейшие запросы «appLicensingVerdict» будут возвращать «LICENSED».

Google намеревается укреплять механизмы работы Play Integrity API и добавлять новые функции. Известно, что этот интерфейс уже используется в приложениях Tesco и BeyBlade X, нечто схожее замечено в игре Diablo Immortal, обращения к нему также есть в приложениях Stripe, Uber и TikTok. И в перспективе его присутствие обещает расширяться.