GrapheneOS. Часть 2

GrapheneOS. Часть 2

Это продолжение первого поста про защищённую ОС для Google Pixel. Пока пост находится в процессе редактирования, как закончу, это предупреждение поменяется. Но информация важная и нужная, поэтому даже не в очень красивом оформлении её можно использовать.

4. Приватность как настройка «по умолчанию»

Безопасность защищает вас от взлома. Приватность защищает вас от слежки — в том числе легальной, со стороны приложений, которые вы сами установили. В обычном Android приватность — это компромисс: либо вы даёте приложению всё, что оно просит, либо оно не работает. GrapheneOS переворачивает эту логику: вы контролируете каждый аспект доступа к данным, а приложение работает в рамках того, что вы разрешили.

Это не просто «галочки в настройках» — это фундаментальные изменения в том, как система управляет разрешениями. Давайте разберём ключевые механизмы приватности GrapheneOS.

4.1. Контроль сетевого доступа и датчиков

В обычном Android, когда вы устанавливаете приложение, оно автоматически получает доступ к сети. Нет кнопки «запретить этому приложению интернет» — предполагается, что если приложение хочет в сеть, значит, ему это нужно для работы.

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

  • список установленных приложений (отпечаток вашего устройства);
  • модель телефона, версию ОС, разрешение экрана;
  • время использования, частоту запусков;
  • уникальные идентификаторы (например, Advertising ID);
  • данные о сети Wi-Fi (какая точка доступа, BSSID) — это косвенно даёт местоположение.

Всё это не требует специальных разрешений. Приложение просто «захардкодило» отправку на analytics.example.com, и Android пропускает эти запросы.

Network Permission: интернет под контролем

В GrapheneOS появляется новое разрешение — Network Permission (сетевое разрешение). Оно работает так же, как разрешение на камеру или микрофон: по умолчанию выключено, и приложение должно его запросить.

Как это работает:

  • При установке приложения оно не имеет доступа к сети (если вы не разрешили).
  • Когда приложение пытается открыть сетевое соединение — система перехватывает запрос.
  • Если разрешение не дано — соединение блокируется. Приложение получает ошибку, как будто сети нет вообще.
  • Вы можете разрешить сеть в любой момент: Settings → Apps → выбрать приложение → Permissions → Network.

Практические сценарии:

  • Игра без рекламы. Вы установили игру, которая работает офлайн, но показывает рекламу и собирает аналитику. Запретите ей сеть — игра будет работать, реклама исчезнет, данные не утекут.

  • Редактор фотографий. Приложение для обработки изображений не должно иметь доступа в интернет — зачем? Запретите сеть, и можете быть уверены, что ваши фото не отправляются на серверы компании «для улучшения алгоритмов».

  • Мессенджер только по Wi-Fi. Некоторые приложения можно настроить так, чтобы они работали только через Wi-Fi (чтобы не тратить мобильный трафик). Но они всё равно могут «подслушивать» мобильную сеть. В GrapheneOS можно заблокировать мобильную сеть, оставив только Wi-Fi — на уровне системы, без обхода.

  • Запрет фоновой синхронизации. Приложение может работать с сетью, когда открыто, но не должно «звонить домой» в фоне. Разрешите сеть только для активного использования (foreground), а фоновые запросы заблокируются автоматически.

Sensors Permission: датчики под контролем

Современные смартфоны напичканы датчиками: акселерометр, гироскоп, магнетометр, барометр, датчик освещённости, датчик приближения. Казалось бы, безобидные штуки. Но они могут использоваться для слежки.

Как датчики могут раскрыть информацию:

  • Акселерометр и гироскоп показывают, как вы держите телефон, как двигаетесь. По этим данным можно восстановить, что вы печатаете на экранной клавиатуре (side-channel атака), определить вашу походку (уникальный маркер личности), понять, едете ли вы в машине, автобусе или идёте пешком.

  • Магнетометр (компас) реагирует на магнитные поля. В помещениях магнитные поля уникальны (арматура в стенах, электроника). По магнитным «отпечаткам» можно определить, в каком здании вы находитесь, даже без GPS.

  • Барометр (датчик давления) показывает высоту над уровнем моря. Это позволяет определить этаж, на котором вы находитесь — даже если GPS и Wi-Fi заблокированы.

  • Датчик освещённости показывает яркость окружающего света. Исследователи доказали, что по уникальному паттерну изменения освещённости можно идентифицировать пользователя и даже извлекать данные из соседних процессов (ещё один side-channel).

В обычном Android доступ к этим датчикам не требует разрешений. Любое приложение может читать показания в любой момент.

Sensors Permission в GrapheneOS:

Это новое системное разрешение, которое блокирует доступ ко всем «небезопасным» датчикам:

  • акселерометр;
  • гироскоп;
  • магнетометр (компас);
  • барометр;
  • датчики, связанные с движением и ориентацией.

По умолчанию разрешение выключено. Приложение должно его запросить, и вы решаете — дать или нет.

Какие датчики остаются доступны без разрешения:

  • датчик приближения (чтобы экран гас при разговоре);
  • датчик освещённости для автоматической яркости (данные усреднены и недостаточны для атак).

Практические сценарии:

  • Игры. Многие игры используют акселерометр для управления (наклонами телефона). Вы разрешаете Sensors для игры — она работает. Но «калькулятор», которому акселерометр не нужен, не получает доступ и не может отследить ваши движения.

  • Фитнес-приложения. Приложение для подсчёта шагов или бега логично запрашивает доступ к датчикам движения. Вы даёте разрешение осознанно. Но браузер или мессенджер не имеют оснований читать акселерометр — и не получают доступ.

  • Веб-сайты. Да, веб-страницы в браузере тоже могут запрашивать доступ к датчикам через JavaScript API. В GrapheneOS это тоже контролируется Sensors Permission: браузер должен иметь разрешение, и отдельно вы разрешаете доступ конкретному сайту.

Детальный контроль: foreground vs background

Для обоих разрешений (Network и Sensors) можно настроить:

  • Allow (разрешить) — всегда, даже в фоне.
  • Allow only while using (разрешить только при использовании) — доступ есть, когда приложение открыто, но блокируется, когда оно свёрнуто.
  • Deny (запретить) — полный запрет.

Это даёт гибкость: приложение может работать с сетью или датчиками, когда вы его используете, но не может «подглядывать» в фоновом режиме.

4.2. Storage Scopes: точечный доступ к файлам

В обычном Android разрешения на хранилище работают по принципу «всё или ничего»:

  • Если приложение запрашивает доступ к файлам — оно получает доступ ко всем вашим файлам: фотографиям, документам, загрузкам, музыке, видео. Оно может читать, копировать, удалять — что угодно.
  • Если вы отказываете — приложение не может открыть даже один файл, который вы явно хотите ему дать.

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

Storage Scopes в GrapheneOS решает эту проблему радикально.

Как работает Storage Scopes

Это виртуализация файловой системы специально для приложений. Когда вы даёте приложению «разрешение на хранилище» с включённым Storage Scopes:

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

Как же тогда дать приложению конкретный файл?

Через Storage Access Framework (SAF) — стандартный механизм Android для выбора файлов. Это диалог «Открыть файл», который вы видите, когда приложение просит вас выбрать документ или фото.

Когда вы выбираете файл через SAF:

  • Система даёт приложению временное разрешение только на этот файл (или папку, если выбрали папку).
  • Приложение получает доступ только к этому конкретному файлу — не может «пройтись» по соседним файлам, не может увидеть структуру каталогов.
  • Разрешение действует, пока приложение работает с файлом. Как только файл закрыт — доступа больше нет (если приложение явно не попросило постоянный доступ, и вы согласились).

Практические сценарии

Пример 1: Редактор фотографий.

Без Storage Scopes:

  • Приложение просит «доступ к фото и медиа».
  • Вы даёте разрешение.
  • Приложение видит все ваши фото. Может скопировать их на свой сервер, проанализировать, продать аналитическим компаниям.

Со Storage Scopes:

  • Приложение просит разрешение на хранилище — вы даёте (но Storage Scopes включён).
  • Приложение видит только пустую папку.
  • Вы тапаете «Открыть файл», выбираете одну фотографию через системный диалог.
  • Приложение получает доступ только к ней, редактирует, сохраняет.
  • Остальные фото недоступны, приложение даже не знает об их существовании.

Пример 2: Мессенджер с отправкой файлов.

Вы хотите отправить документ через мессенджер.

Без Storage Scopes:

  • Мессенджер просит доступ к файлам.
  • Вы даёте.
  • Мессенджер видит всё: рабочие документы, налоговые декларации, медицинские справки, личные заметки. Может загрузить всё это на сервер «для резервного копирования» или «анализа контента».

Со Storage Scopes:

  • Мессенджер просит доступ — вы даёте.
  • Мессенджер видит только свои файлы (например, ранее скачанные через него).
  • Вы тапаете «Прикрепить файл», выбираете документ через SAF.
  • Мессенджер получает доступ только к нему, отправляет адресату.
  • Остальные файлы в безопасности.

Пример 3: Файловый менеджер.

Файловые менеджеры — единственный тип приложений, которому действительно нужен полный доступ к файлам. Для них Storage Scopes можно отключить индивидуально:

Settings → Apps → File Manager → Storage Scopes → Off. Теперь файловый менеджер видит реальную структуру хранилища и может управлять всеми файлами.

Но для всех остальных приложений Scopes остаются включены.

Техническая магия: как это работает без поломки приложений

Большинство приложений написаны с расчётом на «полный доступ к хранилищу». Если резко ограничить доступ — они сломаются: будут крашиться, показывать ошибки, отказываться работать.

Storage Scopes решает это через namespace isolation (изоляцию пространств имён). Приложение работает в виртуальной файловой системе:

Его собственная директория (/sdcard/Android/data/com.example.app/) видна полностью. Остальная часть /sdcard/ существует, но пуста — приложение не получает ошибку «доступ запрещён», оно просто видит пустые папки. Когда вы даёте доступ к конкретному файлу через SAF — система «монтирует» этот файл в виртуальное пространство приложения. Приложение видит его как обычный файл, может читать и записывать — но на самом деле доступ контролируется системой.

Для приложения всё выглядит нормально — оно не знает, что работает в изолированной среде. Нет ошибок, нет крашей, нет сообщений о недостатке прав. Просто «не нашлось других файлов».

Запрет записи контактов

Storage Scopes также включает дополнительную защиту: приложения с включённым Scopes не могут записывать файлы в общие директории (например, Camera, Downloads, Documents) без явного разрешения через SAF.

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

Включение и настройка Storage Scopes

По умолчанию Storage Scopes включён для всех приложений, кроме системных файловых менеджеров.

Вы можете:

  • Оставить включённым (рекомендуется) — максимальная приватность, приложения работают только с тем, что вы явно разрешили.
  • Отключить для конкретного приложения — если оно действительно нуждается в полном доступе (например, файловый менеджер, приложение для резервного копирования).
  • Проверить список разрешённых файлов/папок — можно увидеть, к каким конкретно файлам приложение получило доступ, и отозвать разрешение.

Настройка: Settings → Apps → выбрать приложение → Storage Scopes.

4.3. Contact Scopes: выборочные контакты вместо «всей адресной книги»

Разрешение на контакты в обычном Android работает так же абсурдно, как и разрешение на файлы: либо приложение получает весь список контактов, либо ничего.

Почему это проблема:

Ваша адресная книга содержит не только имена и телефоны. Там могут быть email-адреса, домашние адреса, дни рождения, места работы, заметки, фото контактов. Когда приложение запрашивает «доступ к контактам», вы вынуждены дать ему все эти данные. Причём не только свои — но и данные всех ваших знакомых, которые доверили вам свои номера, не подозревая, что вы отдадите их какому-то приложению. Приложение может выгрузить всю адресную книгу на сервер, построить социальный граф (кто с кем связан), продать эти данные маркетологам или использовать для таргетинга рекламы.

Пример абсурда: мессенджер Telegram просит доступ к контактам, «чтобы найти друзей, которые уже в Telegram». Вы соглашаетесь — и отдаёте Telegram свою полную адресную книгу. Telegram загружает её на свои серверы, строит индекс, сопоставляет номера. Ваши знакомые, которые не пользуются Telegram и даже не знают о его существовании, уже есть в базе данных компании — благодаря вам.

Как работает Contact Scopes

Contact Scopes даёт вам детальный контроль: вместо «все контакты или ничего» вы выбираете, какие именно контакты или группы видит приложение.

Как это выглядит:

  • Приложение просит доступ к контактам — вы разрешаете.
  • С включённым Contact Scopes приложение видит пустую адресную книгу.
  • Когда приложению нужен конкретный контакт (например, вы хотите позвонить знакомому через мессенджер), появляется системный диалог выбора контакта.
  • Вы выбираете одного человека из списка.
  • Приложение получает доступ только к этому контакту — имя, номер телефона (и другие поля, которые вы разрешили).
  • Остальные контакты для приложения не существуют.

Детальный контроль полей:

Вы можете настроить, какие типы данных приложение видит даже у разрешённых контактов:

  • только имена и телефоны;
  • или ещё и email-адреса;
  • или ещё и фотографии;
  • или вообще всё (адреса, дни рождения, заметки).

Например, мессенджеру достаточно имени и телефона — зачем ему домашний адрес и день рождения вашего друга?

Групповое разрешение

Если у вас в адресной книге есть группы (например, «Семья», «Работа», «Спортзал»), вы можете разрешить приложению доступ к целой группе сразу.

Пример: корпоративный мессенджер для работы разрешаете видеть группу «Работа» — и он видит всех коллег. Но не видит семью, друзей, врачей, и всех остальных.

Запрет записи контактов

Приложения с включённым Contact Scopes не могут создавать или изменять контакты. Это read-only доступ.

Зачем? Потому что запись контактов может использоваться для атак:

  • Вредоносное приложение создаёт контакт с вредоносным URL в поле «сайт» или с номером premium-rate (платные номера).
  • Приложение может «замусорить» адресную книгу рекламными контактами.
  • Может перезаписать существующие контакты, подменив номера телефонов (для перехвата звонков или сообщений).

Если приложению действительно нужна запись (например, это CRM-система или синхронизатор с корпоративным сервером) — для него Contact Scopes можно отключить индивидуально.

Практические сценарии

Сценарий 1: Социальная сеть.

Без Contact Scopes:

  • Приложение просит доступ к контактам «чтобы найти друзей».
  • Вы даёте — и отдаёте всю адресную книгу.
  • Приложение выгружает её на сервер, включая контакты людей, которые не пользуются этой соцсетью и не давали согласия.

С Contact Scopes:

  • Приложение просит доступ — вы даёте.
  • Приложение видит пустой список.
  • Если вы хотите добавить конкретного друга — выбираете его вручную через системный диалог.
  • Приложение получает только его данные.
  • Вы контролируете, кого «светите», а кого — нет.

Сценарий 2: Служба такси.

Зачем приложению такси доступ к вашим контактам? Обычно — чтобы вы могли «отправить машину другу» или «позвонить водителю через приложение».

Без Contact Scopes:

  • Вы даёте доступ.
  • Приложение видит всех: семью, коллег, врачей, всех, кто есть в телефоне.
  • Приложение загружает эти данные на сервер «для улучшения сервиса».

С Contact Scopes:

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

Сценарий 3: Корпоративное приложение.

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

  • Создаёте группу «Работа» в адресной книге, добавляете туда коллег.
  • Разрешаете корпоративному приложению доступ к группе «Работа».
  • Приложение видит только рабочие контакты.
  • Личные контакты остаются приватными.

Включение и настройка Contact Scopes

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

Настройка: Settings → Apps → выбрать приложение → Contact Scopes.

Здесь можно:

  • Выбрать контакты, которые видит приложение (индивидуально или группами).
  • Настроить типы полей (только телефоны, или ещё и email, и т. д.).
  • Отключить Scopes для приложения, если ему нужен полный доступ (например, приложение для резервного копирования контактов).

4.4. Wi-Fi и сетевое местоположение без «слива» данных Геолокация — один из самых чувствительных типов данных. Она раскрывает, где вы живёте, работаете, какие места посещаете, с кем встречаетесь. В обычном Android даже с выключенным GPS ваше местоположение постоянно отслеживается — через Wi-Fi и сотовые вышки.

Проблема Wi-Fi геолокации в обычном Android

Как работает определение местоположения по Wi-Fi:

  • Ваш телефон сканирует окружающие Wi-Fi сети (даже если вы к ним не подключены).
  • Для каждой сети он видит BSSID (уникальный идентификатор точки доступа, фактически MAC-адрес роутера) и уровень сигнала.
  • Эти данные отправляются на серверы Google (или другого провайдера геолокации).
  • Сервер сопоставляет BSSID с базой данных местоположений роутеров (собранной заранее) и возвращает ваши координаты.

Что не так:

  • Ваше местоположение постоянно отправляется на серверы Google, даже если вы не используете карты или навигацию. Просто фоновые процессы системы регулярно «уточняют» позицию.
  • Данные о сетях Wi-Fi вокруг вас тоже уходят на серверы — Google строит и обновляет свою базу данных за ваш счёт.
  • История перемещений сохраняется на серверах (если включена «История местоположений» в аккаунте Google — а она включена по умолчанию). Это детальный лог, где вы были каждую минуту за последние годы.
  • Даже с выключенной историей — данные всё равно уходят на серверы для «улучшения сервисов».

Собственная служба network location в GrapheneOS

GrapheneOS не использует Google Location Services. Вместо этого реализована собственная служба сетевого местоположения, которая работает локально, на устройстве.

Как это работает:

  • Телефон сканирует окружающие Wi-Fi сети.
  • Обращается к открытым базам данных геолокации Wi-Fi (например, Mozilla Location Service или другим публичным источникам).
  • Запрос анонимизирован: данные о BSSID отправляются через случайное соединение, без привязки к вашему аккаунту, устройству или IP-адресу.
  • Сервер возвращает примерные координаты роутеров.
  • Расчёт позиции происходит локально на устройстве, на основе уровней сигнала от нескольких точек доступа.
  • Результат сохраняется в оперативной памяти (in-memory кэш) на короткое время, чтобы не делать повторные запросы.
  • После перезагрузки кэш очищается — никакой истории местоположений не остаётся.

Что это даёт:

  • Данные не уходят на серверы Google — или на любой другой сервер, который строит профиль вашей личности.
  • Нет постоянного логирования — история местоположений не сохраняется ни локально, ни в облаке.
  • Анонимность запросов — даже сервис геолокации, к которому обращается устройство, не знает, кто вы и где находитесь систематически. Он видит одноразовые запросы для конкретных BSSID, но не может построить ваш профиль.
  • Работает так же удобно — приложения, которым нужна геолокация (карты, погода, такси), получают координаты без задержек и работают нормально.

Вы по-прежнему можете использовать GPS для точной геолокации (когда приложению разрешён доступ). Но фоновое определение «примерного местоположения» через Wi-Fi теперь не означает постоянную слежку.

Улучшения приватности Wi-Fi

GrapheneOS также включает защиту от отслеживания через Wi-Fi на более низком уровне:

MAC-адрес рандомизация.

Каждое устройство имеет уникальный MAC-адрес сетевой карты. Когда вы сканируете Wi-Fi сети (даже не подключаясь), точки доступа видят ваш MAC и могут отслеживать, когда и где вы появлялись.

В GrapheneOS:

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

Это блокирует системы отслеживания в торговых центрах, аэропортах, на улицах — когда установленные точки доступа логируют MAC-адреса проходящих устройств, строя карту перемещений посетителей.

Отключение автоматического подключения.

В обычном Android телефон постоянно «ищет» знакомые сети, к которым подключался раньше. Он транслирует в эфир имена этих сетей (SSID): «Дом», «Работа», «Кафе на углу» и т. д.

Злоумышленник может:

  • Узнать, где вы бываете (по названиям сетей).
  • Создать поддельную точку доступа с таким же именем — ваш телефон автоматически подключится, и атакующий перехватит трафик (атака «Evil Twin»).

В GrapheneOS:

  • Автоподключение можно отключить для конкретных сетей или глобально.
  • Телефон не транслирует имена сетей в эфир — он пассивно слушает beacon-сигналы роутеров и подключается, только если обнаружил «свою» сеть.

Отключение Wi-Fi при блокировке экрана.

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

Помимо крупных механизмов (Storage Scopes, Contact Scopes, Network Permission), GrapheneOS включает множество «мелких», но очень важных улучшений приватности, которые защищают вас в повседневных ситуациях.

Private screenshots (приватные скриншоты)

Проблема: В обычном Android скриншоты сохраняются в общей папке Pictures/Screenshots. Любое приложение с доступом к медиафайлам может их прочитать.

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

Решение в GrapheneOS:

Можно включить Private screenshots — режим, в котором скриншоты сохраняются в приватную папку, доступную только системным приложениям (галерея, файловый менеджер). Сторонние приложения их не видят, даже если имеют разрешение на медиафайлы.

Настройка: Settings → Privacy → Private screenshots.

PIN scrambling (перемешивание клавиатуры PIN-кода)

Когда вы вводите PIN на экране разблокировки, цифры всегда в одном и том же месте: 1-2-3 в первом ряду, 4-5-6 во втором, и т. д.

Угроза: Кто-то может подсмотреть ваши движения пальцев (shoulder surfing — «подглядывание через плечо») или проанализировать следы пальцев на экране (smudge attack — «атака по отпечаткам»). Даже не зная конкретного PIN, атакующий может восстановить паттерн движений.

PIN scrambling в GrapheneOS:

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

Подглядывающий видит: «нажал левую верхнюю кнопку, потом правую нижнюю, потом центральную». Но в следующий раз эти же кнопки будут соответствовать другим цифрам — паттерн бесполезен.

Настройка: Settings → Security → PIN scrambling.

Примечание: Это немного замедляет разблокировку (нужно смотреть на клавиатуру, а не вводить «на автомате»), поэтому функция опциональна. Рекомендуется для ситуаций повышенного риска: поездки в страны с агрессивным пограничным контролем, общественные места, протестные акции.

Показыватели доступа к камере, микрофону и геолокации

В Android 12 Google ввела индикаторы доступа: когда приложение использует камеру или микрофон, в правом верхнем углу появляется зелёная точка.

GrapheneOS расширяет эту функцию:

  • Более заметные индикаторы — трудно не заметить, что камера активна.
  • Индикатор геолокации — когда приложение запрашивает ваше местоположение, появляется соответствующая иконка.
  • История доступа — можно открыть панель и увидеть, какие приложения и когда обращались к камере, микрофону, местоположению за последние 24 часа.

Это позволяет быстро обнаружить подозрительную активность: например, мессенджер обращался к микрофону в 3 часа ночи, когда вы спали — почему?

Настройка: Settings → Privacy → Privacy indicators / Permission usage.

Автоматическое обнуление разрешений для неиспользуемых приложений

Если вы не открывали приложение несколько месяцев, GrapheneOS автоматически отзывает все его разрешения (камера, микрофон, геолокация, контакты, файлы).

Логика: если приложение не используется — зачем ему доступ к вашим данным?

При следующем запуске приложение запросит разрешения заново — и вы осознанно решите, давать или нет.

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

Clipboard access notifications (уведомления о доступе к буферу обмена)

Буфер обмена — место, куда попадает всё, что вы копируете: пароли, номера карт, личные сообщения, адреса.

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

GrapheneOS показывает уведомление, когда приложение обращается к буферу обмена. Вы видите: «Приложение X прочитало буфер обмена». Если это происходит неожиданно (например, в фоне, когда вы не взаимодействовали с приложением) — повод задуматься.

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

Автоматическая очистка буфера обмена

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

Настройка: Settings → Privacy → Clipboard auto-clear.

Отключение датчиков на уровне системы

Помимо Sensors Permission (которому нужно индивидуальное разрешение для каждого приложения), можно полностью отключить датчики на уровне системы — через Quick Settings (быстрые настройки в шторке уведомлений).

Одним тапом все датчики (кроме критических для работы экрана) выключаются аппаратно. Ни одно приложение, даже системное, не может получить к ним доступ.

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

Уведомления о подключении USB

Когда вы подключаете устройство через USB, GrapheneOS показывает заметное уведомление с текущим режимом (Off/Charge-only/Data) и предложением изменить его.

Это защищает от атак, когда вы подключили телефон к «зарядке» в общественном месте, а на самом деле это устройство с эксплойтом, пытающееся перевести порт в режим Data.

Вы сразу видите уведомление и можете отключить кабель или принудительно перевести порт в режим Charge-only.

Экран блокировки не показывает уведомления по умолчанию

В обычном Android на экране блокировки видны уведомления: кто вам написал, что пришло по почте, какие звонки пропущены.

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

В GrapheneOS:

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

Настройка: Settings → Notifications → On lock screen.

Duress PIN/Password (пароль принуждения)

Это не совсем функция приватности, скорее — безопасности в экстремальной ситуации, но она связана с защитой данных.

Вы можете установить второй PIN или пароль, который при вводе:

  • Разблокирует телефон (чтобы не привлекать внимания).
  • Но стирает данные вторичного профиля (где хранится вся конфиденциальная информация).

Сценарий: вас принуждают разблокировать телефон (на границе, при задержании, под угрозой). Вы вводите duress-пароль. Внешне всё работает нормально, злоумышленник видит «обычный» телефон с минимумом данных. Но всё важное уже удалено.

Настройка: Settings → Security → Duress Password (доступно при использовании нескольких профилей).

Приватность как философия GrapheneOS

Все эти механизмы объединяет общий принцип: вы должны контролировать свои данные, а не приложения и не корпорации.

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

GrapheneOS переворачивает это: приватность — по умолчанию, без потери функциональности. Приложения работают, сервисы доступны, но вы решаете, что разрешить, а что — нет. И делаете это детально: не «весь хранилище», а «этот файл»; не «все контакты», а «этот человек»; не «интернет всегда», а «сеть только когда использую».

Это не паранойя — это базовое уважение к вашим правам. Ваш телефон, ваши данные, ваши правила.

Мы разобрали, как GrapheneOS защищает вашу приватность через детальный контроль разрешений и архитектуру «минимально необходимого доступа». Но остаётся один большой вопрос: а что делать с Google Play Services — сердцем экосистемы Android, от которого зависят тысячи приложений?

Большинство альтернативных прошивок либо полностью исключают Google (жертвуя совместимостью), либо вшивают заменители с системными привилегиями (создавая дыры в безопасности). GrapheneOS нашёл третий путь — и это одно из самых элегантных решений в мире мобильной безопасности.

5. «Песочница» для Google Play вместо вшитых сервисов

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

Проблема Google Play Services

Google Play Services — это не просто «магазин приложений». Это массивный набор системных сервисов, которые:

  • работают постоянно в фоне;
  • имеют системные привилегии (доступ к ядру, возможность обходить некоторые ограничения);
  • видят всё, что происходит на устройстве;
  • регулярно отправляют данные на серверы Google.

От Play Services зависят тысячи приложений:

  • Push-уведомления — большинство приложений используют Firebase Cloud Messaging (FCM), который работает через Play Services. Без него уведомления не приходят.
  • In-app покупки — Google Play Billing API для платежей внутри приложений.
  • Карты и геолокация — Google Maps API, используемый в такси, доставке еды, навигаторах.
  • Авторизация — «Войти через Google», используемая во множестве сервисов.
  • Android Auto — для подключения телефона к автомобильной системе.
  • SafetyNet / Play Integrity API — проверка целостности устройства, которую требуют банковские приложения, платёжные системы (Google Pay, банковские приложения), некоторые игры.

Дилемма:

  • Оставить Play Services — значит дать Google системные привилегии, постоянный доступ ко всем данным, возможность обходить защиты. Это огромная дыра в безопасности и полное отсутствие приватности.
  • Убрать Play Services — значит потерять совместимость с тысячами приложений. Не работают банки, такси, доставка еды, многие мессенджеры лишаются уведомлений.

Как другие прошивки решают эту проблему (и почему плохо)

LineageOS, /e/OS и подобные по умолчанию идут без Play Services — получается «чистый» Android, но множество приложений не работают.

microG — открытая альтернатива Play Services, которая пытается эмулировать API Google. Устанавливается с системными привилегиями, как и оригинальный Play Services.

Проблемы microG:

  • Всё равно имеет системные привилегии — а значит, уязвимость в microG = полная компрометация системы. Код microG намного меньше и проще, чем у Google Play Services, но он всё равно большой, сложный, и в нём есть баги.
  • Неполная совместимость — многие функции работают через пень-колоду или не работают вообще. Push-уведомления приходят с задержками или не приходят. In-app покупки работают криво. SafetyNet обходится костылями, которые Google регулярно ломает обновлениями.
  • Увеличение поверхности атаки — вместо одного потенциально опасного компонента (Play Services) вы получаете другой, который тоже системный и тоже может быть взломан.
  • Зависимость от одного проекта — microG поддерживается небольшой командой энтузиастов. Если Google изменит API или усилит проверки — microG сломается, и придётся ждать обновления.

Вшивание оригинального Play Services в прошивку (некоторые коммерческие ROM) — худший вариант: вы получаете и проблемы безопасности, и привязку к Google, и никакого контроля.

Решение GrapheneOS: Sandboxed Google Play

GrapheneOS пошёл радикально другим путём: не заменять Play Services, а изолировать оригинальный в обычную пользовательскую песочницу.

Что такое Sandboxed Google Play?

Это оригинальные Google Play Services и Google Play Store, но установленные как обычные пользовательские приложения, без каких-либо системных привилегий.

Ключевое отличие от обычного Android:

  • В стандартном Android Play Services — системное приложение с root-доступом, встроенное в прошивку. Вы не можете его удалить, отключить или ограничить.
  • В GrapheneOS Play Services — обычное приложение, которое вы устанавливаете из репозитория GrapheneOS (или не устанавливаете, если не нужно). Оно работает в обычной пользовательской песочнице, как Telegram, калькулятор или любое другое приложение.

Что это даёт:

  • Нет системных привилегий — Play Services видят только то, что вы явно разрешили через стандартные Android-разрешения (геолокация, камера, микрофон и т. д.). Они не могут обходить ограничения, не могут копаться в системе, не могут видеть данные других приложений.
  • Вы контролируете доступ — можете запретить Play Services сеть (тогда они вообще не смогут отправлять данные), ограничить геолокацию, датчики, контакты — всё, как для обычного приложения.
  • Можете удалить — в любой момент. Просто деинсталлировать, как любое приложение. Система продолжит работать.
  • Полная совместимость — поскольку это оригинальный Play Services от Google, а не эмуляция, всё работает так, как задумано: push-уведомления приходят мгновенно, in-app покупки работают, банковские приложения не жалуются на «недостоверное устройство», Android Auto функционирует.

Как это технически возможно?

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

Технические изменения:

  • Compatibility layer (слой совместимости) — GrapheneOS эмулирует для Play Services окружение, в котором они «думают», что имеют системные привилегии, но на самом деле все их запросы проходят через стандартную систему разрешений.
  • Hooking и проксирование API — когда Play Services пытаются вызвать системный API, GrapheneOS перехватывает вызов и проверяет разрешения. Если разрешения нет — вызов блокируется.
  • Изоляция FCM (Firebase Cloud Messaging) — push-уведомления работают, но трафик и данные изолированы. Play Services не могут использовать FCM для сбора данных о других приложениях.
  • Signature spoofing (подстановка подписи) для Play Services — микроскопическое исключение, которое позволяет Play Services «притвориься» системным компонентом для совместимости с приложениями, но без реальных системных прав. Это единственное место в GrapheneOS, где используется техника, похожая на microG, но применяется точечно и только для Play Services, а не системно.

Результат: приложения видят «нормальный» Play Services, работают с ним как обычно, но на уровне системы Play Services — обычное приложение в песочнице.

Установка Sandboxed Google Play

По умолчанию GrapheneOS не содержит Play Services. Это чистая система, Google там нет вообще.

Если вам нужна совместимость с приложениями, зависящими от Google:

  • Откройте приложение Apps (магазин приложений GrapheneOS).
  • Найдите Google Play Services и Google Play Store.
  • Установите одним тапом.
  • После установки они появляются как обычные приложения. Можете открыть, залогиниться в Google-аккаунт (если нужно), настроить разрешения.

Установка занимает 30 секунд. Никаких танцев с бубном, root-доступа, перепрошивки — просто установка приложения.

Настройка разрешений для Play Services

После установки Play Services — это обычное приложение, и вы управляете им через стандартное меню разрешений.

Что можно настроить:

  • Network permission — запретить Play Services доступ к сети вообще (тогда они не смогут отправлять телеметрию, но и push-уведомления не будут работать) или разрешить только для конкретных задач.
  • Location — дать доступ к геолокации только «при использовании» или запретить вообще. Play Services будут работать, но не смогут трекить ваше местоположение в фоне.
  • Sensors — запретить доступ к акселерометру, гироскопу и другим датчикам.
  • Storage Scopes — включить, чтобы Play Services не видели все ваши файлы.
  • Contact Scopes — ограничить доступ к контактам.

Практический подход: многие пользователи дают Play Services только Network и разрешение на уведомления — этого достаточно для работы push-сообщений и большинства приложений. Геолокация, контакты, датчики — запрещены. Play Services работают, но не могут шпионить.

Работа push-уведомлений и других функций

Самый частый вопрос: «Если Play Services в песочнице без привилегий, как работают уведомления?»

Ответ: GrapheneOS модифицировал систему так, что FCM (Firebase Cloud Messaging) работает без системных привилегий.

Как это устроено:

  • Play Services устанавливают постоянное соединение с серверами Google для получения push-сообщений (это стандартное поведение FCM).
  • Когда приходит уведомление для конкретного приложения, Play Services передают его этому приложению через стандартный IPC (межпроцессное взаимодействие).
  • Система контролирует этот обмен — Play Services не могут «подслушивать» уведомления других приложений или инжектить свои данные.

Результат: push-уведомления работают так же быстро и надёжно, как на обычном Android. Но Play Services не могут использовать это для сбора данных о том, какие приложения вы используете и что в них делаете.

In-app покупки работают аналогично — через стандартный API, но без привилегированного доступа.

SafetyNet / Play Integrity API:

Это сложный момент. Банковские приложения и некоторые игры используют эти API для проверки, что устройство «не рутовано» и «доверенное».

В GrapheneOS:

  • Загрузчик заблокирован (locked bootloader) — это критично для прохождения проверок.
  • Verified Boot работает и подтверждает подлинность системы.
  • Аппаратная аттестация через TEE (Trusted Execution Environment) показывает, что устройство оригинальное, не модифицировано и не рутовано.

Большинство банковских приложений работают без проблем. Некоторые особо параноидальные приложения (например, определённые банки или игры с античитом) могут отказываться работать на «кастомных прошивках» — но это редкость, и GrapheneOS активно работает над улучшением совместимости.

Google Pay не работает — Google явно блокирует его на устройствах с кастомными прошивками, даже если все проверки безопасности проходят. Это политическое решение Google, а не техническое ограничение. Альтернатива — банковские приложения с NFC-платежами (многие банки имеют свои решения).

Тумблеры совместимости

GrapheneOS предоставляет детальные настройки совместимости для Sandboxed Play Services:

Android Auto:

По умолчанию Android Auto (подключение телефона к автомобильной системе) отключён, потому что требует дополнительных привилегий.

Если вам нужен Android Auto:

  • Settings → Apps → Google Play Services → Android Auto compatibility → Enable.
  • Система даст Play Services минимально необходимые дополнительные разрешения для работы с автомобилем.
  • После использования можно снова отключить.

Расширенная совместимость (Extended compatibility):

Некоторые приложения используют нестандартные или устаревшие API Play Services. Для них можно включить режим расширенной совместимости, который эмулирует дополнительные системные интерфейсы.

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

Как это работает:

  • Settings → Apps → Google Play Services → Compatibility options.
  • Видите список опций: Android Auto, Extended compatibility mode, Legacy API support и другие.
  • Включаете только то, что нужно для ваших конкретных приложений.

Каждая опция сопровождается кратким описанием: что она делает, какие приложения могут её требовать, какие риски добавляет.

Философия: давать минимально необходимые привилегии. Если вам не нужен Android Auto — зачем давать Play Services эти дополнительные возможности? Включили, воспользовались, выключили.

Установка в отдельный профиль

Ещё более радикальный подход: установить Play Services в отдельный пользовательский профиль (о профилях подробно в следующем разделе).

Сценарий:

  • Основной профиль — полностью «чистый», без Google. Здесь ваши личные данные, мессенджеры, заметки, фото.
  • Второй профиль («Работа» или «Google-приложения») — с установленными Play Services. Здесь приложения, которые без Google не работают: банк, такси, доставка, рабочий софт.

Что это даёт:

  • Play Services вообще не видят вашу личную активность — они работают в изолированном профиле, у них нет доступа к приложениям и данным основного профиля.
  • Можете полностью «выключить» Google — завершить сессию второго профиля, и все процессы Play Services остановятся. Работаете в основном профиле без Google, когда нужно приложение с зависимостью от Play Services — переключаетесь во второй профиль.
  • Максимальная изоляция — даже если в Play Services найдётся уязвимость и кто-то её эксплуатирует, атакующий окажется запертым в отдельном профиле, без доступа к вашим реальным данным.

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

Почему Sandboxed Play Services надёжнее альтернатив

Давайте сравним все доступные варианты:

Вариант 1: Обычный Android с вшитым Play Services

Плюсы:

  • всё работает из коробки;
  • максимальная совместимость.

Минусы:

  • Play Services имеют системные привилегии — полный доступ к устройству;
  • постоянная отправка телеметрии на серверы Google;
  • невозможно ограничить, отключить или удалить;
  • огромная поверхность атаки — Play Services содержат миллионы строк кода, регулярно находятся уязвимости;
  • Google знает о вас всё: где вы, что делаете, какие приложения используете.

Вариант 2: Прошивка без Google (чистый AOSP, LineageOS без добавок)

Плюсы:

  • нет слежки со стороны Google;
  • меньше системного кода = меньше поверхность атаки.

Минусы:

  • огромное количество приложений не работает: нет push-уведомлений, нет банков, нет такси, нет многих мессенджеров в полной функциональности;
  • для обычного пользователя практически неприменимо.

Вариант 3: microG как системный компонент

Плюсы:

  • открытый код;
  • не отправляет данные Google (или отправляет минимум);
  • частичная совместимость с приложениями.

Минусы:

  • всё ещё системный компонент с привилегиями — уязвимость в microG = взлом системы;
  • неполная совместимость — многие функции работают плохо или не работают вообще (push-уведомления с задержками, SafetyNet обходится костылями, банки часто отказываются работать);
  • зависимость от небольшой команды разработчиков — если Google меняет API, нужно ждать обновления microG;
  • увеличение кодовой базы системы (больше кода с привилегиями = больше рисков).

Вариант 4: Sandboxed Google Play в GrapheneOS

Плюсы:

  • нет системных привилегий — Play Services в обычной пользовательской песочнице;
  • полная совместимость — оригинальный Play Services, всё работает как задумано Google (push, покупки, API);
  • детальный контроль через стандартные разрешения — вы решаете, что Play Services может, а что нет;
  • можно удалить в любой момент;
  • можно изолировать в отдельный профиль для максимальной защиты;
  • не увеличивает поверхность атаки базовой системы — Play Services работают в userspace, взлом Play Services не даёт доступа к системе;
  • опциональность — можно вообще не ставить, если не нужно.

Минусы:

  • если вы устанавливаете Play Services — вы всё равно используете проприетарный код Google (но хотя бы в песочнице и под контролем);
  • некоторые особо параноидальные функции Google (например, Google Pay) не работают по политическим причинам;
  • нужно осознанно настраивать разрешения (хотя это скорее плюс — вы контролируете систему, а не она вас).

Вывод: Sandboxed Play Services — это компромисс между безопасностью (нет системных привилегий, всё под контролем), приватностью (можете ограничить доступ к данным) и практичностью (всё работает без костылей).

Философия решения: не заменять, а изолировать

GrapheneOS не пытается «обмануть» Google, создав недо-аналог Play Services. Он использует оригинальный код Google, но лишает его привилегий.

Это честный подход:

  • Совместимость — если Google меняет API, Play Services обновляются (из официального источника Google через зеркало в репозитории GrapheneOS), и всё продолжает работать.
  • Безопасность — даже уязвимость в Play Services не даёт атакующему системный доступ. Максимум — взлом процесса Play Services, который находится в песочнице.
  • Приватность — вы контролируете, какие данные Play Services могут видеть и отправлять.

Главное отличие от microG: microG пытается заменить Play Services своей реализацией, получая те же привилегии. GrapheneOS изолирует оригинальный Play Services, лишая привилегий.

Результат: лучшая совместимость, меньше рисков, больше контроля.

Практические сценарии использования

Сценарий 1: Максималист приватности.

Вы не хотите иметь ничего общего с Google.

  • Не устанавливаете Play Services вообще.
  • Используете приложения из F-Droid (открытый репозиторий FOSS-приложений) и Aurora Store (клиент для установки приложений из Google Play без аккаунта).
  • Для приложений, требующих Google, ищете альтернативы: вместо Google Maps — OSM-навигаторы, вместо Gmail — другой почтовый клиент, вместо банковского приложения — веб-версия банка.

GrapheneOS полностью поддерживает этот сценарий. Play Services не встроены, их установка опциональна.

Сценарий 2: Прагматик.

Вы цените приватность, но нуждаетесь в некоторых приложениях, которые без Google не работают: банк, такси, доставка.

  • Устанавливаете Sandboxed Play Services в основной профиль.
  • Настраиваете разрешения: даёте Network (для push-уведомлений), запрещаете геолокацию, датчики, контакты.
  • Устанавливаете нужные приложения через Play Store.
  • Всё работает, уведомления приходят, но Play Services не могут трекать ваше местоположение или собирать данные датчиков.

Сценарий 3: Параноик (в хорошем смысле).

Вы хотите максимально изолировать Google от своей личной жизни.

  • Основной профиль — без Google. Здесь ваши личные данные, мессенджеры, фото, заметки.
  • Второй профиль («Google Apps») — с установленными Play Services. Здесь банк, такси, рабочие приложения.
  • Работаете в основном профиле. Когда нужно вызвать такси — переключаетесь во второй профиль, заказываете, возвращаетесь в основной.
  • Завершаете сессию второго профиля, когда он не нужен — все процессы Play Services останавливаются, Google вас не видит.

Сценарий 4: Семейное использование.

Ваш профиль — без Google, для приватности. Профиль ребёнка — с Play Services, чтобы у него работали игры и образовательные приложения из Play Store. Профили изолированы, ребёнок не видит ваши данные, вы контролируете, что он может устанавливать (об этом в следующем разделе).

Обновления Sandboxed Play Services

Play Services регулярно обновляются Google. В GrapheneOS обновления приходят через собственный репозиторий Apps:

  • GrapheneOS зеркалирует официальные APK Play Services с серверов Google.
  • Проверяет криптографические подписи — это гарантирует, что APK не модифицирован.
  • Публикует в своём репозитории.
  • Ваше устройство получает обновления автоматически (если включены авто-обновления) или по запросу.

Зачем зеркало, а не прямая загрузка с серверов Google?

  • Контроль версий — GrapheneOS тестирует новые версии Play Services на совместимость с изменениями в системе. Если обновление что-то ломает — оно не попадает в репозиторий до исправления.
  • Приватность — вы не обращаетесь напрямую к серверам Google при установке/обновлении. Запрос идёт к серверам GrapheneOS (которые не трекают пользователей).
  • Доступность — зеркало защищает от ситуации, когда Google блокирует доступ к Play Services для определённых регионов или устройств.

Вы всё равно получаете оригинальный, подписанный Google APK — никакой модификации кода. Просто через более приватный и контролируемый канал.

Итог: элегантное решение сложной проблемы

Sandboxed Google Play — это пример того, как GrapheneOS подходит к сложным компромиссам:

  • Не жертвует безопасностью ради совместимости — Play Services не получают привилегий.
  • Не жертвует совместимостью ради идеологии — используется оригинальный код Google, всё работает.
  • Даёт контроль пользователю — вы решаете, устанавливать ли Play Services, какие разрешения давать, в каком профиле держать.

Это практичная приватность: не «живите в пещере без современных сервисов», а «используйте то, что нужно, но на своих условиях».

Для большинства пользователей Sandboxed Play Services — идеальный баланс между «полностью свободной системой» (которая несовместима с реальным миром) и «обычным Android» (который сливает все данные Google). Вы получаете функциональность первого и совместимость второго, теряя только тотальную слежку.

Мы разобрались, как GrapheneOS решает проблему Google Play Services — через изоляцию вместо замены или вшивания. Но это лишь один из инструментов для разделения данных и активностей. Ещё более мощный механизм — это пользовательские профили, которые в GrapheneOS работают совершенно не так, как в обычном Android.

6. Работа профилей и контроль приложений

В обычном Android есть функция «Пользователи» (Users/Profiles), но она ограничена, неудобна и мало кто ей пользуется. GrapheneOS превратил профили в мощный инструмент разделения контекстов, который решает массу реальных задач: от изоляции рабочих данных до родительского контроля и защиты от принуждения.

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

Давайте разберём, что изменилось и как это использовать.

Что такое профили и как они работают

Профиль (user profile) — это отдельное пользовательское пространство со своими:

  • приложениями (один профиль не видит приложения другого);
  • данными (файлы, фото, контакты, сообщения — всё изолировано);
  • аккаунтами (можете войти в Google в одном профиле и не входить в другом);
  • настройками (обои, рингтоны, настройки приложений);
  • разрешениями (приложение может иметь доступ к камере в одном профиле и не иметь в другом).

Изоляция на уровне ядра: каждый профиль работает под отдельным Linux user ID. Это не «косметическое» разделение — это фундаментальная изоляция на уровне операционной системы, такая же, как между разными пользователями в настольной Linux-системе.

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

Расширенные возможности профилей в GrapheneOS

В стандартном Android профили есть, но их использование крайне ограничено:

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

GrapheneOS убрал все эти ограничения и добавил мощные инструменты управления.

Больше профилей

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

Зачем столько?

  • Разные контексты жизни: Личное, Работа, Семья, Хобби, Путешествия, Финансы — каждый в своём профиле.
  • Временные профили: создали профиль для конкретной задачи (например, тестирование нового приложения), использовали, удалили вместе со всеми данными.
  • Профили для близких: у каждого члена семьи свой профиль со своими данными и настройками, но все на одном устройстве.
  • «Жертвенные» профили: профиль для использования в недоверенной среде (публичный Wi-Fi, подозрительная локация) — если что-то пойдёт не так, скомпрометирован только этот профиль, основные данные в безопасности.

Быстрое переключение между профилями

Переключение занимает 2–3 секунды (зависит от мощности устройства). Открываете шторку уведомлений, тапаете на значок профиля, выбираете нужный — готово.

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

Завершение сессии профиля

Это критически важная функция, которой нет в обычном Android.

Проблема стандартного Android: когда вы переключаетесь между профилями, все профили продолжают работать в фоне. Их приложения могут выполняться, получать уведомления, использовать сеть, обращаться к датчикам. Профиль «не активен» на экране, но активен в системе.

Решение GrapheneOS: завершение сессии.

Когда вы переключаетесь из профиля, можете выбрать End session (завершить сессию):

  • все процессы профиля останавливаются;
  • приложения закрываются;
  • оперативная память очищается;
  • профиль полностью «замораживается» и не потребляет ресурсов.

При возвращении в профиль система «размораживает» его — приложения запускаются заново (как после перезагрузки устройства).

Зачем это нужно:

  • Экономия батареи — неактивные профили не жрут ресурсы в фоне.
  • Безопасность — если в профиле есть потенциально опасное приложение, оно не работает, пока профиль не активен.
  • Приватность — профиль с Play Services завершён → Google не может трекать вас, пока вы работаете в основном профиле.
  • Производительность — устройство «видит» только один активный профиль, система работает быстрее.

Автоматическое завершение: можно настроить автоматическое завершение сессии через N минут после переключения из профиля. Переключились в основной профиль — через 5 минут рабочий профиль автоматически завершается.

Settings → System → Multiple users → Auto-end sessions.

Запрет установки приложений

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

В GrapheneOS администратор устройства (владелец, owner) может запретить установку приложений для конкретного профиля.

Как это работает:

  • Создаёте профиль (например, для ребёнка или для рабочего сценария с ограничениями).
  • Settings → System → Multiple users → выбираете профиль → Restrict app installation.
  • Теперь этот профиль не может устанавливать новые приложения — ни из магазина, ни из APK-файлов, ни откуда.

Что можно делать в таком профиле:

  • использовать приложения, которые были установлены администратором (через механизм «доступные для установки», о котором дальше);
  • обновлять существующие приложения (если разрешено);
  • удалять приложения (если не запрещено отдельно).

Зачем это нужно:

  • Детский профиль — ребёнок не может установить всякую дрянь из интернета, игры с встроенными покупками или социалки без вашего ведома. Он работает только с тем, что вы дали.
  • Рабочий профиль — для сценариев, когда устройство используется в организации. Сотрудник работает с корпоративными приложениями, но не может установить левый софт.
  • Минималистичный профиль — создаёте профиль для фокусировки (чтение, работа), где только самое необходимое. Запрещаете установку → не будет соблазна «а дай-ка я Telegram посмотрю».

Доступные к установке приложения (Available for installation)

Это гениальная функция, которая решает проблему «Как дать профилю доступ к приложениям, но не давать свободу устанавливать всё подряд?»

Как это работает:

  • Администратор (owner) устанавливает приложение в своём профиле.
  • Заходит в настройки приложения и отмечает его как Available for installation in other profiles (доступно для установки в других профилях).
  • Теперь это приложение появляется в специальном разделе других профилей: «Приложения, доступные для установки».
  • Пользователь другого профиля может установить это приложение одним тапом — но только это конкретное приложение, одобренное администратором.

На практике:

Вы (владелец устройства) устанавливаете в своём профиле набор приложений: Telegram, браузер, калькулятор, камеру, игру для ребёнка.

Отмечаете их как «доступные для установки».

Создаёте профиль для ребёнка, запрещаете свободную установку приложений.

Ребёнок заходит в свой профиль, видит список доступных приложений (те, что вы одобрили), выбирает нужные и устанавливает. Но установить что-то извне он не может.

Технически: это не копирование APK. Система создаёт отдельный экземпляр приложения для нового профиля со своими данными и настройками. Приложения изолированы друг от друга — ребёнок не увидит ваших сообщений в Telegram, даже если использует то же приложение.

Пересылка уведомлений между профилями

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

В обычном Android решения нет — либо держите все профили активными (тратя батарею и ресурсы), либо постоянно переключайтесь проверять.

GrapheneOS: пересылка уведомлений.

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

Как это работает:

  • Settings → System → Multiple users → выбрать профиль → Forward notifications to owner.
  • Теперь уведомления из этого профиля будут дублироваться в профиле владельца.
  • Вы видите: «💼 Work profile: New message in Slack».
  • Тапаете на уведомление — система автоматически переключается в рабочий профиль и открывает приложение.

Контроль детализации:

Можно настроить:

  • пересылать все уведомления;
  • пересылать только от конкретных приложений;
  • скрывать содержимое уведомлений (приходит просто «У вас новое сообщение», без текста — для приватности).

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

Контактное отслеживание между профилями (опционально)

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

Например: ваши личные контакты в основном профиле, рабочие — в рабочем профиле. Вы можете разрешить им видеть контакты друг друга (только для отображения при входящем звонке), но данные остаются изолированными.

Это опционально и настраивается индивидуально.


Практические сценарии использования профилей

Сценарий 1: Разделение личного и рабочего.

  • Основной профиль — личные данные: мессенджеры с друзьями, фото, заметки, личная почта. Без Google Play Services для максимальной приватности.
  • Рабочий профиль — корпоративная почта, Slack, рабочие документы, возможно, с Sandboxed Play Services (если нужно). Настроена пересылка уведомлений в основной профиль.

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

Вечером завершаете сессию рабочего профиля — все рабочие приложения останавливаются, уведомления не приходят, вы отдыхаете без работы.

Сценарий 2: Детский профиль с контролем.

  • Создаёте профиль для ребёнка.
  • Запрещаете установку приложений.
  • Делаете доступными для установки: образовательные приложения, несколько одобренных игр, детский браузер.
  • Настраиваете разрешения жёстко: геолокация отключена, камера только для одного приложения, контакты недоступны.
  • Ребёнок использует устройство, но в строго заданных рамках. Не может установить TikTok или игру с донатом без вашего ведома.

Сценарий 3: «Чистый» профиль для банковских операций.

  • Основной профиль — повседневная жизнь, множество приложений.
  • Отдельный профиль «Финансы» — только банковские приложения, ничего больше. С Sandboxed Play Services (для работы банков), но с минимальными разрешениями.

Когда нужно сделать платёж или проверить баланс — переключились в финансовый профиль. Там чисто, нет потенциально опасных неизвестных приложений, риск компрометации минимален.

После операции завершили сессию — профиль «заморожен», банковские приложения не работают в фоне.

Сценарий 4: Путешествие в страну с агрессивным пограничным контролем.

  • Основной профиль — вся ваша жизнь.
  • Создаёте временный «туристический» профиль с минимумом данных: карты, переводчик, пара нейтральных мессенджеров с пустой историей.

На границе могут потребовать разблокировать устройство. Вы переключаетесь в туристический профиль, разблокируете. Офицер видит «обычный телефон туриста», ничего подозрительного. Ваши реальные данные в основном профиле, который защищён отдельным паролем и недоступен.

После поездки удаляете туристический профиль одной кнопкой — все данные стираются.

Сценарий 5: Тест подозрительного приложения.

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

  • Создаёте временный профиль «Testing».
  • Устанавливаете туда подозрительное приложение.
  • Даёте минимум разрешений или вообще все запрещаете (чтобы посмотреть, как оно себя ведёт).
  • Тестируете функциональность.

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

Сценарий 6: Профиль для социальных сетей.

Многие хотят пользоваться соцсетями (Instagram, Facebook, Twitter/X), но не хотят давать им доступ к своим реальным данным.

  • Создаёте профиль «Social».
  • Устанавливаете туда приложения соцсетей с Sandboxed Play Services.
  • Запрещаете доступ к геолокации, контактам, камере (пользуетесь только просмотром ленты).
  • Не храните там личные фото или файлы — только интерфейс для соцсетей.

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

Завершаете сессию, когда не пользуетесь — соцсети не работают в фоне, не жгут батарею, не собирают данные.


Управление профилями: технические детали

Создание профиля

Settings → System → Multiple users → Add user.

Выбираете тип:

  • Restricted profile (ограниченный профиль) — для детей или строго контролируемого использования. Владелец может задать жёсткие рамки.
  • Standard profile (обычный профиль) — полноценный независимый пользователь со своими настройками.

Задаёте имя профиля (для удобства: «Работа», «Семья», «Финансы» и т. д.).

Система создаёт новое пользовательское пространство — занимает несколько секунд.

Настройка профиля администратором

После создания владелец устройства (owner profile) может:

  • Запретить/разрешить установку приложений — блокировка возможности ставить новый софт.
  • Сделать приложения доступными для установки — подготовить «белый список» приложений, которые профиль может установить.
  • Настроить пересылку уведомлений — будут ли уведомления из этого профиля приходить в основной.
  • Задать автоматическое завершение сессии — через сколько минут после переключения профиль «замораживается».
  • Настроить доступ к контактам (если нужно) — разрешить профилю видеть контакты из других профилей (только для отображения имён при звонках).

Settings → System → Multiple users → [выбрать профиль] → Profile settings.

Переключение между профилями

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

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

При переключении можно выбрать:

  • Stay active (оставить активным) — текущий профиль продолжает работать в фоне.
  • End session (завершить сессию) — все процессы текущего профиля останавливаются.

Если включено автоматическое завершение, профиль сам завершится через заданное время.

Удаление профиля

Settings → System → Multiple users → [выбрать профиль] → Remove user.

Система предупреждает: «Все данные этого профиля будут удалены» (приложения, файлы, настройки, аккаунты — всё).

Подтверждаете — профиль вместе со всем содержимым стирается. Это полное криптографическое стирание — данные невозможно восстановить.

Удобно для временных профилей или когда хотите «обнулить» что-то конкретное, не затрагивая остальную систему.


Изоляция данных между профилями (техническая сторона)

Профили изолированы на уровне Linux user ID и SELinux-политик. Это не просто «разные папки» — это разные пользователи операционной системы с разными правами.

Что это значит:

  • Файловая система. Данные каждого профиля хранятся в отдельных зашифрованных разделах. Ядро не даст процессу одного профиля прочитать файлы другого — даже если в процессе есть уязвимость. Попытка доступа вернёт ошибку «Permission denied» на уровне ядра.

  • Межпроцессное взаимодействие (IPC). Приложение из одного профиля не может отправить намерение (Intent) или вызвать сервис приложения из другого профиля. SELinux блокирует такой IPC на уровне политики.

  • Общие ресурсы. Приложения разных профилей не могут видеть друг друга через системные API (например, список запущенных процессов, установленных приложений). Для каждого профиля «мир» состоит только из его собственных приложений.

  • Сеть. Сетевой трафик профилей технически проходит через один физический интерфейс, но firewall и routing tables могут быть настроены индивидуально (хотя в GrapheneOS это пока не реализовано на уровне UI — все профили используют общие сетевые настройки).

  • Уведомления. Пересылка уведомлений между профилями работает через защищённый системный канал, контролируемый ОС. Приложения не получают доступ к уведомлениям других профилей — система просто «передаёт» уведомление из одной изолированной среды в другую, не открывая доступа к данным.

Результат: взлом приложения в одном профиле не даёт атакующему ничего за пределами этого профиля. Даже если злоумышленник получил root-доступ в рамках профиля (что уже крайне сложно из-за всех защит GrapheneOS) — root внутри профиля не равен root в системе. Ядро и SELinux не позволят влезть в другие профили или системные компоненты.


Преимущества профилей GrapheneOS перед стандартным Android

ФункцияОбычный AndroidGrapheneOS
Количество профилей1 дополнительный (на большинстве устройств)До 32
Скорость переключенияМедленная (5-10 сек)Быстрая (2-3 сек)
Завершение сессии профиляНет (профили работают в фоне)Да, с автоматизацией
Запрет установки приложенийТолько через сложные настройки родительского контроляПростой тумблер для каждого профиля
Передача приложений между профилямиНетДа («доступно для установки»)
Пересылка уведомленийНетДа, с контролем детализации
Удобство управленияЗапрятано в настройках, неочевидноБыстрый доступ через шторку, UI продуман
АвтоматизацияМинимальнаяГибкие настройки для каждого профиля

Профили vs песочницы приложений: в чём разница?

Иногда спрашивают: «Зачем профили, если есть песочницы для каждого приложения?»

Песочницы (sandboxes) изолируют приложения друг от друга внутри одного профиля. Приложение A не видит данных приложения B — но оба живут в одном пользовательском пространстве, имеют доступ к общим ресурсам (контактам пользователя, если разрешено; файлам с разрешением; сетевым настройкам).

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

  • В одном профиле у вас может быть аккаунт Google, в другом — нет.
  • В одном профиле разрешена сеть для всех приложений, в другом — заблокирована для подозрительных.
  • Один профиль вы завершаете вечером (вся работа останавливается), другой продолжает работать.

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


Ограничения и нюансы

Телефонные звонки и SMS.

Радиомодули (сотовая связь, звонки, SMS) доступны всем профилям одновременно — они используют общий модем. Входящий звонок придёт в активный профиль.

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

Совместное использование некоторых системных настроек.

Настройки Wi-Fi, Bluetooth, VPN, обоев экрана блокировки — общие для всех профилей (так задумано в Android на уровне архитектуры). Но настройки безопасности (разрешения приложений, пароли профилей) изолированы.

Размер хранилища.

Каждый профиль создаёт свой зашифрованный раздел. Если у вас 10 профилей с сотнями приложений в каждом — место на накопителе будет занято. Следите за свободным пространством.

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

Первоначальная настройка каждого профиля.

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

Зато это гарантирует, что профиль действительно независим — у него нет «наследственных» настроек из основного профиля.


Итог: профили как инструмент контроля жизненных контекстов

Профили в GrapheneOS — это не «фича для гиков». Это практичный инструмент разделения контекстов, который решает реальные задачи:

  • хотите работать без отвлечений — завершите сессию личного профиля;
  • нужно обезопасить ребёнка — дайте ему профиль с контролируемым набором приложений;
  • боитесь слежки через Google — изолируйте Play Services в отдельный профиль и завершайте его, когда не нужен;
  • путешествуете в опасное место — создайте «чистый» профиль для показа на границе;
  • тестируете новое приложение — временный профиль, который потом удалите за секунду.

Это гибкость, которую не даёт ни один другой смартфон или операционная система. Вы буквально носите с собой несколько устройств в одном корпусе — и переключаетесь между ними мгновенно, сохраняя полную изоляцию данных.

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


Мы разобрали устройство профилей и их возможности. Теперь перейдём к ещё более детальному уровню контроля — управлению сетевым трафиком и правами отдельных приложений, которое позволяет запретить или разрешить почти любое действие на уровне отдельных процессов.

7. Коммуникации, браузер и VPN

Мы разобрали, как GrapheneOS защищает систему и данные на уровне ядра, приложений и профилей. Но большая часть современной цифровой жизни происходит в двух местах: в браузере (веб-сайты, веб-приложения, онлайн-сервисы) и через сеть (обмен данными с серверами, VPN для защиты трафика).

Оба этих компонента — критические точки атаки и утечки данных. Браузер выполняет код с непроверенных сайтов, обрабатывает потенциально вредоносный контент, имеет доступ к вашим паролям и cookie. VPN должен защищать весь трафик, но неправильно настроенный или реализованный VPN может сливать данные мимо защищённого канала — и вы об этом даже не узнаете.

GrapheneOS подошёл к обоим аспектам с той же серьёзностью, что и к остальной системе.


Vanadium: усиленный браузер и WebView

Vanadium — это браузер по умолчанию в GrapheneOS и одновременно системный компонент WebView (движок для отображения веб-содержимого внутри приложений).

Что такое WebView и почему это важно

WebView — это не просто «встроенный браузер». Это компонент, который позволяет любому приложению показывать веб-страницы внутри своего интерфейса. Когда вы видите веб-контент в приложении (новость в агрегаторе, страницу входа через OAuth, рекламный баннер, встроенную карту) — это работает WebView.

Проблема: WebView запускает произвольный код (JavaScript с веб-страниц) в контексте приложения. Уязвимость в WebView = уязвимость в тысячах приложений, которые его используют. Исторически WebView был источником огромного количества эксплойтов.

В обычном Android используется Chrome WebView от Google — проприетарный компонент, который:

  • содержит миллионы строк кода;
  • интегрирован с Google-сервисами (синхронизация, аналитика);
  • имеет привилегированный доступ к некоторым системным функциям;
  • обновляется через Play Store (привязка к экосистеме Google).

Что такое Vanadium

Vanadium — это форк Chromium (открытой основы браузера Chrome), модифицированный GrapheneOS для максимальной безопасности и приватности.

Ключевые отличия от обычного Chrome/Chromium:

  • Удалены все компоненты Google — нет синхронизации с аккаунтом Google, нет интеграции с Play Services, нет отправки телеметрии на серверы Google.
  • Усилена песочница — процессы рендеринга работают с ещё более жёсткими ограничениями (меньше системных вызовов через seccomp, строже SELinux-политики).
  • Улучшена изоляция сайтов — каждый сайт работает в своём изолированном процессе (Site Isolation), и утечка данных между сайтами практически невозможна.
  • Защита от эксплойтов памяти — используется hardened malloc (тот же, что и в системе), активированы все возможные защиты компилятора (CFI, Shadow Call Stack и другие).
  • Memory Tagging Extension (MTE) — на Pixel 8/9 Vanadium использует аппаратную защиту памяти, что делает эксплуатацию уязвимостей в движке браузера крайне сложной.
  • Более строгие политики безопасности контента — по умолчанию блокируются опасные API (например, доступ к старым криптографическим функциям, небезопасные расширения HTML5).

JIT-компиляция под контролем

Мы уже упоминали, что GrapheneOS запрещает динамическую загрузку кода. Но JavaScript в браузере требует JIT-компиляции (Just-In-Time compilation) — преобразования JavaScript в машинный код «на лету» для нормальной производительности.

JIT — это потенциальный вектор атаки: злоумышленник может попытаться «обмануть» JIT-компилятор, заставив его сгенерировать вредоносный машинный код.

Защиты JIT в Vanadium:

  • JIT работает в отдельном, максимально изолированном процессе с минимальными правами. Даже если атакующий скомпрометирует JIT — он окажется в процессе, который не может ничего, кроме компиляции JavaScript.
  • JIT-память защищена аппаратно — используется разделение исполняемой и записываемой памяти (W^X, Write XOR Execute): память либо записываемая, либо исполняемая, но не одновременно. Это блокирует классические атаки через запись вредоносного кода в исполняемую область.
  • Регулярные проверки целостности JIT-кода — если система обнаруживает аномалии, процесс убивается.

На практике это означает: да, JavaScript работает быстро (благодаря JIT), но безопасность не страдает.

Изоляция сайтов (Site Isolation)

Site Isolation — технология, когда каждый веб-сайт (точнее, каждый домен) работает в отдельном процессе операционной системы.

Зачем это нужно:

Представьте, что вы открыли в браузере две вкладки:

  • bank.com — интернет-банк, где вы залогинены.
  • evil.com — зловредный сайт, который пытается атаковать ваш браузер.

Если оба сайта работают в одном процессе (как было в старых браузерах), уязвимость в движке браузера может позволить evil.com прочитать память процесса и «подсмотреть» данные bank.com (cookie, токены сессии, содержимое страницы).

С Site Isolation:

  • bank.com работает в процессе A.
  • evil.com работает в процессе B.
  • Процессы изолированы на уровне ядра — один не может получить доступ к памяти другого.
  • Даже если evil.com эксплуатирует уязвимость, он остаётся запертым в своём процессе и не может добраться до данных банка.

В обычном Chrome Site Isolation есть, но работает выборочно (для «важных» сайтов). В Vanadium Site Isolation принудительно включён для всех сайтов без исключений.

Это увеличивает потребление памяти (каждый процесс требует ресурсов), но радикально повышает безопасность. На современных устройствах (тем более на Pixel) это незаметно.

Политики приватности

Vanadium максимально ограничивает возможности веб-сайтов вторгаться в вашу приватность:

  • Блокировка сторонних cookie по умолчанию — сайты не могут отслеживать вас через cookie рекламных сетей и трекеров.
  • Ограничение доступа к API — веб-сайты не могут читать список установленных шрифтов (используется для fingerprinting’а устройства), получать детальную информацию о железе, опрашивать датчики без явного разрешения.
  • Защита от fingerprinting (снятия цифровых отпечатков) — Vanadium унифицирует некоторые данные о браузере (User-Agent, разрешение экрана, список поддерживаемых технологий), чтобы затруднить создание уникального отпечатка вашего устройства.
  • Автоматическое удаление данных при закрытии вкладки (опционально) — можно настроить, чтобы cookie и данные сайта удалялись сразу после закрытия вкладки. Сайт не может отслеживать вас между сессиями.
  • Запрет доступа к буферу обмена без взаимодействия пользователя — сайты не могут тайно читать, что вы скопировали (пароли, тексты).

Обновления безопасности

Vanadium обновляется быстрее, чем Chrome в обычном Android:

  • GrapheneOS следит за апстримом Chromium (официальной открытой версией) и портирует патчи безопасности в день их публикации.
  • Обновления Vanadium приходят через собственный репозиторий GrapheneOS, без привязки к Play Store.
  • Если в Chromium нашли критическую уязвимость — GrapheneOS выпустит исправление для Vanadium в течение нескольких часов.

В обычном Android путь обновления длиннее: Google должен выпустить обновление Chrome → оно попадает в Play Store → загружается на устройства. Это может занимать дни или даже недели для пользователей, которые не обновляются регулярно.

Vanadium как системный WebView

Поскольку Vanadium — это не только браузер, но и системный WebView, все приложения, показывающие веб-контент, автоматически получают те же защиты:

  • изоляцию процессов;
  • защиту от эксплойтов памяти;
  • ограничение доступа к приватным данным.

Это защищает от атак через вредоносную рекламу внутри приложений, поддельные страницы входа в OAuth, эксплойты через встроенные браузеры мессенджеров и соцсетей.

Практический результат

Vanadium — это один из самых безопасных мобильных браузеров. Он сочетает:

  • производительность Chromium (быстрый движок, совместимость со всеми современными веб-стандартами);
  • безопасность GrapheneOS (усиленная песочница, защита памяти, изоляция процессов);
  • приватность без компромиссов (нет Google, нет телеметрии, минимум утечек данных).

Для большинства пользователей он полностью заменяет Chrome, Firefox или любой другой браузер — и делает это с более высоким уровнем защиты.


Улучшенный блокатор VPN-утечек

VPN (Virtual Private Network) — это технология, которая шифрует весь сетевой трафик вашего устройства и направляет его через удалённый сервер. Это защищает от прослушивания интернет-провайдером, скрывает ваш реальный IP-адрес, позволяет обходить блокировки.

Но VPN полезен только если весь трафик действительно идёт через него. Если хотя бы часть данных «просачивается» мимо VPN (VPN leak, утечка VPN) — ваш реальный IP, DNS-запросы или даже полное содержимое трафика могут быть видны наблюдателю.

В обычном Android VPN-утечки — распространённая проблема.

Типичные причины VPN-утечек в Android

1. DNS-утечки.

Когда вы открываете сайт (например, example.com), ваше устройство должно преобразовать доменное имя в IP-адрес. Это делается через DNS-запрос.

Проблема: даже если VPN включён, Android может отправить DNS-запрос напрямую к DNS-серверу вашего провайдера, минуя VPN-туннель. Провайдер видит, какие сайты вы открываете — даже если сам трафик зашифрован.

Причина: Android имеет несколько параллельных механизмов разрешения доменов (system resolver, Private DNS, per-app DNS), и они могут конфликтовать. VPN-приложение блокирует трафик на сетевом уровне, но DNS-запрос может пройти через другой интерфейс.

2. Утечки при переподключении VPN.

Когда VPN-соединение обрывается (например, при переключении между Wi-Fi и мобильной сетью) и восстанавливается, есть короткий промежуток времени, когда VPN ещё не активен, а приложения уже пытаются отправить данные.

В обычном Android эти данные уходят в открытую сеть — без шифрования, с вашим реальным IP.

3. Гонки в системном resolver (race conditions).

Системный resolver (компонент, отвечающий за DNS) может параллельно обращаться к нескольким DNS-серверам: к серверу VPN и к серверу провайдера. Какой ответ вернётся быстрее — тот и используется.

Злоумышленник может специально ускорить ответ от DNS-сервера провайдера (например, находясь в той же локальной сети) — и ваш запрос «утечёт», даже если VPN работает.

4. Утечки через IPv6.

Многие VPN-сервисы поддерживают только IPv4, но ваша сеть может использовать IPv6. Android попытается установить соединение через IPv6 напрямую, минуя VPN.

5. Split-tunneling (раздельное туннелирование).

Некоторые приложения могут быть настроены так, чтобы не идти через VPN (например, локальные сервисы, потоковое видео). Если настройка некорректна, больше приложений, чем вы ожидаете, могут работать вне VPN.

Как GrapheneOS устраняет VPN-утечки

GrapheneOS внёс изменения в сетевой стек Android, чтобы гарантировать отсутствие утечек в любых сценариях.

**1. Принудительное блокирование трафика вне VPN

.**

Когда VPN активен, GrapheneOS устанавливает жёсткое правило firewall на уровне ядра: весь сетевой трафик блокируется, кроме того, что идёт через VPN-интерфейс.

Это не зависит от VPN-приложения — система сама контролирует, что ни один пакет не может выйти «мимо».

Что происходит при обрыве VPN:

  • Соединение обрывается (потеря сети, переключение на другой интерфейс).
  • GrapheneOS немедленно блокирует весь трафик — ни одно приложение не может отправить данные в открытую сеть.
  • VPN-приложение восстанавливает соединение.
  • Система снимает блокировку, трафик снова идёт через VPN.

Результат: нет окна «уязвимости», когда данные могут утечь. Либо VPN работает, либо вообще нет сетевого доступа — третьего не дано.

В обычном Android есть опция «Always-on VPN» (постоянный VPN) с блокировкой трафика, но она:

  • работает не для всех приложений (некоторые могут обходить);
  • имеет race conditions при переподключении;
  • зависит от корректности реализации VPN-приложения.

GrapheneOS делает блокировку системной, независимой от VPN-клиента.

2. Защита от DNS-утечек через системный resolver.

GrapheneOS модифицировал системный компонент разрешения DNS так, чтобы он всегда использовал только DNS-сервер VPN, когда VPN активен.

Техническая суть:

  • Обычный Android использует netd (network daemon) для управления DNS. netd может обращаться к нескольким DNS-серверам параллельно (к провайдеру, к серверу Private DNS, к VPN) и выбирать «лучший» ответ.
  • GrapheneOS изменил логику netd: когда VPN активен, все DNS-запросы принудительно маршрутизируются через VPN-интерфейс. Обращений к DNS-серверу провайдера не происходит вообще.

Защита от race conditions (гонок в resolver):

В обычном Android возможна ситуация:

  • Приложение запрашивает example.com.
  • netd отправляет запрос и к VPN-DNS, и к провайдеру одновременно.
  • Провайдер отвечает на 5 мс быстрее (например, потому что злоумышленник в локальной сети подделал ответ).
  • Система использует ответ провайдера — DNS-запрос «утёк».

В GrapheneOS:

  • netd отправляет запрос только к VPN-DNS.
  • Даже если злоумышленник пытается inject (внедрить) поддельный ответ от имени провайдера — система его игнорирует, потому что не делала запроса к провайдеру.

3. Блокировка IPv6, если VPN не поддерживает.

Если VPN-соединение работает только по IPv4 (что типично для многих сервисов), GrapheneOS автоматически отключает IPv6 на время работы VPN.

Это предотвращает сценарий, когда приложение пытается соединиться с сервером по IPv6, не находит маршрута через VPN и «сваливается» на прямое соединение.

Пользователь может переопределить это поведение (если VPN поддерживает IPv6), но по умолчанию система выбирает безопасный вариант.

4. Контроль split-tunneling.

GrapheneOS позволяет точно контролировать, какие приложения идут через VPN, а какие — нет. Это делается через систему разрешений (как и Network Permission).

Интерфейс:

Settings → Network & Internet → VPN → [выбрать VPN] → Split tunneling settings.

Видите список приложений. Для каждого:

  • Force through VPN — принудительно через VPN, даже если VPN-приложение настроено иначе.
  • Allow direct — разрешить прямое соединение (для локальных сервисов или приложений, которые не должны идти через VPN).
  • Block if VPN inactive — заблокировать сетевой доступ приложения, если VPN не работает (дополнительная защита для критичных приложений).

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

5. Логирование и мониторинг утечек.

GrapheneOS ведёт системный лог сетевых событий (опционально, можно включить в Developer Options). Вы можете увидеть:

  • попытки приложений отправить данные вне VPN (заблокированные);
  • DNS-запросы и куда они направлены;
  • моменты разрыва и восстановления VPN-соединения.

Это позволяет убедиться, что VPN работает корректно, и обнаружить попытки обхода (если какое-то приложение пытается «пробить» защиту).

Тестирование отсутствия утечек

Существуют сервисы для проверки VPN на утечки (например, ipleak.net, dnsleaktest.com). Они показывают:

  • ваш публичный IP-адрес (должен быть IP VPN-сервера, а не провайдера);
  • DNS-серверы, к которым обращается устройство (должны быть только серверы VPN);
  • наличие WebRTC-утечек (утечек реального IP через WebRTC в браузере).

Результаты на GrapheneOS с правильно настроенным VPN:

  • Публичный IP — сервер VPN ✅
  • DNS-запросы — только через VPN ✅
  • WebRTC-утечки — отсутствуют (Vanadium блокирует WebRTC-запросы, раскрывающие локальные IP) ✅
  • IPv6-утечки — отсутствуют (IPv6 отключён или идёт через VPN) ✅

В обычном Android нередко можно увидеть:

  • Публичный IP — VPN ✅
  • DNS — утечка (видны DNS-серверы провайдера) ❌
  • WebRTC — утечка (виден реальный локальный IP) ❌

GrapheneOS закрывает все эти дыры.

Совместимость с VPN-приложениями

Все изменения GrapheneOS совместимы со стандартными VPN-приложениями для Android (WireGuard, OpenVPN, коммерческие VPN-клиенты типа ProtonVPN, Mullvad и другие).

VPN-приложение работает как обычно, но система добавляет дополнительный уровень защиты — даже если в приложении есть баг, утечки не произойдёт.

Некоторые VPN-приложения имеют собственные механизмы блокировки утечек. GrapheneOS не конфликтует с ними — системная защита работает параллельно, и если VPN-приложение что-то пропустило, система подстрахует.


Практический результат: надёжная защита коммуникаций

Комбинация Vanadium и улучшенного блокировщика VPN-утечек даёт:

  • Безопасный веб-сёрфинг — даже на потенциально опасных сайтах вы защищены многоуровневой изоляцией процессов, защитой памяти и контролем доступа к приватным данным.
  • Надёжный VPN — когда VPN включён, вы можете быть уверены: ни один бит данных не уйдёт мимо зашифрованного туннеля. Ни через DNS, ни через race conditions, ни при обрыве соединения.
  • Приватность по умолчанию — браузер не сливает данные трекерам, VPN не «дырявый», ваш реальный IP и активность скрыты от наблюдателей.

Это важно для:

  • Журналистов и активистов — которым критично скрывать свою активность и местоположение.
  • Пользователей в странах с цензурой — где VPN-утечка может раскрыть обход блокировок и привести к последствиям.
  • Людей, работающих с конфиденциальными данными — когда утечка IP или DNS-запроса может скомпрометировать операцию.
  • Обычных пользователей, ценящих приватность — которые просто не хотят, чтобы провайдер, рекламные сети или правительство знали, что они делают в интернете.

Мы разобрались, как GrapheneOS защищает ваши коммуникации — через усиленный браузер и надёжный контроль VPN-трафика. Но даже самая защищённая система бесполезна, если злоумышленник может физически получить доступ к вашему устройству и обойти экран блокировки.

Следующий раздел посвящён тому, как GrapheneOS защищает устройство от физических атак, принуждения и попыток подбора паролей — превращая ваш телефон в «крепость», устойчивую даже к атакам с прямым доступом.


8. Дополнительные функции безопасности устройства

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

Сценарии могут быть разными:

  • устройство украдено;
  • конфисковано на границе или при задержании;
  • кто-то из близких пытается подсмотреть ваши данные, пока вы отвлеклись;
  • злоумышленник нашёл потерянный телефон и пытается его взломать.

Во всех этих случаях экран блокировки — последняя линия обороны. Если атакующий обойдёт блокировку — он получит доступ ко всему: сообщениям, фото, паролям, аккаунтам.

GrapheneOS превращает экран блокировки из «простой неприятности для вора» в серьёзное криптографическое препятствие, которое даже специализированные инструменты взлома вроде Cellebrite или GrayKey не могут легко преодолеть.


Длина и типы паролей

В обычном Android можно выбрать метод блокировки:

  • Swipe (свайп) — вообще без защиты, просто жест.
  • Pattern (графический ключ) — линия через точки на сетке 3×3. Всего 389,112 возможных комбинаций — это ничтожно мало, можно перебрать за минуты.
  • PIN (цифровой код) — от 4 до 16 цифр. Четырёхзначный PIN (10,000 комбинаций) взламывается почти мгновенно. Даже шестизначный (1,000,000 комбинаций) — дело часов для автоматических инструментов.
  • Password (пароль) — алфавитно-цифровой пароль. Это единственный по-настоящему надёжный вариант, но Android не требует минимальной длины или сложности — можно поставить пароль «1», и система примет.

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

Рекомендации и ограничения в GrapheneOS

GrapheneOS не запрещает слабые пароли насильно (это было бы против философии «даём контроль пользователю»), но:

  • Предупреждает о слабости выбранного метода.
  • Рекомендует использовать пароль длиной минимум 14 символов с буквами, цифрами и специальными символами.
  • Показывает оценку стойкости в реальном времени, когда вы вводите пароль: «Weak (слабый)», «Medium (средний)», «Strong (сильный)».

Практический совет:

Для максимальной защиты используйте парольную фразу (passphrase) — несколько случайных слов, разделённых символами. Например:

Correct-Horse-Battery-Staple-7392

Это легко запомнить (особенно если используете метод Diceware для генерации), но взломать практически невозможно. Даже при триллионах попыток в секунду (что на практике невозможно из-за ограничений, о которых дальше) взлом займёт столетия.

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

  • Парольная фраза для холодной загрузки (после включения/перезагрузки) — вводится редко, можно сделать длинной.
  • Короткий PIN или отпечаток пальца для повседневной разблокировки — быстро и удобно (о безопасности отпечатков пальцев дальше).

GrapheneOS поддерживает это через настройку двухфакторной разблокировки (о которой подробнее ниже).


PIN scrambling (перемешивание клавиатуры PIN)

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

Угрозы при использовании PIN:

  • Shoulder surfing — злоумышленник подсматривает через плечо, когда вы вводите PIN. Видит паттерн движений ваших пальцев по экрану.
  • Smudge attack (атака по отпечаткам) — после того, как вы разблокировали телефон, на экране остаются следы пальцев (жировые отпечатки). Под определённым углом освещения видно, какие области экрана вы касались чаще. Злоумышленник может сфотографировать экран, обработать изображение и восстановить, какие цифры вы нажимали.
  • Камеры наблюдения — в общественных местах (банки, магазины, транспорт) камеры могут зафиксировать ваш экран под углом, достаточным для восстановления PIN.

PIN scrambling решает все три проблемы:

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

  • Shoulder surfing бесполезен — наблюдатель видит только физические координаты (левый верхний угол, потом центр), но не знает, каким цифрам они соответствовали. В следующий раз эти же координаты будут означать совершенно другие цифры.
  • Smudge attack не работает — да, отпечатки остаются, но они показывают только «часто используемые области экрана», а не конкретные цифры PIN. Через неделю использования весь экран будет покрыт отпечатками равномерно.
  • Камеры видят координаты, но не цифры — даже если злоумышленник получил видеозапись, где виден экран вашего телефона, он не сможет восстановить PIN без знания, как были расположены цифры в конкретный момент.

Недостаток: разблокировка становится медленнее на 1-2 секунды — нужно посмотреть на клавиатуру и найти нужные цифры глазами, вместо ввода «на автомате».

Для большинства сценариев это приемлемо. Если вы в безопасной среде (дома) и хотите быструю разблокировку — можно отключить scrambling. Если выходите в публичные места или едете в зону риска — включаете обратно.

Settings → Security → PIN scrambling.


Блокировка после неудачных попыток

Это один из важнейших механизмов защиты от brute-force атак (атак грубой силы) — когда злоумышленник просто перебирает возможные комбинации.

Как работает защита от перебора

После каждой неверной попытки ввода пароля/PIN система вводит задержку перед следующей попыткой:

  • 1-5 попыток: без задержки (чтобы вы случайно не заблокировали себя при опечатке).
  • 6-10 попыток: задержка 30 секунд между попытками.
  • 11-15 попыток: задержка 1 минута.
  • 16-20 попыток: задержка 5 минут.
  • 21-25 попыток: задержка 30 минут.
  • После 30 попыток: задержка 24 часа между попытками.

Это экспоненциально растущая защита. Даже если злоумышленник знает, что ваш PIN четырёхзначный (10,000 комбинаций), для полного перебора ему потребуется годы реального времени, потому что после первых попыток система начинает тормозить.

Важно: задержки не сбрасываются перезагрузкой устройства. Счётчик неудачных попыток хранится в защищённой области памяти (TEE, Trusted Execution Environment), и перезагрузка не обнуляет его. Злоумышленник не может «обмануть» систему, выключив и включив телефон.

Автоматическая очистка после критического числа попыток

В GrapheneOS можно настроить автоматическое стирание всех данных после определённого количества неудачных попыток.

Settings → Security → Auto-wipe after failed attempts.

Можно выбрать порог: 10, 20, 30 или 50 попыток.

Что происходит при достижении порога:

  • Система криптографически стирает ключи шифрования, хранящиеся в TEE.
  • Все данные на устройстве становятся необратимо недоступными — даже если физически извлечь накопитель и попытаться прочитать данные напрямую, они зашифрованы ключами, которых больше не существует.
  • Устройство сбрасывается к заводским настройкам.

Это крайняя мера, но для сценариев с высокими рисками (конфиденциальные данные, угроза конфискации устройства) это единственный гарантированный способ защиты.

Практический совет: если включаете auto-wipe, ставьте порог не слишком низким (например, 30 попыток), чтобы случайно не стереть устройство из-за детской шалости или собственной забывчивости. И обязательно делайте регулярные резервные копии важных данных (с шифрованием, разумеется).


Автоматическая перезагрузка и очистка памяти

Мы уже упоминали режим Before First Unlock (BFU) — состояние максимальной защиты после перезагрузки, когда ключи шифрования ещё не загружены в память.

GrapheneOS добавляет автоматическую перезагрузку устройства при определённых условиях.

Auto-reboot при длительной неактивности

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

Settings → Security → Auto-reboot if idle for: 6 часов / 12 часов / 24 часа / 72 часа.

Зачем это нужно:

Представьте сценарии:

  • Устройство украдено или конфисковано. Оно заблокировано, но находится в состоянии After First Unlock (AFU) — ключи шифрования загружены в память. Теоретически, сложные инструменты форензики (холодная загрузка с попыткой извлечения ключей из RAM) могут попытаться извлечь данные.
  • Вы потеряли телефон и не заметили несколько часов.

Если включена автоматическая перезагрузка:

  • Через заданное время (например, 12 часов) устройство само перезагружается.
  • Переходит в режим BFU — ключи шифрования стираются из памяти, данные становятся недоступными без пароля.
  • Даже если злоумышленник получит устройство, он увидит «холодную» систему, которая никогда не разблокировалась — форензика бесполезна.

Баланс: если поставите слишком короткий интервал (например, 6 часов), устройство может перезагрузиться ночью, пока вы спите, и утром придётся вводить полный пароль (а не просто отпечаток пальца). Если поставите слишком длинный (72 часа) — защита ослабевает.

Рекомендация: 18-24 часа — разумный компромисс для большинства пользователей.

Очистка чувствительных данных из памяти

Помимо перезагрузки, GrapheneOS автоматически затирает чувствительные области памяти при определённых событиях:

  • При блокировке экрана — ключи некоторых приложений (например, менеджера паролей) стираются из оперативной памяти. Приложение должно заново «разблокироваться» при следующем открытии.
  • При завершении процесса — когда приложение закрывается, система активно перезаписывает область памяти, которую оно занимало, случайными данными. Это предотвращает извлечение конфиденциальных данных из «мёртвой» памяти через cold boot attack (атака с охлаждением памяти и последующим извлечением).
  • При переходе в режим BFU — все ключи шифрования, кэши паролей, токены сессий — всё криптографически стирается.

Обычный Android делает это частично и ненадёжно. GrapheneOS делает это систематически и гарантированно.


Duress PIN/Password (пароль принуждения)

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

Как работает duress-пароль

Вы устанавливаете два пароля:

  • Основной пароль — разблокирует устройство в обычном режиме, даёт доступ ко всем данным.
  • Duress-пароль (пароль принуждения) — внешне тоже разблокирует устройство, но одновременно выполняет защитные действия.

Что происходит при вводе duress-пароля:

  • Устройство разблокируется — внешне ничего подозрительного, экран выглядит нормально.
  • Автоматически стираются данные дополнительного профиля (где хранятся самые конфиденциальные данные). Если вы используете схему с несколькими профилями (основной «чистый» и второй с конфиденциальной информацией), второй профиль удаляется за секунду.
  • Опционально: отправляется сигнал тревоги на заранее настроенный контакт (например, SMS или сообщение в мессенджере от имени системного приложения) — близкие узнают, что вы в опасности. (Примечание: эта функция в разработке, пока не реализована полностью).
  • Опционально: блокируются определённые приложения или аккаунты — например, приложение мессенджера показывает пустую историю, банковское приложение «не может подключиться к серверу».

Для злоумышленника всё выглядит нормально: телефон разблокирован, приложения открываются, но конфиденциальные данные уже стёрты. Он видит «обычный телефон» без подозрительного содержимого.

Настройка:

Settings → Security → Duress password.

Потребуется:

  • настроить пользовательские профили (чтобы было что стирать);
  • задать duress-пароль (должен отличаться от основного);
  • выбрать, какой профиль стирается.

Важно: Duress-пароль должен быть правдоподобным — если злоумышленник знает, что у вас обычно длинный сложный пароль, а вы вводите короткий PIN — это может вызвать подозрение. Лучше использовать paralle passphrase (вторую парольную фразу, похожую по длине на основную).


Более безопасный отпечаток пальца

Биометрическая разблокировка (отпечаток пальца, лицо) — это удобно, но небезопасно в классическом понимании:

  • Отпечаток пальца нельзя сменить — если кто-то получил копию вашего отпечатка (а отпечатки вы оставляете везде: на дверных ручках, стаканах, поверхностях), он может использовать её для разблокировки.
  • Вас могут заставить приложить палец — физическое принуждение работает: схватили руку, приложили к сканеру, устройство разблокировано. Заставить сказать пароль юридически и физически сложнее (можно отказаться, сослаться на право не свидетельствовать против себя).
  • Биометрия обманывается — отпечатки можно подделать (есть документированные случаи обхода сканеров отпечатков через 3D-печать или фотографию высокого разрешения).

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

Усиления безопасности отпечатка в GrapheneOS

1. Отпечаток работает только в режиме After First Unlock.

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

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

2. Ограничение времени действия отпечатка.

Можно настроить, чтобы отпечаток пальца «истекал» через определённое время после блокировки экрана.

Settings → Security → Fingerprint timeout: 1 минута / 5 минут / 1 час.

Если устройство заблокировано дольше этого времени — для следующей разблокировки требуется ввести пароль, отпечаток не работает.

Пример: вы положили телефон, вышли на 10 минут. Вернулись — нужно ввести пароль (если timeout 5 минут). Это защищает от ситуации, когда кто-то взял ваш телефон, пока вы отлучились, и пытается использовать ваш отпечаток (взяв вашу руку или используя поддельный образец).

3. Отпечаток не работает после нескольких неудачных попыток.

Если кто-то пытается разблокировать устройство отпечатком пальца и терпит неудачу 5 раз подряд (например, прикладывает не те пальцы или поддельный отпечаток), система блокирует биометрическую разблокировку до ввода пароля.

Это защищает от атак методом перебора с использованием базы данных отпечатков или искусственных образцов.

4. Отпечаток хранится только в Trusted Execution Environment (TEE).

Данные отпечатков пальцев никогда не попадают в основную операционную систему. Они обрабатываются и хранятся в изолированном защищённом процессоре (TEE, часть SoC), который физически отделён от основного CPU.

Даже если злоумышленник получит root-доступ к Android, он не сможет извлечь данные отпечатков — они недоступны из основной ОС.

Сканер отпечатков общается с TEE напрямую, минуя Android. Система получает только финальный результат: «отпечаток совпал» или «не совпал», но не сами биометрические данные.


Двухфакторная разблокировка с отпечатком

Это уникальная функция GrapheneOS, которая комбинирует удобство биометрии и безопасность пароля.

Как это работает

Вы настраиваете два фактора для разблокировки:

  • Первый фактор: отпечаток пальца (что у вас есть — биометрия).
  • Второй фактор: PIN или короткий пароль (что вы знаете).

Для разблокировки устройства требуется оба фактора одновременно:

  • Прикладываете палец к сканеру → сканер считывает отпечаток.
  • Одновременно вводите PIN на экранной клавиатуре.
  • Только если оба фактора корректны — устройство разблокируется.

Преимущества:

  • Защита от принуждения через отпечаток — даже если злоумышленник силой приложит ваш палец к сканеру, устройство не разблокируется без PIN. Он не знает PIN (если вы его не сказали), значит, атака проваливается.
  • Защита от подделки отпечатка — даже если кто-то создал копию вашего отпечатка (через 3D-печать, муляж), ему всё равно нужен PIN.
  • Защита от кражи отпечатка из баз данных — если ваш отпечаток утёк из какой-то системы (например, базы данных правительства, пограничного контроля, корпоративного сканера), его нельзя использовать без знания PIN.
  • Сохраняется удобство — вводить короткий PIN + прикладывать палец занимает те же 2-3 секунды, что и просто отпечаток, но безопасность кратно выше.

Как настроить:

Settings → Security → Screen lock → Two-factor unlock.

Выбираете:

  • основной пароль (для холодной загрузки и редких разблокировок);
  • отпечаток пальца + короткий PIN (для повседневного использования).

Можете использовать разные PIN для двухфакторной разблокировки и для основного пароля. Например:

  • Основной пароль: длинная парольная фраза Correct-Horse-Battery-Staple-7392.
  • Двухфакторный PIN: короткий код 937.

Повседневно разблокируете отпечатком + 937. После перезагрузки или долгой неактивности вводите полную парольную фразу.

Пример атаки, которую это блокирует

Сценарий: Вы спите. Злоумышленник (кто-то из близких, следователь, атакующий с физическим доступом) тихо берёт ваш телефон и прикладывает ваш палец к сканеру, пока вы без сознания.

  • Без двухфакторной разблокировки: телефон разблокируется. Злоумышленник получает доступ ко всему.
  • С двухфакторной разблокировкой: сканер считывает отпечаток, но устройство требует ввести PIN. Его нет → разблокировка не происходит. Устройство начинает отсчитывать задержки после неудачных попыток, если кто-то пытается подобрать PIN наугад.

Сценарий 2: Полицейский или пограничник физически принуждает вас разблокировать телефон. Заставляет приложить палец — сканер срабатывает, но требуется PIN.

Вы можете:

  • Отказаться вводить PIN (сослаться на право не свидетельствовать против себя — юридически во многих странах пароль защищён сильнее, чем биометрия).
  • Ввести duress-PIN (если настроен) — телефон «разблокируется», но конфиденциальные данные стираются.
  • Специально ошибиться несколько раз — разблокировка блокируется, начинаются задержки, затем автоматическая перезагрузка через время, переход в режим BFU.

Двухфакторная разблокировка меняет баланс силы — даже физический доступ к вашему пальцу недостаточен для компрометации устройства.


Практические рекомендации по настройке безопасности устройства

Для повседневного использования (средний уровень риска):

  • Основной пароль: 8-12 символов, алфавитно-цифровой, с символами. Например, MyP@ssw0rd2024.
  • Двухфакторная разблокировка: отпечаток + четырёхзначный PIN 7293.
  • PIN scrambling: выключен (для скорости).
  • Auto-reboot if idle: 24 часа.
  • Auto-wipe after failed attempts: 30 попыток.

Это даёт комфорт повседневного использования + защиту от кражи/потери устройства.

Для повышенного риска (журналисты, активисты, путешествия в опасные регионы):

  • Основной пароль: парольная фраза 16+ символов. Например, Mesa-Jungle-Basket-Flame-8843.
  • Двухфакторная разблокировка: отпечаток + шестизначный PIN 847392.
  • PIN scrambling: включён.
  • Auto-reboot if idle: 6-12 часов.
  • Auto-wipe after failed attempts: 10-20 попыток.
  • Duress-пароль настроен, конфиденциальные данные в отдельном профиле.

При пересечении границы или в ситуации высокого риска:

  • Перезагрузите устройство за 10 минут до контакта с властями — переход в режим BFU, отпечаток не работает, требуется полный пароль. Формально вы можете сказать: «Я не помню пароль прямо сейчас» или «Мне нужен адвокат, чтобы обсудить доступ к устройству».
  • Завершите сессии всех профилей с конфиденциальными данными — они прекращают работу, память очищается.

Для экстремальных сценариев (государственный уровень угрозы):

  • Основной пароль: парольная фраза 24+ символа, генерируется криптографически случайно (Diceware с 8 словами).
  • Без биометрии вообще — только пароль. Отпечаток пальца выключен.
  • PIN scrambling: включён обязательно.
  • Auto-reboot if idle: 3-6 часов.
  • Auto-wipe after failed attempts: 10 попыток.
  • Не используете устройство для критичных коммуникаций напрямую — только через дополнительные слои (Tor, анонимные мессенджеры, полное шифрование).

Почему это важно: реальные примеры атак на устройства

Cellebrite и GrayKey — коммерческие инструменты для взлома смартфонов, которые используют правоохранительные органы по всему миру. Они эксплуатируют уязвимости в загрузчиках, находят 0-day эксплойты в системе, используют side-channel атаки.

Что они могут:

  • На обычном Android с четырёхзначным PIN и без дополнительных защит — взлом за минуты-часы (перебор через эксплойт, обход задержек).
  • На iPhone с коротким паролем — взлом возможен (есть документированные случаи), но дорого и требует времени.
  • На GrapheneOS с правильно настроенной защитой (длинный пароль, автоматическая перезагрузка, auto-wipe) — взлом экономически и технически нецелесообразен. Даже если такие инструменты найдут уязвимость (что крайне сложно из-за всех защит), автоматическая перезагрузка через несколько часов переведёт устройство в режим BFU, и эксплойт станет бесполезен.

Публичный случай (2019): ФБР пыталось взломать iPhone 11 подозреваемого в терроризме. Даже с помощью Cellebrite и неограниченными ресурсами взлом занял месяцы и, по некоторым данным, не был полностью успешен.

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


Психологический аспект: защита от принуждения

Настройки безопасности устройства — это не только технология, но и психологическая защита.

Когда вы знаете, что:

  • ваше устройство автоматически перезагрузится через 12 часов и станет недоступным без длинного пароля;
  • после 10 неудачных попыток все данные сотрутся;
  • даже если вас заставят приложить палец — без PIN ничего не произойдёт;
  • вы можете ввести duress-пароль, и конфиденциальные данные исчезнут, пока устройство внешне работает нормально —

вы чувствуете контроль над ситуацией. Даже в сценарии принуждения или конфискации вы знаете: данные защищены, и у вас есть инструменты для защиты.

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


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

В сочетании с остальными механизмами (шифрование, песочницы, контроль разрешений, изоляция профилей, защита сети) это создаёт систему, которая защищает ваши данные на всех уровнях — от удалённых сетевых атак до физического захвата устройства.

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

9. Обновления, репозиторий и инфраструктура проекта

Безопасность операционной системы — это не статичное состояние. Это постоянный процесс: находятся новые уязвимости, появляются новые векторы атак, меняются угрозы. Даже самая защищённая система становится небезопасной, если её не обновлять.

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


Фоновые инкрементальные OTA-обновления

OTA (Over-The-Air) — обновления «по воздуху», которые загружаются и устанавливаются без подключения к компьютеру.

В обычном Android обновления:

  • приходят медленно (зависит от производителя и оператора связи);
  • требуют ручного подтверждения и перезагрузки;
  • загружают полный образ системы (гигабайты данных даже для мелких исправлений);
  • часто ломают что-то (известны случаи, когда обновление «окирпичивает» устройство);
  • перезагрузка занимает минуты, устройство недоступно.

GrapheneOS делает всё иначе.

Автоматические фоновые обновления

Обновления загружаются и устанавливаются автоматически, без вашего участия.

Как это работает:

  • Устройство периодически проверяет наличие обновлений (по умолчанию раз в несколько часов).
  • Если обновление доступно — загружается в фоне, пока вы пользуетесь телефоном. Вы этого не замечаете.
  • Загрузка идёт через безопасное соединение (HTTPS с проверкой сертификата), образ криптографически подписан разработчиками GrapheneOS — система проверяет подпись перед установкой.
  • После загрузки обновление устанавливается в неактивный слот системы (об этом дальше), опять же в фоне. Не нужна перезагрузка, устройство продолжает работать.
  • Когда установка завершена, система показывает ненавязчивое уведомление: «Обновление готово, перезагрузите устройство в удобное время».
  • Вы перезагружаете телефон (вручную или он перезагрузится сам при следующем бездействии, если включена автоматическая перезагрузка) — система загружается с нового обновлённого слота. Процесс перезагрузки занимает столько же времени, сколько обычная (20-30 секунд).

Преимущества:

  • Никакого downtime — устройство работает во время установки обновления.
  • Не нужно помнить об обновлениях — система сама заботится о своей актуальности.
  • Минимальный расход трафика — инкрементальные обновления (см. ниже) загружают только изменения, а не полный образ.

Инкрементальные обновления (delta updates)

Вместо загрузки полного образа системы (1-2 ГБ) GrapheneOS использует инкрементальные (дельта) обновления — загружаются только изменённые части системы.

Пример:

Исправлена уязвимость в одном системном компоненте (например, библиотека обработки изображений). Изменилось несколько файлов общим объёмом 15 МБ.

  • Обычное обновление: загрузка полного образа системы — 1,5 ГБ.
  • Инкрементальное обновление GrapheneOS: загрузка только изменений — 15-20 МБ (с учётом метаданных и сжатия).

Это экономит трафик (важно для мобильного интернета), ускоряет процесс, уменьшает нагрузку на серверы.

Технически: GrapheneOS использует бинарные диффы (binary diffs) — система вычисляет разницу между старой и новой версией файлов на уровне байтов, создаёт «патч», который применяется к существующей системе. Это гарантирует, что в итоге получится побайтово идентичная новой версии система, но загружается только разница.

A/B слоты и бесшовные обновления (seamless updates)

Устройства Pixel (на которых работает GrapheneOS) имеют двухслотовую архитектуру (A/B slots).

Что это значит:

На накопителе есть два раздела системы — слот A и слот B. В каждый момент времени один слот активен (с него загружена система), второй неактивен.

Процесс обновления:

  • Сейчас работаете со слота A.
  • Обновление загружается и устанавливается в слот B (в фоне, пока вы работаете).
  • После перезагрузки загрузчик переключает активный слот на B.
  • Система загружается со слота B — обновлённая версия.
  • Слот A остаётся нетронутым — там старая версия системы (на случай, если что-то пойдёт не так).

Преимущества:

  • Обновление не может сломать систему во время установки — вы работаете со слота A, пока идёт запись в слот B. Даже если установка была прервана (выключили телефон, села батарея) — слот A остался рабочим, система загрузится с него.
  • Мгновенное применение обновления — после перезагрузки система сразу работает с новой версии, нет долгой «оптимизации приложений» или «завершения установки».
  • Возможность отката (см. следующий пункт).

Автоматический откат в случае сбоя

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

Как это работает:

  • Обновление установлено в слот B, произошла перезагрузка.
  • Загрузчик пытается загрузить систему со слота B.
  • Система не загружается (ядро паникует, загрузка зависает, критическая ошибка при старте).
  • Загрузчик обнаруживает проблему (если система не отправила сигнал «загрузка успешна» в течение определённого времени).
  • Автоматически переключается обратно на слот A — загружается старая рабочая версия системы.

Результат: вы включаете телефон после обновления, он загружается чуть дольше обычного (попытка загрузки с нового слота + откат), но в итоге система работает — со старой версией. Никакого «кирпича», никакой ситуации «телефон не включается».

GrapheneOS показывает уведомление: «Обновление не удалось, система откатилась на предыдущую версию. Отчёт об ошибке отправлен разработчикам» (если вы разрешили отправку анонимных отчётов о крашах).

В обычном Android такая защита есть только на устройствах с A/B-схемой (Pixel и некоторые флагманы), но работает не всегда надёжно. На большинстве Android-устройств (особенно бюджетных) обновление, которое не загружается, = мёртвое устройство, поход в сервис или перепрошивка через компьютер.


Стабильный и бета-каналы обновлений

GrapheneOS предлагает два канала обновлений:

  • Stable (стабильный) — рекомендованный для повседневного использования. Обновления проходят тестирование, выпускаются после проверки на совместимость и стабильность. Новые версии выходят раз в несколько недель (следом за обновлениями безопасности AOSP и Pixel от Google).
  • Beta (бета) — экспериментальный канал для энтузиастов и тех, кто хочет получать новые функции раньше. Обновления выходят чаще (иногда несколько раз в неделю), могут содержать баги или недоработанные фичи. Подходит для тестирования, но не для критичных устройств.

Переключение между каналами:

Settings → System → System update → Release channel.

При переключении с Beta на Stable система может автоматически «откатиться» к последней стабильной версии (если вы на более новой бета-версии). Данные не теряются, но потребуется перезагрузка.

Философия: стабильный канал — для пользователей, которым нужна надёжность. Бета — для тех, кто готов помочь проекту тестированием и готов к возможным неудобствам.


Скорость выпуска обновлений безопасности

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

Процесс:

  • Google выпускает ежемесячный Android Security Bulletin (отчёт о найденных уязвимостях) и патчи для AOSP + проприетарные компоненты Pixel.
  • Команда GrapheneOS в тот же день начинает портировать патчи на GrapheneOS.
  • В течение 24-72 часов (обычно быстрее) выходит обновление GrapheneOS с исправлениями.
  • Пользователи получают обновление автоматически.

Сравнение:

  • Google Pixel на стоковой прошивке: 1-2 недели после выхода бюллетеня (зависит от региона и оператора).
  • Samsung, OnePlus и другие производители: 2-4 недели (а иногда месяцы для не-флагманских моделей).
  • Бюджетные Android-устройства: обновления безопасности приходят раз в квартал (если вообще приходят).
  • LineageOS и другие кастомные ROM: зависит от мейнтейнера конкретного устройства, обычно 1-2 недели, но может быть и месяц.

GrapheneOS: 1-3 дня. Это быстрее, чем официальная прошивка от Google для тех же устройств.

Почему это важно:

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

GrapheneOS закрывает это окно максимально быстро.


Собственный репозиторий приложений GrapheneOS

Помимо системных обновлений, нужен способ устанавливать и обновлять приложения. GrapheneOS не использует Google Play Store в качестве основного источника (хотя Sandboxed Play Store доступен опционально).

Вместо этого проект создал собственный репозиторий приложений — Apps.

Что в этом репозитории

Системные компоненты GrapheneOS:

  • Vanadium (браузер и WebView);
  • PDF Viewer (просмотрщик PDF);
  • Apps (сам клиент репозитория);
  • Sandboxed Google Play Services и Play Store (зеркало официальных APK от Google).

Открытые приложения общего назначения:

GrapheneOS включает небольшую кураторскую подборку FOSS-приложений (Free and Open Source Software), которые проверены на безопасность и совместимость:

  • Auditor — приложение для аппаратной аттестации устройства (проверяет, что система не модифицирована);
  • Camera — базовое приложение камеры;
  • Gallery — просмотрщик фото и видео;
  • различные утилиты.

Философия: GrapheneOS не пытается быть «альтернативным магазином приложений» с тысячами программ. Он предоставляет минимальный набор надёжного софта, достаточный для безопасной работы устройства.

Для установки остальных приложений пользователь

может:

  • использовать Sandboxed Play Store (если установлен) — полный доступ к экосистеме Google Play, но в изолированной песочнице;
  • использовать Aurora Store — FOSS-клиент для доступа к Google Play без аккаунта Google;
  • использовать F-Droid — репозиторий открытых приложений;
  • устанавливать APK вручную.

Зеркало Google Play для песочницы

Sandboxed Play Services и Play Store — это оригинальные APK от Google, не модифицированные.

Откуда GrapheneOS их берёт?

Google распространяет Play Services через свои серверы. GrapheneOS зеркалирует (копирует) эти APK на свои серверы:

  • Загружает официальные APK с серверов Google.
  • Проверяет криптографические подписи — гарантия, что файлы подлинные и не модифицированы.
  • Публикует их в своём репозитории.

Зачем зеркало?

  • Приватность: вы не обращаетесь напрямую к серверам Google при установке/обновлении Play Services — запрос идёт к серверам GrapheneOS (которые не трекают пользователей).
  • Надёжность: зеркало защищает от ситуации, когда Google блокирует доступ для определённых устройств/регионов.
  • Контроль версий: GrapheneOS тестирует новые версии Play Services на совместимость перед публикацией в репозитории. Если обновление ломает совместимость или содержит проблемы — оно не попадает в репозиторий немедленно, даёт время на исправление.
  • Прозрачность: пользователи GrapheneOS видят, какая версия Play Services доступна, и могут проверить подпись самостоятельно. Нет «чёрного ящика», когда Google молча обновляет системный компонент в фоне.

Важно: GrapheneOS никогда не модифицирует APK от Google. Это оригинальные файлы с оригинальными подписями. Проект лишь зеркалирует и контролирует процесс доставки.

Клиент репозитория Apps

Apps — встроенное приложение GrapheneOS для работы с репозиторием.

Интерфейс предельно простой:

  • Открываете Apps.
  • Видите список доступных приложений с краткими описаниями.
  • Тапаете «Install» — приложение загружается и устанавливается.
  • Обновления приходят автоматически (можно отключить для конкретных приложений).

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

  • Все загрузки идут через HTTPS с проверкой сертификата и pinning’ом (приложение знает, какой сертификат должен быть у сервера GrapheneOS — подделка невозможна).
  • Каждый APK криптографически подписан разработчиками. Apps проверяет подпись перед установкой — если файл модифицирован или подпись неверна, установка блокируется.
  • Никакой телеметрии: приложение не отправляет данные о том, что вы устанавливаете, когда запускаете, как используете. Серверы GrapheneOS видят только анонимные запросы на загрузку файлов, без привязки к вашему устройству или аккаунту.

Минимализм: Apps не пытается быть «красивым» или «удобным» в понимании Play Store. Это утилитарный инструмент для безопасной установки софта — функциональность важнее дизайна.


Жёсткие практики безопасности серверов и сервисов проекта

GrapheneOS применяет к своей инфраструктуре те же принципы, что и к операционной системе: минимизация поверхности атаки, defense in depth (эшелонированная оборона), прозрачность.

Серверы проекта защищены лучше, чем инфраструктура многих коммерческих компаний.

HTTPS с жёсткой конфигурацией

Все сервисы GrapheneOS работают исключительно через HTTPS — незашифрованных соединений не существует вообще.

Конфигурация TLS (Transport Layer Security):

  • Используются только современные версии протокола (TLS 1.3, TLS 1.2 с жёсткими cipher suites).
  • Отключены устаревшие и небезопасные алгоритмы шифрования (SSLv3, TLS 1.0, слабые шифры типа RC4, DES).
  • Perfect Forward Secrecy (PFS) — даже если долгосрочный ключ сервера скомпрометирован в будущем, прошлые сессии невозможно расшифровать.
  • HSTS (HTTP Strict Transport Security) с длительным сроком действия и включением в preload-списки браузеров — браузер никогда не попытается подключиться через HTTP, только HTTPS.
  • Certificate Transparency — все сертификаты логируются в публичных логах Certificate Transparency. Если кто-то попытается выпустить поддельный сертификат для домена GrapheneOS — это будет обнаружено.

DNSSEC: защита DNS от подделки

DNSSEC (Domain Name System Security Extensions) — криптографическая подпись DNS-записей.

Проблема без DNSSEC:

Когда ваше устройство запрашивает grapheneos.org у DNS-сервера, оно получает ответ: «IP-адрес такой-то». Но этот ответ может быть подделан (DNS spoofing/poisoning): злоумышленник в вашей сети или на уровне провайдера может подменить ответ, направить на свой поддельный сервер, и вы этого не заметите.

С DNSSEC:

DNS-записи домена grapheneos.org криптографически подписаны. Когда устройство получает ответ, оно проверяет подпись. Если подпись неверна или отсутствует — система отклоняет ответ и не подключается.

Результат: невозможно подделать DNS-ответ, даже контролируя DNS-серверы или сеть. Вы всегда подключаетесь к настоящим серверам GrapheneOS.

DANE: привязка TLS-сертификата к DNS

DANE (DNS-based Authentication of Named Entities) — расширение DNSSEC, которое позволяет опубликовать отпечаток TLS-сертификата в DNS.

Как это работает:

  • В DNS-записи grapheneos.org (защищённой DNSSEC) публикуется хэш (отпечаток) TLS-сертификата сервера.
  • Когда устройство подключается к серверу, оно получает TLS-сертификат.
  • Устройство запрашивает DNS-запись, проверяет подпись DNSSEC, извлекает отпечаток сертификата из DNS.
  • Сравнивает: отпечаток из DNS = отпечаток реального сертификата сервера?
  • Если совпадают — соединение надёжное. Если не совпадают — кто-то пытается выдать поддельный сертификат (атака MITM), соединение разрывается.

Что это даёт:

Даже если злоумышленник каким-то образом получил поддельный TLS-сертификат для домена GrapheneOS (например, скомпрометировал Certificate Authority) — атака не сработает, потому что отпечаток сертификата не совпадёт с опубликованным в DNS.

Это дополнительный уровень защиты поверх обычной инфраструктуры TLS.

Примечание: DANE требует поддержки на стороне клиента (браузер или приложение должны уметь проверять DANE-записи). Vanadium и системные компоненты GrapheneOS поддерживают DANE.

CAA: контроль выпуска сертификатов

CAA (Certification Authority Authorization) — DNS-запись, которая указывает, какие Certificate Authority (центры сертификации) имеют право выпускать сертификаты для данного домена.

Как это работает:

  • В DNS-записи grapheneos.org опубликована CAA-запись: «Только Let’s Encrypt может выпускать сертификаты для этого домена».
  • Если кто-то (например, скомпрометированный или недобросовестный CA) попытается выпустить сертификат для grapheneos.org — он обязан проверить CAA-запись.
  • Видит: «Только Let’s Encrypt» → отказывает в выпуске.

Защита от:

  • Компрометация другого CA (если взломали Symantec, DigiCert или любой другой центр сертификации) — они не смогут выпустить поддельный сертификат для домена GrapheneOS.
  • Социальная инженерия (кто-то убедил CA выпустить сертификат, выдав себя за владельца домена).

Строгий Content Security Policy (CSP)

CSP (Content Security Policy) — заголовок HTTP, который указывает браузеру, какие ресурсы разрешено загружать на странице.

Настройка CSP на сайтах GrapheneOS:

  • Разрешена загрузка скриптов, стилей, изображений только с собственных доменов проекта.
  • Запрещены inline-скрипты (JavaScript, встроенный прямо в HTML) — это блокирует множество XSS-атак (Cross-Site Scripting).
  • Запрещена загрузка ресурсов с внешних доменов — нет зависимости от CDN (Content Delivery Networks), рекламных сетей, трекеров.
  • Запрещены небезопасные функции (eval, inline event handlers).

Результат:

Даже если злоумышленник найдёт способ инжектить вредоносный код в страницу (крайне маловероятно из-за других защит) — браузер откажется его выполнять, потому что CSP запрещает.

Subresource Integrity (SRI)

Если сайт загружает какие-то ресурсы (например, библиотеку JavaScript для UI), в HTML-коде указывается криптографический хэш этого файла.

Браузер загружает файл, вычисляет хэш, сравнивает с указанным. Если не совпадает (файл модифицирован или подменён) — браузер отказывается его использовать.

Это защищает от компрометации CDN или атак MITM на загрузку ресурсов.

Минимизация инфраструктуры

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

Инфраструктура простая:

  • Несколько выделенных серверов (bare-metal, не виртуализация) в дата-центрах с хорошей репутацией.
  • Hardened Linux на серверах (закалённое ядро, минимум установленного софта, жёсткие firewall-правила, SELinux в enforcing-режиме).
  • Минимум сервисов: веб-сервер (nginx), сервер обновлений, репозиторий приложений. Всё остальное отключено.
  • Нет логирования пользователей — серверы не хранят IP-адреса, User-Agent, историю запросов. Логируются только критические ошибки и попытки атак (для защиты инфраструктуры, а не слежки за пользователями).

Философия: чем проще инфраструктура — тем меньше точек отказа и векторов атак. Нет зависимости от AWS, Google Cloud, CloudFlare или других третьих сторон, которые могут быть скомпрометированы или подчинятся правительственным запросам.

Публичная прозрачность

Вся конфигурация инфраструктуры GrapheneOS документирована и опубликована:

  • DNS-записи можно проверить публично (DNSSEC, CAA, DANE — всё открыто).
  • TLS-сертификаты логируются в Certificate Transparency.
  • Исходный код всех компонентов системы открыт на GitHub.
  • Процесс сборки образов системы воспроизводимый (reproducible builds) — любой может пересобрать GrapheneOS из исходников и получить побайтово идентичный образ. Это гарантирует, что в официальные образы не добавлено ничего лишнего.

Вы можете проверить всё это самостоятельно, не доверяя разработчикам на слово.


Практический результат: защищённая цепочка доставки ПО

Комбинация всех этих мер создаёт защищённую цепочку доставки программного обеспечения:

  • Обновления системы: загружаются по защищённому каналу, проверяются криптографически, устанавливаются безопасно с возможностью отката.
  • Приложения: загружаются из проверенного репозитория, подписи проверены, никакой телеметрии.
  • Серверы: защищены от MITM, DNS-спуфинга, подделки сертификатов, XSS, компрометации через CDN — весь спектр сетевых атак.

Владение инфраструктурой: GrapheneOS контролирует сервера, не зависит от третьих сторон (кроме Let’s Encrypt для сертификатов, но CAA и DANE добавляют дополнительный контроль). Это критично для проекта, ориентированного на приватность и безопасность — нельзя доверять данные облачным платформам, которые сотрудничают с правительствами или могут быть легально принуждены отдать данные.


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

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


10. Аппаратная платформа и поддержка устройств

Безопасность операционной системы невозможна без надёжной аппаратной основы. Самая защищённая прошивка мира бесполезна, если железо содержит уязвимости, не поддерживает современные механизмы защиты или производитель не выпускает обновления прошивок.

GrapheneOS не идёт на компромиссы в этом вопросе. Проект поддерживает только устройства, которые соответствуют жёстким критериям безопасности — и на сегодняшний день это означает только линейку Google Pixel.


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

Это один из самых частых вопросов: «Почему нельзя установить GrapheneOS на Samsung, OnePlus, Xiaomi или другие популярные устройства?»

Ответ: потому что ни одно из этих устройств не обеспечивает необходимый уровень аппаратной безопасности.

Критерии выбора устройств для GrapheneOS

GrapheneOS устанавливает планку гораздо выше, чем «просто работающее железо». Устройство должно соответствовать следующим критериям:

1. Поддержка Verified Boot с custom ключами.

Verified Boot — механизм, который криптографически проверяет подлинность каждого компонента системы при загрузке (загрузчик → ядро → система → приложения). Если хоть один файл модифицирован — загрузка блокируется.

Проблема большинства Android-устройств:

Verified Boot работает только с заводской прошивкой, подписанной ключами производителя. Если вы устанавливаете кастомную прошивку (LineageOS, GrapheneOS, любую другую) — Verified Boot отключается полностью, потому что прошивка подписана другими ключами.

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

Pixel — исключение:

Google Pixel поддерживает Verified Boot с пользовательскими ключами (custom AVB keys, Android Verified Boot). При установке GrapheneOS:

  • Генерируются новые криптографические ключи.
  • GrapheneOS подписывается этими ключами.
  • Ключи загружаются в защищённую память устройства (TEE/Trustzone).
  • Загрузчик блокируется повторно (locked bootloader) — теперь он доверяет только прошивке, подписанной ключами GrapheneOS.

Система продолжает работать с полной защитой Verified Boot, но для кастомной прошивки. Если кто-то попытается модифицировать систему — загрузка не произойдёт, устройство покажет предупреждение о несанкционированном изменении.

Другие производители не поддерживают это — либо вообще (Verified Boot жёстко привязан к заводской прошивке), либо формально поддерживают, но с багами и недоработками, которые делают механизм ненадёжным.

2. Актуальные обновления прошивок (firmware) и долгосрочная поддержка.

Прошивка (firmware) — низкоуровневое ПО, которое управляет железом: модем, Wi-Fi/Bluetooth-чипы, сенсорный экран, камера, датчики. Прошивки работают ниже уровня операционной системы и имеют привилегированный доступ к железу.

Проблема:

Если прошивка содержит уязвимость — операционная система не может её исправить. Атака через уязвимость в модеме или Wi-Fi-чипе обходит все защиты Android/GrapheneOS.

Большинство производителей:

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

Google Pixel:

  • Получает ежемесячные обновления прошивок вместе с обновлениями Android.
  • Google публикует firmware-образы открыто на своём сайте (developers.google.com/android/images) — GrapheneOS может их использовать.
  • Долгосрочная поддержка: минимум 5 лет обновлений безопасности (для Pixel 6-7), 7 лет для Pixel 8-9 (об этом подробнее дальше).

GrapheneOS использует оригинальные прошивки от Google для аппаратных компонентов — они проверены, регулярно обновляются, закрывают уязвимости. Операционная система GrapheneOS работает поверх этих прошивок.

Если бы GrapheneOS портировали на устройства другого производителя — пришлось бы либо использовать устаревшие небезопасные прошивки (производитель перестал их обновлять), либо пытаться создать собственные (что невозможно без доступа к исходникам и требует огромных ресурсов).

3. Аппаратная защита: TEE, Secure Element, аппаратные ключи.

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

  • TEE (Trusted Execution Environment, доверенная среда выполнения) — отдельный процессор в SoC (System-on-Chip), который работает параллельно основному CPU. Хранит ключи шифрования, обрабатывает биометрию, управляет Verified Boot.
  • Secure Element — аппаратный чип для хранения особо чувствительных ключей (например, для платёжных приложений).
  • Hardware-backed Keystore — ключи шифрования хранятся в защищённом железе, недоступном программно.

Pixel имеет:

  • Titan M / Titan M2 (в зависимости от модели) — выделенный security chip, разработанный Google специально для защиты. Это не просто TEE внутри основного процессора, а отдельный физический чип с собственной прошивкой, который:
    • хранит ключи шифрования и Verified Boot;
    • изолирован от основного SoC — даже если основной процессор скомпрометирован, Titan M остаётся защищённым;
    • имеет счётчики защиты от перебора (rate limiting для попыток ввода пароля — нельзя обойти задержки через аппаратные атаки);
    • защищён от физических атак (tamper resistance) — попытка вскрыть чип или извлечь ключи напрямую с высокой вероятностью приведёт к их уничтожению.

Устройства других производителей:

  • Используют стандартные TEE-реализации от Qualcomm (Trustzone) или MediaTek — они работают, но не так хорошо изолированы, как отдельный чип. TEE в Qualcomm SoC — часть того же кристалла, что и основной CPU, и теоретически уязвимы для side-channel атак или эксплойтов через общие ресурсы.
  • Многие бюджетные устройства не имеют полноценного аппаратного хранилища ключей — ключи хранятся программно в защищённой области памяти, что менее надёжно.

4. Отсутствие backdoor (задних дверей) от производителя.

Многие производители Android-устройств (особенно китайские — Xiaomi, Huawei, Oppo и другие) включают в прошивки скрытые сервисы, которые:

  • собирают телеметрию и отправляют данные на серверы производителя;
  • имеют возможность удалённого управления устройством (для «технической поддержки»);
  • содержат недокументированные API, которые могут быть использованы для слежки.

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

Google Pixel:

  • Производитель (Google) не заинтересован в backdoor’ах на уровне железа — это противоречило бы репутации Android как открытой платформы и безопасности экосистемы.
  • Прошивки Pixel проверены сообществом исследователей безопасности — за годы использования не было найдено скрытых механизмов слежки или удалённого контроля на уровне железа.
  • GrapheneOS заменяет всю операционную систему, а прошивки используются только для минимально необходимого управления железом — и эти прошивки прозрачны.

5. Доступность и стабильность железа.

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

Pixel:

  • Доступен во многих странах (официально или через импорт).
  • Качество сборки стабильное (это флагманская линейка Google).
  • Команда GrapheneOS имеет физический доступ к устройствам для разработки и тестирования.

Устройства других производителей часто:

  • имеют разные модификации для разных регионов (разные SoC, разные версии прошивок) — невозможно создать единую прошивку;
  • страдают от аппаратных багов (проблемы с экраном, батареей, модемом), которые разработчики кастомной прошивки не могут исправить;
  • быстро снимаются с производства — через год модель исчезает, и поддерживать её дальше нет смысла.

Поддерживаемые модели Pixel

На сегодняшний день GrapheneOS официально поддерживает:

Актуальная поддержка (рекомендуется для новых пользователей):

  • Pixel 9, 9 Pro, 9 Pro XL, 9 Pro Fold (2024) — флагманы с 7-летней поддержкой.
  • Pixel 8, 8 Pro, 8a (2023) — также 7 лет поддержки.
  • Pixel 7, 7 Pro, 7a (2022) — 5 лет поддержки (до 2027).
  • Pixel 6, 6 Pro, 6a (2021) — 5 лет поддержки (до 2026).

Устаревающая поддержка (extended support):

  • Pixel 5, 5a (2020) — официальная поддержка Google закончилась, но GrapheneOS продолжает выпускать обновления (без новых firmware от Google — только патчи на уровне ОС). Не рекомендуется для новых установок.
  • Pixel 4, 4 XL, 4a, 4a 5G (2019-2020) — аналог ично, поддержка GrapheneOS продолжается, но без обновлений прошивок от Google. Используется только для устройств, которые уже работают на GrapheneOS, покупать новыми не стоит.

Модели, поддержка которых прекращена:

  • Pixel 3, 3 XL, 3a, 3a XL и старше — официально не поддерживаются GrapheneOS. Слишком устаревшее железо, нет обновлений прошивок, отсутствуют современные аппаратные механизмы защиты (MTE, улучшенный Titan M).

Рекомендация:

Для максимальной безопасности и долгосрочного использования выбирайте Pixel 8 или новее — у этих устройств впереди годы поддержки, самое современное железо, все актуальные защиты.


Переход к 7-летней поддержке: революция в долговечности

Исторически поддержка Android-устройств была катастрофически короткой:

  • Бюджетные устройства: 1-2 года обновлений (если вообще есть).
  • Средний сегмент: 2-3 года.
  • Флагманы: 3-4 года (Samsung, OnePlus).
  • Google Pixel (до 2023): 3 года обновлений системы + 5 лет обновлений безопасности.

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

Что изменилось в 2023:

Google объявил, что начиная с Pixel 8 (и всех последующих моделей), устройства получат 7 лет обновлений — обновления системы (новые версии Android) и обновления безопасности (патчи для уязвимостей) в течение семи лет с момента релиза.

Что это значит:

  • Pixel 8 (вышел в октябре 2023) будет получать обновления до октября 2030 года.
  • Устройство, купленное сегодня, останется актуальным и безопасным почти до конца десятилетия.

Это беспрецедентно для мобільной индустрии. Для сравнения:

  • iPhone: Apple обычно поддерживает устройства 5-6 лет (iOS-обновления), но никогда не давал публичных гарантий на 7 лет.
  • Samsung: недавно пообещал 4 года обновлений системы + 5 лет безопасности для некоторых флагманов (Galaxy S24 и новее) — это улучшение, но всё ещё меньше, чем Pixel 8/9.

GrapheneOS получает те же преимущества:

Поскольку GrapheneOS использует прошивки от Google и следует за обновлениями AOSP, 7-летняя поддержка Pixel 8/9 автоматически означает 7-летнюю поддержку GrapheneOS на этих устройствах.

Практический смысл:

Вы можете купить Pixel 8/9, установить GrapheneOS, и использовать устройство до 2030-2031 года (при условии, что физически оно останется исправным), получая все обновления безопасности, новые версии Android, исправления уязвимостей.

Это резко снижает экологический след (не нужно менять телефон каждые 2-3 года) и экономическую нагрузку (одно устройство на десятилетие).

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


Почему GrapheneOS не добавляет поддержку других устройств

Иногда спрашивают: «Может, добавьте хотя бы Samsung Galaxy или OnePlus? Там же тоже флагманы, хорошее железо».

Ответ: проблема не в «хорошести» железа, а в невозможности обеспечить equivalent level of security (эквивалентный уровень безопасности).

Попытки портирования на другие устройства

GrapheneOS (и его предшественник CopperheadOS) в прошлом рассматривал возможность поддержки других устройств. Команда исследовала:

  • OnePlus — закрытые прошивки, проблемы с Verified Boot, короткий срок поддержки.
  • Samsung Galaxy — Knox (система безопасности Samsung) жёстко интегрирована с заводской прошивкой, при установке кастомной ROM она безвозвратно отключается (eFuse перегорает), и восстановить её нельзя. Verified Boot с custom ключами не работает надёжно. Прошивки частично закрыты.
  • Fairphone — открытое железо для ремонта, но устаревшие SoC (Qualcomm среднего уровня), отсутствие выделенного security chip типа Titan M, короткий срок официальной поддержки прошивок.

Результат: ни одно устройство не соответствовало критериям. Портирование GrapheneOS на них означало бы снижение уровня безопасности — а это противоречит основной миссии проекта.

Философия GrapheneOS:

Лучше поддерживать мало устройств с максимальной безопасностью, чем много устройств с компромиссами.

Если пользователь выбирает GrapheneOS — он выбирает серьёзную защиту, а не просто «красивую кастомную прошивку с настройками». И проект не идёт на компромиссы ради популярности или удобства.


Что делать, если у вас нет Pixel

Вариант 1: Купить подержанный Pixel.

Pixel 6/7/8 доступны на вторичном рынке (eBay, местные барахолки, certified refurbished от официальных продавцов). Цены на предыдущие поколения падают с выходом новых моделей.

Как безопасно покупать б/у Pixel для GrapheneOS:

  • Проверьте, что bootloader можно разблокировать (unlockable bootloader). Если устройство куплено у оператора связи (особенно в США — Verizon, AT&T), bootloader может быть заблокирован производителем навсегда. Спросите продавца или проверьте через Developer options → OEM unlocking (должна быть доступна опция).
  • Убедитесь, что устройство не числится в краже (проверьте IMEI через сервисы проверки украденных устройств).
  • Сбросьте устройство к заводским настройкам перед покупкой (или сразу после) — это гарантирует, что предыдущий владелец удалил свои данные и аккаунты.

Плюсы б/у Pixel:

  • Гораздо дешевле нового (Pixel 6/7 можно найти за $200-400).
  • Всё ещё получают обновления (если модель в зоне поддержки).
  • Экологичность (повторное использование).

Минусы:

  • Меньше лет поддержки впереди (если покупаете Pixel 6 в 2024 — осталось ~2 года официальной поддержки Google).
  • Риски состояния батареи/экрана (нужно проверять физическое состояние).

Вариант 2: Купить новый Pixel 8/9.

Если важна максимальная долгосрочность — новый Pixel 8 или 9 это лучший выбор. 7 лет поддержки, самое современное железо (включая MTE на некоторых моделях), отличное состояние.

Где купить:

  • Официально через Google Store (если доступен в вашей стране).
  • Импорт через международные магазины (Amazon, B&H Photo, и т.д.) — часто дешевле, чем локальные цены, даже с учётом доставки.
  • Местные ритейлеры — в некоторых странах Pixel продаётся официально.

Вариант 3: Другая прошивка на вашем текущем устройстве (компромисс).

Если GrapheneOS недоступен, можно рассмотреть:

  • LineageOS — популярная кастомная прошивка, поддерживает сотни устройств. Более открыта, чем стоковый Android, но не фокусируется на безопасности так жёстко, как GrapheneOS. Подходит для замены устаревшего Android, но не для high-security сценариев.
  • CalyxOS — прошивка, похожая по философии на GrapheneOS (приватность и безопасность), но менее строгая в технической реализации. Поддерживает Pixel и некоторые Fairphone. Может быть компромиссом, если GrapheneOS кажется слишком минималистичным.
  • DivestOS — форк LineageOS с усилением безопасности. Поддерживает множество устройств, но уровень защиты ниже GrapheneOS из-за ограничений железа.

Важно понимать: ни одна из этих прошивок не даст equivalent security к GrapheneOS на Pixel. Это компромиссы для тех, кто физически не может использовать Pixel.


Будущее поддержки устройств

Вопрос: Останется ли GrapheneOS «Pixel-only» навсегда?

Ответ (официальная позиция проекта):

Команда GrapheneOS открыта к поддержке других устройств, если они соответствуют критериям. Как только производитель выпустит устройство с:

  • разблокируемым bootloader + Verified Boot с custom ключами;
  • долгосрочной поддержкой firmware (минимум 5-7 лет);
  • современным security chip (уровень Titan M или лучше);
  • открытыми прошивками или хотя бы гарантией регулярных обновлений;
  • отсутствием backdoor’ов —

GrapheneOS рассмотрит его для добавления в список поддержки.

Реалистичные кандидаты:

  • Будущие модели Pixel — очевидный выбор, Google продолжает улучшать безопасность своих устройств.
  • Fairphone (если исправят недостатки) — компания фокусируется на долговечности и открытости, но нужно современное железо (более мощный SoC с лучшим security).
  • Возможно, устройства с открытой прошивкой — если появятся производители, которые серьёзно отнесутся к безопасности и откроют исходники firmware.

На данный момент Pixel — единственная реалистичная платформа, и это вряд ли изменится в ближайшие несколько лет.


Почему это не проблема для большинства пользователей

Ограничение поддержки только Pixel может показаться недостатком, но на практике это преимущество:

  • Качество важнее количества — вы получаете прошивку, которая работает идеально на поддерживаемых устройствах, вместо «работает с багами» на сотнях несовместимых моделей.
  • Pixel стали доступнее — Pixel 8a (бюджетная модель) стоит $500 новым, что сопоставимо с другими средними флагманами, но даёт 7 лет поддержки.
  • Устройства распространены — Pixel продаются глобально (официально или через импорт), купить их легко в большинстве стран.
  • Долгосрочность — 7 лет поддержки означают, что одно устройство прослужит дольше, чем 2-3 устройства других производителей с короткой поддержкой.

Для тех, кто серьёзно относится к безопасности, инвестиция в Pixel + GrapheneOS окупается сторицей через годы защищённого использования.

  1. Сценарии использования в контексте возможностей GrapheneOS Мы подробно разобрали механизмы безопасности и приватности GrapheneOS — от защиты памяти до контроля VPN-утечек. Но абстрактные технологии становятся понятными только через конкретные сценарии использования.

GrapheneOS — это не «прошивка для параноиков». Это практичный инструмент для людей с разными потребностями: от журналистов, работающих в опасных регионах, до обычных пользователей, которые просто хотят, чтобы Google не знал каждый их шаг.

Давайте разберём, как GrapheneOS решает реальные задачи в разных контекстах.


Журналист/правозащитник: работа под угрозой Контекст

Журналисты и правозащитники в авторитарных странах или зонах конфликтов сталкиваются с угрозами государственного уровня:

слежка через сотовых операторов и интернет-провайдеров; физическая конфискация устройств на блокпостах, границах, при задержаниях; принуждение к разблокировке устройства под угрозой насилия или уголовного преследования; таргетированные атаки через фишинг, эксплойты нулевого дня, шпионское ПО (Pegasus и аналоги). Что даёт GrapheneOS:

Профили для разделения ролей

Личный профиль — обычная жизнь: общение с семьёй, фотографии, развлечения. Никаких конфиденциальных материалов.

Рабочий профиль — журналистская деятельность: защищённые мессенджеры (Signal, Wire), источники информации, черновики материалов, доступ к защищённым серверам через VPN/Tor.

«Чистый» профиль — для пересечения границ и контрольных точек. Минимум приложений: карты, переводчик, пара нейтральных мессенджеров без истории. Выглядит как обычный телефон туриста.

При угрозе конфискации:

Переключаетесь в «чистый» профиль за минуту до контакта с властями.

Если конфискуют и заставляют разблокировать — вводите duress-пароль.

Устройство разблокируется (внешне всё нормально), но рабочий профиль с конфиденциальными данными автоматически стирается за секунду.

Проверяющий видит «обычный телефон» — никаких подозрительных материалов, приложений, контактов.

Результат: конфиденциальность источников защищена, материалы не скомпрометированы.

Автоматическая перезагрузка и режим BFU

  • Настраиваете auto-reboot при бездействии на 6-12 часов.
  • Если устройство конфисковано (вы не разблокировали его в течение 6 часов) — оно автоматически перезагружается и переходит в режим Before First Unlock.
  • Все ключи шифрования стираются из памяти. Даже если атакующий использует профессиональные инструменты форензики (Cellebrite, GrayKey) — данные недоступны без длинного пароля.
  • Биометрия (отпечаток пальца) не работает после перезагрузки — нельзя принудить разблокировать прикосновением пальца.

Auditor: проверка целостности устройства

Проблема: Если устройство было изъято (даже ненадолго), как убедиться, что в него не внедрили шпионское ПО или не модифицировали систему?

Auditor — приложение GrapheneOS для аппаратной аттестации (hardware attestation).

Как это работает:

  • Устанавливаете Auditor на основное устройство (журналиста) и доверенное устройство (например, телефон коллеги или запасной аппарат в безопасном месте).
  • Сканируете QR-код с доверенного устройства основным — Auditor запоминает криптографический «отпечаток» основного устройства.
  • Периодически (или после подозрительного события) проверяете устройство: сканируете QR-код снова.
  • Auditor через Titan M security chip проверяет:
    • не изменён ли загрузчик;
    • не модифицирована ли система;
    • не подменены ли ключи Verified Boot;
    • совпадает ли прошивка с оригинальной.
  • Если всё в порядке — зелёный статус «Verified». Устройство чистое.
  • Если что-то изменено — красный статус «Failed». Устройство скомпрометировано, нельзя доверять.

Удалённая аттестация:

Можно настроить автоматическую проверку через сервер. Устройство периодически (раз в день/неделю) отправляет подписанный отчёт о своём состоянии на ваш защищённый сервер. Если устройство перестало отправлять отчёты или отчёт показывает модификацию — вы узнаете об этом, даже если физически не имеете доступа к устройству.

Практический сценарий:

Журналист работает в зоне конфликта. Устройство ночью лежало в гостиничном сейфе. Утром он проверяет через Auditor — статус «Verified». Можно безопасно использовать дальше.

Если бы кто-то физически вскрыл устройство и попытался установить имплант (hardware implant, модификацию на уровне железа) или изменить прошивку — Auditor обнаружил бы это.

USB Restricted Mode (off-mode USB)

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

Защита от:

  • Атак через USB — невозможно подключить устройство к компьютеру и попытаться эксплуатировать уязвимости через протоколы USB (такие атаки реальны — например, инструменты типа Cellebrite используют специальные кабели и адаптеры для эксплуатации багов в USB-стеке).
  • Juice jacking — кража данных через зарядные станции (в аэропортах, кафе). Даже если подключили «зарядку», которая на самом деле пытается прочитать данные — USB-данные заблокированы, передаётся только питание.

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

Итог для журналиста:

  • Устройство в кармане — USB заблокирован. Даже если кто-то физически подключит кабель (в толпе, при обыске) — передача данных невозможна.
  • Нужно подключить к компьютеру — разблокируете устройство, соглашаетесь на передачу данных в уведомлении.

Корпоративный BYOD / фрилансер: работа и личное на одном устройстве

Контекст:

BYOD (Bring Your Own Device) — сценарий, когда сотрудник использует личное устройство для рабочих задач. Фрилансеры работают с несколькими клиентами, каждый со своими требованиями к конфиденциальности.

Проблемы:

  • Смешение личных и рабочих данных на одном устройстве — риск утечки конфиденциальных документов клиента через личные приложения.
  • Работодатель требует контроля (MDM, Mobile Device Management) — вторгается в личную жизнь.
  • Клиент требует защиты данных, но вы не хотите отдавать весь телефон под корпоративное управление.

Что даёт GrapheneOS:

Профили для разделения контекстов

  • Личный профиль — ваши мессенджеры, соцсети, фото, личная почта.
  • Рабочий профиль «Клиент А» — документы, почта, корпоративные приложения для одного клиента.
  • Рабочий профиль «Клиент Б» — то же для другого клиента.

Каждый профиль изолирован на уровне операционной системы. Данные клиента А физически не могут попасть в профиль клиента Б или в личный профиль — даже если в каком-то приложении есть уязвимость.

Contact Scopes и Storage Scopes

Рабочие приложения (например, корпоративный мессенджер или CRM) часто требуют доступ к контактам или файлам.

Без Scopes:

Приложение получает весь список контактов (включая личные) или полный доступ к файлам (включая личные фотографии). Это утечка личной информации в корпоративное приложение.

С Contact/Storage Scopes:

  • Открываете приложение CRM.
  • Оно запрашивает доступ к контактам.
  • Вместо «разрешить всё» или «запретить» — выбираете конкретные контакты (только рабочие: коллеги, клиенты). Личные контакты остаются невидимыми для приложения.
  • Аналог ично с файлами: приложению для обработки счетов даёте доступ только к папке «Документы/Работа», но не к личным фотографиям или другим файлам.

Результат:

  • Рабочие приложения функциональны — видят то, что им нужно для работы.
  • Личные данные защищены — не покидают личный профиль, не попадают в корпоративные системы.

Сетевые и датчиковые тумблеры

Рабочий профиль активен только во время работы. В нерабочее время:

  • Открываете Network Permission для рабочего профиля.
  • Блокируете сеть для всех рабочих приложений одним тумблером.
  • Рабочие мессенджеры, почта, CRM — не могут отправлять/получать данные. Вы вне досягаемости работодателя/клиентов после завершения рабочего дня.

Утром включаете сеть обратно — приложения синхронизируются, уведомления приходят.

Датчики:

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

  • Даёте разрешение на геолокацию в рабочем профиле.
  • Через Sensors Permission делаете геолокацию доступной только во время использования приложения.
  • Когда приложение в фоне (вы не работаете) — доступ к геолокации блокируется системой. Работодатель видит последнее известное местоположение (офис, где вы закончили день), но не отслеживает вас дома.

VPN leak hardening

Работаете с конфиденциальными данными клиента через корпоративный VPN.

Проблема обычного Android:

VPN может протекать (DNS-утечки, разрывы соединения), и данные клиента уйдут в открытую сеть мимо VPN — это нарушение контракта, риск юридических последствий.

GrapheneOS:

  • Включаете корпоративный VPN в рабочем профиле.
  • Система гарантирует отсутствие утечек (блокирует весь трафик вне VPN, защищает от DNS-гонок, отключает IPv6 если VPN не поддерживает).
  • Клиент получает гарантию: все его данные идут через защищённый канал. Вы выполняете требования контракта.

Пересылка уведомлений между профилями

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

Настройка пересылки:

Settings → System → Multiple users → [рабочий профиль] → Forward notifications.

Выбираете, какие уведомления пересылать в личный профиль:

  • звонки и SMS (чтобы не пропустить срочный вызов);
  • уведомления от конкретных приложений (рабочая почта, корпоративный мессенджер);
  • без пересылки содержимого (только «У вас новое письмо», но не текст письма).

Результат:

Вы в личном профиле, видите, что пришло рабочее письмо. Переключаетесь в рабочий профиль (2 секунды), читаете, отвечаете. Не нужно постоянно сидеть в рабочем профиле «на всякий случай».

Итог для фрилансера/BYOD:

  • Одно устройство — несколько изолированных рабочих пространств. Не нужен второй телефон для работы.
  • Личная жизнь защищена от корпоративного контроля. Работодатель не видит ваших личных данных.
  • Конфиденциальность клиентов обеспечена изоляцией. Данные разных клиентов не пересекаются.
  • Гибкий контроль доступа (Scopes, Network/Sensors) позволяет точно настроить, что видят рабочие приложения.

Родитель/семья: безопасное устройство для ребёнка

Контекст:

Ребёнку нужен смартфон (для связи, обучения, развлечений), но родитель хочет контролировать, что ребёнок устанавливает и использует, без установки навязчивого родительского контроля, который легко обходится.

Что даёт GrapheneOS:

Отдельный профиль для ребёнка с запретом установки приложений

Создаёте детский профиль:

Settings → System → Multiple users → Add user → Restricted profile.

Настройки:

  • Запрет установки приложений — ребёнок не может устанавливать новые приложения из Play Store, Aurora Store, или загружать APK. Только родитель (владелец устройства) может добавлять приложения.
  • Белый список приложений — родитель выбирает, какие приложения доступны ребёнку. Например: мессенджер для связи с семьёй, образовательные приложения, несколько игр.
  • Запрет изменения настроек безопасности — ребёнок не может отключить контроль, изменить пароль профиля, удалить родительский профиль.

Как работает на практике:

  • Ребёнок использует устройство в своём профиле. Видит только разрешённые приложения.
  • Хочет установить новую игру — просит родителя. Родитель переключается в свой профиль (вводит пароль), проверяет приложение, устанавливает его в детский профиль (или отказывает).
  • Ребёнок не может обойти контроль — профили изолированы на уровне операционной системы, не существует «взлома» через настройки или приложения.

Установка доступных приложений (curated app list)

Родитель может заранее подготовить набор приложений, которые ребёнок может установить самостоятельно из «безопасного списка».

Настройка:

  • Родитель в своём профиле помечает приложения как «доступные для установки» в детском профиле.
  • Ребёнок видит эти приложения в своём профиле (через Apps или Play Store, если установлен), может устанавливать/удалять их по желанию.
  • Но устанавливать приложения вне этого списка — нельзя.

Пример:

Разрешённые приложения: Khan Academy, Duolingo, Minecraft, YouTube Kids.

Ребёнок может установить/удалить их по желанию, но не может поставить TikTok, Instagram или случайную игру с рекламой и микротранзакциями.

Приватные скриншоты

Ребёнок делает скриншот (например, смешная картинка из игры, чтобы показать другу).

Проблема обычного Android:

Скриншот сохраняется в общую галерею. Если у ребёнка есть приложение облачной синхронизации (Google Photos) — скриншот автоматически загружается в облако. Если приложение имеет доступ к фото — видит скриншот (и может отправить его на свои серверы для анализа/рекламы).

GrapheneOS с Private Screenshots:

  • Скриншоты сохраняются в изолированную папку, доступную только стандартному просмотрщику изображений.
  • Приложения (игры, мессенджеры) не видят эти скриншоты в галерее.
  • Ребёнок может поделиться скриншотом вручную (долгое нажатие → Share → выбор приложения), но автоматической утечки не происходит.

Зачем это важно:

Дети часто не осознают, какие данные они расшаривают. Скриншот игры может содержать информацию о местоположении (если игра показывает карту), имя ребёнка (если в игре видно имя аккаунта), или просто накапливаться в облаке без контроля. Private Screenshots защищают от непреднамеренной утечки.

Контроль сетевого доступа

Родитель может заблокировать сеть для определённых приложений в детском профиле.

Пример:

  • Ребёнку разрешена оффлайн-игра, но родитель не хочет, чтобы игра показывала рекламу или предлагала встроенные покупки (которые требуют интернета).
  • Блокируете сеть для этой игры через Network Permission.
  • Игра работает, но реклама не загружается (нет сети), встроенные покупки недоступны.

Ограничение времени использования через завершение сессии:

Настраиваете автоматическое завершение сессии детского профиля через заданное время (например, через 2 часа после переключения в него).

  • Ребёнок играет/учится в своём профиле.
  • Через 2 часа система автоматически завершает сессию профиля — все приложения закрываются, профиль «замораживается».
  • Ребёнок не может продолжить использование без повторной активации профиля родителем (требуется пароль владельца).

Это естественный таймер экранного времени, встроенный на уровне системы — обойти его невозможно.

Итог для родителя:

  • Полный контроль над тем, что ребёнок устанавливает и использует.
  • Защита от случайной установки вредоносных/неподходящих приложений (ребёнок не может установить что-то без разрешения).
  • Естественное ограничение экранного времени через завершение сессий.
  • Приватность ребёнка защищена — скриншоты не утекают, приложения не собирают лишние данные.

Исследователь/разработчик: тестирование безопасности и разработка

Контекст:

Исследователи безопасности, разработчики приложений, тестировщики нуждаются в надёжной платформе для анализа кода, тестирования уязвимостей, разработки защищённых приложений.

Что даёт GrapheneOS:

Vanadium WebView для тестирования веб-безопасности

Разработчик создаёт веб-приложение или исследует безопасность сайта.

Vanadium (системный WebView в GrapheneOS) предоставляет:

  • Самый защищённый WebView-движок среди мобильных платформ — Site Isolation, hardened malloc, MTE (на Pixel 8/9), строгий CSP.
  • Если веб-приложение работает в Vanadium — оно пройдёт самый строгий тест на безопасность. Если оно эксплуатируется в Vanadium — значит, уязвимость критическая (потому что обычные браузеры ещё более уязвимы).

Практический сценарий:

Исследователь тестирует XSS-уязвимость (Cross-Site Scripting) в веб-приложении:

  • Запускает приложение в Vanadium.
  • Пытается инжектить вредоносный JavaScript.
  • Vanadium блокирует выполнение из-за строгого CSP и изоляции контекста выполнения.
  • Исследователь видит: «Эксплойт не сработал даже в самом защищённом окружении — уязвимость, вероятно, несущественна». Или наоборот: «Сработал даже здесь — это серьёзная дыра».

Усиленные sandbox и mitigations для анализа малвари

Исследователь анализирует вредоносное Android-приложение (malware sample).

Проблема обычного Android:

Малварь может эксплуатировать уязвимости в системе, вырваться из песочницы приложения, получить root-доступ, и скомпрометировать устройство исследователя.

GrapheneOS:

  • Усиленные песочницы (жёстче seccomp-фильтры, строже SELinux) делают escape из sandbox крайне сложным.
  • Mitigations против эксплуатации памяти (hardened malloc, CFI, SCS) блокируют большинство известных техник эксплуатации.
  • MTE на Pixel 8/9 обнаруживает любые попытки эксплуатации через memory corruption — атака немедленно прерывается.

Результат:

Исследователь может запустить подозрительный APK в изолированном профиле на GrapheneOS и анализировать его поведение с минимальным риском компрометации устройства.

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

Аппаратный MTE на Pixel 8/9 для поиска багов

Разработчик создаёт собственное приложение на C/C++ (например, игровой движок, криптографическую библиотеку).

Проблема:

Баги в управлении памятью (use-after-free, buffer overflow) — частая причина уязвимостей. Традиционно их ищут через статический анализ или санитайзеры (AddressSanitizer), но они замедляют выполнение в десятки раз.

MTE (Memory Tagging Extension) на Pixel 8/9:

  • Аппаратная проверка каждого обращения к памяти в реальном времени без замедления.
  • Если код пытается записать/прочитать память с неправильным тегом (например, use-after-free: память уже освобождена, но указатель остался) — немедленный крэш с точным местом ошибки .

Практическое использование:

  • Разработчик собирает приложение с поддержкой MTE (флаг компилятора -fsanitize=memtag).
  • Запускает на Pixel 8/9 с GrapheneOS.
  • Тестирует приложение — все обращения к памяти проверяются аппаратно, на лету.
  • При обнаружении ошибки памяти — система генерирует детальный crash report с точным местом бага (какая строка кода, какой адрес памяти, какой тег был ожидаем и что получено).
  • Разработчик исправляет баг до релиза приложения, а не после того, как пользователи столкнутся с крэшами или уязвимость будет эксплуатирована.

Преимущество перед санитайзерами:

  • Нет замедления — MTE работает аппаратно, производительность близка к нативной.
  • Работает в production-сборках — можно включить MTE даже в финальной версии приложения (в магазинах), и пользователи автоматически получат защиту от эксплуатации memory corruption.

Для разработчиков, работающих с нативным кодом, Pixel 8/9 с GrapheneOS — это лучшая платформа для отладки безопасности памяти среди всех мобильных устройств.

Reproducible builds и прозрачность

Исследователь хочет убедиться, что официальная сборка GrapheneOS действительно собрана из открытого исходного кода без добавления бэкдоров.

GrapheneOS поддерживает reproducible builds (воспроизводимые сборки):

  • Любой может взять исходный код из GitHub.
  • Собрать систему самостоятельно, следуя документированной процедуре.
  • Сравнить побайтово результат своей сборки с официальным образом, опубликованным на сайте GrapheneOS.
  • Если они идентичны — значит, в официальной сборке нет ничего, кроме того, что в исходниках. Полная прозрачность.

Это критично для исследователей, которые не доверяют на слово, а проверяют всё сами.

Итог для исследователя/разработчика:

  • Максимально защищённая платформа для анализа малвари и небезопасного кода.
  • Аппаратные инструменты (MTE) для поиска багов памяти без loss of performance.
  • Прозрачность системы (open source + reproducible builds) — можно проверить каждый байт.
  • Песочницы и изоляция профилей позволяют безопасно тестировать опасный код.

«Обычный» пользователь: приватность без жертв в удобстве

Контекст:

Человек, который просто хочет, чтобы его данные не собирались Google, рекламными сетями, производителями приложений. Не параноик, не исследователь безопасности — просто ценит приватность и хочет контроль над своими данными. Но при этом нужны обычные приложения: банки, карты, мессенджеры, игры.

Основной вопрос: «Могу ли я использовать GrapheneOS, не становясь техническим гуру, и не отказываясь от привычных приложений?»

Ответ: Да. GrapheneOS для этого сценария — практичнее, чем кажется.

Sandboxed Google Play: совместимость без сдачи привилегий

Проблема альтернативных прошивок:

Многие «приватные» Android-прошивки (LineageOS, /e/OS и другие) либо:

  • вообще не включают Google Play Services — половина приложений не работает (банки, приложения с push-уведомлениями, приложения с Google Maps API);
  • включают microG — открытую реализацию Play Services, которая работает «так себе» (многие функции не реализованы, совместимость хромает, приложения крэшатся или работают нестабильно);
  • требуют root-доступа для установки Play Services — это огромная дыра в безопасности.

GrapheneOS + Sandboxed Play:

  • Устанавливаете оригинальные Google Play Services (те же, что в обычном Android).
  • Они работают как обычное приложение (без системных привилегий), в изолированной песочнице.
  • Совместимость 99% — банковские приложения, игры, карты, всё, что требует Play Services — работает так же, как на обычном Android.
  • Но Google не имеет системного доступа — не может читать данные других приложений, не видит, что вы устанавливаете, не получает телеметрию обо всём, что вы делаете.

Практически:

Обычный пользователь устанавливает GrapheneOS, затем устанавливает Sandboxed Play из репозитория Apps (два тапа). Открывает Play Store, логинится (или использует без логина через Aurora Store), устанавливает привычные приложения — всё работает.

Разница с обычным Android:

  • Google не знает, что вы делаете вне Play Store.
  • Push-уведомления работают, но Google не читает их содержимое.
  • Платежи через Google Pay работают, но данные транзакций не связаны с вашей активностью в других приложениях (они изолированы).

Автоматические обновления: «просто работает»

Проблема кастомных прошивок:

Обновления — ручной процесс: скачать образ, подключить к компьютеру, прошить через fastboot, надеяться, что ничего не сломается. Обычный пользователь не будет этим заниматься → устройство остаётся на старой версии с уязвимостями.

GrapheneOS:

  • Обновления загружаются автоматически в фоне.
  • Устанавливаются без участия пользователя (пока вы пользуетесь телефоном).
  • Применяются после перезагрузки (которая занимает 30 секунд, как обычно).
  • Если обновление сломано — автоматический откат на предыдущую версию, никакого «кирпича».

Обычный пользователь вообще не думает об обновлениях — система сама остаётся актуальной и безопасной. Это проще, чем на стоковом Android (где нужно вручную заходить в настройки и тапать «Проверить обновления»).

Понятные переключатели приватности

Сетевые разрешения:

Установили приложение фонарика. Зачем фонарику интернет? GrapheneOS показывает: «Приложение Flashlight запрашивает сетевой доступ».

  • Тапаете «Запретить».
  • Фонарик работает (включает/выключает светодиод), но не может отправить данные на свои серверы (аналитика, реклама).

Это интуитивно понятно даже неопытному пользователю. «Зачем фонарику интернет? Не нужен — запрещаю».

Датчики:

Приложение погоды запрашивает геолокацию (чтобы показать погоду в вашем городе). Вы разрешаете — но только «Во время использования».

  • Открыли приложение — оно видит ваше местоположение, показывает погоду.
  • Закрыли приложение — доступ к геолокации автоматически блокируется. Приложение не может отслеживать вас в фоне.

Это базовое поведение в GrapheneOS (как в iOS, но строже) — никакой фоновой слежки без явного разрешения.

Contact/Storage Scopes:

Мессенджер просит доступ к контактам (чтобы найти друзей, которые тоже используют мессенджер).

  • Вместо «дать доступ ко всей адресной книге» GrapheneOS спрашивает: «Какие контакты показать этому приложению?»
  • Выбираете несколько контактов (близкие друзья, коллеги) — мессенджер видит только их.
  • Ваша полная адресная книга (контакты врачей, юристов, родственников) не загружается на серверы мессенджера.

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

Без сложной настройки

GrapheneOS работает безопасно из коробки:

  • Не нужно копаться в настройках часами.
  • Не нужно устанавливать дополнительные приложения для блокировки трекеров (это встроено).
  • Не нужно настраивать firewall вручную (Network Permission делает это просто).

«Просто включил и пользуешься» — но с высоким уровнем приватности и безопасности по умолчанию.

Итог для обычного пользователя:

  • Привычные приложения работают (банки, игры, карты) — через Sandboxed Play.
  • Не нужно думать об обновлениях — система сама остаётся актуальной.
  • Простые и понятные инструменты контроля приватности (разрешения, Scopes, тумблеры).
  • Google и другие компании собирают на порядок меньше данных о вас, но вы не жертвуете удобством.

Общий выхлоп: GrapheneOS для разных ролей

РольКлючевые функцииЗащита от чего
Журналист/активистПрофили, duress-PIN, Auditor, auto-reboot, USB restricted modeГосударственная слежка, конфискация, принуждение
Корпоративный/фрилансерПрофили BYOD, Contact/Storage Scopes, Network/Sensors toggles, VPN hardeningСмешение личного/рабочего, утечка данных клиента, корпоративный контроль личной жизни
РодительRestricted profiles, запрет установки, private screenshots, контроль сетиНежелательные приложения, избыточное экранное время, утечка детских данных
Исследователь/разработчикVanadium WebView, MTE, усиленные sandbox, reproducible buildsЭксплуатация багов при анализе малвари, ненайденные уязвимости в собственном коде, недоверие к бинарным сборкам
Обычный пользовательSandboxed Play, автообновления, понятные privacy-контролиСбор данных Google/рекламными сетями, трекинг, утечка контактов/файлов

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


Мы увидели, как GrapheneOS решает конкретные задачи для разных типов пользователей — от экстремальных сценариев до повседневного использования. Но почему именно GrapheneOS лучше других альтернатив? Чем он отличается от LineageOS, CalyxOS, /e/OS и прочих «приватных» прошивок?

Следующий раздел объясняет технические и философские причины, почему GrapheneOS практичнее конкурентов именно в описанных сценариях.


12. Почему GrapheneOS практичнее других Android-прошивок в этих сценариях

На рынке существует множество альтернативных Android-прошивок, которые позиционируют себя как «приватные», «безопасные» или «свободные»:

  • LineageOS — самая популярная кастомная прошивка, поддерживает сотни устройств;
  • CalyxOS — похожа на GrapheneOS по философии, но с другими компромиссами;
  • /e/OS — ориентирована на «де-гуглизацию» с красивым интерфейсом;
  • DivestOS — форк LineageOS с усилениями безопасности.

Все они лучше стокового Android по части приватности. Но GrapheneOS стоит особняком по нескольким критичным аспектам.


Google Play Services: изоляция вместо костылей

Подход большинства прошивок:

  • LineageOS, DivestOS: вообще не включают Google Play Services — пользователь сам решает, ставить или нет. Если ставить — часто нужен root или установка через сторонние инструменты (которые ломают безопасность).
  • /e/OS: не включает Google Play, предлагает «microG» — открытую реализацию API Google Play Services. Звучит хорошо, но microG:
    • не поддерживает многие функции (SafetyNet/Play Integrity API почти не работает — банки блокируют);
    • требует signature spoofing (подделка подписи приложений), что создаёт дыру в безопасности (любое приложение может выдать себя за другое);
    • работает нестабильно — многие приложения крэшатся или теряют функциональность.
  • CalyxOS: также использует microG, с теми же проблемами.

Результат:

Пользователь получает либо несовместимость (приложения не работают), либо дыры в безопасности (signature spoofing, root-доступ для установки Play Services).

Подход GrapheneOS:

Sandboxed Google Play Services — оригинальные компоненты от Google, работающие как обычное приложение:

  • Полная совместимость — банки, игры, всё работает так же, как на стоковом Android.
  • Без привилегий — Play Services не имеют системного доступа, работают в обычной песочнице приложения.
  • Без signature spoofing — не нужна подделка подписей, система безопасности не ослабляется.
  • Опционально — можно вообще не устанавливать, если не нужны приложения, зависящие от Google.

Практический результат:

Обычный пользователь устанавливает GrapheneOS, добавляет Sandboxed Play — получает полную функциональность Android (все приложения работают) без системной интеграции Google (нет сбора телеметрии, нет привилегированного доступа).

На других прошивках такой баланс недостижим — либо совместимость, либо приватность, но не оба одновременamente.


Строгая модель «без увеличения поверхности атаки»

Философия GrapheneOS:

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

Как это работает на практике:

GrapheneOS удаляет или отключает компоненты AOSP, которые увеличивают риск:

  • удалены системные приложения с избыточными привилегиями (ненужные Google-приложения, демонстрационный софт);
  • отключены небезопасные legacy-функции (старые bluetooth-профили, небезопасные сетевые протоколы);
  • ужесточены настройки по умолчанию (запрещена динамическая загрузка кода в базовой ОС, см. ниже).

Философия других прошивок:

Многие кастомные ROM добавляют функции для удобства/красоты, не всегда учитывая безопасность:

  • LineageOS: много «фич» для кастомизации (темы движков, дополнительные настройки UI), но некоторые из них расширяют attack surface (например, дополнительные системные сервисы, сторонние библиотеки).
  • /e/OS: добавляет собственные облачные сервисы (для замены Google Drive/Photos), которые требуют серверной инфраструктуры — дополнительная точка отказа и потенциального компрометирования.
  • CalyxOS: добавляет VPN-сервис (Calyx VPN на базе RiseupVPN), встроенные инструменты для обхода блокировок — всё это увеличивает кодовую базу и сложность системы.

Проблема:

Чем больше кода — тем больше потенциальных уязвимостей. Каждый добавленный компонент — это новый вектор атаки.

Результат для GrapheneOS:

Минималистичная система, где каждая строка кода оправдана с точки зрения безопасности. Меньше кода = меньше багов = меньше уязвимостей.


Запрет динамической загрузки кода в базовой ОС

GrapheneOS запрещает динамическую загрузку исполняемого кода (dynamic code loading) для системных компонентов и привилегированных приложений.

Что это значит:

Обычно Android-приложение может:

  • загрузить библиотеку (.so-файл) из интернета;
  • выполнить её как часть приложения.

Это используется легитимно (например, для обновления модулей приложения без полной переустановки), но также эксплуатируется малварью:

  • приложение проходит проверку Play Store (выглядит безобидно);
  • после установки загружает вредоносный модуль с удалённого сервера;
  • выполняет его — обходит проверки системы, потому что вредоносный код не был в оригинальном APK.

GrapheneOS блокирует это:

  • Системные компоненты и приложения с расширенными привилегиями не могут загружать и выполнять код, который не был в оригинальном APK.
  • Попытка динамической загрузки → немедленный крэш приложения или блокировка операции.

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

Другие прошивки:

Не вводят таких ограничений — динамическая загрузка кода разрешена везде (как в стоковом Android).

Практический результат:

Атаки типа «троянские загрузчики» (приложение загружает вредоносный модуль после установки) не работают против системных компонентов GrapheneOS. Это блокирует целый класс sophisticated малвари.


Реальная проверка целостности через Auditor

Проблема «root-детекта» в других прошивках:

Многие банковские и корпоративные приложения проверяют, не получено ли root-доступа на устройстве (через SafetyNet или Play Integrity API). Цель — защита от модифицированных систем.

Подход LineageOS, CalyxOS и других:

  • Пытаются обмануть эти проверки (через Magisk Hide, Universal SafetyNet Fix и другие костыли).
  • Результат: кошки-мышки — Google обновляет проверки, костыли перестают работать, нужно искать новые обходы.

Подход GrapheneOS:

Не обманывать, а доказать подлинность.

GrapheneOS использует аппаратную аттестацию (hardware attestation) через Auditor:

  • Устройство криптографически подтверждает, что загружено с подписанного и проверенного bootloader.
  • Ключи Verified Boot хранятся в Titan M (аппаратный security chip) — подделать их невозможно.
  • Система может пройти attestation от Google (Play Integrity API) в baseline integrity mode — Google признаёт, что устройство не модифицировано злонамеренно.

Практический результат:

Банковские приложения работают на GrapheneOS без костылей — система проходит проверки Play Integrity на уровне «BASIC» или «DEVICE» (в зависимости от приложения).

На других прошивках:

  • либо приложения блокируются (банк видит, что система модифицирована);
  • либо нужно устанавливать Magisk (что даёт root-доступ = огромная дыра в безопасности) и надеяться, что обход сработает.

Attestation через Auditor:

Помимо Play Integrity, GrapheneOS предлагает собственную систему аттестации:

  • Удалённая верификация состояния устройства (может использоваться корпорациями для проверки устройств сотрудников).
  • Криптографическое доказательство, что система не модифицирована (не взломана, не установлен rootkit).
  • Работает независимо от Google — можно использовать в сценариях, где доверие к Google отсутствует.

Другие прошивки не предоставляют аналога — они либо полагаются на SafetyNet (который легко обходится и не даёт реальных гарантий), либо вообще не имеют механизма аттестации.


Тонкие механизмы минимально-достаточного доступа

Contact Scopes и Storage Scopes — уникальные функции GrapheneOS, которых нет в других Android-прошивках (включая стоковый Android).

Сравнение:

ФункцияСтоковый AndroidLineageOS/CalyxOS/другиеGrapheneOS
Доступ к контактамВсё или ничегоВсё или ничегоВыборочные контакты (Scopes)
Доступ к файламВся папка или запретВся папка или запретКонкретные файлы (Storage Scopes)
Контроль датчиковРазрешить/запретитьРазрешить/запретитьРазрешить + ограничение вр времени/приложения
Сетевые разрешенияВсегда разрешеныЗависит от прошивки (обычно нет контроля)Поприложенный контроль (Network Permission)

Практический смысл:

На других прошивках приложение либо получает полный доступ (видит все контакты, все файлы), либо вообще не работает (если запретите разрешение).

На GrapheneOS можно дать минимально необходимый доступ — приложение функционально, но видит только то, что ему действительно нужно.

Это реализация принципа least privilege (минимальных привилегий) на уровне, недостижимом для других прошивок.


Серверная инфраструктура и обновления: приватность end-to-end

Как обновляются другие прошивки:

  • LineageOS: загружаете образ с сайта (или через OTA, если настроено). Сервера обновлений часто используют CDN (CloudFlare, Fastly), которые видят ваш IP, логируют запросы, могут подвергаться давлению правительств.
  • CalyxOS: аналогично, используют сторонние сервисы для хостинга.
  • /e/OS: собственные сервера, но инфраструктура менее защищена (нет DNSSEC/DANE/CAA, менее строгий CSP).

GrapheneOS:

  • Собственные выделенные сервера (bare-metal, без облачных провайдеров).
  • DNSSEC, DANE, CAA — невозможно подменить DNS или TLS-сертификат.
  • Строгий CSP — защита от XSS и inject-атак на сайт проекта.
  • Нет логирования пользователей — серверы не хранят IP-адреса, не трекают, кто и что скачивает.

Практический результат:

Когда вы обновляете GrapheneOS:

  • ваш IP не логируется;
  • невозможно подменить обновление через MITM-атаку (DNS/TLS защищены);
  • даже если кто-то скомпрометирует один из центров сертификации — DANE и CAA блокируют поддельные сертификаты.

Другие прошивки полагаются на инфраструктуру третьих сторон (CDN, облачные хостинги), которые собирают метаданные и могут быть принуждены к сотрудничеству с властями.

Для пользователей в странах с цензурой или государственной слежкой это критичная разница — обновления GrapheneOS труднее заблокировать или подменить.


Философия: безопасность > удобство, но без фанатизма

Подход GrapheneOS:

Безопасность — приоритет №1. Удобство — важно, но не в ущерб безопасности. Если функция ослабляет безопасность — она не добавляется, даже если пользователи просят.

Примеры:

  • Нет root-доступа по умолчанию — root ломает модель безопасности Android. GrapheneOS не предоставляет root, даже опционально. Если нужен root — GrapheneOS не для вас.
  • Нет кастомизации UI ради красоты — интерфейс максимально близок к стоковому AOSP. Нет тем, виджетов, анимаций из других прошивок. Всё, что не относится к безопасности/приватности — вырезано.
  • Поддержка только Pixel — не расширяют поддержку на устройства с компромиссами в безопасности, даже если это ограничивает аудиторию.

Подход других прошивок:

  • LineageOS: «Даём пользователю выбор» — можно включить root, можно установить что угодно, можно настроить систему как душе угодно. Гибкость > безопасность.
  • CalyxOS: баланс между удобством и приватностью, но идут на компромиссы (microG, встроенные VPN-сервисы с зависимостью от сторонней инфраструктуры).
  • /e/OS: максимальное удобство для «обычных пользователей» (красивый UI, облачные сервисы), но ценой снижения безопасности.

Кому что подходит:

  • Если приоритет — максимальная кастомизация/удобство: LineageOS или /e/OS.
  • Если приоритет — компромисс приватность + удобство: CalyxOS.
  • Если приоритет — максимальная безопасность без компромиссов: GrapheneOS.

GrapheneOS не пытается быть для всех. Это осознанный выбор: лучше быть лучшими в узкой нише (серьёзная безопасность), чем средними во всём.


Мы разобрались, почему GrapheneOS технически и философски превосходит альтернативы в сценариях, требующих серьёзной безопасности и приватности. Теперь остался последний вопрос: как начать использовать GrapheneOS на практике?

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


13. Практическое начало работы

Вы прочитали сотни страниц о технологиях безопасности, сценариях использования, преимуществах GrapheneOS. Теперь — практика

как установить систему и начать безопасно использовать её.

GrapheneOS делает процесс установки максимально простым и безопасным, но важно делать всё правильно — через официальные каналы и инструменты. Любые «альтернативные гайды» или сторонние установщики могут содержать модифицированные образы или вредоносный код.


Где устанавливать: официальный WebUSB-установщик

Официальный сайт установки: grapheneos.org/install/web

GrapheneOS предлагает WebUSB-установщик — установка прямо из браузера, без скачивания отдельных программ.

Как это работает

Требования:

  • Поддерживаемое устройство Pixel (см. список в разделе 10).
  • Компьютер с браузером, поддерживающим WebUSB (Chromium, Chrome, Edge, Brave на Windows/Linux/macOS; не Safari).
  • USB-кабель (желательно оригинальный или качественный).

Этапы установки:

1. Включите режим разработчика на Pixel.

  • Settings → About phone → нажмите на Build number семь раз подряд.
  • Появится сообщение «You are now a developer».

2. Разрешите разблокировку загрузчика.

  • Settings → System → Developer options → включите OEM unlocking.

3. Перезагрузите устройство в режим bootloader.

  • Выключите телефон.
  • Зажмите Volume Down + Power одновременно.
  • Устройство загрузится в режим bootloader (чёрный экран с текстом).

4. Подключите устройство к компьютеру.

Используйте USB-кабель, подключите к порту USB (USB-C предпочтительнее, если есть).

5. Откройте официальный WebUSB-установщик.

Перейдите на grapheneos.org/install/web в браузере Chromium/Chrome.

6. Следуйте инструкциям на экране.

Установщик автоматически:

  • обнаружит устройство;
  • проверит, совместимо ли оно;
  • загрузит актуальный образ GrapheneOS (или предложит использовать уже скачанный);
  • разблокирует загрузчик (Unlock bootloader) — потребуется подтверждение на устройстве (кнопками громкости выберите «Unlock», подтвердите кнопкой питания);
  • прошьёт систему (bootloader, recovery, system partitions);
  • заблокирует загрузчик обратно (Lock bootloader) — критично для безопасности!

Важно: После установки загрузчик повторно блокируется, но уже с новыми ключами GrapheneOS — Verified Boot продолжает работать, теперь для кастомной системы.

7. Перезагрузите устройство.

После завершения установщик предложит перезагрузку. Устройство загрузится в GrapheneOS.

Время процесса: 10-20 минут (в зависимости от скорости интернета и устройства).


Альтернатива: CLI (command-line installer)

Для тех, кто предпочитает командную строку или работает на системах без поддержки WebUSB (например, старые версии Linux), GrapheneOS предлагает CLI-установщик.

Документация: grapheneos.org/install/cli

Процесс:

  • Скачиваете образ GrapheneOS для вашего устройства (factory image).
  • Проверяете криптографическую подпись образа (чтобы убедиться, что файл не модифицирован).
  • Устанавливаете fastboot (часть Android SDK Platform Tools).
  • Выполняете команды для прошивки (fastboot flashall, unlock/lock bootloader).

CLI-метод не проще, но даёт больше контроля. Подходит для опытных пользователей или сценариев, когда WebUSB недоступен.


Зачем избегать сторонних гайдов

В интернете (форумы XDA, YouTube, блоги) можно найти «альтернативные инструкции» по установке GrapheneOS.

Почему их опасно использовать:

1. Модифицированные образы.

Злоумышленник может создать «GrapheneOS», в который встроен бэкдор, троян, шпионское ПО. Вы прошиваете такой образ — устройство скомпрометировано с первого запуска.

Как проверить подлинность:

Официальные образы GrapheneOS криптографически подписаны ключами разработчиков. WebUSB-установщик автоматически проверяет подпись — если файл модифицирован, установка прервётся.

Сторонние гайды часто предлагают уже скачанные образы (с файлообменников, Telegram-каналов, Mega/Dropbox) — вы не можете проверить, что это оригинальный GrapheneOS.

2. Устаревшие инструкции.

Процесс установки периодически меняется (новые модели устройств, изменения в процедуре, улучшения установщика). Гайд, написанный год назад, может быть неактуален и приведёт к ошибкам.

Официальная документация GrapheneOS всегда актуальна — обновляется с каждым релизом.

3. Пропуск критических шагов.

Некоторые сторонние гайды упускают важные детали:

  • Не блокируют загрузчик после установки — устройство остаётся с разблокированным bootloader’ом, что полностью ломает безопасность (кто угодно может модифицировать систему с физическим доступом).
  • Не проверяют OEM unlocking — если не включить эту опцию до разблокировки, устройство может «окирпичиться».
  • Используют неофициальные инструменты (сторонние версии fastboot, модифицированные скрипты установки) — потенциальный вектор атаки.

Официальный WebUSB-установщик:

  • автоматически выполняет все шаги в правильном порядке;
  • проверяет подпись образа;
  • блокирует загрузчик после установки;
  • показывает понятные ошибки, если что-то пошло не так.

Правило: Используйте только официальный установщик с сайта grapheneos.org. Игнорируйте любые сторонние гайды/образы/инструменты.


Первый запуск: начальная настройка

После установки GrapheneOS устройство перезагрузится и покажет экран приветствия — стандартная процедура настройки Android, но без интеграции Google.

Шаги:

1. Выберите язык.

GrapheneOS поддерживает десятки языков (включая русский).

2. Подключитесь к Wi-Fi (опционально).

Можно пропустить — настроить позже.

3. Настройте пароль/PIN.

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

  • Минимум 8-12 символов для обычного использования.
  • 16+ символов (или парольная фраза) для high-security сценариев.
  • Не используйте четырёхзначный PIN — слишком легко подобрать.

4. Настройте отпечаток пальца (опционально).

Если планируете использовать биометрию. Можно добавить несколько пальцев (для удобства).

Напоминание: Для максимальной безопасности включите двухфакторную разблокировку (отпечаток + PIN) — настраивается позже в Security settings.

5. Не входите в аккаунт Google на этом этапе.

Стандартная процедура Android предлагает «Войти в аккаунт Google» — пропустите этот шаг.

GrapheneOS работает без обязательного аккаунта Google. Если понадобится Play Store — установите Sandboxed Google Play позже (см. раздел 5).

6. Завершите настройку.

Система готова к использованию.


Установка Sandboxed Google Play (если нужно)

Если вам нужны приложения из Play Store (банки, игры, карты):

1. Откройте приложение Apps (предустановлено в GrapheneOS).

2. Найдите «Google Play Services» и «Google Play Store».

Они находятся в списке доступных приложений.

3. Установите оба.

Нажмите «Install» для каждого.

4. Откройте Play Store.

При первом запуске потребуется:

  • Принять условия использования Google (если согласны).
  • Войти в аккаунт Google (или использовать без логина — некоторые приложения будут недоступны).

5. Установите нужные приложения.

Работает как обычный Play Store.

Важно: Play Services работают в песочнице, без системных привилегий. Они видят только данные, которые вы явно разрешили (через разрешения приложений).


Где читать релиз-ноты и следить за обновлениями

GrapheneOS регулярно выпускает обновления (системные патчи безопасности, новые функции, исправления багов). Важно знать, что изменилось, чтобы использовать новые возможности и понимать, какие уязвимости были закрыты.

Официальные каналы информации

1. Releases на GitHub:

github.com/GrapheneOS/releases

Каждый релиз содержит:

  • версию (номер сборки, дата);
  • changelog (список изменений: новые функции, исправления багов, закрытые уязвимости);
  • signed образы для ручной установки (если нужно).

Пример changelog:

2024031400 (March 14, 2024)
- Updated to AOSP security patches (March 2024)
- Added support for Pixel 8a
- Fixed bug in Contact Scopes causing crash in Contacts app
- Improved MTE performance on Pixel 9
- Updated Vanadium to 122.0.6261.119

2. Официальный сайт (раздел News):

grapheneos.org/news

Публикуются важные анонсы:

  • новые релизы;
  • изменения в архитектуре;
  • обновления документации;
  • ответы на часто задаваемые вопросы.

3. Официальный X (Twitter):

@GrapheneOS

Быстрые уведомления о релизах, обсуждение новых функций, ответы на вопросы сообщества.

4. Matrix/чаты сообщества:

GrapheneOS имеет официальные чаты в Matrix (децентрализованный мессенджер):

  • #grapheneos:grapheneos.org — общий чат;
  • #grapheneos-offtopic:grapheneos.org — неформальное общение;
  • #grapheneos-dev:grapheneos.org — обсуждение разработки (для контрибьюторов).

Подключиться можно через клиент Element (element.io).

Не используйте:

  • Неофициальные Telegram-каналы (могут распространять модифицированные образы или дезинформацию).
  • Reddit-сообщества, не связанные с официальным проектом (могут давать неправильные советы).
  • YouTube-гайды от случайных блогеров (часто устаревшие или содержат ошибки).

Правило: Доверяйте только официальным каналам — GitHub, grapheneos.org, официальный X/Matrix.


Как обновляться

Обновления приходят автоматически (см. раздел 9), но вы можете проверить их вручную:

Settings → System → System update.

  • Нажмите «Check for update».
  • Если доступно обновление — оно загрузится и установится в фоне.
  • После установки появится уведомление: «Update ready, reboot to apply».
  • Перезагрузите устройство — обновление применится.

Переключение каналов (Stable/Beta):

Settings → System → System update → Release channel.

  • Stable — рекомендуется для повседневного использования.
  • Beta — для тех, кто хочет тестировать новые функции раньше (могут быть баги).

Резервное копирование данных

GrapheneOS поддерживает стандартное Android-резервное копирование, но без облака Google (если не установлен Sandboxed Play).

Опции:

1. Локальное резервное копирование через Seedvault (встроено).

GrapheneOS включает Seedvault — открытое приложение для резервного копирования:

  • Резервирует данные приложений, настройки системы, список установленных приложений.
  • Хранит бэкапы локально (на устройстве или USB-накопителе) или в облаке (NextCloud, WebDAV).
  • Шифрует данные — бэкап защищён паролем, невозможно прочитать без ключа.

Настройка:

Settings → System → Backup → Seedvault.

Выберите, где хранить бэкапы (USB, облако), настройте шифрование.

2. Ручное копирование через USB.

Подключите устройство к компьютеру (USB), скопируйте важные файлы (фотографии, документы) вручную.

3. Синхронизация через облако (если установлен Sandboxed Play).

Можете использовать Google Drive, Dropbox и другие облачные сервисы — но помните, что данные будут храниться у третьих сторон (оценивайте риски приватности).

Рекомендация для high-security сценариев:

  • Используйте Seedvault с локальным хранением (USB-накопитель, который храните в безопасном месте).
  • Шифруйте бэкап сильным паролем (отличным от пароля устройства).
  • Периодически проверяйте, что бэкап восстанавливается (делайте тестовое восстановление на запасном устройстве или после factory reset).

Что делать после установки: рекомендуемые настройки

После первого запуска GrapheneOS стоит потратить 10-15 минут на настройку безопасности и приватности под ваши потребности.

Базовые настройки (для всех)

1. Настройте автоматическую перезагрузку.

Settings → Security → Auto reboot → выберите интервал (рекомендуется 18-24 часа для обычного использования, 6-12 часов для high-security).

Это переводит устройство в режим BFU при долгой неактивности — защита от форензики.

2. Настройте PIN scrambling (перемешивание цифр).

Settings → Security → Screen lock → PIN scrambling → включите.

Защищает от shoulder surfing (подглядывания через плечо) и камер наблюдения.

3. Настройте автоматическое стирание после неудачных попыток.

Settings → Security → Screen lock → Auto-wipe after failed attempts → выберите количество (рекомендуется 20-30 попыток для обычного использования, 10 попыток для high-security).

4. Включите Private screenshots.

Settings → Privacy → Private screenshots → включите.

Скриншоты будут изолированы от приложений (не попадут в облачную синхронизацию, не будут видны сторонним приложениям).

5. Настройте Network Permission для приложений.

По мере установки приложений заходите в:

Settings → Apps → [название приложения] → Network permission.

Запретите сеть приложениям, которым она не нужна (фонарик, калькулятор, локальные игры без мультиплеера).

Дополнительные настройки (для продвинутых)

6. Настройте Duress-пароль.

Settings → Security → Duress password/PIN.

Создайте альтернативный пароль, который стирает конфиденциальные данные при вводе (см. раздел 8).

7. Настройте профили (если нужны).

Settings → System → Multiple users → Add user/profile.

Создайте отдельные профили для работы, личного использования, или для членов семьи.

8. Настройте Contact/Storage Scopes для приложений.

По мере использования приложений, которые запрашивают доступ к контактам/файлам, выбирайте Scopes вместо полного доступа:

  • Разрешение на контакты → выберите конкретные контакты.
  • Разрешение на файлы → выберите конкретные файлы/папки.

9. Настройте Sensors Permission (если нужно).

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

Settings → Privacy → Permission manager → Location → [приложение] → Allow only while using the app.

Или через Sensors permission полностью заблокируйте датчики для конкретных приложений.

10. Настройте VPN (если используете).

Settings → Network & internet → VPN → добавьте ваш VPN-провайдер.

Включите:

  • Always-on VPN (постоянное подключение).
  • Block connections without VPN (блокировка трафика вне VPN).

Это активирует VPN leak hardening (см. раздел 7).


Частые вопросы новых пользователей

«Нужен ли мне аккаунт Google для использования GrapheneOS?»

Нет. GrapheneOS работает полностью без аккаунта Google. Вы можете:

  • устанавливать приложения через Aurora Store (доступ к Play Store без логина);
  • использовать F-Droid (репозиторий открытых приложений);
  • устанавливать APK вручную.

Если нужны приложения, которые требуют Play Services (банки, некоторые игры), установите Sandboxed Google Play — можете использовать его с аккаунтом Google или без (в зависимости от приложений).

«Будут ли работать банковские приложения?»

Да, в подавляющем большинстве случаев. После установки Sandboxed Google Play большинство банковских приложений работают нормально.

Исключения:

  • Некоторые банки (особенно в странах с жёсткими проверками безопасности) могут блокировать кастомные прошивки. Проверьте конкретное приложение вашего банка — часто есть отчёты пользователей GrapheneOS на форумах/Reddit.
  • В крайнем случае можете использовать веб-версию банка через Vanadium (браузер GrapheneOS) — она всегда работает.

«Можно ли использовать Google Pay / бесконтактные платежи?»

Да, Google Pay работает на GrapheneOS с Sandboxed Play. Бесконтактные платежи (NFC) функционируют нормально (при условии, что банк поддерживает Google Pay).

«Сломается ли гарантия устройства после установки GrapheneOS?»

Зависит от страны и продавца.

  • В США/ЕС: разблокировка bootloader и установка кастомной прошивки не должны автоматически аннулировать гарантию (если поломка не связана с модификацией ПО). Но некоторые производители/продавцы могут отказать в гарантийном обслуживании — проверьте условия.
  • В других регионах: политика варьируется. Часто гарантия аннулируется при разблокировке bootloader.

Важно: Вы можете вернуть стоковую прошивку Google в любой момент (через официальный flash tool от Google) — устройство вернётся в заводское состояние, и продавец не узнает, что была установлена кастомная прошивка (если только не проводит глубокую форензику).

«Как удалить GrapheneOS и вернуться на стоковый Android?»

Процесс:

  • Перейдите на developers.google.com/android/images.
  • Скачайте factory image для вашей модели Pixel (стоковая прошивка от Google).
  • Используйте Flash Tool от Google или командную строку (fastboot flashall), чтобы прошить заводскую прошивку.
  • Устройство вернётся к стоковому Android, все данные GrapheneOS будут стёрты.

Важно: Если вы удаляете GrapheneOS из-за проблем — проверьте официальную документацию или чаты сообщества, возможно, проблема решаема без возврата на сток.

«Можно ли использовать GrapheneOS параллельно с работой/учёбой, где требуют корпоративные приложения?»

Да, через профили. Создайте рабочий профиль, установите корпоративные приложения (например, Microsoft Intune, Slack, корпоративную почту) в него. Личные данные останутся в личном профиле — изолированы от корпоративного контроля.

Некоторые корпоративные MDM-системы (Mobile Device Management) могут не поддерживать GrapheneOS (потому что система не проходит строгие проверки Play Integrity на уровне «STRONG»). Проверьте с вашим IT-отделом — часто достаточно уровня «BASIC», который GrapheneOS проходит.

«Нужно ли мне разбираться в Linux/командной строке для использования GrapheneOS?»

Нет. Установка через WebUSB-инструмент полностью графическая (нажимаете кнопки в браузере, следуете инструкциям). После установки GrapheneOS работает как обычный Android — интерфейс привычный, приложения устанавливаются через Apps/Play Store, настройки понятные.

Технические знания нужны только для:

  • CLI-установки (если не можете использовать WebUSB);
  • продвинутой настройки (например, изменение системных параметров через ADB) — но это опционально.

Обычный пользователь может комфортно использовать GrapheneOS без технических навыков.


Рекомендуемые приложения для GrapheneOS

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

Коммуникация

  • Signal — защищённый мессенджер с end-to-end шифрованием.
  • Molly — форк Signal с дополнительной защитой (например, блокировка скриншотов внутри приложения).
  • Element — клиент для Matrix (децентрализованный мессенджер).

Браузер

  • Vanadium (предустановлен) — основной браузер для повседневного использования.
  • Tor Browser (через Aurora Store/F-Droid) — для анонимного веб-сёрфинга.

Email

  • K-9 Mail — открытый email-клиент.
  • FairEmail — продвинутый email-клиент с акцентом на приватность.

Файлы и документы

  • Material Files — файловый менеджер.
  • PDF Viewer (предустановлен в GrapheneOS) — просмотр PDF без утечки данных.
  • Collabora Office — офисный пакет (аналог Microsoft Office).

Карты и навигация

  • Organic Maps — оффлайн-карты на базе OpenStreetMap (без Google).
  • OsmAnd — продвинутые оффлайн-карты с навигацией.

Камера и галерея

  • Camera (предустановлена) — базовая камера GrapheneOS.
  • Gallery (предустановлена) — просмотр фото/видео.
  • Simple Gallery (F-Droid) — альтернативная галерея с дополнительными функциями.

VPN

  • Mullvad VPN — один из самых приватных VPN-провайдеров (анонимная регистрация, оплата криптовалютой).
  • ProtonVPN — VPN от создателей ProtonMail (бесплатный тариф доступен).

Пароли

  • KeePassDX — локальный менеджер паролей (база хранится на устройстве, можно синхронизировать через облако вручную).
  • Bitwarden — облачный менеджер паролей с открытым исходным кодом (E2E-шифрование).

Блокировка рекламы и трекеров

  • RethinkDNS — локальный DNS/firewall (блокирует рекламу, трекеры, выборочно для приложений).
  • AdAway (требует VPN-режим или root, последний не рекомендуется) — блокировщик рекламы через hosts.

Примечание: В GrapheneOS многие функции блокировки (Network Permission, Sensors) встроены, поэтому сторонние блокировщики часто не нужны.


Заключительные рекомендации

1. Регулярно проверяйте обновления.

Даже если система обновляется автоматически, заходите в System update раз в месяц — убедитесь, что устройство актуально.

2. Читайте changelog релизов.

Когда выходит обновление, загляните в GitHub releases — узнайте, какие уязвимости закрыты, какие функции добавлены.

3. Не устанавливайте приложения из ненадёжных источников.

APK с неизвестных сайтов могут содержать малварь. Используйте:

  • официальный Play Store (через Sandboxed Play);
  • Aurora Store (зеркало Play Store);
  • F-Droid (репозиторий открытых приложений);
  • только проверенные APK с известных источников (например, Signal с официального сайта signal.org).

4. Используйте сильные уникальные пароли.

Для каждого аккаунта (почта, мессенджеры, банки) — свой уникальный пароль. Храните их в менеджере паролей (KeePassDX, Bitwarden).

5. Включайте двухфакторную аутентификацию (2FA).

Для всех важных аккаунтов (почта, банки, криптобиржи) используйте 2FA:

  • через приложение (Aegis, andOTP);
  • НЕ через SMS (SMS легко перехватывается).

6. Будьте осторожны с публичными Wi-Fi.

GrapheneOS имеет сетевую защиту (randomized MAC, отключение автосоединения), но публичные сети всё равно рискованны. Используйте VPN при подключении к неизвестным Wi-Fi.

7. Регулярно проверяйте устройство через Auditor.

Если у вас high-security сценарий, настройте периодическую аттестацию устройства (см. раздел 11) — убедитесь, что система не скомпрометирована.

8. Делайте резервные копии.

Настройте Seedvault (локальные бэкапы на USB) — регулярно копируйте данные. Устройство может быть потеряно, украдено, сломано — бэкап спасёт ваши данные.


Финал: для кого GrapheneOS и стоит ли оно того

Вы прошли через сотни страниц технических деталей, сценариев использования, инструкций. Теперь — честный ответ на главный вопрос: стоит ли переходить на GrapheneOS?

Ответ зависит от ваших приоритетов и контекста использования.


Для кого GrapheneOS — идеальный выбор

1. Люди, работающие в зонах риска.

Журналисты, правозащитники, активисты, юристы, исследователи — все, кто сталкивается с угрозами государственного уровня, целевыми атаками, физической конфискацией устройств.

Что даёт GrapheneOS:

  • Максимальную защиту от эксплуатации (MTE, hardened malloc, усиленные песочницы).
  • Инструменты против принуждения (duress-password, auto-reboot в BFU).
  • Проверяемость состояния устройства (Auditor).
  • Изоляцию данных через профили.

Альтернативы (iPhone, другие Android-прошивки) уступают:

  • iPhone не поддерживает профили с полной изоляцией, нет duress-механизмов, закрытая система (невозможно проверить отсутствие бэкдоров).
  • Другие Android-прошивки (LineageOS, CalyxOS) не имеют аналогичного уровня hardening и инструментов для экстремальных сценариев.

Вывод: Для этой категории GrapheneOS — единственный практичный выбор среди мобильных платформ.


2. Профессионалы, работающие с конфиденциальными данными.

Фрилансеры, консультанты, врачи, адвокаты, финансисты — все, кто обрабатывает чувствительную информацию клиентов или работодателей на личном устройстве (BYOD-сценарии).

Что даёт GrapheneOS:

  • Изоляцию рабочих и личных данных (профили).
  • Точечный контроль доступа к данным (Contact/Storage Scopes).
  • Гарантию отсутствия VPN-утечек (для работы с корпоративными сетями).
  • Защиту от сбора данных через Google/рекламные сети (Sandboxed Play без системных привилегий).

Альтернативы:

  • Стоковый Android — Google имеет полный доступ ко всем данным, граница между личным и рабочим размыта.
  • iPhone — лучше по приватности, чем стоковый Android, но не поддерживает Scopes (контроль доступа «всё или ничего»), дороже, менее гибкий.

Вывод: GrapheneOS даёт профессиональный уровень контроля без необходимости покупать отдельное устройство для работы.


3. Родители, заботящиеся о цифровой безопасности детей.

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

Что даёт GrapheneOS:

  • Restricted profiles с полным контролем установки приложений.
  • Изоляция детских данных (скриншоты, фото не утекают в облако).
  • Блокировка сети для приложений (ребёнок играет в игру, но реклама/IAP не работают).
  • Встроенный «таймер экранного времени» через завершение сессий профиля.

Альтернативы:

  • Стоковый Android + родительский контроль (Google Family Link) — работает, но Google собирает данные о ребёнке, контроль легко обходится техническими детьми.
  • iPhone + Screen Time — хорошее решение, но дороже, менее гибкое, всё равно привязано к экосистеме Apple.

Вывод: GrapheneOS даёт родительский контроль без зависимости от облачных сервисов и без сбора данных о детях.


4. Разработчики и исследователи безопасности.

Те, кто создаёт безопасные приложения, анализирует малварь, тестирует уязвимости, или просто ценит прозрачность и воспроизводимость систем.

Что даёт GrapheneOS:

  • Аппаратные инструменты отладки (MTE на Pixel 8/9 для поиска багов памяти).
  • Максимально защищённая платформа для анализа вредоносного кода (усиленные песочницы, изоляция профилей).
  • Полная прозрачность (open source + reproducible builds — можно проверить каждый байт).
  • Лучший WebView-движок для тестирования веб-безопасности (Vanadium).

Альтернативы:

  • Стоковый Android/iOS — закрытые системы, невозможно проверить исходники, ограниченные инструменты отладки безопасности.
  • Другие Android-прошивки — открытые, но не имеют аппаратных инструментов (MTE) и уровня hardening GrapheneOS.

Вывод: Для разработчиков, работающих с безопасностью, GrapheneOS на Pixel 8/9 — лучшая мобильная платформа для разработки и тестирования.


5. «Обычные» пользователи, ценящие приватность.

Люди, которые просто не хотят, чтобы Google, Facebook, рекламные сети знали о каждом их шаге, но при этом хотят использовать привычные приложения (банки, мессенджеры, игры).

Что даёт GrapheneOS:

  • Работают все приложения (через Sandboxed Play).
  • Автоматические обновления (не нужно думать о безопасности).
  • Простые и понятные настройки приватности (Network Permission, Scopes, тумблеры датчиков).
  • Резкое снижение сбора данных Google и рекламными сетями (без жертв в удобстве).

Альтернативы:

  • Стоковый Android — удобный, но Google знает всё.
  • iPhone — лучше по приватности (Apple меньше зависит от рекламы), но дороже, закрытая экосистема, меньше контроля.
  • Другие Android-прошивки — часто ломают совместимость (банки не работают, push-уведомления глючат) или требуют технических знаний.

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


Для кого GrapheneOS — НЕ лучший выбор

1. Геймеры, использующие игры с жёсткими античитами.

Некоторые мобильные игры (особенно соревновательные, с античитами) могут блокировать кастомные прошивки, даже если Play Integrity API проходит проверку.

Проблема:

Античиты иногда проверяют наличие root, разблокированного bootloader, модифицированной системы — и блокируют доступ, даже если GrapheneOS не имеет root и bootloader заблокирован с валидными ключами.

Решение:

  • Проверьте конкретную игру — большинство игр (включая популярные типа PUBG, Genshin Impact, Call of Duty Mobile) работают на GrapheneOS нормально.
  • Если игра критична и точно не работает — возможно, GrapheneOS не подходит (или держите отдельное устройство для игр).

2. Пользователи старых/дешёвых устройств.

GrapheneOS поддерживает только Pixel. Если у вас устройство другого производителя (Samsung, Xiaomi, OnePlus, бюджетные телефоны) — GrapheneOS установить нельзя.

Альтернативы:

  • LineageOS (поддерживает сотни устройств).
  • DivestOS (усиленный форк LineageOS).
  • /e/OS (удобный, но менее безопасный).

Эти прошивки дают базовую приватность (лучше стокового Android), но сильно уступают GrapheneOS по безопасности.

3. Люди, которым нужны специфичные функции производителя.

Samsung Knox (для корпоративной безопасности), стилус S Pen (Samsung), проприетарные камеры (вычислительная фотография от Samsung/Xiaomi).

Проблема:

GrapheneOS работает только на Pixel — вы теряете функции других производителей. Камера Pixel отличная, но если вам критично важна камера конкретно Samsung S24 Ultra — придётся выбирать между камерой и безопасностью.


4. Люди, которым нужна полная интеграция с экосистемой Apple.

Если у вас MacBook, iPad, AirPods, Apple Watch — iPhone даёт бесшовную интеграцию (Handoff, AirDrop, Universal Clipboard, Continuity Camera).

GrapheneOS (и Android в целом) не интегрируется с экосистемой Apple так же органично.

Вывод: Если вы глубоко в экосистеме Apple — iPhone проще и удобнее (хотя менее гибкий и настраиваемый).


Стоит ли GrapheneOS усилий?

Усилия минимальны:

  • Установка — 15-20 минут через WebUSB (проще, чем переустановка Windows на компьютере).
  • Настройка — 10-15 минут (базовые настройки безопасности).
  • Обновления — автоматические, ноль усилий.
  • Использование — как обычный Android (интерфейс привычный, приложения работают).

Выгоды огромны:

  • Ваши данные не собираются Google/рекламными сетями 24/7.
  • Устройство защищено от эксплуатации памяти, целевых атак, форензики.
  • Вы контролируете, какие приложения имеют доступ к чему (Scopes, Network/Sensors permission).
  • Система остаётся актуальной годами (7 лет обновлений на Pixel 8/9).

Соотношение усилия/результат — одно из лучших среди всех решений приватности и безопасности.


Финальный вердикт

GrapheneOS — это не компромисс. Это мобильная операционная система, которая доказывает: можно быть максимально безопасным и приватным, оставаясь при этом функциональным и удобным.

Вы не жертвуете приложениями (банки работают, игры работают, всё работает — через Sandboxed Play).

Вы не жертвуете удобством (обновления автоматические, интерфейс привычный, настройки понятные).

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

Для тех, кто серьёзно относится к приватности и безопасности, GrapheneOS — это не выбор. Это необходимость.

Для обычных пользователей, которые просто хотят «чтобы Google меньше знал» — GrapheneOS проще и эффективнее, чем любые настройки приватности в стоковом Android.


Начните сегодня

  • Купите поддерживаемый Pixel (б/у Pixel 7 — отличный бюджетный вариант, новый Pixel 8/9 — для долгосрочного использования).
  • Перейдите на grapheneos.org/install/web.
  • Следуйте инструкциям (15 минут).
  • Настройте базовые параметры безопасности (10 минут).
  • Установите Sandboxed Play (если нужны приложения из Play Store).
  • Живите спокойно, зная, что ваше устройство защищено лучше, чем 99% смартфонов в мире.

GrapheneOS — это не будущее мобильной безопасности.

Это настоящее.

И оно доступно прямо сейчас.

Предыдущий пост Следующий пост
Наверх