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

Это руководство подробно освещает некоторые аспекты использования GrapheneOS.

Системная навигация

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

Режим системной навигации можно настроить в Настройках ➔ Система ➔ Жесты ➔ Режим навигации. Это же меню доступно в Настройках ➔ Спец. возможности ➔ Управление системой ➔ Режим навигации.

gestures

Навигация с помощью жестов

Нижняя часть экрана является зарезервированной сенсорной зоной для системной навигации. В центре отображается линия, показывающая, что панель навигации присутствует во всей нижней части экрана. В большинстве приложений в этой области отображается подложка. Современные приложения могут сообщить ОС, что они могут обойтись без подложки, чтобы отображать там содержимое приложения. Для примера откройте приложение “Настройки”.

Свайп вверх от навигационной панели, одновременно убирая палец с экрана, - это жест “Домой”.

Свайп вверх от навигационной панели, удерживая палец на экране перед тем, как отпустить, - это жест “Недавние приложения”. Самое последнее открытое приложение всегда находится справа. Каждый шаг влево возвращает на один шаг назад в истории недавно открытых приложений. При открытии приложения с помощью активности “Недавние приложения” оно будет перемещено в правое положение в списке недавних приложений, как и при открытии нового приложения.

В разделе “Недавние приложения” есть кнопка скриншота - альтернатива удерживанию кнопок питания и уменьшения громкости во время работы с приложением.

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

Проведение пальцем влево или вправо по экрану внутри приложения (не по панели навигации) - это жест “Назад”. Предполагается, что приложения должны избегать применения конфликтующих жестов, но у них есть возможность переопределить этот жест, если им действительно нужно от него избавиться. Некоторые устаревшие приложения без активного развития своего пользовательского интерфейса до сих пор не решили эту проблему, несмотря на то, что жесты уже несколько лет используются по умолчанию в Android. Избежать срабатывания жеста назад можно одним из двух простых способов: не проводить пальцем по экрану вблизи его края или на мгновение задержать палец на краю экрана перед проведением пальца. Более продвинутый вариант - использовать диагональный свайп, направленный резко в нижнюю часть экрана, так как это позволит обойти жест “назад”, но при этом задействует большинство жестов приложений. Продвинутый вариант - самый удобный, если привыкнуть к нему.

Чтобы открыть лоток приложений с главного экрана, используется жест смахивания вверх, начинающийся в любом месте экрана. Этот жест нужно начинать выше системной навигационной панели, поскольку любой жест, начинающийся на навигационной панели, обрабатывается ОС как жест системной навигации.

Навигация с помощью трех кнопок

Трехкнопочная навигация - это старейшая навигационная система Android на базе сенсорного экрана. Она будет поддерживаться в обозримом будущем, чтобы обеспечить доступность для пользователей, неспособных легко использовать жесты.

Полоса в нижней части экрана отведен под кнопки навигации. Кнопка “Назад” находится слева, кнопка “Домой” - в центре, а кнопка “Недавние приложения” - справа.

Доступ к хранилищу

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

Существует два типа хранилищ, доступных для приложений:

  • app-private (“внутреннее”) хранилище:

    • недоступно для других приложений
    • не требует никаких разрешений для полного доступа
    • очищается при удалении приложения
  • shared (“внешнее”) хранилище:

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

    Каталоги Android/data/ и Android/obb/ не считаются частью внешнего хранилища.

Для современных приложений доступ к общему хранилищу контролируется следующим образом:

  • Без каких-либо разрешений на хранение приложение может:
    • создавать медиафайлы в стандартных каталогах (аудио в Music/, Ringtones/ и т.д., изображения в Pictures/ и DCIM/, видео в DCIM/ и Movies/)
    • создавать файлы любого типа (как мультимедийные, так и не мультимедийные) в папках Documents/ и Download/
    • создавать новые каталоги внутри стандартных каталогов
    • переименовывать/удалять файлы, созданные самим приложением
    • переименовывать/удалять каталоги, если оно может переименовывать/удалять все файлы в этих каталогах
  • Разрешение доступа к медиа (“Allow access to media only”, READ_EXTERNAL_STORAGE) позволяет приложению читать медиафайлы, созданные другими приложениями. Файлы, не относящиеся к медиа, остаются для него невидимыми. Для приложений, ориентированных на Android 13, разрешение на доступ к медиа разделяется на READ_MEDIA_IMAGES, READ_MEDIA_VIDEO и READ_MEDIA_AUDIO.
  • Разрешение на управление медиафайлами (“Allow app to manage media”, MANAGE_MEDIA) позволяет приложению удалять и переименовывать медиафайлы, созданные другими приложениями.
  • Специальное разрешение “Доступ ко всем файлам” (“All files access”, MANAGE_EXTERNAL_STORAGE) позволяет приложению читать, создавать, переименовывать и удалять файлы и каталоги любого типа в любом каталоге общего хранилища (включая корневой каталог).

Для устаревших приложений (тех, которые работают на Android 9 или ниже, и тех, которые работают на Android 10 и запрашивают устаревший режим хранения) разрешения на доступ к хранилищу имеют другое значение:

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

Области хранения (Storage Scopes)

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

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

Если приложение запрашивает разрешение “Доступ ко всем файлам” (или является устаревшим приложением, запрашивающим разрешение WRITE_EXTERNAL_STORAGE), то ограничения на запись, которые обычно применяются к приложениям, не имеющим разрешения на доступ к хранилищу, ослабляются, чтобы обеспечить тот же доступ на запись, который был бы у приложения, если бы ему было предоставлено разрешение “Доступ ко всем файлам”. Это сделано для обеспечения совместимости с приложениями, которые, например, создают новый каталог в корне общего хранилища или записывают текстовый файл (например, lyrics.txt) в каталог Music/ (обычно туда можно помещать только аудиофайлы). Никакого дополнительного доступа на чтение таким приложениям не предоставляется, они по-прежнему могут видеть только свои собственные файлы.

Для всех остальных приложений включение Storage Scopes не дает никакого дополнительного доступа к хранилищу, кроме того, который уже есть у современного приложения, не имеющего никаких разрешений на хранение.

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

Наиболее существенным ограничением Storage Scopes является тот факт, что приложение потеряет доступ к созданным им файлам, если его удалить, а затем установить снова, как и любое другое приложение, не имеющее разрешения на доступ к хранилищу. В этом случае пользователю необходимо вручную предоставить доступ к этим файлам/директориям.

Доступ к контактам (Contact Scopes)

В Android доступ к контактам контролируется с помощью разрешения, которое предоставляет доступ на чтение и запись ко всем контактам, хранящимся на устройстве.

Многие приложения (например, популярные приложения для обмена сообщениями) отказываются работать без разрешения Contacts.

GrapheneOS предоставляет функцию Contact Scopes в качестве альтернативы предоставлению разрешения Contacts. Включение функции Contact Scopes заставляет приложение считать, что у него есть разрешение “Контакты”, хотя на самом деле его нет. По умолчанию приложению с включенным Contact Scopes не разрешен доступ к контактам в любом виде.

По желанию можно предоставить доступ на чтение к следующим областям:

  • Контактные данные (номер телефона или электронная почта). Доступ к каждому типу номера и электронной почты в контакте предоставляется отдельно. Доступ к имени контакта предоставляется автоматически.
  • Одиночный контакт. Доступ предоставляется ко всем данным контакта, кроме фотографии.
  • Группа контактов. Предоставление доступа ко всем контактам в группе.

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

Обновления

Система обновления реализует автоматические фоновые обновления. Она проверяет наличие обновлений примерно раз в четыре часа при наличии подключения к сети, а затем загружает и устанавливает обновления в фоновом режиме. Если загрузка прервется, она продолжит работу с того места, на котором остановилась. Прерывание установки также не грозит, поскольку обновления устанавливаются на вторичную копию GrapheneOS, которая становится активной только после завершения обновления. После завершения обновления вы получите уведомление, и вам нужно будет просто перезагрузиться с помощью кнопки в уведомлении или обычной перезагрузки. Если новая версия не загрузится, ОС будет возвращена к прошлой версии, а программа обновления попытается загрузить и установить обновление снова.

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

Информация об изменениях в релизах доступна в разделе Releases на официальном сайте проекта.

Настройка обновлений

Настройка параметров обновлений доступна в разделе “Настройки” ➔ Система ➔ System update.

Опция “Check for updates” вручную запускает проверку обновлений. При этом необходимо выполнить перечисленные ниже условия конфигурации, например, подключиться к Интернету через один из разрешенных типов сети.

Настройку “Release channel” можно изменить со стандартного канала Stable на канал Beta, если вы хотите помочь в тестировании.

Параметр “Permitted networks” определяет, какие сети будут использоваться для выполнения обновлений. По умолчанию используется любое сетевое соединение. Можно установить значение “Not roaming”, чтобы отключить обновление, когда сотовая связь использует роуминг, или “Unmetered”, чтобы отключить его в сотовых сетях, а также в сетях Wi-Fi, отмеченных как сети с тарификацией.

Параметр “Require battery above warning level” определяет, будут ли обновления выполняться только при заряде батареи выше уровня, при котором отображается предупреждающее сообщение. Стандартное значение - 15% емкости.

Параметр “Require device to be charging” определяет, будут ли обновления выполняться только тогда, когда устройство заряжается.

Включение настройки “Automatic reboot” позволяет программе обновления перезагружать устройство после обновления, если оно долгое время находилось в режиме ожидания. Если эта настройка включена, устройство может получать любое количество обновлений полностью автоматически, даже если оно полностью бездействует.

Опция “Notification settings” - это ярлык к настройкам уведомлений System Updater, который позволяет управлять настройками уведомлений. Эти уведомления включают в себя ошибки обновления, прогресс и подсказки о перезагрузке. По умолчанию все уведомления включены.

Безопасность

Сервер обновлений не является доверенной стороной, поскольку обновления подписываются и проверяются, а атаки на понижение версии предотвращаются. Протокол обновления не отправляет идентифицирующую информацию на сервер обновлений и хорошо работает через VPN / Tor. GrapheneOS не может выполнить правительственный заказ на создание, подписание и отправку вредоносного обновления на устройство конкретного пользователя на основе такой информации, как IMEI, серийный номер и т. д. Серверу обновлений известен только IP-адрес, используемый для подключения к нему, и версия, с которой производится обновление.

Обновления Android могут поддерживать ограничения по серийному номеру, чтобы они проверялись только на определенном устройстве, но GrapheneOS отклоняет любые обновления с ограничением по серийному номеру как для обновлений по воздуху (приложение Updater), так и для обновлений в режиме recovery.

Отключение обновлений

Настоятельно рекомендуется оставить автоматическое обновление включенным и настроить разрешенные сети, если использование трафика является проблемой для вашего мобильного соединения. Однако клиент обновлений можно отключить, зайдя в “Настройки” ➔ Приложения ➔ Показать все, включив “Показать системные процессы” через меню ⋮, выбрав System Updater и отключив приложение. Если вы это сделаете, вам нужно будет не забыть включить его снова, чтобы начать получать обновления.

Обновление через ADB

Обновления можно загрузить со страницы релизов и установить через recovery с помощью ADB sideloading. zip-файлы подписываются и проверяются recovery, как и клиентом обновлений в ОС. Это включает в себя защиту от понижения версии.

Чтобы установить обновление с помощью ADB, сначала загрузитесь в recovery. Это можно сделать либо с помощью команды adb reboot recovery из операционной системы, либо выбрав опцию “Recovery” в интерфейсе загрузчика.

Вы должны увидеть маскота Android, лежащего на спине, с текстом “No command”, означающим, что в recovery не было передано ни одной команды.

Далее откройте меню восстановления, удерживая кнопку питания и однократно нажав кнопку увеличения громкости.

Наконец, выберите опцию “Apply update from ADB” в меню восстановления и загрузите обновление с помощью adb. Например:

adb sideload redfin-ota_update-2024020500.zip

Для обновления через recovery не нужно включать ADB в настройках GrapheneOS или вносить ключ ADB хоста в белый список. Режим восстановления не доверяет подключенному компьютеру, и это можно считать производственной функцией. Доверие к компьютеру с ADB-доступом в ОС - это совсем другое дело и подвергает устройство огромному количеству атак и контролю со стороны доверенного компьютера.

Периферийные устройства USB

По умолчанию GrapheneOS игнорирует подключенные периферийные устройства USB, когда устройство уже загружено и экран заблокирован. USB-устройство, подключенное при загрузке, будет работать. Это сделано для того, чтобы уменьшить площадь атаки на заблокированное устройство с активными сеансами входа в пользовательские профили для защиты данных, которые не находятся в состоянии покоя. Управлять этим можно в разделе “Настройки” ➔ Безопасность ➔ USB-peripherals. Доступны следующие варианты:

  • Запретить новые периферийные устройства USB (Disallow new USB peripherals)
  • Разрешить новые периферийные устройства USB при разблокировке (Allow new USB peripherals when unlocked)
  • Разрешить новые периферийные устройства USB, как в стоковой версии Android (Allow new USB peripherals)

Этот параметр не влияет на работу устройства в качестве USB-периферийного устройства при подключении к компьютеру. По умолчанию используется режим “только зарядка” и требует разрешения на использование устройства для передачи файлов.

Веб-браузер

GrapheneOS включает в себя подпроект Vanadium, форк Chromium с улучшенными характеристиками конфиденциальности и безопасности. Vanadium - это браузер и одновременно поставщик WebView, используемого другими приложениями для отображения веб-контента. WebView - это браузерный движок, используемый почти всеми другими приложениями, встраивающими веб-контент или использующими веб-технологии для других целей. Он также используется многими второстепенными веб-браузерами, не являющимися форками Chromium. Эти приложения, использующие WebView, получают преимущества от улучшений Vanadium.

Ранее Vanadium был ориентирован в основном на усиление безопасности, но мы планируем добавить различные функции конфиденциальности и удобства использования. В ближайшем будущем мы планируем добавить поддержку фильтрации контента (блокировка рекламы и т. д.), резервное копирование/восстановление и многие другие функции.

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

Избегайте браузеров на базе Gecko, таких как Firefox, поскольку в настоящее время они гораздо более уязвимы для эксплуатации и по своей сути создают огромную площадь для атак. У Gecko нет реализации WebView (GeckoView не является реализацией WebView), поэтому его нужно использовать вместе с WebView на базе Chromium, а не вместо Chromium, что означает наличие удаленной поверхности атаки двух отдельных браузерных движков вместо одного.

Камера

GrapheneOS обладает теми же возможностями и качеством камеры, что и стоковая ОС. Она будет соответствовать стоковой ОС при сравнении одного и того же приложения на каждой ОС. GrapheneOS использует собственное современное приложение Camera, а не стандартное приложение из AOSP. GrapheneOS Camera намного лучше любой из портативных альтернатив камеры с открытым исходным кодом и даже большинства фирменных приложений камеры, включая платные. В качестве альтернативы можно использовать Pixel Camera с более широкими возможностями. Ниже приводится подробное руководство по использованию GrapheneOS Camera, а в следующем разделе объясняются преимущества Pixel Camera.

Приложение GrapheneOS Camera

GrapheneOS Camera включает режимы для съемки изображений, видео и сканирования QR / штрих-кодов.

camera

Режимы отображаются в виде кнопок в нижней части экрана. Переключаться между режимами можно с помощью кнопок или проведя пальцем влево/вправо в любом месте экрана. Кнопка со стрелкой в верхней части экрана открывает панель настроек, а закрыть ее можно, нажав в любом месте за пределами панели настроек. Вы также можете провести пальцем вниз, чтобы открыть настройки, и провести пальцем вверх, чтобы закрыть их. Клавиши громкости также можно использовать в качестве эквивалента кнопки захвата. Во время записи видео кнопка галереи становится кнопкой захвата изображений.

Для захвата изображений используется облегченный HDR+ на всех поддерживаемых Pixel и HDRnet для предварительного просмотра на Pixel 5-го поколения. Использование фонарика или вспышки камеры приведет к отключению HDR+, поэтому автоматическая вспышка не включена по умолчанию.

При масштабировании автоматически задействуются широкоугольная и телефото камеры смартфона. Пятое и шестое поколения Pixel (4a (5G), 5, 5a, 6, 6 Pro) оснащены широкоугольной камерой, позволяющей уменьшить масштаб до менее чем 1x, чтобы захватить гораздо более широкое поле зрения. Снимки, сделанные с помощью широкоугольного объектива, хуже по качеству по сравнению с обычной камерой.

По умолчанию для всей сцены используется непрерывный автофокус, автоматическая экспозиция и автоматический баланс белого. При нажатии на фокус происходит переключение на автофокус, автоэкспозицию и автобаланс белого в зависимости от места съемки. Настройка тайм-аута фокусировки определяет время до переключения в режим по умолчанию. Ползунок компенсации экспозиции слева позволяет вручную настраивать экспозицию и автоматически регулировать выдержку, диафрагму и ISO, не нарушая при этом поддержку легкого HDR+. Дополнительные настройки будут предоставлены в будущем.

Режим сканирования QR-кодов позволяет сканировать только в пределах квадрата, отмеченного на экране. QR-код должен быть выровнен по краям квадрата, но может иметь любую ориентацию на 90 градусов. Нестандартные перевернутые QR-коды полностью поддерживаются. Это очень быстрый и качественный QR-сканер, способный легко сканировать большие QR-коды. Каждые 2 секунды он будет обновлять автофокус, автоэкспозицию и автобаланс белого на сканируемом квадрате. Он имеет полную поддержку увеличения и уменьшения масштаба. Фонарь можно переключать с помощью кнопки в центре внизу. Автоматический переключатель в левом нижнем углу позволяет включить сканирование всех поддерживаемых типов штрихкодов. Кроме того, вы можете выбрать типы штрихкодов в верхнем меню. По умолчанию сканируются только QR-коды, поскольку это обеспечивает быстрое и надежное сканирование. Большинство других типов штрихкодов могут привести к ложным срабатываниям. Каждый включенный тип замедляет сканирование и делает его более склонным к ложным срабатываниям, особенно при сканировании сложных кодов, таких как плотный QR-код.

По умолчанию метаданные EXIF для снятых изображений удаляются и включают только ориентацию. Удаление метаданных для видео планируется, но пока не поддерживается. Метаданные об ориентации не удаляются, поскольку они полностью видны из того, как отображается изображение, поэтому они не считаются скрытыми метаданными и необходимы для правильного отображения. Вы можете отключить удаление метаданных EXIF в меню “More Settings”, открывающемся из диалога настроек. При отключении удаления метаданных останутся временная метка, модель телефона, конфигурация экспозиции и другие метаданные. Теги местоположения отключены по умолчанию и не будут удаляться, если вы их включите.

Электронная стабилизация изображения (EIS) включена по умолчанию на устройствах, предоставляющих ее через Camera2 API, и может быть отключена в диалоговом окне настроек видео.

Pixel Camera

Pixel Camera (ранее известная как Google Camera) может использовать все преимущества доступных камер и аппаратных средств обработки изображений, как и в стоковой ОС, и не требует GSF (Google Services Framework) или Google Play в GrapheneOS.

Мы стремимся со временем уменьшить преимущества Pixel Camera по сравнению с GrapheneOS Camera. Многие функции Pixel Camera станут доступны для GrapheneOS Camera.

Защита от эксплойтов

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

Вы можете включить режим совместимости с защитой от эксплойтов для каждого приложения через “Настройки” ➔ Приложения ➔ Приложение ➔ Exploit protection compatibility mode, который отключит некоторые функции защиты от эксплойтов для конкретного приложения.

Приватность Wi-Fi

Wi-Fi в GrapheneOS очень дружелюбен к приватности и по сути анонимен, если приложения не передают в сеть уникальную идентифицирующую информацию. GrapheneOS не позволяет отпечатывать себя как GrapheneOS, за исключением соединений, которые документированы и могут быть легко отключены или принудительно установлены через VPN-сервис.

Сканирование Wi-Fi

При сканировании Wi-Fi всегда выполняется рандомизация MAC-адресов. Телефоны Pixel имеют встроенную поддержку рандомизации MAC-адресов при сканировании. На многих других устройствах при сканировании Wi-Fi помимо MAC-адреса могут быть обнаружены и другие идентификаторы.

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

Сканирование Wi-Fi и Bluetooth для улучшения определения местоположения отключено по умолчанию, в отличие от стоковой ОС. Их можно включить в меню “Настройки” ➔ Местоположение ➔ Сервисы геолокации ➔ Поиск сетей Wi-Fi и Поиск устройств Bluetooth. Эти функции позволяют производить сканирование даже при отключенных Wi-Fi или Bluetooth, поэтому их нужно держать отключенными. Сама GrapheneOS в настоящее время не включает дополнительную службу определения местоположения, основанную на сканировании Wi-Fi и Bluetooth. Эти опции влияют на то, смогут ли приложения, такие как Google Play, использовать эту функциональность, если вы предоставите им разрешение “Местоположение”. GrapheneOS планирует со временем включить в ОС службу, основанную на локальных базах данных, а не на сетевой службе, передающей данные о местоположении пользователя на сервер при любом использовании функции определения местоположения.

Связь с точкой доступа (AP)

По умолчанию выполняется рандомизация MAC-адресов. Это можно контролировать для каждой сети в разделе “Настройки” ➔ Сеть и интернет ➔ Интернет ➔ Сеть ➔ Конфиденциальность.

В стоковой ОС по умолчанию используется постоянный MAC-адрес, уникальный для каждой сети. В GrapheneOS по умолчанию при каждом подключении к сети генерируется новый случайный MAC-адрес. Доступно 3 варианта:

  • Использовать случайный MAC для каждого соединения (по умолчанию) (Use per-connection randomized MAC)
  • Использовать случайный MAC для каждой сети (Use per-network randomized MAC)
  • Использовать MAC устройства (Use device MAC)

В редких случаях маршрутизаторы не могут принимать новых клиентов, когда их таблица DHCP заполнена. Вы можете обойти эту проблему, вручную очистив таблицу DHCP на странице администрирования маршрутизатора, и переключиться в режим “Случайный MAC для каждой сети”, чтобы избежать повторного возникновения проблемы. В целом это не является проблемой для современных маршрутизаторов.

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

Режим использования только LTE

Если у вас есть надежное LTE-соединение от оператора, вы можете уменьшить площадь атаки, отключив подключение 2G, 3G и 5G в меню “Настройки” ➔ Сеть и интернет ➔ SIM-карты ➔ Предпочтительный тип сети. Традиционные голосовые вызовы будут работать в режиме только LTE, если у вас есть либо подключение LTE и поддержка VoLTE (передача голоса по LTE), либо подключение Wi-Fi и поддержка VoWi-Fi (передача голоса по Wi-Fi). VoLTE / VoWi-Fi работает в GrapheneOS у большинства операторов связи, если они не ограничивают его. Некоторые операторы могут не поддерживать VoWi-Fi из-за того, что мы не включаем их собственные приложения.

Эта функция не предназначена для повышения приватности традиционных звонков, но она может несколько повысить планку для некоторых видов перехвата. Она не заменит ни сквозного шифрования звонков/текста, ни даже шифрования на транспортном уровне. LTE обеспечивает базовую сетевую аутентификацию / шифрование, но только для самой сети. Цель режима использования только LTE - лишь защита от удаленной эксплуатации уязвимостей путем отключения огромного количества как устаревшего кода (2G, 3G), так и нового кода (5G).

Изолированный Google Play

Установка

Самый простой подход - использовать только профиль “Владелец”. Если вы хотите изолировать приложения, использующие Google Play, от остальных, установите его в отдельный профиль.

Google Play разделен на 3 отдельных приложения:

  • Google Services Framework (GSF)
  • Google Play services
  • Google Play Store

Чтобы использовать Google Play, вам нужно просто установить официальные релизы этих трех приложений в профиле, где вы хотите его использовать. Откройте наш клиент репозитория приложений (найдите Apps в лотке приложений) и установите 3 основных приложения Google Play. Apps поддерживает установку зависимостей, поэтому вы можете просто напрямую установить Google Play services, и он установит GSF и Play Store в качестве зависимостей.

Google Play services и Play Store зависят друг от друга, ни один из них не будет работать должным образом без другого. Оба они зависят от приложения Google Services Framework. Репозиторий приложений справляется с этим автоматически.

Вы можете получить обновления для этих приложений из нашего клиента Apps или из Play Store. Обновления через Play Store обычно приходят первыми.

Чтобы такие функции, как push-уведомления, могли корректно работать в фоновом режиме, необходимо сделать исключение для оптимизации заряда батареи в службах Google Play. Для двух других приложений это исключение не требуется.

Вход в аккаунт Google необязателен, если только вы не хотите использовать функции, зависящие от входа в аккаунт. Например, некоторые приложения используют аутентификацию аккаунта Google вместо имени пользователя и пароля. В Play Store для установки приложений или использования покупок в приложениях требуется войти в аккаунт. Это по-прежнему актуально даже для альтернативного фронтенда Play Store. Aurora Store по-прежнему требует наличия учетной записи, но по умолчанию получает учетные данные общей учетной записи из службы Aurora Store.

Play Store предоставляет множество услуг, используемых приложениями, включая доставку Play Asset Delivery, Play Feature Delivery, покупки в приложении и проверку лицензий для платных приложений. Приложение Play Store также является наиболее безопасным способом установки и обновления приложений из Play Store.

Наш уровень совместимости поддерживает службы Play Games Services, которые можно получить, установив Google Play Games из Play Store. Многие игры в Play Store зависят от наличия установленных Google Play Games.

Некоторые приложения могут работать только с установленным GSF, без Google Play services и Play Store.

Настройка

Уровень совместимости имеет меню настроек, доступное в разделе “Настройки” ➔ Приложения ➔ Sandboxed Google Play.

По умолчанию приложения, использующие геолокацию Google Play, перенаправляются на нашу собственную реализацию поверх стандартной службы геолокации. Благодаря нашей функции перенаправления вам не нужно предоставлять Google Play никаких разрешений или изменять какие-либо настройки для работы с местоположением в приложениях, использующих геолокацию Google Play. Если вы хотите использовать службу определения местоположения от Google для определения местоположения без приема сигнала со спутника, вы можете отключить опцию “Reroute location requests to the OS” и разрешить все, что требуется для обеспечения сетевого определения местоположения. Вам нужно будет выбрать опцию “Разрешить в любом режиме” для “Местоположение” в настройках разрешений приложения “Сервисы Google Play” вместе с разрешением “Устройства поблизости”. Вам также нужно использовать функцию “Google Location Accuracy” из меню “Sandboxed Google Play”, чтобы получить доступ к меню сервисов Google Play для выбора их службы определения местоположения. Чтобы в полной мере воспользоваться преимуществами сканирования Wi-Fi и Bluetooth, вам также необходимо включить нужные опции в меню “Настройки” ➔ Местоположение ➔ Сервисы геолокации ➔ Поиск сетей Wi-Fi и Поиск устройств Bluetooth.

Перенаправление местоположения в службу геолокации ОС будет потреблять больше энергии, чем использование службы геолокации Google Play, поскольку мы не предоставляем сетевую службу определения местоположения и реализуем ее только через GNSS / A-GPS.

Ограничения

Наш слой совместимости необходимо расширять в каждом конкретном случае, чтобы научить сервисы Google Play работать как обычное приложение без инвазивного доступа и интеграции, которых они ожидают. Во многих случаях доступ действительно не нужен, или мы можем научить их использовать обычный подход, доступный для обычного приложения. В некоторых случаях функциональность требует привилегированного доступа и не может быть поддержана. Например, Android Auto не может поддерживаться по умолчанию как часть базового слоя совместимости, но поддерживается как его расширение со специальными переключателями для функциональности, которую невозможно реализовать другим способом.То же самое относится и к другим, очень навязчивым интеграциям или привилегированному доступу к оборудованию. Наш слой совместимости очень активно развивается, и большая часть оставшейся недоступной функциональности быстро становится поддерживаемой. В будущем мы также сможем поддерживать перенаправление для большего количества API, таких как FIDO2, а не только для геолокационного сервиса.

Поддержка eSIM

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

Поддержка eSIM в GrapheneOS не требует зависимости от Google Play и никогда не передает данные в Google Play даже после установки.

Включить поддержку eSIM можно через “Настройки ➔ Сеть и интернет ➔ eSIM support. Положение переключателя сохраняется при каждой загрузке.

При включении этого пункта включается собственная функциональность Google, которая будет использоваться ОС для предоставления и управления eSIM.

Обратите внимание, что если процесс установки eSIM не проходит дальше этапа “Проверка данных сети…”, несмотря на наличие стабильного интернет-соединения, вам может потребоваться вызвать USSD-код *#*#4636#*#*, а затем включить DSDS в появившемся меню.

Если используется eSIM, заблокированная с помощью PIN-кода, рекомендуется оставить переключатель поддержки eSIM включенным даже после активации eSIM. Это позволит отключить eSIM на экране блокировки в случае, если PIN-код забыт. Если переключатель поддержки eSIM отключен, а PIN-код забыт, получить доступ к устройству можно только после предоставления PUK.

Android Auto

GrapheneOS предоставляет возможность устанавливать и использовать официальные версии Android Auto.

Для работы Android Auto требуется привилегированный доступ.

GrapheneOS использует расширение слоя совместимости Google Play, чтобы Android Auto работал с пониженным уровнем привилегий.Чтобы установить Android Auto, используйте наш клиент репозитория приложений (“Apps”). Android Auto нельзя установить через Play Store или другие источники приложений. Android Auto зависит от приложения Google Play, и вам будет предложено установить его, если оно еще не установлено. После установки Android Auto необходимо настроить с помощью меню “Настройки ➔ Приложения ➔ Sandboxed Google Play ➔ Android Auto, которое содержит переключатели разрешений, ссылки на связанные экраны настроек, советы по настройке и ссылки на дополнительные зависимости Android Auto.

Переключатели разрешений запрашивают подтверждение перед включением. Во всплывающем окне подтверждения объясняется, какой доступ предоставляет каждая кнопка разрешения. По умолчанию Android Auto не имеет привилегированного доступа.

Для работы Android Auto необходимо предоставить базовые разрешения для проводного или беспроводного Android Auto. Проводной Android Auto требует гораздо меньше доступа, чем беспроводной. Базовые разрешения контролируются с помощью переключателей “Allow permissions for wired (проводного) / wireless (беспроводного) Android Auto”.

Для некоторых автомобилей базовые разрешения для беспроводного Android Auto требуются даже при использовании проводного Android Auto. Поэтому, если проводной Android Auto не может подключиться к автомобилю при наличии только проводных разрешений, попробуйте вместо этого предоставить беспроводные разрешения.

Чтобы пересылать уведомления с устройства в автомобиль, Android Auto должен иметь доступ к уведомлениям.

Настройки доступа к уведомлениям находятся в разделе “Android Auto app info”.

Чтобы отображаться в автомобильном интерфейсе Android Auto, приложения должны быть установлены из Play Store и включать поддержку Android Auto.

Дальнейшие шаги по настройке Android Auto и инструкции по использованию см. на страницах справки Google по Android Auto.

Банковские приложения

Банковские приложения - особенно проблемный класс приложений с точки зрения совместимости с альтернативными операционными системами. Некоторые из них прекрасно работают с любой конфигурацией GrapheneOS, но большинство из них имеют обширные зависимости от сервисов Google Play. Для многих из этих приложений достаточно установить в том же профиле Google Play. К сожалению, есть и другие сложности, которые обычно не встречаются с нефинансовыми приложениями.

Многие из этих приложений имеют собственные грубые механизмы защиты от несанкционированного доступа, пытающиеся предотвратить проверку или модификацию приложения в слабой попытке скрыть свой код и API от исследователей безопасности. GrapheneOS позволяет пользователям отключить отладку нативного кода с помощью переключателя в меню “Настройки” ➔ Безопасность ➔ Native code debugging для улучшения песочницы приложений. Но это может помешать приложениям, отлаживающим свой собственный код для предотвращения анализа приложения. Попробуйте снова включить эту функцию, если вы ее отключили и столкнулись с проблемами совместимости с подобными приложениями.

Банковские приложения все чаще используют службу аттестации SafetyNet от Google для проверки целостности и аттестации операционной системы. GrapheneOS проходит проверку basicIntegrity, но не сертифицирована Google, поэтому не проходит проверку ctsProfileMatch. Большинство приложений в настоящее время применяют только слабую программную аттестацию, которую можно обойти, подменив то, что она проверяет. GrapheneOS не пытается обойти проверку, поскольку она очень хрупкая и будет постоянно ломаться по мере совершенствования проверок. Устройства, выпущенные с Android 8 и выше, поддерживают аппаратную проверку, которую невозможно обойти без утечки ключей или серьезных уязвимостей, так что эра возможности обходить эти проверки, подделывая результаты, подходит к концу.

Ссылки, открываемые в приложениях

Пользователи могут вручную включить ассоциации ссылок на приложения через “Настройки” ➔ Приложения ➔ Приложение ➔ Открывать по умолчанию ➔ Добавить ссылку. Приложения могут самостоятельно попросить пользователей включить ассоциации и отправить их на эту страницу в приложении “Настройки”.

Например, для приложения YouTube ссылки будут проверяться ОС автоматически, в то время как приложение NewPipe требует вручную добавить ссылки на YouTube и другие сайты.

Поддержка операторов связи

GrapheneOS нацелена на работу со всеми операторами, которые официально поддерживаются Google в стоковой операционной системе на устройствах Pixel. Wi-Fi Calling, VoLTE, Visual Voicemail, MMS, SMS, Calling и 5G (SA и NSA) поддерживаются, однако некоторые функции могут быть недоступны из-за того, что Google не поддерживает операторов на стоковой ОС официально или из-за того, что GrapheneOS не поставляет собственные приложения, необходимые для работы этих функций на некоторых операторах. GrapheneOS извлекает CarrierConfigs, APN, конфигурации модемов, конфигурации Visual Voicemail и конфигурации MMS из стоковой операционной системы, чтобы обеспечить пользователям легкую поддержку операторов, которая “просто работает”.

Обратите внимание, что в некоторых регионах LTE обозначается как 4G.

Как правило, 5G, SMS, MMS, звонки и VoLTE будут отлично работать на GrapheneOS с официально поддерживаемыми Google операторами. Звонки по Wi-Fi могут отличаться из-за зависимости от проприетарных приложений Google, которые GrapheneOS не предоставляет.

Если у вас возникли проблемы с отправкой или получением SMS/MMS-сообщений, мы предлагаем вам выполнить следующие действия:

  • Удаление номера телефона из Apple iMessage
  • Удаление номера телефона из Google Chat Features
  • Отмените регистрацию номера телефона в службе RCS вашего оператора (не все операторы имеют такую возможность)

Если вы продолжаете испытывать проблемы, несмотря на выполнение приведенных выше инструкций, или у вас возникла другая проблема, связанная с оператором связи, мы рекомендуем вам выполнить следующие действия:

  • Некоторые операторы связи требуют явного разрешения на использование таких услуг, как Wi-Fi calling. Обратитесь к документации вашего оператора связи или свяжитесь с ним.
  • Сбросьте настройки мобильной сети в разделе “Настройки” ➔ Система ➔ Сброс настроек ➔ Сбросить настройки моб. сети и Bluetooth и Wi-Fi, а затем перезагрузите устройство.
  • Следуйте инструкциям оператора по настройке APN, которые можно найти в меню “Настройки” ➔ Сеть и Интернет ➔ SIM-карты ➔ Точки доступа.
  • Если звонки не работают и у вас включен режим “Только LTE”, попробуйте отключить его. Если отключен параметр “Разрешить 2G”, попробуйте включить его снова. Возможно, ваш оператор не поддерживает VoLTE должным образом.
  • В крайнем случае вам может понадобиться попросить у оператора другую SIM-карту.

Некоторые операторы связи могут ограничивать функциональность, например VoLTE, на импортированных устройствах Pixel, поскольку они вносят в белый список диапазоны IMEI SKU устройств Pixel, которые продавались в стране. Вы можете проверить свой SKU в GrapheneOS, перейдя в “Настройки” ➔ О телефоне ➔ Модель ➔ Hardware SKU и воспользовавшись официальной документацией Google. Чтобы устранить неполадки, проверьте, работает ли эта функция в стоковой ОС. Изменить IMEI на серийном устройстве невозможно, и GrapheneOS не может добавить поддержку этой функции, поскольку аппаратное обеспечение ее не поддерживает.

Полная версия данного руководства доступна на официальном сайте GrapheneOS в разделе Usage.

Рекомендуем также ознакомиться с руководством на английском языке по настройке параметров приватности, безопасности и энергосбережения в GrapheneOS: