Исследование уровня защищённости мобильного приложения по продаже интерактивного контента

Заказчик — разработчик федеральной платформы по распространению интерактивного контента для российских учебных заведений.

Заказчику потребовалось исследовать мобильное приложение платформы (Android, iOS, Windows 8) на предмет рисков, связанных с кражей и неправомерным использованием интеллектуальной собственности.

Задачи

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

Решение

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

Результаты

В ходе проекта мы обнаружили десять уязвимостей для каждой из платформ, из них пять — критичных для кражи контента или ключей защиты контента (в т.ч. уязвимость серверной части приложения). Эксплуатируя их, удалось реализовать пять атак, в том числе получить несанкционированный доступ к учётным данным и осуществить неправомерный перенос контента на неавторизованное устройство.

По результатам исследования эксперты «ПМ» выработали рекомендации по защите данных на всех уровнях, а именно:

  • обфусцировать код, ответственный за генерацию ключа и шифрование всех критичных объектов доступа, хранящихся в файловой системе мобильного устройства;
  • для данных, передаваемых между серверной и клиентской частью, — использовать базовые и дополнительные (дополнительный уровень / слой шифрования) механизмы защиты трафика, в том числе обфускацию критичных данных;
  • для данных на мобильном устройстве — обфусцировать критичные данные, например, криптографические ключи.

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