CalyxOS: лучший способ очистить Android от следов Google

image-loader.svg


Android Open Source Project — свободный проект. Однако в него очень глубоко проникла корпорация Google. К сожалению, всё больше API и библиотек Android теперь доступны только на смартфонах с предустановленными приложениями Google Apps (GApps). Таким способом Google эффективно привязывает сторонние приложения к своей закрытой экосистеме. В результате ряд популярных опенсорсных приложений уже не могут работать без библиотек Google.

По сути, Android представляет собой особый вид опенсорса типа «смотри, но не трогай», по модели Shared Source. Неудивительно, что набирают силу опенсорсные проекты, которые ставят целью полностью удалить Google из мобильной ОС. Один из последних примеров — прошивка CalyxOS, ориентированная на безопасность и приватность.
Для начала нужно упомянуть ключевую технологию в сердце практически любой опенсорсной прошивки Android — это microG, свободная реализация приложений и библиотек пользовательского пространства Android вместо проприетарного набора от Google. Эти библиотеки отлично заменяют GApps во многих свободных прошивках на AOSP, таких как ArrowOS, LineageOS for microG, CalyxOS (см. ниже) и др.


image-loader.svg


Хотя большинство компонентов microG ещё далеки от завершения, но ими уже можно пользоваться. Их установка на Android позволяет значительно сократить объём данных, отправляемых в Google, а также сократить общее энергопотребление Android. Старые телефоны могут рассчитывать на некоторое увеличение времени автономной работы. Ниже перечислены пять базовых компонентов microG, по ссылкам см. документацию и инструкции по установке.

  1. GmsCore: свободная реализация Google Play Services (GApps). Позволяет приложениям вызывать проприетарные Google API.

    Для вызова Google API система должна поддерживать подделку (спуфинг) цифровых подписей. Вот полный список ROM, которые поддерживают спуфинг. Многие из них идут уже в комплекте с microG.

    Если ваш Android не поддерживает подделку подписей приложений, то можно накатить через ADB системный патч, такой как Haystack или Tingle.

    image-loader.svgimage-loader.svg
    Проверка работы спуфинга через Signature Spoofing Checker

  2. GsfProxy (Services Framework Proxy): небольшая вспомогательная утилита, чтобы приложения Google Cloud to Device Messaging (C2DM) могли использовать совместимую службу Google Cloud Messaging из комплекта GmsCore.
  3. UnifiedNlp (Unified Network Location Provider) — геолокация WiFi/GSM вместо дефолтной службы геолокации от Google. Эта библиотека включена в комплект GmsCore, но на большинстве систем Android её можно установить отдельно.
  4. Maps API — аналог интерфейсов Google Maps API (v1), которые Google уже не поддерживает.
  5. Phonesky (Store) — доступ к Google Play Store для скачивания и обновления приложений. Разработка находится на ранней стадии, готового приложения пока нет. Несколько лет назад проект был поставлен на паузу.


Для просмотра видео с YouTube можно использовать маленький и удобный клиент NewPipe, который гораздо приятнее, чем мастодонт от Google. Вдобавок к более быстрой работе оно экономит трафик и не так пожирает заряд батареи. Свободный клиент также поддерживает децентрализованную платформу PeerTube, звуковой хостинг SoundCloud, Bandcamp и media.ccc.de. Можно скачать видео/аудио целиком для просмотра позже. Естественно, работает через microG, а не GApps.

image-loader.svg

Хороший список опенсорсных приложений в качестве альтернативы гугловским см. здесь.

Несмотря на все усилия, полностью избавиться от Google в Android невозможно, если не пожертвовать некоторой функциональностью. Например, модуль пуш-нотификаций microG работает с серверами Google, потому что иначе просто невозможно реализовать арбитраж между бэкендом и приложением в Android. Этот облачный сервис называется Firebase Cloud Messaging и бесплатно предоставляется платформой Firebase от Google. Но всё равно тот же оригинальный Telegram стучит в Google через телеметрию и GApps, как и другие сторонние приложения (поэтому пришлось делать форк Telegram-FOSS, избавленный от подозрительных бинарников).


image-loader.svg

CalyxOS — операционная система на базе Android 11, ориентированная на приватность и безопасность. Это относительно новая разработка, по сравнению с более известной LineageOS. Первый релиз CalyxOS состоялся год назад — 5 сентября 2020 года.

Главный разработчик — некоммерческая организация Calyx Institute. Основатель — Николас Меррил, американский сисадмин, программист и предприниматель: в 2004 году он вошёл в историю как первый частный хостер и интернет-провайдер, который отказался выполнять требования закона USA Patriot Act по слежке за пользователями — и подал в суд на ФБР вместе с Министерством юстиции. С тех пор понятия анонимности и безопасности для него не пустой звук.

Разработчики постарались полностью вычистить CalyxOS от следов присутствия Google. Здесь по умолчанию установлен свободный пакет microG вместо проприетарного GApps, а также Mozilla Location Services (с DejaVu) вместо дефолтных гугловских сервисов для геолокации и Nominatim на базе OpenStreetMap вместо Google Maps для геокодирования (поиск координат места по названию и адресу).

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

Встроенный файрвол Datura контролирует доступ в интернет каждого приложения.

image-loader.svg


Файрвол Datura и Calyx VPN

Шифрование на всех уровнях:

  • OpenPGP в почтовом клиенте K-9, для управления ключами используется OpenKeychain;
  • подключение через VPN (приложения Calyx VPN и Riseup VPN), в том числе других привязанных к смартфону устройств;
  • приватный провайдер Cloudflare DNS по умолчанию: как известно, Cloudflare одним из первых внедрил протокол шифрования DNS over HTTPS (DoH).


CalyxOS отлично поддерживается. Обновления выходят ежемесячно, они включают в себя обновления ключевых приложений (браузер Chromium), патчи безопасности и улучшения юзабилити. Например, в последнем обновлении для Pixel 2 ядро Linux обновилось до 4.4.276, хотя это устройство уже снято с официальной поддержки Google и не получает официальных патчей.

Другие функции безопасности CalyxOS:

  • верификация кода по цифровой подписи при каждой загрузке для защиты прошивки от изменений;
  • автоматическое отключение Wi-Fi и Bluetooth по таймауту;
  • «красная кнопка» для экстренной чистки данных и удаления определённых приложений (см. ниже про двойное дно);
  • автоматическое исключение из журнала звонков конфиденциальных номеров;
  • блокировка по умолчанию неизвестных USB-устройств;
  • автоматические бэкапы приложений (на USB-флэшку или в облако Nextcloud);
  • браузеры DuckDuckGo и Tor;
  • анонимная установка приложений из Google Play через Aurora Store, а также из свободного каталога F-Droid.


image-loader.svg
Анонимная установка приложений из Google Play с подделкой информации об устройстве

Установка


Поддерживаются Pixel 2, 2 XL, 3, 3a, 3 XL, 3a XL, 4, 4a, 4 XL, 5 и Xiaomi Mi A2.

Утилиты для прошивки доступны под Linux, macOS и Windows. Под Windows также понадобится Google USB Driver.

image-loader.svg
SDK Manager с установленным Google USB Driver

Подключаем устройство, сохраняем утилиту в одну папку с образом CalyxOS — и запускаем её.


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

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

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

См. также:


  • PAM Duress — «двойное дно» для персонального компьютера: авторизация по экстренному паролю выполняет предустановленные скрипты с удалением конфиденциальной информации
  • Партизанский Телеграм под Android — форк от белорусских киберпартизан. При вводе особого пинкода автоматически удаляются каналы из списка и отсылается SOS избранному контакту.

© Habrahabr.ru