Расширенный

Расширенный поиск

Автор

Статьи по теме: «Информационная безопасность»

Тайная жизнь вашего смартфона

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

Введение

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

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

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

Начальные условия и инструментарий

Исследовался смартфон Samsung SM-A505FN (Samsung Galaxy A50), со сброшенной к заводским установкам прошивкой и установленным пакетом российского программного обеспечения, без синхронизированных учётных записей.

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

Для исследования трафика использовались BurpSuite и Wireshark, а при работе с архивами base64, gzip и xxd.

Исследование трафика на ресурсы, связанные с Google

Для начала были проанализированы DNS-запросы.


Тут видно, какие домены запрашивает устройство и ответы DNS-сервера с IP-адресами для каждого запрашиваемого домена соответственно:

  • time.google.com
  • mtalk.google.com
  • www.google.com
  • youtubei.google.com
  • www.googleapis.com
  • android.clients.google.com
  • play-lh.googleapis.com
  • play-lh.googleusercontent.com

Ясно, что это далеко не все, с кем смартфон хочет пообщаться и поделиться данными, но в данной статье делается упор на *google* и немного на *samsung* c *yandex*.


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

Так смартфон проверяет интернет соединение:


Или синхронизирует время с time.android.com или *.pool.ntp.org:


Первым из *google* доменов в истории запросов BurpSuite можно увидеть crashlyticsreports-pa.googleapis.com.


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

Чтобы достать данные из архива аккуратно и не повредить их, лучшим решением будет выделить всё с одиннадцатой строки до конца и закодировать в base64.


Можно заметить в начале строки характерный набор байт для закодированного в base64 архива «.gz». Из него можно извлечь JSON-файл.


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


Следующим «гугловым» запросом был этот:


Тут запрос отправляет имя приложения, его версию, версию Android и идентификатор с параметром «usage_tracking_enabled=0». Видимо, это рекламный идентификатор, чтобы показывать рекламу в youtube.

Здесь смартфон проверяет на наличие и необходимость обновления системного WebView:


А вот еще один запрос с архивом только уже на play.googleapis.com:


Чтобы достать содержимое архива, нужно проделать действия, аналогичные тем, что выше.


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


Кроме чётких названий пакетов, в этих данных проглядывается что-то похожее на уникальный идентификатор, скорее всего это идентификаторы остальных приложений. После этого запроса идут ещё два, таких же по смыслу, но уже с другими значениями.

А в данном запросе смартфон получает рекламный идентификатор:


Значение параметра rdid — присвоенный устройству рекламный идентификатор.


На уже известный нам play.googleapis.com, только на другой эндпоинт (/log/batch), тоже уходят архивы, но уже не gzip, на этот раз для сжатия использовался brotli, что можно заметить по заголовку Content-Type:


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


Представлена информация о другой ошибке:


Тут представлена информация об ошибке в методе во время работы приложения:


А также передается информация с некоторыми глобальными значениями:


Все это отправляется пакетом «com.google.android.gms».

Исследование трафика на ресурсы Samsung и Яндекс

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


Одним из следующих запросов, отправляется архив с неизвестным содержимым:


Данные из архива больше похожи на набор параметров.


А вот загрузилась страничка Samsung Galaxy Store, хотя никто об этом не просил.


Вскоре в трафике появился запрос к Яндексу. Кроме набора параметров в запросе также присутствует и архив.


В запросе на сервер Яндекса не указано, что используется для сжатия, и по первым байтам сообщения из тела запроса непонятно, с помощью чего данные были сжаты, так что внутрь заглянуть не получится. Но в другом запросе для сжатия используется gzip. Сжатые данные можно изучить.


В этом архиве — уже стандартная «шапка» и большое количество параметров. Параметры ниже на рисунке взяты из середины для примера.


Кроме единичных сервисов неявной принадлежности, большую активность осуществляли Facebook и Microsoft. Они были одними из первых, кто «почувствовал» наличие Интернета, и посчитали своим долгом незамедлительно уведомить все возможные серверы.

Рекомендации

Существует несколько вариантов частичного решения проблемы постоянной активности устройств в сети Интернет:

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

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