«Темная сторона» работы Android-приложений

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

Недавнее исследование поведения Android-приложений указывает на ошеломляющий объём фонового интернет-трафика, который ни коим образом не улучшает работу системы, а лишь серьезно расходует заряд аккумулятора. Исследователи MIT и Global InfoTek провели тщательный анализ топовых приложений из каталога Google Play и обнаружили, что большая часть соединений ни коим образом не связана с взаимодействием непосредственно с приложением.

Исследование работы Android-приложений выявило ошеломляющий объём фонового трафика

Результатом изысканий стал вывод, что 62.7% соединений, совершенных посредством популярных Android-приложений, входящих в топ-20 приложений на Google Play (не считая мессенджеры), можно отнести к разряду имплицитных (имеющих негласную фоновую деятельность, никак не влияющую на работу программы). Блокировка соединений с онлайн-ресурсами в рамках этих приложений не сможет повлечь за собой видимых или измеримых изменений в поведении программы.

В некоторых случаях такое имплицитное поведение связано с известными библиотеками A&A (Analytics and Advertising, аналитика и реклама), но к ним относятся лишь 43% случаев. Остальные соединения разделяются по разным сферам. В отчете говорится:

Twitter использует скрытые соединения для сбора информации о видео и других медиа-вложениях, отмечаемых пользователями в твитах. Приложение GO Keyboard посредством скрытого соединения отправляет набор идентификаторов на сервер launchermsg.3g.cn, а также неподдающуюся расшифровке информацию на nextbrowser.goforandroid.com. Pandora и Spotify используют социальные метрические сервисы Facebook, посылая информацию об использовании приложений. Другой пример, приложение Walmart использует определенную библиотеку от Red Laser (компания, специализирующаяся на сравнении цен) для работы с отсканированными штрих-кодами. Эта библиотека позволяет посылать информацию об отсканированном коде на сервер data.redlaser.com. Но, блокировка исходящей информации никак не влияет на работу сканера.

Как только команда получила вывод о том, что их механизмы обнаружения и блокировки точно обнаруживали фоновую активность в приложениях, не нанося урона производительности, они сразу же применили свои поисковые техники в исследовании пятисот самых популярных приложений на Google Play. Расширенный анализ показал, что 46.2% соединений внутри приложений являются скрытыми. Таблица ниже содержит самые частые запросы к различным сервисам по приложениям.

Исследование работы Android-приложений выявило ошеломляющий объём фонового трафика

Тот факт, что API Google находятся в топе совсем не удивляет, однако позиция Gameloft может заставить задуматься. Несмотря на то, что из 500 приложений было протестировано лишь 17 продуктов от Gameloft, 87.4% соединений в их приложениях являются имплицитными.

Влияет ли это на расход заряда?

Несомненно, да, но уровень подобного влияния будет всецело зависеть от конкретного приложения. Поддерживающие связь с интернетом приложения уже будут иметь одно активное соединение, будь то Wi-Fi или мобильная сеть, поэтому затраты производительности на 1-2 дополнительных соединения будут незначительны. С другой стороны, Gameloft в среднем осуществляет по 46 скрытых соединений на каждое приложение. Даже если каждое из них использует совсем небольшой процент «лошадок» аппарат, то все вместе они дадут внушительную нагрузку.

Такое положение вещей не является откровением. Уже давно известно, что Android-приложения совсем не жалеют заряд аккумулятора наших смартфонов; многие продукты, в основу которых легла бизнес-модель freemium могут скачивать увесистые рекламные материалы в фоновом режиме, скрадывая скорость соединения и оставляя модем в активном состоянии намного дольше необходимого времени.

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