Сравнение Graphene OS и Calyx OS

GrapheneOS и CalyxOS часто сравнивают как похожие варианты для людей, которые ищут альтернативную ОС Android для своих устройств Pixel. Ниже приведены некоторые из причин, почему мы рекомендуем Graphene OS, а не Calyx OS.

Частота обновления

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

В отличие от этого, GrapheneOS удается оставаться ближе к восходящему потоку и в некоторых случаях даже доставлять обновления раньше, чем это делает стандартная ОС.

В качестве примера, первый выпуск GrapheneOS для Android 12 был выпущен в октябре 2021 года, тогда как CalyxOS перешла на Android 12 в январе 2022 года.

Изолированный Google Play против привилегированного microG

Когда сервисы Google Play используются в GrapheneOS, они ограничены использованием домена с очень строгими ограничениями по умолчанию untrusted_app SELinux. В результате у вас есть полный контроль над тем, к чему эти приложения могут получить доступ с помощью разрешений, точно так же, как и любое другое приложение, которое вы устанавливаете. Кроме того, вы можете выборочно выбрать, в какие профили устанавливать изолированный Google Play.

microG - это частично повторная реализация сервисов Google Play с открытым исходным кодом. На CalyxOS он работает в высокопривилегированном system_app домене SELinux, как обычные сервисы Google Play, и использует подделку подписи, чтобы маскироваться под сервисы Google Play. Это менее безопасно, чем изолированный подход Google Play, для которого не требуется доступ к чувствительным системным API.

При использовании изолированного Google Play у вас есть возможность перенаправлять запросы о местоположении в API Play Services обратно в OS location API, который использует спутниковые службы определения местоположения. С microG у вас есть возможность выбирать между различными бэкенд-провайдерами определения местоположения, включая передачу доверия другому бэкенду определения местоположения, например Mozilla; использовать DejaVu, бэкенд определения местоположения, который локально собирает и сохраняет данные о местоположении на основе RF в автономную базу данных, которую можно использовать, когда GPS недоступен или просто вообще не использовать сетевой бэкенд определения местоположения.

Поставщики сетевых геолокационных услуг, такие как Play Services или Mozilla, полагаются на MAC-адреса окружающих точек доступа Wi-Fi и устройств Bluetooth, которые передаются для приблизительного определения местоположения. Выбор сетевого расположения, такого как Mozilla, для использования с microG практически не обеспечивает преимуществ конфиденциальности по сравнению с Google, поскольку вы по-прежнему отправляете те же данные и доверяете им, чтобы они не профилировали вас.

Локальные бэкенды определения местоположения по радиочастотам, такие как DejaVu, требуют, чтобы на телефоне сначала работал GPS, чтобы собранные локальные радиочастотные данные были полезными. Это делает их менее эффективными в качестве поставщиков геолокационных услуг, поскольку работа поставщика геолокационных услуг заключается в оказании помощи в приближении местоположения, когда спутниковые службы не работают.

Если ваша модель угроз требует защиты вашего местоположения или MAC-адресов близлежащих устройств, перенаправление запросов о местоположении в API определения местоположения операционной системы, вероятно, является лучшим вариантом. Преимущества, приносимые серверной частью пользовательского определения местоположения microG, в лучшем случае минимальны по сравнению с изолированным Google Play.

С точки зрения совместимости приложений, изолированный Google Play на GrapheneOS всегда будет более совместимым, поскольку это тот же код, что и выпущенный Google. microG - это повторная реализация этих сервисов. В результате он поддерживает только различные части, которые были реализованы повторно, а это означает, что некоторые вещи, такие как Google Play Games и In-App Billing API, пока не поддерживаются.

Более крупные приложения, особенно игры, требуют установки Play Asset Delivery, что в настоящее время не реализовано в microG. Аутентификация с помощью FIDO с онлайн-сервисами на Android также зависит от сервисов Play и в настоящее время не работает с microG.

Привилегированное приложение для активации eSIM

В настоящее время активация eSIM привязана к привилегированному проприетарному приложению Google. Приложение имеет READ_PRIVILEGED_PHONE_STATE разрешение, предоставляющее Google доступ к идентификаторам вашего оборудования, таким как IMEI.

В GrapheneOS приложение отключено, и вы можете при необходимости включить его после установки изолированного Google Play.

На CalyxOS приложение устанавливается по умолчанию (независимо от того, выбираете ли вы microG или нет), и вы не можете отказаться. Это означает, что Google по-прежнему имеет доступ к идентификаторам вашего оборудования независимо от того, нужна вам активация eSIM или нет, и доступ к ним может быть постоянным.

Профили

GrapheneOS значительно улучшает профили пользователей несколькими способами, такими как увеличение количества профилей, которые вы можете создать (32 вместо стандартных 4), позволяя вам выходить из профилей пользователей, отключая установку приложений и пересылку уведомлений. Все эти улучшения позволяют управлять профилями пользователей ежедневно, не слишком жертвуя удобством использования.

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

Дополнительное упрочнение

GrapheneOS улучшает безопасность AOSP с помощью:

  • Защищенный WebView: для Vanadium WebView требуются 64-разрядные процессы в процессе WebView и отключаются устаревшие 32-разрядные процессы. Он использует защищенные параметры компилятора, такие как -fwrapv и -fstack-protector-strong, которые могут помочь защитить от переполнения буфера стека. API, такие как API состояния батареи, отключены по соображениям конфиденциальности. Все системные приложения на GrapheneOS используют Vanadium WebView, что означает, что приложения, использующие WebView, также выиграют от упрочнения Vanadium.
  • Защищенное ядро: ядро GrapheneOS включает в себя некоторые улучшения из проекта linux-hardened и проекта самозащиты ядра (KSPP). CalyxOS использует то же ядро, что и обычный Android, с некоторыми незначительными изменениями.
  • Защищенный распределитель памяти: GrapheneOS использует подпроект hardened malloc в качестве распределителя памяти. Это направлено на защиту от повреждения кучи памяти. CalyxOS использует стандартный AOSP Scudo Malloc, который, как правило, менее эффективен. Hardened Malloc обнаружил уязвимости в AOSP, которые были исправлены GrapheneOS, такие как CVE-2021-0703.
  • Безопасное создание Exec: GrapheneOS создает новые процессы в отличие от использования модели Zygote, используемой AOSP и CalyxOS. Модель Zygote ослабляет рандомизацию компоновки адресного пространства (ASLR) и считается менее безопасной. Создание новых процессов безопаснее, но при запуске нового приложения это приведет к некоторому снижению производительности. Эти недостатки на самом деле не заметны, если только у вас нет старого устройства с медленным хранением данных, такого как Pixel 3a / 3a XL, поскольку у него есть eMMC.