В Apple начали борьбу с механизмом взлома In-App Purchase

Множество наших читателей по почте спрашивают «а почему вы не пишете про in-appstore?», «такая тема, а вы молчите!», «не тормозите, расскажите об этом, пока не закрыли лазейку» и пр. Представьте себя на нашем месте — у нас в App Store есть бесплатная программа Sports Counter, в которой полная версия разблокируется как раз через In-App Purchase. Публиковать инструкцию по взлому In-App на нашем же сайте было бы полнейшим маразмом. В отличие от большинства других Apple-сайтов рунета, мы — одновременно разработчики и обозреватели приложений, поэтому для нас вопросы пиратства особенно актуальны.

Но упомянуть об этом  in-appstore всё-таки стоит, хотя и в другом контексте. В Apple наконец-то начали предпринимать шаги по борьбе с этим способом обхода покупок In-App Purchase.

А началась история несколько дней назад.

Некто Алексей Бородин, талантливый отечественный хакер, организовал реверс-инжиниринг процедуры оформления In-App Purchase в App Store. В результате он смог создать собственный сервер, который имитирует поведение серверов App Store и выдаёт в ответ на запросы приложений специальные receipt-коды, аналогичные тем, что выписывает настоящий App Store. На основании проверки этого кода приложение начинает полагать, что In-App-покупка была оформлена по-честному и разблокирует контент. Перенаправление iOS-приложений на левый сервер вместо App Store происходит за счёт установки пары сертификатов и правки DNS в настройках системы.

Сам Бородин утверждает, что затеял всё это с конкретной целью — мол, его бесит политика разработчиков игры CSR Racing в отношении оплаты контента, из-за которой якобы не получается нормально поиграть. Хакер подчёркивает, что его способ — только для честно купленных приложений. А разработчикам, которых его проект лишает выручки, Бородин предлагает выпускать Free- и Lite-версии программ отдельно. В общем, позиция своеобразная, но под статью УК РФ она всё равно подпадает.

В Apple быстро отметились пресс-релизом в стиле «для компании безопасность — наиважнейший приоритет, поэтому мы делаем всё возможное…», но к реальным действиям перешли попозже:

  • во-первых, по инициативе Apple один за другим блокируются хостинги, на которые переезжает сайт проекта in-appstore
  • во-вторых, была проведена массовая зачистка видеохостингов от роликов о применении in-appstore
  • в-третьих, Apple блокирует аккаунты App Store, которые подозреваются в использовании обхода покупок (правда, отдельный вопрос — как они наверняка определяют, кто этим пользовался)
  • наконец, с сегодняшнего дня поменялся формат receipt-кода App Store, туда добавилась дополнительная информация, в частности, идентификатор UDID устройства. Правда, опять-таки не ясно, поможет ли это разработчикам, если пару месяцев назад в Apple заявили, что никакие программы не имеют права отслеживать UDID. В любом случае, чтобы приложения могли дополнительно проверять легальность In-App Purchase, разработчикам нужно будет их модифицировать, а это задача не из быстрых

Пока что количество нелегальных скачиваний через in-appstore перешло отметку в 30000 и не собирается останавливаться. Посмотрим, какие ещё шаги предпримет Apple для борьбы с этой проблемой.