Comments 33
Очень интересное и своевременное исследование, спасибо!
У меня большое подозрение, что смартфоны еще и подслушивают. Пару раз очень странным образом прилетала реклама на основании простого голосового разговора (не по телефону или даже мессендеру, а просто с человеком с которым я физически находился в одной комнате).
Планируется ли развивать данное исследование? Если да, могу предложить направление исследования. Можно проверить, идет ли трафик аудио, когда смартфон просто лежит с выключенным экраном. Другой вариант - если смартфон распознает голос самостоятельно, а в сеть отправляет только текст. Чтобы это проверить, можно положить телефон рядом с генератором голоса, который читает книгу, а потом поискать в сетевом дампе слова или фразы из книги.
Спасибо!
Идея на счет текста интересная, сразу могу сказать, что гугл сохраняет голосовые команды когда говоришь "ОК, гугл", и писать он начинает сильно раньше того, как услышит ключевые слова. Заполучу нового подопытного и в путь.
То что смартфоны подслушивают я обнаружил лет 5-6 тому назад. Вечером на даче сидели выпивали и зашел спор. Тема была не очень популярная. Решили уточнить информацию в интернете. Достаточно было в поисковике набрать 3 символа как в подсказках появилось тема о которой мы беседовали. Можно сказать что это случайность. Если бы это не происходило с завидной популярностью.
А не проще произнести пару фраз типа "корм для ящериц" и посмотреть будет ли гугл подсовывать рекламу?
А как вы траффик смотрели? Нужны детали :-)
Не стал дублировать информацию по подключению BurpSuite, так как она уже есть в нескольких отдельных статьях по анализу мобильных приложений.
А что с HTTPS? Как вы сертификат подкладывали? Как весь траффик с устройства в Burp заводили? Как вы обнаруживали попытки установить HTTPS-соединения, которые не приводили в итоге к передаче данных?
Очень интересна схема включения, как BurpSuite получал расшифрованный https трафик.
Полагаю просто установкой своего сертификата на телефон. Хотя сейчас все чаще используется SSL Certificate Pinning и с ним уже так легко трафик не послушаешь (хотя всё равно есть рабочие решения)
Сбор телеметрических данных о пользователях и их действиях в вебе и приложениях — плата за пользование «бесплатными» сервисами в Интернете.
В смысле плата за бесплатные сервисы? Можно подумать, платные сервисы не собирают телеметрию))
ci.android.com/builds/branches/aosp-android12-gsi/grid
без «шпионства от самсун и яндекса».
Инструкция по установке (через fastboot) source.android.com/docs/core/tests/vts/vts-on-gsi и source.android.com/docs/setup/create/gsi
Интересно было бы провести подобное исследование для альтернативных андродоподобных прошивок (типа Lineage) с вырезанным гуглософтом.
Спасибо за расследование. Хотелось бы продолжения, так как тема актуальна и не особо раскрыта.
Также интересно, не превышает ли своих возможностей предустановленное по закону ПО
установленным пакетом российского ПО
Жаль, что данное исследование не учитывало данный аспект и не упоминает отечественное ПО в хорошем или не очень свете в принципе
Они знают и хранят намного больше даже чем им нужно, вот например сегодня обнаружил, что пережатые фото на Google photo загруженные с телефона оказывается хранятся там в оригинале, да ещё и удаленные (с моим лимитом 15 гб-Google takeout даёт скачать 650 гб только фото) - это же какая лафа, хранить безлимит бесплатно
Надо было смартфон от Xiaomi исследовать, вышло бы гораздо интереснее.
Да и у телевизоров интересно посмотреть... Им вроде слать меньше нужно. А в действительности...
Тоже в своё время из интереса собирал трафик лежащего в состоянии покоя устройства на андроиде. С правильно настроенным окружением: рутом, подсунутыми сертификатами от прокси и отключённым через инструментацию SSL-пиннингом, всё собранное с кастомными сигнатурами чтобы не обнаруживалось специализированными инструментами и на версии прошивки которая не может задетектить изменения в системе, safetynet аттестация проходит, даже гугл пей работает без проблем.
Так вот, могу засвидетельствовать, что большинство запросов таки разная совершенно скучная и тривиальная служебная информация сервисов гугла и firebase, никакого криминала. У гугл сервисов действительно очень много функционала, большей частью которого, скорее всего, почти никто не пользуется, но тем не менее, приложения с прошивкой поставляются, поэтому работают и запросов гуляет прилично. Сюда же относятся вся коммуникация рекламного СДК, remote-config, пуш-уведомления и т.д. Почти вся информация передаётся в открытую, только то что касается рекламы может передаваться в виде каких-то токенов.
Google - американская корпорация. Данные о пользователях она собирает относительно «честно» с точки зрения закона - в основном с серверов, засчёт широкой экосистемы, сопоставляя данные поиска, ютуба, почты и других сервисов, предупреждая заранее, подробно расписав что именно может быть собрано и с возможностью сбросить свой рекламный идентификатор (правда без возможности от него совсем отказаться, но таково пользовательское соглашение). Пытаться вести какие-то мутные подковёрные игры с незаконным сбором чувствительных данных означает попасть на серьёзные юридические проблемы, если эта информация всплывёт, а внимания специалистов к ним достаточно много чтобы так по глупому рисковать - загнобят в судах миллиардными штрафами. Зачем им это, если информацию можно собирать проще и в рамках заключённого с пользователем privacy policy?
Тут в комментариях ранее интересовались как обстоят дела на «обезгугленных» прошивках - дела обстоят значительно лучше. Например на стоковой прошивке моё устройство держало 20+ открытых сетевых соединений с сервисами гугла и постоянно гоняло туда-сюда информацию по ним. На LineageOS без гугл сервисов как правило отсутствовали хоть какие-то соединения. Т.е. в плане передаваемых данных система была чиста как слеза младенца, но сторонние приложения при этом, разумеется, могли пытаться сами куда-то пытаться сходить в сеть. На версии с MicroG, минималистичной опенсорсной реализацией гугл-сервисов, держалось ровно одно соединение с сервисами гугла - для получения пуш-уведомлений (полагаю, в идеальнои мире именно так и должна работать стоковая прошивка), и ещё пара соединений для A-GPS (определение локации по вышкам сотовой связи).
Значительное количество сетевых соединений с разными действительно мутными сервисами создавали, по моим наблюдениям, именно скачанные приложения, но как правило не сами, а через встроенные third-party СДК для аналитики и т.д.
Что касается российских компаний - вот тут всё куда интереснее. В российских приложениях часто встроены метрика, и, в особенности, антифрод-СДК, которые, на мой взгляд, собирают неприлично много информации. Речь идёт об информации конкретно с устройства пользователя. Иногда используя не самые стандартные хаки для этого. Эти СДК действительно пытаются скрыть передаваемые данные, шифруя их и пытаясь отключаться если обнаруживают попытку снятия трафика, что выглядит вдвойне неприлично. К счастью для нас, исследователей, нет ничего такого с чем бы не справилась фрида.
Не хочу называть конкретные приложения, и надеюсь это всё таки исключения, а не норма. Я понимаю по каким причинам они это делают, и в целом, не сомневаюсь, что пользовательское соглашение составлено так, что обвинить их в этом не получится, но на мой взгляд этих данных коллекционируется куда больше чем действительно требуется для работы.
Если на вашем андроид устройстве есть хотя бы одно из популярных в России приложений известных, крупных или окологосударственных компаний, то вероятно оно отправляет данные куда более чувствительные и куда более потенциально злонамеренным сторонам чем информация для рекламы уходящая в далёкий заморский гугл
Проблема в том что среди не-опен-сорс приложений практически невозможно найти те, в которых не было бы встроено каких-либо сторонних СДК, систем аналитики, метрик и т.д. постоянно отсылающих непонятно что непонятно куда. Если вам вдруг очень нужно какое-то такое приложение, и для вас не менее важна его чистота, при этом вы располагаете достаточным количеством свободного времени, то можно попробовать «разминировать» его, перепаковав руками и аккуратно вырезав из smali кода инициализацию подобных СДК, и обращения к нему. Инициализация, к счастью, как правило делается в одном месте и точек взаимодействия с интерфейсом обычно не так много. После этого приложение начнёт делать нечто совершенно невероятное для нашего времени - исполнять заявленный функционал и никуда не отсылать данные об устройстве, пользователе, приложениях которые он использует и т.д. Например приложение о погоде будет только показывать информацию о погоде, а определитель номер - только предупреждать о том что звонят мошенники. В это сложно поверить, но так бывает. О, дивный новый мир.
Некоторые такие «разминированные» приложения можно найти на 4пда, энтузиасты иногда сначала делают их для себя, а потом понимают что это может и ещё кому-нибудь пригодиться и выкладывают их туда
Так смартфон проверяет интернет соединение
Т.е. если забанить google.com, то телефон решит что интеренета у него нет?
Анализ трафика телеметрической информации Android смартфона