Данная статья является переводом соответствующей статьи Aditya Agrawal. Оригинал доступен по ссылке.

Непреднамеренная утечка информации занимает 4-е место в OWASP Mobile Top 10 2014. В Mobile Top 10 2016 относится к категории «Небезопасное хранение данных» (2-е место).

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

Источники угроз:

  • Вредоносные приложения
  • Злоумышленник с физическим доступом к устройству.

Ведение журналов

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

Для демонстрации используем приложение Sieve.

  • Введите pidcat com.mwr.example.sieve в Appie. Pidcat — модифицированная версия утилиты logcat с улучшенными возможностями просмотра логов.
  • Теперь запустим приложение Sieve и введём пароль
    11_1
  • При этом можно заметить, что введённый пароль, введённый в Sieve, виден в pidcat. На скриншоте ниже виден введённый пароль, в данном случае — 1234567890123456
    11_2

Кэширование буфера обмена

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

Как это исправить

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

Журнал аварийного завершения

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

Как это исправить

Избегайте создания журналов при аварийном завершении приложения. Если журналы передаются по сети, убедитесь, что они передаются через SSL.

Информация для аналитики, передаваемая третьим лицам

Многие приложения задействуют сторонние сервисы типа Google AdSense, но в некоторых случаях разработчик может допустить через эти приложения утечку конфиденциальной информации, не предназначенной для используемого сервиса. Это можно обнаружить при перехвате трафика приложения.