Skip to main content

Недавно мы сообщали о том, как нескольким пиратским стриминговым приложениям для iOS удалось получить одобрение в App Store, обманув процесс проверки. Хотя мы кратко упомянули некоторые приемы, используемые этими разработчиками, Теперь мы подробно разобрались, как эти приложения обманывают Apple.

Методы, используемые разработчиками для обхода проверки в App Store

В прошлом месяце приложение под названием «Collect Cards» достигло вершины рейтинга App Store самых скачиваемых бесплатных приложений в некоторых странах. После нашего отчета Apple удалила приложение – но позже в App Store было выпущено множество других версий того же приложения. Но как именно разработчикам удается обмануть команду по обзору App Store?

В нашем первоначальном отчете мы объяснили, что эти приложения используют геозону, чтобы никто в Apple не мог увидеть, на что на самом деле способно приложение. Но, проанализировав код этих приложений, мы теперь лучше понимаем, как это происходит.

Как мы и предполагали, эти приложения используют одну и ту же кодовую базу, даже если они распространяются разными аккаунтами разработчиков. Они построены на React Native, кроссплатформенном фреймворке на основе JavaScript, и используют CodePush SDK от Microsoft, который позволяет разработчикам обновлять части приложения без необходимости отправлять новую сборку в App Store.

Создание приложений React Native и использование CodePush не противоречит правилам App Store. На самом деле, есть много популярных приложений, которые это делают. Однако злонамеренные разработчики используют эти технологии, чтобы обойти проверку App Store.

Одно из приложений, проанализированных указывает на репозиторий GitHub, который, похоже, предоставляет файлы для нескольких пиратских потоковых приложений. Это приложение также использует определенный API для проверки местоположения устройства на основе IP-адреса. Оно возвращает такие данные, как страна, регион, город и даже предполагаемые долгота и широта.

Когда приложение открывается в первый раз, оно ждет несколько секунд, чтобы вызвать API геолокации. Таким образом, автоматизированный процесс проверки App Store не видит ничего необычного в коде приложения. Мы также проверили поведение приложения, запустив его через прокси-сервер, чтобы подделать наше местоположение в Сан-Хосе, Калифорния. Для этого местоположения приложение никогда не показывает свой скрытый интерфейс.

Пиратское стриминговое приложение для iOS обмануло App Store Review, чтобы получить одобрение Apple

После того, как Apple одобряет приложение с его основными функциями, разработчики используют CodePush, чтобы обновить его всем, что они хотят. Затем приложение раскрывает свой настоящий интерфейс в «безопасных» местах.

Что Apple может с этим поделать?

Конечно, Apple не застрахована от приложений, пытающихся обмануть ее систему отзывов. Однако компания могла бы улучшить ее, внедрив дополнительные тесты для проверки поведения приложения в других местах. В то же время Apple следует более активно находить и удалять мошеннические приложения из App Store.

В 2017 году Uber обвинили в работе над «геозоной» для штаб-квартиры Apple в Купертино. Когда приложение запускалось внутри этой геозоны, оно автоматически отключало коды, используемые для снятия отпечатков пальцев и отслеживания пользователя в Интернете. Тем не менее, похоже, что Apple не сделала многого, чтобы предотвратить другие подобные ситуации.

В 2021 году документы показали, что команда App Store Review насчитывает более 500 экспертов-людей, которые еженедельно проверяют более 100 000 приложений. Тем не менее, подавляющее большинство приложений проходят автоматизированные процессы проверки, чтобы проверить, нарушают ли они правила App Store, прежде чем пройти процесс ручной проверки.

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