October 23, 2020

Как я избавлялся от Google на Android

Недавно на работе получил задачу от руководителя: сделай так чтобы телефон android не сливал данные гуглу. Можете представить мой восторг (и предвкушение) ибо спустя 2 недели тестов я вполне уже чувствовал себя человеком который прошивает телефоны на радиорынке (ничего личного, просто не мой профиль). Прочел отличную статью и понабравшись опыта решил немного дополнить. Статья кстати отличная, рекомендую к прочтению.

Давайте рассмотрим несколько альтернативных операционных систем якобы без сервисов гугла, и выясним действительно ли они не общаются с гуглом. Подготовился я к слову основательно, для тестов даже приобрел девайс "pixel 3", так как GrapheneOS работает только с устройствами от google.

Хотел протестировать еще:

  • /e/ Но к сожалению моего девайса не было в списке
  • PostmarketOS Та же проблема
  • PinePhone Было желание приобрести тестовый девайс. Но после обзора на youtube, желание пропало, так как он очень тормозит, и сложно его представить в роли смартфона для повседневного пользования.

GrapheneOS

На первый взгляд система позиционирует себя как максимально безопасная и анонимная. Есть пару нюансов которые мне не понравились:

  1. Нет доступа к root
  2. Отстукивание на серверы Google:
  3. HTTPS: https://www.google.com/generate_204HTTP: http://connectivitycheck.gstatic.com/generate_204HTTP fallback: http://www.google.com/gen_204HTTP other fallback: http://play.googleapis.com/generate_204

Ничего необычного, этот сервис называется Captive portal используется для андроид с 4 версии. При наличии root можно выбрать другие независимые сервера или на крайняк поднять свой. Но такой возможности нет и приходится довольствоваться услугами google. Также разработчик утверждает что использование других серверов в качестве альтернативы нежелательно, по причине того что телефон будет более узнаваем в толпе, но говорит, что такая функция находится в разработке (правда имеет маленький приоритет)

LineageOS

LineageOS является более популярной операционной системой. Но к ней тоже очень много вопросов. Абсолютно чистая система умудряется стучать гуглу в особо крупных количествах. Вот данные которые я снял со своего маршрутизатора, и сделал небольшую табличку. Маршрутизатор снифил трафик с телефона 3 дня, повторюсь, что телефон я откатил до заводских настоек и нечего не устанавливал и никуда не логинился.

Существует несколько способов ограничить доступ телефона к google:

  • Использование firewall. В моем случае я использовал afwall+, его можно скачать в магазине f-droid или же в aurora store, который можно скачать там же
  • Второй способ, менее радикальный и более трудоемкий. Он заключается в подмене сервисов. Настройка на службах альтернатив google.

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

Использование firewall

Ну с этим, думаю, понятно. Блокируем все, и разблокируем по мере необходимости (для AFwall+ понадобятся root права). В android 10 добавили модуль Network Stack Permission Config module. Если заблочить данный модуль то система будет говорить что у данной сети нет доступа к интернету.

Тем не менее интернет будет работать в обычном режиме. Так как у меня гугловый девайс Pixel 3, то были подозрения что устройство общается с google на hardware уровне. Но они развеялись после того как заблокировал все и снял дамп с роутера. Результаты показали что за двое суток устройство дальше внутренней сети не ушло.

Подмена сервисов

Необходимо настроить следующие сервисы:

  • DNS
  • Captive Portals
  • WebView
  • Hostfile

DNS

По дефолту LineageOS использует гугловые dns 8.8.8.8, было бы не плохо заменить их на cloudflare 1.1.1.1. Идеальным решением будет использовать vpn и завернуть туда весь трафик, в противном случае для каждой wifi сети надо будет вбивать руками кастомные dns. Альтернативой является установка приблуды через magisk "CloudflareDNS4Magisk", или какой-либо другой с магазина, но там на свой страх и риск. Как по мне лучше с гугловыми dns, чем в непонятным магазинным софтом.

Captive Portals

Captive portal — сетевой сервис, требующий от подключившегося к сети пользователя выполнить некоторые действия для получения доступа в Интернет. Обычно используется для взимания платы, аутентификации абонента либо показа рекламы. Настроим его что-бы он стучался не на google.

Дальнейшая инструкция подразумевает то, что вы уже получили root через magisk

Присоединяем телефон по USB, запускаем терминал (linux;macos) и заходим в shell, ./adb shell, и переходим в режим админа su. Может отбить: permission denied, в этом случае заходим в magisk и даем shell рута.

Далее вводим следующие команды. Я выбрал заменить google на магазин f-droid

settings put global captive_portal_mode 0
settings put global captive_portal_detection_enabled 0
settings put global wifi_watchdog_on 0
settings put global wifi_watchdog_background_check_enabled 0
settings put global captive_portal_server f-droid.org
settings put global captive_portal_https_server "https://f-droid.org"
settings put global captive_portal_http_server "http://f-droid.org"
settings put global captive_portal_fallback_url "http://f-droid.org"
settings put global captive_portal_other_fallback_urls "http://f-droid.org" 

Вы также можете выбрать другой сервер. Ниже будет предоставлено несколько альтернатив, либо же вы можете поднять свой собственный

http://captiveportal.kuketz.de
http://elementary.io/generate_204
http://httpstat.us/204

WebView

Советую заменить браузер на "duck go browser" который можно найти на aurora store

Hosts

Желательно заблокировать следующие сайты в файле hosts. Так как мы блокируем google нужно выбрать другой поисковик, предлагаю этот.

google.com/gen_204
accounts.google.com:443
connectivitycheck.gstatic.com/generate_204
google.com:443
s3.amazonaws.com:433
collector-hpn.ghostery.net:443
cmp-cdn.ghostery.com:443
api.ghostery.net:443
cdn.ghostery.net:433
updates.signal.org:433
googleads.g.doubleclick.net:433
fonts.googleapis.com:433
api.cleanapk.org:433
clientservices.googleapis.com:443
ssl.google-analytics.com:443
bahn.de:443
deutschebahn.sc.omtrdc.net:443
assets.adobedtm.com:443
cdn.optimizely.com:443
settings.crashlytics:443
firebaseremoteconfig.googleapis.com:433
graph.facebook.com:433
http://xtrapath1.izatcloud.net/xtra3grcej.bin
http://xtrapath2.izatcloud.net/xtra3grcej.bin
http://xtrapath3.izatcloud.net/xtra3grcej.bin

Выводы:

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

P.S.

Если вы выберете второй способ, то все-равно не пренебрегайте использованием firewall, я неделю проверял данные с роутера, пробовал разные варианты (что будет если заблокировать эту службу, а что если эту). Оказалось что это самый надежный способ. Как и любая настройка firewall, блокируем все, разблокируем по надобности.