Button Up

Защита от копирования в магазинах мобильных приложений

29.03.2013

Введение

Основным источником приложений для мобильных устройств являются магазины мобильных приложений. Каждый из владельцев трёх основных платформ для мобильных устройств (Android, iOS, Windows RT) имеет собственный магазин. При приобретении платного приложения оно становится доступным для скачивания на все мобильные устройства данного пользователя.

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

 

Магазин Google Play (платформа Android)

Google PlayПри покупке платного приложения в магазине Google Play на устройство скачивается инсталляционный пакет (APK-файл), после чего производится установка приложения. Сам APK-файл на устройстве не хранится, а файлы приложения недоступны конечному пользователю.

Особенностью платформы Android является возможность установки приложения не только из Google Play, но и из сторонних источников. Это означает, что если злоумышленнику удастся собрать из установленных файлов приложения новый APK-файл, либо перехватить APK-файл в момент установки, этот файл можно будет устанавливать на любые устройства. Возможность получить доступ к файлам приложения или к APK-файлу в момент установки появляется у злоумышленника на т.н. «рутованном» устройстве, т.е. устройстве, параметры которого модифицированы так, что пользователь имеет полные права на доступ к системе. «Рутовать» можно практически любое устройство.

Таким образом, платные приложения, размещаемые в Google Play, очень уязвимы к нелегальному распространению.

Для увеличения сложности нелегального копирования компания Google разработала специальную библиотеку верификации лицензий – Google LVL, встраивая вызовы которой в приложение разработчик может увеличить его взломостойкость. Данная библиотека позволяет приложению сделать запрос к серверу Google с целью узнать, купил ли данный пользователь данное приложение. Для взлома приложения, использующего Google LVL, злоумышленник должен модифицировать код приложения для исключения вызовов Google LVL. Чтобы усложнить эту задачу, Google рекомендует обфусцировать (защищать от анализа) код приложения. На практике взломы приложений, использующих Google LVL, встречаются часто, т.к. средства обфускации либо не применяются разработчиками, либо не обеспечивают достаточной защиты.

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

 

Магазин App Store (платформа iOS)

App StoreВ iOS приложения можно устанавливать на устройство только из App Store, доступ к которому осуществляется через приложение iTunes. Защищённое приложение поставляется в виде файла-контейнера с расширением IPA. Контейнер содержит исполняемый файл приложения, ресурсы и сертификат. Для файлов в контейнере имеется подписанный список их контрольных сумм. Исполняемый файл дополнительно зашифрован. При скачивании IPA-файла через iТunes в него прописываются информация о пользователе для отслеживания утечек. Пользователь также получает дополнительный ключ, который необходим для расшифровки исполняемого файла. При отсутствии такого ключа (просто украв исполняемый файл) расшифровать и запустить файл невозможно.

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

Для осуществления запуска нелегально полученного приложения злоумышленнику необходимо получить полный доступ к устройству (т.н. операция Jailbreak). Такую операцию злоумышленнику нужно произвести на каждом устройстве, на котором требуется запустить приложение. Атака через распространение информации об аккаунте пользователя затруднительна, так как количество устройств, которые можно привязать к одному аккаунту, ограничено.

 

Магазин Windows Store (платформа Windows RT)

Windows StoreВ Windows RT приложения можно устанавливать на устройство только из Windows Store. Для работы с этим магазином у пользователя должен быть аккаунт на сервере Microsoft, который регистрируется на устройстве. При покупке приложения производятся следующие действия:

  • Информация о покупке сохраняется в аккаунте пользователя на сервере Microsoft.
  • Пользователь получает подписанный инсталляционный пакет (APPX-файл). Этот пакет содержит файлы приложения без каких-либо встроенных механизмов защиты.
  • В базу установленных приложений на устройстве записывается идентификатор приложения.

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

Таким образом, система защиты полагается на невозможность установить программу не из Windows Store, невозможность внесения записей о приложении в базу установленных приложений, а также невозможность модифицировать остальные компоненты ОС для отключения проверки цифровой подписи.

Основные атаки на данную систему связаны с отключением описанных проверок путём «залезания» в обычно недоступную для пользователя часть системы, причём это действие должно быть произведено на всех устройствах, на которые необходимо установить приложение. Атака через распространение информации об аккаунте пользователя затруднительна, так как количество устройств, привязанных к аккаунту, ограничено пятью.

 

Заключение

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

Уязвимость приложений в App Store и Window Store меньше, что достигается за счёт переноса сложностей с взломщика на конечного пользователя, желающего нелегально установить приложение. Такой подход хорошо работает для ограничения массового нелегального распространения приложений, но приводит к ограничению способов распространения приложений одним магазином.

О компании StarForce

Компания «Протекшен Технолоджи» (торговая марка StarForce) – ведущий российский разработчик программных решений в области контроля и защиты программ и электронной информации от утечек, копирования и нелегального распространения. С 2000 года компания разрабатывает и внедряет ультрасовременные технологические решения, защищенные соответствующими патентами РФ, США и Канады, что позволяет обеспечить охрану интеллектуальной собственности и авторских прав во всем мире.

Являясь экспертом в области защиты цифровой информации и программного обеспечения от утечек, копирования, взлома и несанкционированного распространения, компания разработала собственную систему Управления Цифровыми Правами (StarForce DRM), открывающую перед нашими клиентами широчайшие возможности по доставке цифрового контента и слежению за продажами. Технологии StarForce внедрены в таких компаниях как РЖД, Corel, 1С, Mail.ru, Аэрофлот, SUN InBev Russia, АМД Лаборатории, ATC International, МедиаХауз, Руссобит-М, Новый Диск, Бука, Snowball, 2Play, GFI, CENEGA, Akella и в ряде других.

Контакты для прессы:
pr@star-force.com

Возврат к списку