Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.

Оглавление:

Общая информация
Причины перехода на свободную прошивку
Выбор устройства
Основные факторы, которые необходимо учитывать при выборе устройства
Подбор устройства
Установка прошивки LOS
Обновление firmware
Разблокировка загрузчика (unlock bootloader)
Пример установки LOS
Что может пойти не так
Предподготовка к первому запуску
Про шифрование устройства
LineageOS
Стандартные настройки LOS
Root/рут/права суперпользователя/superuser
Bootloader (Загрузчик)
F-Droid
Слот VPN
AFWall + (Android Firewall +) и встроенный Firewall
Встроенный Firewall
AFWall+
AdAway
Orbot, Tor Browser и проблема proc/net
Orbot
Проблема proc/net
Tor Browser
Fennec и Bromite
Fennec
Bromite
Приложения Google (Google Apps/Gapps)
Yalp store/Aurora Store
Треккеры в приложениях
Контроль разрешений (Permission control), PrivacyGuard, AppOpsX
Типы разрешений
Инструменты для ограничения разрешений
—— Стандартный для Android механизм разрешений
—— Privacy Guard (Защита конфиденциальности)
—— AppOpsX (com.zzzmode.appopsx)
Список разрешений
Что нельзя ограничить
Level API/sdk
По поводу необходимости отслеживать разрешения
SD-card/usb-storage
Рабочий профиль (Work profile) и Shelter (net.typeblog.shelter)
XprivacyLua
ADB (Android Debug Bridge)
Полный отказ от Google в LOS
DNS
Captive Portal
A-GPS
AOSP Webview
Project Fi
Backup (бэкап) или резервная копия
Отдельное шифрование личных файлов
Прошивка радиомодуля и низкоуровневые закладки
Другие прошивки
Replicant
GrapheneOS
Не Android устройства и прошивки
А что же iPhone?
Перспективы
Общие рекомендации
Почему лучше пользоваться последней версией LOS и актуальными устройствами
Мой опыт
Потенциальный вопрос — мой ответ
Методики перехода и частичные (временные) решения
Вопросы айтишникам
Список ссылок

Советую предварительно прочитать вот эти статьи (или после прочтения моей статьи):

> Про LineageOS, MicroG
> Список интересных программ в F-Droid (и не только в F-Droid)
> Про архитектуру Android более менее понятным языком, советую прочитать все 4 части из цикла. Там описано всё немного техническими терминами, но всё-таки советую вникнуть, если вы хотите примерно понимать устройство и архитектуру Android.

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

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

Рассматриваться будет версия LineageOS 16 (частично некоторые моменты из версии 15.1 также будут рассмотрены) и на основе Android 9 Pie соответственно. Некоторые описываемые методики (точнее почти все, кроме Privacy Guard) применимы не только LineageOS, но и других прошивок на Android 9 Pie.

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

Общая информация


LineageOS[1],[3] — прошивка на основе AOSP (Android Open Source Project), которая делается энтузиастами. LineageOS — это продолжение проекта CyanogenMod. Данная прошивка есть не на все устройства, так как создание такой прошивки под каждое устройство дело рук энтузиастов.

Причины перехода на свободную прошивку LineageOS


  1. Приватность. LineageOS основана на «чистой» версии Android — AOSP без приложений от Google и других приложений от коммерческих компаний. Отсутствие проприетарных компонентов повышает приватность (вкупе с другими методиками).

    Система Android (AOSP) основана на Linux и распространяется под свободной лицензией [4] и с открытыми исходными кодами (open-source). LineageOS базируется на AOSP (с некоторыми добавлениями от CAF — Code Aurora Forum для тех устройств, в основе которых лежит «железо» от Qualcomm). То есть LineageOS — это прошивка, просто в которой не добавлены проприетарные сервисы от Goolge (а не вырезаны, как некоторые думают). Факт того, что это open-source, позволяет вам просмотреть весь исходный код AOSP и LineageOS на наличие «подлянок» (закладок). Вы можете сами скомпилировать (собрать из исходников) прошивку под своё устройство на основе исходного кода, если вы не доверяете тому, кто компилирует прошивку. Кстати, многие так и делают, но в основном, чтобы что-то добавить/убрать из прошивки.
  2. Безопасность. В некоторых случаях LineageOS выпускает обновления прошивок для тех устройств, которые перестали поддерживаться производителем. Если у вас уже есть устройство, на которое давно не было обновлений безопасности, то вы можете проверить нет ли на ваше устройство прошивки LineageOS, с последними обновлениями безопасности.

    Также, если собираетесь покупать новый смартфон, вы можете подобрать такое устройство, которое поддерживается LineageOS, и которое, с высокой долей вероятности, будет долго поддерживаться сообществом LineageOS.
  3. Дополнительные функции. В прошивке присутствуют дополнительные компоненты, например такие как Trust, Call Recorder (Запись звонков, диктофон) и другие небольшие улучшения. Trust (+Privacy Guard) позволяет централизованно просматривать и управлять настройками безопасности и приватности. Call Recorder — запись звонков. Protected Apps — можно поставить доступ к отдельным приложениям только по отдельному коду или по отпечатку пальца. Кастомизация интерфейса, Dark mode (Тёмная тема) и другие полезные функции.
  4. Заранее обезопасить себя от изоляции, либо от самоизоляции.

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

    Самоизоляция. В свете последних тенденций на запрещение и блокировку разными странами сервисов из «враждебных» стран, никто не даст гарантии, что завтра доступ к западным сервисам и программам сохранится на определённых территориях.

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

Выбор устройства


Предлагаю вам методику подбора нового устройства для установки LineageOS на основе моего опыта. Данные советы носят исключительно рекомендательных характер и я не претендую на абсолютную объективность.

Основные факторы, которые необходимо учитывать при выборе устройства


  1. Наличие прошивки на устройство.

    Существуют как «официальные»[3] версии LineageOS, так и «неофициальные». Официальность заключается в том, что:

    — команда компилирует и «подписывает» своим ключом прошивку и выкладывает её на своём сайте [5]
    — для «официально» поддерживаемых устройств есть относительно неплохая поддержка на форумах[7]. Также можно поискать поддержку от непосредственно разработчиков на отдельное устройство на форумах xda[9], 4pda[11] и telegram каналах. Такая поддержка не означает, что вам обязательно ответят на ваш вопрос. Но при правильно поставленном вопросе с подробным описанием проблемы шансы на ответ стремятся к 100%-ам. К сожалению, подавляющая часть разработчиков англоязычные. На данных форумах вам могут помочь не только непосредственно разработчики, но и другие опытные пользователи.

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

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

    Крайне рекомендую выбирать устройство, которое присутствует на официальном сайте[5]. Это один из факторов стабильности прошивки и длительности поддержки устройства, а также того, что в прошивке нет лишнего. В некоторых случаях, если устройство популярное, и для него кто-то делает неофициальную версию, то через время разработчик неофициальной версии присоединяется к команде разработчиков LineageOS (точнее мэйнтейнеров устройства), прошивка оформляется должным образом и становится «официальной». Это означает, что если при выборе устройства ваш взгляд пал на определённую модель, у которой есть только неофициальная версия LineageOS, то вы можете поискать информацию по данному устройству на англоязычном форуме xda-developers на предмет потенциального выхода «официальной» версии в будущем. Такие случаи не так уж и редки.

    Вам в помощь дополнительная информация по устройствам: ссылки [13],[15],[17].

    Также есть разные сайты, где представлены устройства с неофициальными версиями LineageOS, но я не знаю на основе каких данных составлялись эти списки и не могу вам их порекомендовать, как и не могу порекомендовать использовать неофициальные прошивки вообще.
  2. Версия LineageOS для устройства. На данный момент для устройств выпускаются версии прошивки LineageOS 15.1 и 16. Обе версии поддерживают обновления безопасности, но LineageOS 15.1 основана на Android 8.1 Oreo, а LineageOS 16 — на версии Android 9 Pie. Лучше подбирать устройство на версии LineageOS 16, так как чем выше версия Android, тем больше устранено угроз приватности и больше интересных функций. Об этом я напишу позже.
  3. Версия внутренностей устройства. Некоторые производители под одним именем выпускают несколько разных версий с разной «начинкой». Например, существует большое количество версий Samsung Galaxy S5 LTE. Есть несколько версий: А) klte, которая включает в себя ревизии (G900AZ/F/M/R4/R7/T/V/W8,S902L), Б) kltechn которая включает в себя ревизии (G9006V/8V) и так далее. Для быстрого определения используются кодовые имена. Для вышеобозначенного Galaxy S5 LTE есть несколько версий klte, kltekor, kltedv, kltechn, kltekdi. Возможно существуют другие версии Galaxy S5 LTE для которых нет прошивки LineageOS. Поэтому при покупке устройства проверяйте версию у конкретного продавца.
  4. Возможность разблокировать загрузчик (bootloader). Перед покупкой необходимо уточнять есть ли возможность разблокировать загрузчик. Даже если на устройство есть прошивка LineageOS, то это не означает, что у вас будет возможность её установить! Для того, чтобы установить LineageOS вам необходимо иметь разблокированный загрузчик. Для некоторых телефонов это делается легко, путём всего одного действия. Но есть производители которые для некоторых (или для большинства) своих устройств сделали целую процедуру разблокировки загрузчика. Для этого необходимо зарегистрироваться на сайте производителя, ввести информацию о телефоне (или установить на компьютер специальную программу), послать запрос на разблокировку загрузчика и ждать от 0 секунд до 1-го месяца. Huawei ранее позволяла разблокировать загрузчик, но потом такую возможность вообще закрыла. Появились обходные пути, сайты на которых можно было купить код для разблокировки. Данные обходные пути постоянно меняются, для разных устройств обходные пути различаются. Для таких случаев взвесьте все «за и против», выясните есть ли возможность разблокировать загрузчик, сколько придётся ждать (если проходите официальную процедуру разблокировки), сколько стоит код для разблокировки на стороннем сайте для обхода и так далее.
  5. Популярность устройства. Чем более популярное устройство, тем выше шансы на то, что поддержка данного устройства будет продолжаться дольше. Ещё более важным является популярность использования именно LineageOS для данного устройства. Статистику использования можно посмотреть на официальном сайте[19]. Также есть неофициальный, но более репрезентативный сайт[21]. Обратите внимание что А) некоторые названия обозначены кодовыми словами (codename). Б) представлены также те устройства, которые официально не поддерживаются, но используются.
  6. Начинка. При прочих равных рекомендую выбирать устройство с чипом Qualcomm. Устройства на данных чипах в среднем поддерживаются дольше и шире, чем устройства на других чипах.
  7. Другие прошивки и первоначальная прошивка. Если для устройства есть альтернативные прошивки (помимо LOS), то это значит, что во внутренностях прошивок для данного устройства много кто «копается», что повышает шансы на возможность найти решение вашей проблемы, если она возникнет. Также важно обратить внимание на то, какая прошивка изначально установлена на новом устройстве. Лучше всего, если смартфон входит в программу Android One. Это значит, что Google для такого аппарата будет принуждать производителей выпускать обновления безопасности, обновление до новых версий Android 2 года. Данные обновления помогут разработчикам LineageOS дольше поддерживать устройство. Обратите внимание, что сам факт вхождения в программу Android One не гарантирует того, что загрузчик можно будет разблокировать и для данного устройства есть прошивки кроме первоначальной. Например, смартфоны от Nokia, входящие в программу Android One, не имеют возможности установки альтернативных прошивок.
  8. Новизна устройства. Помните, что разрабатывают LineageOS энтузиасты и в какой-то момент у этих энтузиастов может сменится их собственное устройство (сломалось, потеряли, купил новый). В таком случае они могут быть не заинтересованы в дальнейшей поддержке данного устройства. Например, Xiaomi Redmi Note 5 (Pro) официально поддерживался не больше года (хотя для него также есть неофициальные прошивки LineageOS). Но такое устройство как LG G2 (d802) поддерживается с 2013 года и имеет даже самую последнюю версию LineageOS — 16. Для максимально долгой поддержки желательно покупать относительно новое устройство, которое до сих пор продаётся на международном уровне.
  9. Остальные параметры, которые касаются потребительских характеристик устройства. Например размер оперативной памяти, скорость процессора, поддерживаемые частоты LTE и так далее. Рекомендую покупать телефон с минимум 32 ГБ внутренней памяти, чтобы меньше пришлось пользоваться «облаками», тем самым снижая риски утечки ваших данных. Учтите, что некоторые специфичные вещи на смартфоне могут не поддерживаться, например, такие как инфракрасный порт, разблокировка лица на основе формы черепа (помимо фото), специальные эффекты камеры с несколькими объективами. Но в последних версиях Android некоторые такие функции (например, полноценная поддержка нескольких объективов задней камеры) заложены в самой системе и скорее всего и с этим проблем не возникнет.

Подбор устройства


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

  1. Открываем сайт со статистикой использования LineageOS [21] и начинаем просматривать смартфоны от более популярных к менее популярным. Смартфоны, у которых есть отдельная ссылка в названии, официально поддерживаются на данный момент.
  2. Самый используемый на данный момент из официально поддерживаемых — OnePlus One. Смотрим год выпуска — 2014. Но в России они не продаются, и насколько я понимаю за рубежом тоже не продаются. Идём дальше.
  3. Далее по списку из популярных и продающихся в России — Xiaomi Redmi Note 4. Выпуск 2017 года. Но для этой модели есть только версия LineageOS 15.1 (хотя патчи безопасности выпускаются также своевременно). Предположим, что это нам подходит (но плюсы более новой версии LineageOS я опишу ниже). Идём на форум 4pda (и другие форумы), ищем данную конкретную модель и видим, что есть две версии устройства — на чипе МТК и на чипе Qualcomm Snapdragon. Ещё раз проверяем продаётся ли в России версия на чипе Snapdragon (только для этой версии есть LineageOS). Звоним продавцу и спрашиваем точно ли версия на Snapdragon и для какого рынка устройство (необходимо покупать глобальную версию, так как в такой версии больше поддерживаемых частот 4G). Берём на заметку эту версию.
  4. Ищем далее. Xiaomi Poco F1 — слишком дорогой. Xiaomi Redmi 4 (X) — ситуация аналогичная Xiaomi Redmi Note 4. ZUK Z2 Plus — не продаётся в России. OnePlus 3 / 3T — слишком дорогой. И так по очереди доходим до Xiaomi Mi A1. Продаётся на чистом Android, входит в программу Android One, не надо ждать разблокировки загрузчика, нет критичных сообщений на форумах.

В итоге, если бы я выбирала устройства до 15 000 рублей, я бы выбрала что-то между Xiaomi Redmi 4 (X), Xiaomi Redmi Note 4 и Xiaomi Mi A1.

ВНИМАНИЕ: это только один из возможных методик подбора устройства, я не несу ответственности за то, что в какой-то момент на купленный вами телефон команда LOS перестанет выпускать обновления или что вы не сможете разблокировать загрузчик. Читайте всё внимательно и принимайте взвешенное решение.

Установка прошивки LOS


Советую вам сначала прочитать все инструкции по установке на конкретное устройство LOS на сайте LOS, дополнительно прочитать темы на 4pda, xda-developers, reddit.com/r/LineageOS и из этой статьи (некоторые предостережения).

Обновление firmware


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

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

Внимание: компания Huawei (в том числе бренд Honor), на данный момент закрыли возможность разблокировки загрузчика. Но для разных устройств этой компании существуют разные обходные способы разблокировки загрузчика, которые работают только на старых прошивках. Если вы решили всё-таки приобрести устройство от Huawei для прошивки альтернативными прошивками (например, LOS), то заранее прочитайте форумы 4pda, xda-developer и другие по конкретному устройству, на тему разблокировки загрузчика. Для этих устройств возможно лучше будет сначала разблокировать загрузчик, а потом уже обновлять firmware.

Разблокировка загрузчика (unlock bootloader)


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

На примере устройств Xiaomi (пример инструкции[23]):

  1. Создаём аккаунт Xiaomi на телефоне, указываем свой номер телефона, электронную почту.
  2. Получаем СМС с кодом для регистрации.
  3. Верифицируем аккаунт
  4. Заходим на en.miui.com/unlock и заходим под своей учётной записью. Тут могут быть возникнуть проблемы с тем, что иногда сайты отображаются на китайском. Ищем пункты меню для перехода на англоязычную версию.
  5. Скачиваем программу с сайта en.miui.com/unlock/download_en.html. Учтите, что данная программа работает только на компьютере с Windows и ей требуется доступ в интернет.
  6. В программе Mi Unlock в настройках находим пункт Install Drivers, жмём его и ждём установку драйверов.
  7. На смартфоне в системных настройках несколько раз подряд нажимаем на строчку с версией MIUI и для вас открывается скрытое меню developer settings (настройки разработчика/для разработчика)
  8. Далее в Настройки — > Расширенные настройки->Для разработчиков находим пункт «Отладка по USB», а также могут быть дополнительные настройки типа «Enable OEM unlock», которые тоже нужно включить.
  9. Подключаем смартфон к компьютеру. Перезагружаем смартфон в режим fastboot (зажимаем одновременно кнопку громкости вниз + кнопку включения смартфона до тех пор пока не появится надпись fastboot).
  10. В программе Mi Unlock необходимо зайти под своей учётной записью. Далее в программе должен определится смартфон. Жмёте кнопку «Unlock», несколько раз подтверждаете и ждёте результата. Если смартфон относительно новый, то вам покажут предупреждение, что до разблокировки смартфона осталось N-ое количество времени. Это может быть от 72 часов до 1440. Относительно старые модели должны разблокироваться или сразу, или за 72 часа.

Таких инструкций в интернете большое количество. Я же привела этот порядок действий, чтобы предупредить о некоторых ньюансах.

  • Как вы можете видеть, чтобы разблокировать загрузчик, в некоторых случаях необходима обязательная верификация по номеру телефона и электронной почте. В свете вопросов приватности лично для меня это крайне негативный факт. Я уверена, что при авторизации в телефоне максимально будет считана информация (окружающие wi-fi точки, местоположение по GPS, текущие настройки и так далее) и передана на китайские сервера. Также при установке и запуске Mi Unlock информация с компьютера также уйдёт на китайские сервера. Параноикам (в хорошем смысле этого слова) придётся устанавливать чистую версию Windows (или в виртуалке с пробрасыванием портов), смартфоном не пользоваться до того как поставите прошивку LineageOS, менять MAC адрес Wi-Fi (других Wi-Fi точек рядом не было), делать временную СИМ карту и временный электронный адрес почты.
  • В процессе у вас могут возникнуть некоторые проблемы:


    • Не определяется смартфон программой Mi Unlock. Попробуйте вставить в другой USB разъём компьютера кабель от вашего смартфона. Также через настройки попробуйте обновить версию Mi Unlock (китайцы считают что на сайте можно выкладывать не последнюю версию). Mi Unlock запускайте от имени администратора (зажимаем SHIFT, правой кнопкой мыши на ярлыке программы — > Запустить от имени администратора).
    • Смартфон не входит в режим fastboot. Попробуйте подольше подержать зажатыми кнопки громкости и включения, до 25 секунд.
    • Mi Unlock не подключается к серверу в Китае — попробуйте на время поставить китайский proxy на компьютере.
    • На одном аккаунте Xiaomi можно разблокировать только одно устройство в 30 дней.

Внимание: при разблокировке загрузчика у вас удалятся все данные на устройстве, поэтому если вы пользовались устройством и у вас остались какие-то данные, то вам надо обеспокоится их сохранением отдельно (делаем бэкап).

Далее ищем инструкцию по установке на конкретное устройство.

На примере Xiaomi Redmi 4 (X) [25]. Или, если у вас устройство с неофициальной версией LOS — то на xda-developer и 4pda. В любом случае, даже если у вас официальная версия LOS — то лучше проверить на всех форумах на наличие ньюансов. Отдельно хочу заметить, что если уже установлена какая-то другая альтернативная прошивка, то возможно вам придётся совершить другие действия, особенно если вы хотите сохранить некоторые настройки и данные приложений. Того же касается и крупных (мажорных) обновлений от LOS (например, с версии 15.1 до версии 16).

СОВЕТ: если не можете найти информацию по своему устройству на форумах (особенно зарубежных) — попробуйте поискать по коду устройства. Например, для Galaxy A7 (2017) кодовое имя — a7y17lte. Зачастую интересующая вас информация на форумах есть, но надо получше поискать.

Пример установки LOS


Давайте пройдёмся по пунктам [25] с некоторыми комментариями от меня.

БАЗОВЫЕ ТРЕБОВАНИЯ

  1. Удостоверится, что у вас установлены adb и fastboot.

    Некоторые ссылки на то как установить adb и fastboot[27], [29]. Желательно не устанавливайте вспомогательных программ (если не доверяете автору этих доп. программ), и устанавливайте программы из официальных источников. Для Windows [31].
  2. Включить «Система»- «Для разработчиков»- «Отладка Android (Включить интерфейс Android Debug Bridge (ADB))» («System»- «Developer options» — «Android debugging (Enable the Android Debug Bridge (ADB) interface)»)

РАЗБЛОКИРОВКА ЗАГРУЗЧИКА

Этот пункт я уже описала выше, не буду его повторять.

УСТАНОВКА МОДИФИЦИРОВАННОГО РЕКАВЕРИ (RECOVERY)

1. Скачиваем TWRP для определённого устройства. Иногда производитель выпускает устройства с немного отличающимися версиями частей устройства, будь то сенсорный экран или что-то ещё, и тогда TWRP с официального сайта может не сработать (или работать криво). Это решается поиском альтернативного (или более нового) TWRP для этого устройства на форумах 4pda или xda-developer.

2. Подключаем устройство к вашему компьютеру через USB.

3.1. В компьютере в командной строке, или в терминале в Linux/macOS набираем:

adb devices

На экране смартфона должно всплыть окно с запросом на подключение определённого компьютера к смартфону для отладки. Если возникает ошибка в командной строке (или терминале Linux), то в Windows попробуйте запустить командную строку от имени администратора, или sudo adb devices в терминале Linux/macOS.

Далее удостоверяемся, что показывается 1 устройство.

3.2. Набираем:

adb reboot bootloader

Смартфон должен перезапустится в режим fastboot. Также перезагрузить в fastboot режим через одновременное зажатие кнопку включения+кнопку уменьшения громкости.

На экране смартфона должна появится какая-то заставка.

4. Набираем:

fastboot devices

Получаем список устройств. Удостоверяемся, что показывается 1 устройство.

5. Прошиваем рекавери (заранее скачанный TWRP) на устройство. А ещё лучше временно загружаем (ниже описано в чём отличие).

fastboot flash recovery twrp-x.x.x-x-santoni.img

Где «twrp-x.x.x-x-santoni.img» — тот файл TWRP, который вы скачали.

Внимание: для удобства можно указывать полный путь к файлу типа «C:\Users\Вася пупкин\Desktop\twrp-x.x.x-x-santoni.img» с ковычками в пути файла.

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

fastboot boot "C:\Users\Вася пупкин\Desktop\twrp-x.x.x-x-santoni.img"

6. Если вы прошили TWRP, а не запустили разово, то вам придётся заново зайти в recovery через одновременное зажатие кнопку включения+кнопку уменьшения громкости.

УСТАНОВКА LOS ЧЕРЕЗ РЕКАВЕРИ

1. Скачайте прошивку LOS c официальной страницы или соберите из исходников сами. Опционально: скачайте Google Apps (для архитектуры arm64). [33]

Это установка приложений Google. Не вижу большого смысла в этом действии, так как одна из целей установки LOS — это избавится от нескончаемой слежки Google. Ранее LOS, когда ещё называлась CyanogenMod пользовалась популярностью, потому что эта прошивка давала возможность поддерживать старые устройства и привносила некоторые функции. Сейчас же по официальным опросам[35 — пункт Features] большая часть пользователей выбравших LOS, сделали это ради функции Privacy Guard («Защита конфиденциальности»). И количество пользователей, которые вообще не устанавливают Google Apps (Gapps) медленно, но верно растёт.

Особняком стоит проект MicroG[37] и его реализация для LOS[39]. Это достаточно удачная попытка переписать приложения Google, оставив основной функционал, но при этом максимально ограничить передачу данных на сервера Google. Я не буду сильно останавливаться даже на этом проекте, потому что я решила для себя на 100% отказаться от услуг Google (и не только Google). О плюсах (и минусах) такого решения я напишу отдельно в одном из пунктов.

2. Если вы не в режиме рекавери — перезагрузитесь в рекавери через одновременное зажатие кнопку включения+кнопку уменьшения громкости. Если вы не устанавливали TWRP — то надо будет ещё раз временно запустить заново TWRP через:

fastboot boot "C:\Users\Вася пупкин\Desktop\twrp-x.x.x-x-santoni.img"

3. В основном меню выбираем Wipe

4. Выбираем Format Data, вводим «yes». Это удалит шифрование и все ваши личные данные на устройстве.

5. В том же меню Wipe заходим в Advanced Wipe.

6. Проставляем галочки ТОЛЬКО напротив Cache и System, и протягивая «свайпом» ползунок завершаем сиё действие.

7. Далее необходимо через механизм ADB Sideload загрузить прошивку LOS в устройство. Для этого в смартфоне выбираем «Advanced», далее «ADB Sideload». После этого на компьютере запускаем:

adb sideload "C:\Users\Вася пупкин\Desktop\filename.zip"

где «C:\Users\Вася пупкин\Desktop\filename.zip» — путь к прошивке LOS в формате «zip»

На экране смартфона будет отображён лог прошивания. На некоторых устройствах в некоторых версиях прошивки в логе в конце высвечивается что-то типа «firmware not installed». Зачастую это ложная надпись и прошивка всё-таки будет установлена. Но на всякий случай проверьте на форумах (4pda,reddit, xda-developer) есть ли такие же проблемы с вашем устройством у других.

8. Опционально. ВНИМАНИЕ: Если вы всё-таки хотите установить Google Apps, то это надо сделать тут же не перезагружая смартфон! Надо будет вернуться назад в меню, потом снова в смартфоне выбираем «Advanced», далее «ADB Sideload» и запускаем на компьютере

adb sideload "C:\Users\Вася пупкин\Desktop\gapp.zip"

где «C:\Users\Вася пупкин\Desktop\gapp.zip» — путь к Google приложениям на вашем компьютере. Если вы после прошивки LOS случайно перезагрузите смартфон, то вам придётся делать Factory reset, иначе приложения Google практически не будут работать.

9. Опционально: рутируйте устройство установив специально подготовленный LOS AddonSU (пакет для версии arm64)[41] или другой аддон для рутирования, который вам нравится.

adb sideload "C:\Users\Вася пупкин\Desktop\addonsu-16.0-arm64-signed.zip"

Примечание: получение рута (root) для достижения цели реального управления устройством просто необходимо. Без рута, к сожалению, нельзя установить основные программы файрволы (firewall) и мощные ограничители доступа к данным и датчикам на устройстве другим программам (permission manager). Поэтому крайне рекомендую рутировать ваше устройство. Стандартным аддоном является вышеупомянутый LOS AddonSU, но многие пользователи пользуются таким аддоном как Magisk. Я лично пользуюсь стандартной поставкой LOS AddonSU. Причины, минусы и плюсы я опишу в отдельном пункте.

Что может пойти не так



  • В некоторых случаях после пункта 4) в «УСТАНОВКА МОДИФИЦИРОВАННОГО РЕКАВЕРИ (RECOVERY)» необходимо выполнить пункт 4.5) Набираем:
    fastboot oem unlock.

    На данном этапе происходит окончательная разблокировка загрузчика, даже если вы провели полную процедуру разблокировки.
  • Когда скачиваете дополнения (Gapps или рут), обращайте внимание какую именно версию вы скачиваете. Необходимо скачивать версию, соответствующую вашему устройству. Существуют 3 основные версии — arm, arm64 и x86.
  • Особенно внимательно отнеситесь, когда будете делать Wipe, Advanced Wipe или Format Data. Чётко действуйте согласно инструкции. Не делайте лишних очисток, если этого не требуется (иначе можно попасть на soft brick). Но и не забывайте очищать то, что описано.
  • Если вы что-то неправильно делали, то можете попасть в разные ситуации, например, bootloop (бесконечная перезагрузка или перезагрузка только в режим рекавери), soft brick (лёгкое окирпичивание), hard brick (жёсткое окирпичивание). Bootloop и soft brick не являются чем-то страшным, это можно исправить.

    Самым тяжелым случаем является hard brick. Это когда телефон не реагирует абсолютно ни на что. Ни на какие комбинации клавиш. Экран вообще ничего не показывает и даже при подключении зарядного устройства не загорается индикатор зарядки. Но есть хорошая новость — на современных устройствах полностью окирпичиться (получить hard brick) крайне тяжело. Даже если вы где-то ошибётесь, то при должном умении и следуя инструкция на форумах сможете восстановить работоспособность устройства. Случаи «bootloop» бывают достаточно часто. Чаще всего это решается полной переустановкой прошивки. Желательно сначала прошить заново стоковую прошивку, а потом снова LOS. Soft brick случается гораздо реже. Но если же ваше устройство реагирует хоть на что-то, то в 99%ах случае у вас есть возможность восстановить работоспособность. На моей памяти при внимательном чтении инструкций и форумов ни у меня ни у моих знакомых ситуации с hard brick не было. Был только soft brick из-за попытки прошить устройство неправильным zip-архивом, причем с версии Android 7 на версию LOS 16. Всё удалось восстановить, но лучше не доводить до такого.
  • Иногда при получения рута через стандартный LOS AddonSU рут не предоставляется, хотя в логе будет написано, что установка рута завершилась успешно. При первой загрузке LOS это надо проверять сразу в настройках (ниже описано где). Иногда с первого раза предоставляется только рут на ADB, но не для приложений. В таких случаях надо заново зайти в TWRP, НЕ УДАЛЯЯ НИЧЕГО и НЕ ДЕЛАТЬ НИКАКОГО Wipe, просто повторно через adb sideload загрузить

    adb sideload "C:\Users\Вася пупкин\Desktop\addonsu-16.0-arm64-signed.zip"
  • Иногда, на некоторых устройствах TWRP может не срабатывать. Причем ошибки могут возникать на разных этапах. Начиная с того, что может просто не загружаться меню TWRP или не работать экран, заканчивая тем, что на самых последних этапах может не загружать прошивка LOS. Если что-то не получается, то ищите TWRP под конкретное устройство или даже под конкретную прошивку. Например, для некоторых устройств есть несколько разных TWRP, которые нужны для разных целей:

    1) Прошится со стоковой прошивки Android 8 на LOS 15 (тоже на Android 8)
    2) Прошится со стоковой прошивки Android 9 на LOS 16 (тоже на Android 9)
    3) Обновить LOS 15.1 (Android 8.1) на LOS 16 (Android 9)
    4) И ещё несколько версий TWRP под разные версии экранов.

  • Как было уже выше сказано, иногда при обновлении с мажорной на мажорную версию LOS (например с 15.1 на 16) необходимо сначала поставить стоковую прошивку последней версии. Такое же иногда бывает и при обновлении минорных версий (например, очередной патч безопасности в LOS 16). Установку полной изначальной (стоковой) прошивки с потерей данных (или возней с бэкапом) можно избежать. Энтузиасты «выдирают» из всей изначальной (стоковой) прошивки так называемый firmware (Bootloader + Modem + DSP), запаковывают снова (размером до 50-70 МБ) и выкладывают в интернет. Вам просто необходимо будет также через adb sideload загрузить этот файл. Только старайтесь искать такой файл на более надёжных источниках. Если немного разбираетесь в программировании — то сможете сами «выдрать» эти компоненты из полной официальной прошивки.

    Примечание: Это не означает, что если производитель забросит устройство, то вы не сможете прошить ваше устройство кастомной прошивкой (LOS) или команда LOS сразу перестанет выпускать обновления безопасности. LOS (CyanogenMOD) тем и была популярна, что зачастую они выпускают прошивки с новыми патчами безопасности и даже с новыми версиями Android для заброшенных производителем устройств.
  • Если для вашего устройства ещё не сделали специфичный TWRP, который может загрузить прошивку LOS, то этот этап вы сможете проделать через стандартный recovery (не TWRP, а который вшит в устройство изначально), либо через какой-нибудь другой recovery. То есть если на устройство есть прошивка LOS и на это устройство можно разблокировать загрузчик, то значит возможность установить прошивку у вас будет. Ищите на форумах. Энтузиасты с xda-developer и 4pda обычно очень быстро выпускают версии TWRP для нестандартных случаев. Максимум сколько мне пришлось ждать такого TWRP — 2 дня.

    Для некоторых устройств команда LOS выпускает свой recovery вместо TWRP.

Поздравляю, на данном этапе вы установили прошивку LOS на ваше устройство.

Предподготовка к первому запуску


Но это ещё не всё. Не включая смартфон:
На компьютере с официального сайта F-Droid[43] скачивайте само приложение F-droid. Это магазин приложений. Называется магазин, но там все приложения бесплатные и находятся в статусе open-source.

С этого же сайта скачивайте:

  1. AFWall+ (dev.ukanth.ufirewall) [45]
  2. AdAway (org.adaway) [47]
  3. AppOpsX (com.zzzmode.appopsx) [49]
  4. С сайта организации guardianproject в папке [51] скачиваем последний рабочий Orbot. На данный момент (сентябрь август 2019-го) на моём устройстве из последних работает только версия 16.0.5-RC-2 [53]

Можно всё это сделать заранее.

Если вы хотите перенести СМС — на старом телефоне устанавливайте QKSMS[55] и делайте бэкап СМС.

Если вы хотите перенести список звонков — на старом телефоне устанавливайте Slight backup[57] и делайте бэкап списка звонков. Сделайте лучше бэкап только звонков и контактов, иначе потом могут возникнуть проблемы с переносом. Не выбирайте пункты типа «Настройки» или «Закладки».

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

Далее включаем смартфон и вам предложат настроить его.

  1. Предварительно не вставляйте в телефон СИМ карту. Не закачиваете никаких личных данных. Пока что не переносите свои контакты, СМС-ки, список звонков. Никаких личных данных.
  2. При настройке не включайте Wi-Fi, пропустите этот шаг. Также там же уберите возможность сканировать Wi-Fi сети для геолокации.
  3. Уберите синхронизацию времени по сети. Выставьте правильное время (если вы этого ещё не сделали при первой загрузке LOS)
  4. Уберите возможность делится информацией об установке с проектом LineageOS (хотя это на ваше усмотрение).
  5. Уберите возможность использовать местоположение приложениями (не переживайте, потом можно будет каждому приложению дать отдельно права на местоположение).
  6. Включите Privacy Guard по умолчанию.
  7. Вас попросят настроить блокировку по отпечатку пальца (если на вашем устройстве есть сканер отпечатка). Я не могу ничего по этому поводу сказать, так как не получилось воспользоваться данной функцией по причине отсутствия в моём устройстве сканера отпечатков.
  8. Попросят настроить блокировку по паролю или паттерну (графическому ключу). В данном случае, если вы укажите данный пункт в LOS 16 должен автоматически зашифроваться ваш телефон (точнее раздел с вашими данными). Обязательно поставьте пароль и зашифруйте устройство.
  9. Устройство загрузится. Проверьте в настройках зашифровано ли устройство. Заблокируйте доступ в интернет (стандартными средствами, как — читайте ниже) приложению SIM Toolkit и SIM App Dialog и клавиатуре. Также попробуйте отключить эти приложения (кроме клавиатуры). Чтобы найти эти приложения зайдите Apps & Notifications >See all # apps > в правом верхнем углу «Show system».

    Подключите телефон к компьютеру, выберете передачу данных вместо обычной зарядки. Скиньте вышеобозначенные программы (AFWall+, AdAway, Orbot, AppOpsX) на ваше устройство и установите их на устройство из приложения Files/Файлы.
  10. AFWall+. Открываете приложение, даёте доступ ко всему (Lan/localhost, Wi-Fi и мобильный интернет) ТОЛЬКО для Orbot и доступ к VPN только для AdAway и F-Droid. Остальные приложения не должны иметь никакого доступа. В AFWall+ включаем логирование и отображение уведомлений в настройках.
  11. Родными средствами Android, средствами PrivacyGuard и с помощью приложения AppOpsX убираете по максимуму доступы всех приложений практически ко всему, что не нужно этим приложениям.
  12. Открываете Orbot, включаете дополнительно его как VPN, даёте доступ к VPN для AdAway и F-Droid. Настраиваете подключение VPN от Orbot постоянным, и блокируйте запросы в обход VPN.
  13. Открываете AdAway. Включаете мониторинг DNS запросов.
  14. В LOS в настройках времени и даты убираете синхронизацию по сети.
  15. Сразу идёте в AdAway и смотрите куда пытается подключится ваше устройство. Блокируете запросы типа:
    connectivitycheck.gstatic.com — Captive portal
    time.android.com — синхронизация времени
    izatcloud.net — сервера Qualcom для синхронизации времени и координат для A-GPS. На разных устройствам могут быть разные сервера для A-GPS.

    play.googleapis.com, www.google.com — я не выяснила ещё какое именно приложение и для чего ломится в google. Я просто сразу заблокировала.

    Если у вас нет никаких запросов — попробуйте подключиться к Wi-Fi у которого отключен интернет.
  16. Только теперь на данном этапе подключаетесь к рабочему Wi-Fi (или вставить сим карту)
  17. Скачиваете дополнительно стандартные списки блокировки (и любые другие, которые вам по душе) и включаете блокировку в AdAway. Перезагружаете устройство, чтобы заработал AdAway
  18. Настройте стандартными средствами LOS (и Android) все пункты (ниже в главе LineageOS).
  19. Теперь устанавливайте маркет (магазин приложений) F-Droid и оттуда скачивайте необходимы вам приложения. Так как при скачивании приложения оно может автоматически запуститься и у него могут быть лишние права (не всегда Privacy Guard для новых приложений выставляет разрешения в режим «Спрашивать»), то после установки каждого приложения останавливаете его через список приложений, очищаете данные приложения, выставляете настройки доступов и разрешений и только теперь можно этими приложениями пользоваться. И так с каждым вновь установленным приложением.
  20. Опционально — установите и настройте рабочий профиль через Shelter (если вы собираетесь пользоваться проприетарными приложениям, которым нужен доступ к хранилищу — крайне рекомендую установить и настроить для такого случая Shelter).
  21. Проверьте все настройки. Проверьте как работают те или иные инструменты. Попробуйте заблокировать какой-нибудь сайт (например example.com) в AdAway и зайдите на этот сайт для проверки работоспособности AdAway. Он должен быть заблокирован.

    Проверяйте как настроен AFWall+ и как он блокирует DNS запросы в обход Orbot, например через [59]. В браузерах проверяйте на работу Tor через специальные сайты, например, www.deviceinfo.me или [60]
    Если скачиваете приложения не из F-Droid (чего я крайне не советую) — проверяйте на наличие треккеров на сайте [61] или в приложениях Exodus Privacy[63], ClassyShark3xodus[65]. Там точно будут треккеры, просто это для вас очередное напоминание. После установки приложения, очистите лог AdAway, запустите приложение и в AdAway следите за тем на какие адреса отсылается информация.
  22. Только теперь вы можете перенести свои данные на устройство (например контакты, СМС, список звонков и другие данные).


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


Необходимо шифровать ваш телефон. Установка пароля или графического ключа при первом включении автоматически не означает, что устройство будет зашифровано. Особенно на старых версиях Android или на дешёвых устройствах. Также устройство может не зашифроваться при первом включении устройства, если у вас до этого стояла какая-то другая неродная (не стоковая) прошивка. Наличие шифрования можете проверить в настройках (ищите Encryption (Шифрование)). Шифруется не всё устройство, а только приложения, их данные и ваши данные. Данные системы Android не шифруются, так как по умолчанию к ним и так не должно быть доступа (если заблокирован загрузчик). На самом деле это шифрование не очень надёжное в том плане, что часто находятся изъяны в таком шифровании и обходные пути. Но чем новее телефон и чем новее версия Android, тем меньше шансов на взлом. Точнее, тем тяжелее будет и больше времени понадобится высококвалифицированным специалистам, чтобы обойти шифрование. На современных телефонах (не самой низкой ценовой категории) на последних версиях Android шифрование точно позволит обезопасится от среднестатистического взломщика.

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

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

Я не пользуюсь SD картами, так что не могу вам посоветовать как именно проверять то, что она надёжно зашифрована.

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

Но даже если таких недоброжелателей у вас нет, то вы можете просто потерять ваше устройство, и тот кто его найдёт сможет вам сильно навредить. Или если устройство поломается (например разобьётся экран), то в ремонтной мастерской приёмщик также сможет легко вытянуть все ваши данные. А эти ребята не всегда чистоплотные на руку.

Так что ещё раз: ШИФРОВАНИЕ НЕОБХОДИМО ВКЛЮЧАТЬ!!!

LineageOS


Стандартные настройки LOS


Давайте пройдёмся по настройкам LOS, которые касаются по большей части именно безопасности и приватности. Многие из них относятся и к чистой версии Google AOSP. Рассматривать буду версию LOS 16.

В Settings (Настройки) есть поиск по настройкам.

Network&Internet (Сеть и Интернет)


Wi-Fi

— Wi-Fi preferences (Настройки Wi-Fi)
— Turn on Wi-Fi automaticaly (Включать Wi-Fi автоматически) — нет.

— — Open network notification (Уведомление об открытых сетях) — нет.

Также в настройках Wi-Fi вы сможете добавить скрытую сеть (надеюсь вы дома скрыли свою сеть Wi-Fi).

Mobile network (Мобильная сеть)

— Wi-Fi calling (Звонки по Wi-Fi) — отключить.

— Carrier video calling (Видеозвонки) — отключить.

— Access Points Names (Точки доступа (APN))

Тут в настройках точки доступа (по сути настройки параметров для интернета через сотовую сеть) может стоять прокси. Если он стоит — то AdAway может и не сработать при использовании мобильного интернета. Уточните, можете ли вы отключить этот прокси у вашего ОПСОСа, и не поменяется ли у вас тарификация.Если можно — то отключайте этот прокси.

Connected devices (Подключенные устройства)


NFC — Отключайте NFC и старайтесь им не пользоваться. На эту тему я не могу сказать ничего, так как на моём устройстве нет NFC, а также потому что на эту тему мало информации в части приватности и безопасности.

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

Apps & notifications (Приложения и уведомления)


Notifications (Уведомления)

— On lock screen (На заблокированном экране)
У меня стоит Hide sensetive content (Скрыть конфеденциальные данные). Данная настройка позволяет убирать текст уведомления на заблокированном экране, и оставляет только наименование приложения от которого пришло уведомление. Никто случайно не увидит текст сообщения, предназначенного только вам.

Default apps (Приложения по умолчанию)

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

Самое главное в пункте «Browser app (Браузер)» выберайте или «None (Нет)» или «Tor browser». Это необходимо, чтобы если вам прислали какую-нибудь ссылку, то вы сами выбирали бы в каком браузере открыть (в случае «None (Нет)») или чтобы она открывалась в «Tor browser». Объясню почему — вы можете нажать на ссылку в каком-нибудь мессенджере, которая будет выглядеть адекватно, типа «example.com», но на самом деле там будет ссылка типа «vk.com/away.php?to=example.com» и если вы откроете эту ссылку в своём стандартном браузере, то Вконтакте сможет понять что кто-то на этом IP открывает определённую страницу. Если вы в этом браузере были залогинены вконтакте, то вообще сразу поймёт по каким сайтам вы ходите (не просто общее наименование сайта, а конкретная страница). Но даже если в ссылке нет таких «подлостей», то всё равно вам может быть не по душе, чтобы ваш провайдер интернета знал какие вы сайты открываете и при случайном открытии ссылки в определённом браузере эта информация сразу уйдёт провайдеру.

Advanced (Дополнительно)

— App permissions (Разрешение приложений). Данный пункт я отдельно опишу в связке с PrivacyGuard и AppOpsX.

— Special app access (Специальный доступ)
— Battery optimization (Экономия заряда батареи)
В Android от версии к версии изменяется управление автоматическим закрытием приложений. Всякие функции Doze, машинное обучение статистикой использования приложениями и так далее. Правила меняются, что-то добавляется, что-то убирается. Мне просто надоело угадывать очередные шаги Google. На данный момент я не использую эти функции, точнее: не сильно на них полагаюсь. В данном же пункте я просто добавляю почтовые сервисы и другие приложения, которым необходимо работать в фоне.

— — Device admin apps (Приложения администратора устройства)
В данном пункте не должно быть никаких приложений, кроме тех, в которых вы 100% уверены. Это очень опасное разрешение. По факту это разрешение даёт возможность изменять любую настройку в устройстве. Например, у меня в данном пункте разрешён только Shelter. Да вообще, запрос на это разрешение уже очень подозрителен, даже если вы не выдали это разрешение.

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

— — Do Not Disturb access — DND (Доступ к функции «Не беспокоить»)
Это необходимо для тонкой настройки режимов тишины. Я не пользуюсь этой функцией. Но этой функция иногда нужна вирусам, чтобы выключить оповещения и звук от банковских СМС, когда они похищают деньги со счёта.

— — Modify system settings (Изменение системных настроек)
Это разрешение на изменение яркости экрана, громкости. Эта функция необходима в основном медиплеерам.

— — Notification access (Доступ к уведомлением)
Доступ необходим только к лаунчеру. Нельзя давать другим приложениям читать уведомления, в которых могут быть тексты кодов из СМС и так далее.

— — Picture-in-picture (Картинка в картинке)
Аналогично Display over other apps (Поверх других приложений). Эта функция нужна только проигрывателям видео, и браузерам через которые вы также хотите выводить видео отдельно. Классная функция, кстати. Сейчас даже не все телевизоры её поддерживают.

— — Premium SMS access (доступ к платным SMS) — НИКОМУ
— Unrestricted data (Неограниченный мобильный Интернет)
Для каждого отдельного приложения можно убрать возможность скачивать/закачивать что-либо в сеть/из сети. (я напишу про это отдельно) Но при включении настройки экономии трафика («Настройки» — «Сеть и Интернет» — «Передача данных» — «Экономия трафика») все приложения в фоне (кроме некоторых системных) не могут «стучаться» в интернет. Эта настройка действует как исключение именно для режима экономии трафика.
— Install unknown apps (Установка неизвестных приложений)
Возможность определённой программе предлагать установку других программы. Ранее эта настройка была только на все сторонние приложения разом, теперь же в последних версиях Android появилось разделение доступа к каждому отдельному приложению. В любом случае ни одно приложение (кроме Google Play, который устанавливать я вам не рекомендую) не может устанавливать приложения в фоне. Обязательно всплывёт окно с запросом на установку. В данном пункте у меня стоит возможность только для Shelter и для F-Droid. (подробнее будет ниже). Посылать запрос на установку у системного файл менеджера есть по умолчанию.

— — Usage access (Доступ к данным)
Доступ к общим данным истории использования устройста. Нельзя давать никому. Ну или специальным программам, которые для вас составляют анализ использования устройства. Внимательно давайте доступ к этой функции.

— — VR helper service (Вспомогательные VR-сервисы)
Ничего не знаю об этом. Не пользуюсь VR, соответственно никому доступ не даю.

— — Directory access (Доступ к каталогам)
Очень интересное новое ограничение для доступа к таким папкам как «Pictures», «Movies». Это новое ограничение, появившееся только в версии Android 9 Pie. Дело в том что, сейчас, чтобы получить приложению возможность сохранять картинки в «Pictures», приложение запрашивает полный доступ ко всем файлам!!! В Google решили сделать отдельное ограничение на вышеобозначенные папки. НО практически ни один разработчик приложений не торопится ограничивать себя и просит полный доступ ко всем папкам. На данный момент пользователей Android 2,5 миллиарда[67]. Из них 10% пользуются последней версией Android Pie[69]. То есть для 250 миллионов потенциальных пользователей (количество которых будет только расти) можно было бы переделать своё приложение и показать хоть какую-то приверженность приватности. Но нет, они плевали на нас.

Понятно почему приложениям нужен доступ к этим папкам. Те же мессенджеры сохраняю там картинки, на тот случай, чтобы при удалении приложения (случайном или специальном) картинки остались. Людям не хочется терять памятные фотографии. Но почему практически ни одно приложение не даёт возможность сохранять свои данные во внутреннюю память самого приложения? Возьмём пресловутый Telegram. Такой настройки нет. Он сам выбирает что и куда сохранять (даже файлы из секретных чатов видно другим приложениям, об этом я напишу). Я начала думать как лучше обеспечить возможность использования таких приложений (которым нужен доступ к памяти), но при этом не давай им этот самый доступ. Нашла статью [71] в которой подробно расписана файловая структура и политика ограничения доступа к файловой структуре. Оказалось, что можно делится файлами с приложением, не давая доступ к самими данным. Например, вы хотите послать какой-нибудь файл другу через мессенджер, но не хотите давать доступ к файлам этому мессенджеру. По идее в мессенджере можно было бы реализовать выбор файла через стандартный файл менеджер (и это старая функция). К сожалению разработчики приложений этого не делают. А при ограничении Telegram доступа к хранилищу, не работает даже кнопка Share (Поделится) из самого Telegram. Вот вам и приватный мессенджер!
В Android 10 Q всё ещё раз поменяется в этой части. Мне непонятно как именно будет работать данное ограничение. Если дать доступ к хранилищу, но не дать доступ в этой настройке, то будет дан доступ к остальным папкам? Или наоборот.

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

Насколько я понимаю эта функция — подготовка к функции scoped storage, которая появится в Android 10 Q, но станет обязательной только в Android 11. Ну а пока я ограничиваю доступ к хранилищу всем приложениям с интернетом (или запускаю в рабочем профиле).

— — Wi-Fi control (Управление сетями Wi-Fi)
Новая настройка от Google. Дело в том, что в Android 9 (и в LOS 16), чтобы приложение могло сканировать/переключать/подключаться к Wi-Fi, необходимо чтобы были соблюдены ВСЕ условия
1) Чтобы приложение имело доступ к Wi-Fi control (Управление сетями Wi-Fi). (CHANGE_WIFI_STATE)
2) Чтобы приложение имело доступ к геолокации (ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION)
3) Включена геолокация (не для отдельного приложения, в вообще) И только тогда приложение сможет сканировать сети и подключаться к ним.

Ранее в Android 8.1 (LOS 15.1) достаточно было либо 1-го пункта, либо 2-ого+3ий. Теперь все пункты обязательны. С одной стороны Google как бы намекает пользователям, что если приложение имеет доступ к сканированию Wi-Fi, то автоматом имеет и возможность вычислить местоположение.

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

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

Battery (Батарея)


Battery manager (Battery manager)

— Manage apps automaticaly (Автоматическое управление приложениям)
У меня включена данная функция. Но я не надеюсь на эту функцию в части приватности. Android сам решает, что ограничивать, а что нет. Поэтому я использую эту функцию только для того, чтобы снизить потребление энергии, но не как не для безопасности или приватности.

— Battery saver and perfomance (Энергосбережение и производительность)
— Extreme power saver (Агрессивное энергосбережение).

По идее эта функция, если её включить, должна напрочь убивать/замораживать все приложения работающие в фоне. Я не надеюсь на неё, так как я не уверена в том, что приложения не смогут обойти эти ограничения. Ранее на другом устройстве с Android 7 Nougat у меня была включена аналогичная функция, но особо хитрые приложения от гигантов (не только от Google) умудрялись что-то показывать в уведомлениях. Видимо запускали какие-то комбинации фоновых сервисов, которые поддерживали работоспособность.

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

Если кто-то пользовался данной функцией (в Android 8.1,9 или LOS 15.1, 16) и знает точно результат данной функции, просьба сообщить в комментариях.

— Automatic power saver (Автоматическое энергосбережение)
Эта функция включает агрессивное энергосбережение при достижении определённого уровня заряда. Из-за использования Orbot, VPN и из-за отсутствия Google Play (который может держать одно соединение с интернетом для всех приложений) приложения типа почтовиков/мессенджеров вынуждены каждый сам по отдельности «ходить» в интернет через определённые промежутки времени. Иногда при усердном использовании устройства не замечаешь как батарея сажается. Для этого и нужна эта настройка. Но в пункте «Apps & notifications (Приложения и уведомления)->Battery optimization (Экономия заряда батареи)» я выставила основные приложения (Orbot и почтовик) в исключения. Если честно — я не знаю, почему эти настройки разведены в разные пункты. Если кто-то знает, как именно они связаны — прошу описать в комментариях.

— Performance profile (Профиль производительности)
Помимо выгрузки приложений из фона, также возможно ограничение скорости процессора для увеличения работы от батареи. Я выставила профиль «Balanced (Сбалансированный)», так как я 1) не играю в игры, мне хватает скорости работы и так.

2) стараюсь, чтобы устройство не перегревалось, так как в таком случае батарея гораздо быстрее приходит в негодность. С учётом того, что сейчас просто никто не выпускает устройства со съёмной батареей среднего ценового сегмента (да ещё на которое есть LOS 16), то приходится следить за здоровьем батареи. Кстати, из-за этих же причин я не довожу заряд батареи ниже 20% и не заряжаю выше 85%ов.

Security & Location (Защита и местоположение)


Screen lock (Блокировка экрана)

Тут можно выбрать способ защиты устройства —None (Нет), Swipe (Провести по экрану), Pattern (Графический ключ), PIN (PIN-код), Password (Пароль). Если вы при установке LOS 16 выбрали что-то из Pattern, PIN или Password, то должно было запуститься шифрование устройства. Здесь вы можете поменять тип блокировки. Настоятельно рекомендую оставить что-либо из Pattern (Графический ключ), PIN (PIN-код), Password (Пароль).

Lock Screen Preferences (Заблокированный экран)

— On lock screen (На заблокированном экране) — про этот пункт уже было в «Apps & notifications (Приложения и уведомления)». Некоторые настройки могут быть доступны из разных пунктов, не удивляйтесь.

— Add users from lock screen (Доб. пользов. на заблок. экране)
Возможность добавлять новых пользователей прямо с экрана блокировки. Не включайте эту функцию.

— Work notifications (Рабочие уведомления)
Тоже самое что и в пункте «On lock screen (На заблокированном экране)». Только для приложений в так называемом Work profile (Рабочий профиль). Я отдельно опишу про «Рабочий профиль», как его активировать, чем он может быть полезен и другие интересности.

— Fingerprint (Отпечатки пальцев)
Ничего не могу сказать по поводу отпечатков пальцев, так как на моём устройстве нет такой функции. Не знаю как это работает в части шифрования, связки с другими средствами защиты (Пароля, PIN, графический ключ). Если у кого-то есть информация — просьба поделиться.

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

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

В любом случае, если вы устанавливаете разблокировку по отпечатку пальца — включите функцию Lockdown (описание ищите ниже).

Trust (Trust)

— SELinux
Дополнительный механизм по обеспечению корректной работы разграничения прав доступа на устройстве. Статус должен быть Enforcing (Принудительный) и значок слева зелёным. Если это не так — то ищите решения на форумах. Убедитесь, что вы скачали нормальную прошивку (крайне желательно официальный LOS). Иногда нужно просто обновить firmware.

— Root access (Режим суперпользователя)
В данном пункте меню нельзя ничего менять, здесь только отображается кому дан root. Менять эти настройки можно в System (Система)>Developer options (Для разработчиков)>Root access (Режим суперпользователя). О root я напишу позже. Заранее забегая скажу, что лучше, чтобы в данном пункте было Apps only (Только приложения).

— Android security patch (пакеты безопасности Anrdroid)
Данное меню показывает устранены ли у вас последние известные уязвимости. Показывает два пункта:
-Platform (Платформа)
-Vendor (Производитель)
Если у вас в данном пункте отображается, что не всё в порядке, то ищите решение на форумах. Обычно хватает просто поставить обновления «по воздуху» (OTA обновления) если у вас официальная версия LOS. Иногда надо отдельно скачать firmware (обновление от производителя) и установить его. Ежемесячные обновления безопасности, которые подготавливают в Google, включаются в прошивку LOS очень оперативно. Гораздо быстрее чем на большинстве других прошивок, даже стоковых (изначальных).

— Encryption (Шифрование). Обязательно должно быть включено.

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

— LineageOS statistics (Отправка статистики)
Возможность отправлять статистику на сервера LOS. Вы вольны сами решать отправлять им эти данные или нет. (при первом включении прошивки вас также должны были спросить об этом) Там же можно посмотреть какие данные отсылаются. Мне не нравится наличие в этом списке уникального отпечатка устройства и мобильного оператора. С другой стороны более точная статистика использования устройств поможет понять предпочтения пользователей, и может помочь другим при выборе устройства. Решать вам.

— SMS message limit (Ограничение SMS-сообщений).

Ограничение на отправку СМС сообщений в минуту. Видимо всякие вирусы настолько часто используют эту функцию, что ввели отдельное ограничение. Или пользователи случайно отправляли огромные СМС (каждые 70 знаков в СМС считается за отдельное СМС).

Location (Местоположение)

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

— «Battery saving mode (Режим энергосбережения)» — отключение определения местоположения по GPS и использование местоположение по Wi-FI, bluetooth и сотовым сетям. Я не проверяла как именно работает это ограничение. У меня вообще нет модуля для определения местоположения по Wi-FI, bluetooth и сотовым сетям (так как не установлены Gapps или microg). Видимо ограничение работает так как и написано. Хотя в шторке можно выбрать 3 пункта — 1) по GPS, 2) Wi-FI, bluetooth и сотовым сетям 3) по всем источникам. Во всём Android настройки местоположения и доступов к сканированию Wi-Fi (что по сути также даёт доступ к местоположению) разбросаны по разным углам. Мне проще отключить геолокацию для всего, кроме Osmand вместо того, чтобы разбираться в этих настройках. В этих настройках может быть много подвохов. Например, в обычном Android (с Gapps) есть какие-то запрятанные функции, по которым тяжело полностью отключить Wi-Fi.
— «Scanning (Поиск)» — позволяет приложениям даже при выключенном Wi-Fi или Bluetooth сканировать сети Wi-Fi или Bluetooth. Опять какие-то бредовые настройки. Если честно, мне кажется либо в Google работают полные отморозки, либо это специально сделано, чтобы пользователь не мог разобраться. Я могу собрать и отдельно выписать все эти настройки связанные с геолокацией, сравнивать их, пытаться понять как именно они пересекаются — но это будут лишь мои догадки. В итоге я отключила эту функцию и для Wi-Fi и для Bluetooth.

— App-level permissions (Разрешения для приложений)
Удобный список родным способом (от Android) управления доступом приложений к местоположению в виде списка.

Show passwords (Показывать пароли)

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

Device admin apps (Приложения администратора устройства) — та же настройка, что и в «Apps & notifications (Приложения и уведомления)»-«Special app access (Специальный доступ)»

SIM card lock (Блокировка SIM-карты)

Обычная блокировка/разблокировка СИМ карты по ПИН-коду. Этому способу защиты более 20 лет, я думаю вы должны знать все про это. (Если не знаете — то прочтите эту статью[73]). Если у вас какие-нибудь сервисы привязаны к верификации по мобильному телефону (например банковские приложения) — то рекомендую воспользоваться данной функцией и поставить блокировку. Да, это неудобно, да, есть способы обойти ПИН, но на это потребуется существенное время, и если у вас украли СИМ карту (с телефоном или без) вы за это время успеете найти другой телефон и по звонку в сервисный центр ОПСОС-а заблокировать СИМ карту.

Trust agents (Агенты доверия)

Это приложения для разблокировки устройства в обход пароля или сканера отпечатка пальцев. В стандартной прошивке обычно даётся доступ к приложению Google Smart Lock. Это позволяет быть телефону разблокированным в определённом месте или рядом с определённым роутером Wi-Fi. Рекомендую вам не пользоваться данной функцией и отключить все программы в данной настройке. Могут украсть устройство и у вас рядом с домом (или рядом с тем местом, который вы зарегистрировали как доверенное) его разблокировать.

Screen pinning (Блокировка в приложении)

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

Accounts (Аккаунты)


Список аккаунтов из разных программ. Опасный в части приватности функционал. Любая программа, которая имеет доступ к списку аккаунтов, моментально может связать ваши аккаунты из разных сервисов. Начиная с версии Android 6 Marshmallow, приложению не надо запрашивать список аккаунтов, чтобы иметь доступ к своему аккаунту. Насколько я это поняла из «if an app shares the signature of the authenticator» [75]
Непонятно правда, если компания разрабатывает два приложения с одним «signature of the authenticator», то при установке второго приложения от одной и той же компании второе приложение автоматом получит информацию о том, что установлено первое приложение от этой же компании и получит даже доступ к информации об этом аккаунте? Просьба прокомментировать разбирающихся в этой области.

Собственно говоря, доступ к списку аккаунтов (помимо аккаунта от самого приложения) никак нельзя ограничить стандартными средствами Android. В Google считают, что нам — отребьям (коими Google, видимо, нас представляет), нельзя о таком задумываться. Подробнее на тему ограничений прав доступа опишу далее (можно и нужно будет ограничить в Privacy Guard или AppOpsX). Заранее лишь скажу, что очень внимательно следите какие приложения создают аккаунты, а какие имеют доступ на просмотр списка аккаунтов.

System (Система)


Languages & Input (Язык и ввод)

— Virtual keyboard (Виртуальная клавиатура)
— — Android keyboard (AOSP) (Клавиатура Android (AOSP))
— Advanced (Дополнительные настройки) — включаем Show app icon (Показывать значок приложения). Это надо для того, чтобы потом удобно из списка приложений быстро ограничить доступ клавиатуры к интернету и контактам стандартными средствами Android.

Также в настройках клавиатуры вы можете убрать предложения часто используемых слов
— «Text correction (Исправление текста)» — «Personal suggestions (Пользовательские словари)»
Это на тот случай, если вы кому-нибудь дадите на время телефон в руки, или если бандиты силой заставят разблокировать устройство — то по частоте предлагаемых слов можно очень легко понять ваши предпочтения. ВНИМАНИЕ: не недооценивайте эту настройку. Я лично знаю случай в неблагоприятной семье, когда агрессивный глава семейства ничего не найдя в телефоне жены всё-таки понял, что она собирается заявить на него в полицию, по предлагаемым словам типа «заявить», «полиция» и так далее. Даже если вы удалите все переписки, все лишние свидетельства контактов с кем-либо, следы осядут в клавиатуре. В целом, периодически можно чистить кэш и данные клавиатуры.

Buttons (Кнопки)

— Power button (Меню кнопки питания)
— Lockdown (Блокировка)
Если у вас стоит разблокировка по отпечатку пальца, то поставьте эту функцию обязательно. Она работает так — если вы зажмёте кнопку питания, то помимо «Выключить/перезагрузить/сделать скриншот» появится ещё «Lockdown (Блокировка)», которая заблокирует устройство так, что разблокировать следующий раз устройство можно будет только по паролю или графическому ключу. Это на тот случай если негодяи на улице заломают вас и попробуют приложить ваш палец с сканеру отпечатков. Да, конечно это для редких случаев, но функция может в определённый момент пригодится. Включите — есть не просит.

Status bar (Строка состояния)

— Network traffic monitor (Индикатор сетевого трафика)
Включите в Display mode (Режим отображения) возможность просматривать скорость текущего интернета на скачивание и на выгрузку. Это вам поможет понять, если в какой-то момент какое-нибудь приложение в фоне начинает, что-то усиленно закачивать на устройство, или выгружать на сервера ваши данные. Также поможет предотвратить потребление мобильного трафика.

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

Date & time

Убираем «Automatic date & time (Дата и время сети)», убираем «Automatic time zone (Часовой пояс сети)». По идее эти настройки должны отключить автоматическое выставление времени с серверов Google. Но не тут то было. Всё равно, даже при отключенных настройках система пытается периодически достучаться до серверов Google с ntp. Это видно из логов AFWall+ и Adaway.

ВНИМАНИЕ: Вам придётся вручную выставлять дату и время. Когда вы загружаете TWRP — то дата и время может сбиваться. Когда вынимаете батарейку, дата и время также может сбиваться. Дело в том что Orbot и Tor browser не могут запуститься, если у вас неправильно стоит дата и время. Вы можете потратить усилия, чтобы выяснить в чем проблема, но чаще всего дело в неправильном времени в системе.

Developer options (Для разработчиков)

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

— Advanced restart (Варианты перезапуска)
Позволяет вам перезагрузится в режим recovery без зажатия кнопки громкости вниз. Полезно, если физически эта кнопка сломана.

— Running services (Работающие приложения)
Родной для Android-а инструмент по просмотру списка запущенный приложений и списка приложений в кэше. Тут же можно остановить работу приложения. Если какое-то приложение почему-то запущено, хотя не должно быть — то с этим надо разбираться. Или ограничивать автозапуск, или ограничивать запуск одних приложений другими.

— WebView Implementation (Сервис WebView)
Для того, чтобы в каждое приложение не встраивать браузер или обработчик JavaScript, есть реализация от Google. Так удобнее разработчикам приложений, а также должно экономить место на смартфоне. Например, разработчик может сделать версию для мобильных браузеров и эту же версию подсовывать в своём приложении. Или для того, чтобы в каком-нибудь мессенджере быстро просматривать ссылку, не переходя в какой-нибудь браузер. В LOS установлена реализация WebView AOSP на основе Chromium. Я ниже описала что «сливает» WebView и как этого можно избежать (устанавливать WebView от Bromite). Пришлось оставить включенным, так как некоторые приложения (например, K-9 Mail) используют WebView. Но у меня дойдут руки и я перейду на Bromite WebView.

— Root access (Режим суперпользователя)
Кому должны быть предоставлены права суперпользователи:
Disabled (Выключен)
Apps only (Только приложения)
ADB only (Только ADB)
Apps and ADB (Приложения и ADB)
Желательно, чтобы всегда в обычном состоянии был пункт Apps only (Только приложения). Про root я опишу позже.

— Manage root access (Права суперпользователя)
Список приложений, имеющих root (рут) права в интерфейсе Privacy Guard с возможностью отзывы прав. Рут должен быть предоставлен только тем приложениям в которых вы уверены.

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

— Debugging notify (Уведомление об отладке)
Лучше включить, чтобы видеть, что какое-нибудь приложение пытается подключится по интерфейсу ADB когда подключены к компьютеру
— Revoke USB debugging authorization (Отозвать доступ для USB-отладки).

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

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

— Kill app back button (Закрытие приложения кнопкой «Назад»)
Настройка позволяющая закрывать (точнее насильно завершать) приложение по долгому нажатию кнопки «Назад». Я пользуюсь этой функциональностью, когда необходимо временно запустить приложение, которому я не доверяю, и потом закрыть это приложение после использовании.

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

Root/рут/права суперпользователя/superuser


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

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

Но не стоит пугаться, если вы аккуратный пользователь. К сожалению, Google не предоставляет удобных возможностей по точной настройке устройства, особенно в части приватности. Постепенно, скажем так «достаточно неспешно» Google добавляет возможности для ограничения доступов для программ, но этого мало. Иногда, даже убирает полезные настройки (затруднила деактивацию Captive Portal, убрала поддержку Miracast ради продвижения своего устройства Chromecast работающего только через Google и так далее). Поэтому придётся рутовать устройство, чтобы установить полезные программы, способствующие повышению приватности. Например, такие как Afwall+, Adaway, AppOpsX.

Хочу сразу заметить, что в основном рут бывает 3-ёх видов:
Temporary root — временный рут. Пропадает при перезагрузке.

Full root — полные постоянные права, которые позволяют изменять все разделы и папки, в том числе папку system.

Shell root — неполные постоянные права, которые позволяют читать все файлы, но не могут менять файлы в папке system. То есть нет прав r/w (read and write), а только read. Такое случается, если производитель специально выставил ограничение на запись в этот раздел, а также на устройствах с системой A/B слотов[77]. В разных случаях вопрос решается по-разному.

Вообще-то только для одного приложение, которое я задействую, необходима именно запись в этот раздел: Adaway. Эта программа меняет файл hosts.

Некоторые устройства на A/B с версией Android 9 (LOS 16) теперь дают возможность изменять файлы в system (по крайней мере файл system/etc/hosts возможно изменять) с родным рутом (с addonSU от команды LOS), хотя такой возможности в LOS 15.1 не было. На большинство же других случаев обычно находится специальная версия Magisk, которая меняет структуру так, чтобы появился доступ к system на запись.

Существует множество модулей для рута. Для прошивки LOS обычно используется 2 модуля:

1) addonSU — родной для LOS модуль. Я пользуюсь именно этим модулем, так как он разработан для всех устройств командой LOS, а остальные модули хоть и open-source, но зачастую делаются энтузиастами под каждое отдельное устройство (и у меня нет уверенности в чистоплотности этих энтузиастов). Также Magisk слишком мощный модуль. Учтите, что с рутом через addonSU не будет работать оплата телефоном, Netflix будет работать только с низким разрешением, не будут работать большинство приложений зарубежных банков. Большинство приложений крупных российских банков работают с любым рутом, но оплата устройством по NFC работать не будет. Правда есть обходное решение для прохождения SafetyNet и работы оплаты устройством: iSU [79], [81], но я им не пользуюсь и не могу ничего сказать по поводу работоспособности iSU.

2) Magisk. Очень мощный модуль, может вклиниваться настолько глубоко, что может каким-то образом подменять папку system, делая её изменяемой даже для тех случаев, когда это не предусмотрено производителем. Имеет разные совместимые модули. Может скрывать от программ то, что он установлен, и после сокрытия даже можно настроить оплату устройством через NFC. Но большинство модулей на данный момент не имеют смысла, так как многие функции есть в Android 9 (Энергосбережение, DoH), либо можно настроить с помощью обычного root. Этот модуль слишком мощный и этим он опасен. Если вы очень уверенный пользователь и 100% понимаете что и куда вы устанавливаете, то можно использовать и этот модуль, особенно если выбора нет (например, если у вас закрытый system на запись и вы хотите использовать AdAway). В любом случае, лучше устанавливать Magisk в режиме core-only, чтобы подменять только system и не вклиниваться в процессы.

Если вам нужен полный рут только для того, чтобы менять hosts, и на вашем устройстве не поддерживается full root с AddonSU, то в некоторых редких случаях (устройства с A/B на LOS 15.1) можно всё-таки через TWRP поменять файл hosts и без установки Magisk. Надо читать про каждое отдельное устройство.

Вот пояснение почему некоторые в команде LOS не советуют использовать Magisk и объясняют почему это может быть опасно:[83].

Отдельно надо упомянуть:

a) Нельзя устанавливать одновременно 2 addon-а с рут. Либо «родной» addonSU, либо Magisk, либо какой-то ещё.

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

в) Чтобы установить другой рут, надо сначала удалить предыдущий. Делается также как и устанавливается — по средством adb sideload через специальный zip архив.

В итоге я остановилась на addonSU, так как бесконтактной оплатой не пользуюсь, подписки на Netflix или Ivi не имею, на моём устройстве есть доступ к system на изменение и я могу использовать Adaway без Magisk.

В LOS в настройках лучше будет, чтобы у вас стоял root только для приложений (Apps only) без root для ADB. Дело в том, что если вы подключите своё устройство к какому-нибудь компьютеру, то у вас на устройстве всплывёт окно на авторизацию для доступа определённого компьютера к ADB. И если вы дадите доступ этому компьютеру и если ещё хуже поставите галочку «Доверять всегда», то через компьютер можно будет выудить много информации или даже установить какие-то программы. Но если же будет ещё и рут для ADB, то в таком случае вообще можно внедрить вирусы глубоко и сделать их скрытыми. Да, вам самим в некоторых случаях может понадобиться рут для ADB, но вы можете для таких случаев его временно включать, а потом отключать при ненадобности.

СЛУЧАЙ НА ПРОИЗВОДСТВЕ
Недавно мне принесли устройство для того, чтобы я поставила более безопасную прошивку. На это устройство не было официальной версии LOS, так что я поискала на xda-developers и нашла там неофициальную, но свежую версию LOS. Количество пользователей вроде большое, никто ни на что не жалуется. На это устройство обычный AddonSU работал без полного рут. Там же была ссылка на переделанный модуль Magisk. Я всё это установила и начала наблюдать. В итоге я заметила, что процесс — 11 Linux kernel пытается связаться с каким-то IP, но запросы успешно были заблокированы AFWall+. Я не стала паниковать, так как через — 11 Linux kernel проходят многие запросы, например DNS или NTP (синхронизация времени). Меня смутило, что порт был «0». Я начала искать кому принадлежит этот IP, и оказалось, что этот IP не принадлежит никакой компании, а назначен обычному провайдеру интернета и соответственно какому-то частному пользователю. Никакой информации в интернете об этом IP адресе и сервисов на этом адресе — нет. Вывод: кто-то оставил закладку!!! причём непонятно, в неофициальной прошивке LOS или в неофициальной версии Magisk. Пришлось менять прошивку. Так что будьте аккуратней при установке из непроверяемых источников.

Крайне не советую использовать закрытые (проприетарные) программы, требующие рут. Я устанавливаю программы использующие рут ТОЛЬКО из F-Droid и только популярные. Даже если это какое-то официальное приложение (например банковское приложение), которое требует себе рут, если обнаруживает что у вас устройство рутировано, то всё равно лучше для таких целей заведите отдельное устройство или пользуйтесь веб версией.

Если же вы всё-таки решились на Magisk (или из-за обстоятельств), то будьте очень аккуратны с модулями Magisk. Опять-таки лучше устанавливать официальный Magisk и только популярные open source модули.

Bootloader (Загрузчик)


Разблокировка загрузчика (unlock bootloader) позволяет устанавливать кастомные прошивки (Custom ROM), такие как LOS. При разблокировке загрузчика на некоторых устройствах вы теряете гарантию, так как в некоторые телефоны встроены специальные чипы (например Samsung Knox), которые при разблокировке загрузчика навсегда запоминают, что загрузчик был разблокирован. Даже если вы потом установите стоковую прошивку и заблокируете загрузчик, то всё равно в некоторых случаях нельзя будет скрыть, что загрузчик был когда-то разблокирован.

К сожалению, при установке LOS в большинстве случаев нельзя (технически можно, но устройство работать не будет) обратно заблокировать загрузчик (lock bootloader), кроме нескольких устройств от Google модельного ряда Pixel.

Чем же плох разблокированный загрузчик? Тем, что если злоумышленники украдут ваше устройство, то у них будет возможность установить какие-то дополнения в ваше устройство. Но не смогут получить доступ к текущим данным, если у вас включено шифрование. И если потом с установленными вирусами вам вернут/подкинут устройство, и вы его включите и разблокируете, то ваши данные дешифрируются и установленный вирус может сразу начать пересылать данные злоумышленникам. Выход из этой ситуации есть — если ваше устройство находилось в руках нацеленных на вас злоумышленников (например на границе некоторых стран) более 20 минут, то вам придётся сносить прошивку и заново ставить начисто, не включая телефон (ну или достать СИМ карту, отключить Wi-Fi, скачать свои последние данные и только потом переустанавливать прошивку). Вообще, неизвестно насколько подкованы эти самые злоумышленники, возможно у них есть знания как внедрять вирусы даже при заблокированном загрузчике. В любом случае, если есть подозрения, что устройство попадало в руки злоумышленников даже при заблокированном загрузчике — я бы советовала устанавливать прошивку заново. Особенно на границе (например, китайской), так как они устанавливают следящие приложения и даже не стесняются этого.

Но не всё так плохо. Как вы уже поняли из описания, на вас должны быть нацелены и после того как вам отдадут устройство вы должны будете разблокировать его и войти в интернет и только тогда данные могут «уйти на сторону».

Внимание: не пытайтесь заблокировать загрузчик на прошивке LOS, если вы на 100 процентов не уверены в том, что на вашем устройстве это поддерживается. (поддерживается только некоторым моделями Nexus и Pixel)

F-Droid


F-droid — это программа каталог (маркет) приложений для Android со своим сервером (репозиторием). То есть проект F-droid состоит из двух частей:

1) Приложение
2) Сервер (репозиторий), из которого это приложение может скачивать другие приложения.

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

Первый выпуск проекта состоялся 29 сентября 2010, то есть это достаточно немолодой зарекомендовавший себя проект, всего на два года младше самого Android.
Через их репозиторий (сервер) распространяется только бесплатные open source приложения без треккеров отслеживателей, без рекламы (кроме редких исключений и вас об этом предупредят). Код этих приложений вы можете сами посмотреть и убедится, что там нет встроенной гадости.

Числа пользователей f-droid никто не знает, так как f-droid намеренно не собирает статистику, даже отказались от безобидного подсчёта общего количества скачиваний приложений. Но в последнее время в связи с общемировым трендом на приватность данный каталог приложений ускоренно набирает обороты, если можно судить по количеству приложений в самом репозитории, по количеству сообщений на специализированных форумах.

В официальном репозитории f-droid содержится только свободное программное обеспечение, которое командой F-Droid проверяется специальными инструментами и вручную на наличие закрытых «кусков» кода, на наличие треккеров-отслеживателей и «спорных» функций. Если находятся в приложении элементы отслеживания, которые точно не нужны программе, то тогда такая программа просто не пропускается. Если же какие-то спорные функции обоснованы, но всё равно опасны в части приватности — то это отдельно описывается и выносится в так называемые «Antifeatures» (сомнительный функционал/антифункции)[85]. Давайте посмотрим на каждое предупреждение:

Ads (This app contains advertising/Это приложение содержит рекламу) — наличие рекламы. Это означает, что в данном приложении есть реклама. Для показа таргетированный рекламы приложению необходимо собирать Ваши данные через встроенные треккеры отслеживатели, поэтому приложения и с рекламой и с треккерами отслеживателями НЕ ПРОПУСКАЮТСЯ в f-droid. В f-droid могут пропускаться приложения с нетаргетированной рекламой. То есть только с той рекламой, которая показывается не на основе ваших предпочтений и данных, а просто одинаковая для всех.

Tracking (This app tracks and reports your activity/Это приложение отслеживает и сообщает о вашей деятельности) — наличие треккеров-отслеживателей. Если приложение «в тихую» отправляет какие-нибудь данные на свои сервера, то такое приложение будет с ярлыком «Tracking», если же по умолчанию отслеживание отключено, либо приложение вас в явном виде спрашивает можно ли отправлять данные на свои сервера, то тогда такого ярлыка не будет. Но если даже приложение спрашивает ваше разрешение, но при этом собирает совершенно избыточные данные, или содержит «закрытые» треккеры типа Google analytics, то такие приложения в принципе НЕ ПРОПУСКАЮТСЯ в f-droid. Для нас это значит, что наличие ярлыка «Tracking» не является чем-то очень опасным, так как треккинг либо отключен по умолчанию, либо мы можем его отключить (но не забывайте это делать).

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

NonFreeNet (This app promotes non-free network services/Это приложение популяризует несвободные сетевые сервисы) — это означает, что приложение зависит от «закрытых» серверов. Например, есть приложение Telegram в f-droid, оно с открытыми исходными кодами. Но оно работает только через их сервер, и их сервер нельзя заменить, так как исходные коды сервера команда telegram не выкладывала. То есть используя Telegram вы обязаны пользоваться только их серверами. Данный ярлык предупреждает, что вы под риском. Для примера: есть в f-droid другой мессенджер Conversations. Он хоть и предлагает создать аккаунт на их сервере, но тут же вы при запуске можете не создавать аккаунт, а ввести данные уже существующего аккаунта на другом сервере. И другим сервером может выступать ваш собственный XMPP сервер. Поэтому у Conversations ярлыка «NonFreeNet» нет, чем не может похвастаться Telegram (и Matrix Riot тоже, кстати). Вообще, наличие ярлыка «NonFreeNet» не означает автоматом, что сервер будет с кем-то делится вашими данными, но в век безудержной торговли информацией у владельца сервера есть большие соблазны продать информацию о вас. Также отсутствие ярлыка «NonFreeNet» не означает, что проектом f-droid была досконально проверена реализация сервера. Например, в части реализации своего сервера XMPP для Conversation делалась проверка на то, что существуют возможность сделать свой сервер из исходников (то есть существует open source реализация сервера), но не проверялось на безопасность (например, в части возможности взлома сервера негодяями). Выбор безопасного стороннего сервера (или создание своего) лежит на ваших плечах.

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

NonFreeAdd (This app promotes non-free addons/Это приложение поощряет дополнения с закрытым исходным кодом) — предупреждение, что в приложении можно скачать несвободные дополнения (аддоны, расширения и так далее). Например, такие приложения как OSMand, Fennec f-droid. Для нас это значит, что надо крайне внимательно смотреть, какие расширения мы ставим в приложении. Это не значит, что все дополнения/расширения в Fennec нарушают вашу приватность (некоторые наоборот защищают), но надо быть внимательным.

NonFreeDep (This app depends on other non-free apps/Это приложение зависит от других несвободных приложений) — этот ярлык означает, что приложение полагается на какие-то другие компоненты/приложения, которые не являются свободными. Например, есть приложение «Open In WhatsApp», которое позволяет вам писать кому-нибудь в WhatsApp, не давая доступ к адресной книге самому WhatsApp-у. Понятное дело, что это приложение предназначено работать в связке с проприетарным (закрытым) приложением WhatsApp. Таким ярлыком вас просто очередной раз об этом предупреждают. Хотя само приложение «Open In WhatsApp» позволяет вам хоть как-то ограничить аппетиты «WhatsApp», если вы не можете от него отказаться.

UpstreamNonFree (The upstream source code is not entirely Free/Оригинальный исходный код не является полностью свободным) — это означает, что приложение в f-droid было сделано путём переработки обычного приложения и удаления из него проприетарных (закрытых) компонентов. Это предупреждение нужно по причине того, чтобы вы понимали, что разработчик оригинального приложения не вполне привержен идеологии open source и может добавить ещё каких-то проприетарных компонентов/зависимостей в оригинальное приложение. В итоге «вычищать» приложения для заливки в f-droid станет всё сложнее и сложнее со временем, и энтузиасты откажутся это делать. Но это косвенный показатель, не гарантирующий, что именно так и произойдет. Внимание: это не означает, что приложение в f-droid имеет закрытые компоненты, а означает, что приложение в f-droid было создано из приложения с закрытыми компонентами, которые были удалены/заменены.

NonFreeAssets (This app contains non-free assets/Это приложение содержит несвободные компоненты) — наличие в приложении каких-то ресурсов, под закрытой лицензией. В большинстве случаев под этими ресурсами понимается такие вещи как картинки, звуки, музыка и так далее. Просто если вы скачаете приложение и «расковыряете» его и достанете, например, ярлык приложения, вы не сможете использовать его в своих проектах по закону. Вот и всё. Ничего страшного.

KnownVuln — ярлык означающий, что в приложении точно существуют уязвимости безопасности. Обычно такие приложения удаляются из f-droid, после того как была выявлена уязвимость, так что вы вряд ли встретите такие приложения. Но отсутствие такого ярлыка не означает, что уязвимостей точно нет, это означает, что нет известных уязвимостей.

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

NoSourceSince (The source code is no longer available, no updates possible/Исходный код недоступен, обновления невозможны)— исходные коды перестали быть доступны. Приложение более не будет обновляться, пока исходные коды вновь не станут доступными.

Мне кажется, что это очень взвешенная политика. То что содержит явные гадости — не будут пропущены в f-droid. То, что частично полагается на закрытые компоненты, будет иметь предупреждающие ярлыки.

Так как и приложение f-droid и сервер f-droid являются open-source, то можно использовать другие и приложение и сервер. Например, есть другие клиенты (приложения) для репозитория f-droid — M-Droid [87], G-Droid [89]. Также в самом f-droid вы можете подключить свой репозиторий, или чужие репозитории. Изначально включен по умолчанию 1 репозиторий: F-Droid. Давайте пройдёмся по наиболее известным репозиторям.

  • F-Droid. Официальный репозиторий со стабильными приложениями. Включен по умолчанию. Как уже говорилось, сюда попадают приложения, пройденные через анализ на наличие гадостей. Все приложения собираются из исходных текстов самим проектом F-droid и любой программист может проверить, что проект F-Droid собирает из тех же исходников с помощью инструмента «Детерминированная компиляция» (Reproducible builds) [91]. Если кто-то хоть раз поймает проект F-Droid в подмене исходных кодов, это будет сильнейший удар по репутации проекта. Таким образом обеспечивается доверие к проекту.
  • F-Droid Archive. Тоже официальный репозиторий f-droid с архивными приложениями. Заранее вшит в приложение f-droid, но выключен. Также там помимо архивных приложений встречаются непроверенные на стабильность новые версии приложений. К сожалению, если включить этот репозиторий, то потом при поиске каких-либо приложений выдаются версии без пометок из какого именно репозитория какая версия приложения. Я так пару раз спотыкалась, включала этот архивный репозиторий, мне выдавался список приложений, я скачивала последнюю версию, а она оказывалась нерабочей на моём устройстве и я не могла понять в чем дело. Оказалось, что это было непротестированная версия приложения из архивного репозитория.
  • Guardian project Official Releases. Заранее вшит в приложение f-droid, но выключен. Это репозиторий от проекта Guardian, которые делают Orbot и делают Tor browser для Android. Заранее предустановлен этот репозиторий, потому что Guardian project считается надёжной и доверенной организацией, борящейся за приватность. Но репозиторий выключен по умолчанию.
  • Guardian project Archive — Заранее вшит в приложение f-droid, но выключен. Это репозиторий от проекта Guardian с их архивными приложениями. Также как и F-droid Archive содержит не только архивные, но и неоттестированные приложения. Лучше не включать этот репозиторий, если не имеете цель установить конкретную версию приложения (архивную или бета версию), которая находится в этом репозитории.
  • Bromite репозиторий [93] — браузер Bromite с открытыми исходными кодами [95]. Это переработанный браузер Chrome с попыткой вырезать все треккеры от Google в самом приложении и с блокировщиком рекламы и треккеров отслеживателей на посещаемых страницах. Впрочем, блокировщик рекламы полагается на заранее заданный список и он ненастраеваемый. Также из этого репозитория возможна замена стандартного WebView AOSP Chromium на WebView Bromite с помощью определённых манипуляций.[97]
  • MicroG — репозиторий [99], описание [101]. Содержит приложения из проекта MicroG для эмуляции Google компонентов для push-уведомлений, навигации по Wi-Fi, сотовым вышкам и так далее. Об этом проекте я напишу отдельно.
  • IzzyOnDroid — репозиторий[103], описание[105] — репозиторий open source приложений (с некоторыми несвободными компонентами). Сюда попадают приложения, у которых открытый исходный код (преимущественно на Github), и для которых разработчики приложений собрали файл (в виде .apk) из исходников сами. ВНИМАНИЕ: В этот репозиторий пропускаются приложения с треккерами, приложения полагающиеся на проприетарные компоненты (такие как Google Play). Также, как указано выше, сами файлы приложений apk не собираются автоматически (в отличие от официального репозитория f-droid), что позволяет разработчикам подкладывать приложения, собранные не из тех же исходников и с «закладками». Владелец репозитория отдельно проверяет приложения на вирусы, смотрит на отдельные функции и может даже проверять на то, что приложение собрано из тех же исходников, что представлены. Но владелец репозитория не гарантирует 100-процентную тщательность проверки. Соответственно, я не рекомендовала бы пользоваться данным репозиторием. На крайний случай, если всё же там есть какое-то особое приложение, то можно попробовать установить его, запретив по полной собирать данные, попользоваться и сразу удалить после использования. Крайне внимательно нужно относится к приложениям с доступом в интернет.

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

Есть и другие репозитории, которые вы можете найти в интернете, например [107], [109], [111], но пользоваться этими репозиториями надо аккуратно.

Официальный репозиторий F-Droid де факто становится основным источником open-source приложений на платформу Android для большинства заинтересованных пользователей, в том числе из-за поддержки детерминированной компиляции (Reproducible builds). Пользователи очень сильно просят разработчиков open-source приложений подготовить свои исходные коды так, чтобы они могли быть использованы f-droid (да, некоторые приложения тяжело перевести в определённый формат, годный для f-droid). Это можно наблюдать в issues некоторых приложений на Github-e, Gitlab-е и других Git серверах с исходными кодами.

Большой плюс F-Droid, что их инфраструктура вся open-source и в любой момент любая организация сможет подхватить это дело.

Дополнительная настройка

В Settings (Настройки):

— Manage installes apps (Управление установленными приложениями)
— Repositories (Репозитории) — включение/выключение известных репозиториев, добавление новых.

— Automaticaly fetch updates (Получать обновления автоматически) — позволяет скачивать обновление автоматически. Когда устанавливать обновление — решать вам
— Include incompatible versions (Включить несовместимые версии) — версии для старых устройств и для других архитектур (у вас может процессор x86, на который не все приложения работают).

— Include anti-feature apps (Включить приложения с сомнительным функционалом) — не знаю на что влияет эта настройка, у меня и так показываются приложения с antifeatures. Возможно такой настройкой включается отображение приложения со слишком сомнительным функционалом. Но точно я не знаю. Кто знает, что именно делает эта настройка — просьба написать в комментариях.

— Use Tor (Использовать Tor) — позволяет работать через Tor как через прокси (proxy) на адрес localhost (127.0.0.1) c портом 9050, а также перенаправляет на onion сервера. Для работы необходимо чтобы, был запущен Orbot. Это полезная функция, которая позволяет работать через Tor сеть, не включая режим режима псевдо-VPN (и позволяет пользоваться настоящим VPN) в Orbot, но об этом я напишу отдельно.

— Enable HTTP Proxy (Включить HTTP-прокси) — Работа через HTTP прокси, с указанием Proxy Host (Хост прокси) и Proxy Port (Порт прокси).

— Prompt to send crash reports (Запрос на отправку отчётов о сбоях) — можно ли просить вас отправлять отчёты о сбоях приложении. При включенной опции перед отправкой данных о сбое приложения вас должны спросить о том, можно ли отправить такую информацию. Выбирайте на ваше усмотрение.

— Prevent Screenshots (Запретить скриншоты) — запрещает другим приложением (и даже для встроенной в LOS стандартной функции скриншотов) делать скриншоты, когда вы в приложении F-Droid. Вообще, у приложений есть масса других способов узнать список установленных приложений, так что это может быть только дополнительным способом в купе с другими средствами. Но большого смысла в этом я в этом пока не вижу, так как Android в последних версиях запрещает делать скриншоты обычным приложениям не запущенным в данный момент.

— Hide with search button (Скрыть с помощью кнопки поиска) и Panic button settings (Настройки тревожной кнопки) — настройки, которые позволяют скрывать приложение F-Droid или удалять репозитории по нажатию определённой кнопки, а также удалять определённые приложения. Мне не совсем ясен смысл этих пунктов. Если кто-то получит доступ к разблокированному смартфону, то у этого негодяя и так будет возможность выудить очень много информации, что делает бесполезным данный пункт. Может быть только за исключением случаев, если у вас свой репозиторий и нет шифрования на устройстве.

— Keep cached apps (Хранить кэшированные приложения) — возможность хранить скачанные версии приложений в памяти на определённый срок. Я оставила у себя 1 месяц. Это на тот случай, если вы обновите какое-нибудь приложение и новая версия будет работать нестабильно. Особенно это будет полезно, если это какое-нибудь приложение для интернета (например VPN) и новая версия перестанет работать. Вы сможете установить предыдущую версию. К сожалению в последних версиях Android стоит запрет на downgrade (понижение версии) приложений. Это значит, что вам придётся удалить приложение, и поставить более старую версию с потерей настроек. Так что придётся либо экспортировать настройки из приложения (если такая функция есть), удалять приложение, ставить предыдущую версию и импортировать настройки. Либо изощряться с помощью других способов (копирование папки с настройками через специальный файл менеджер с рутом или через специальное приложение oandbackup
(dk.jens.backup) с рутом).

Сохраняются файлы скачанных приложений .apk в папку data/data/org.fdroid.fdroid/files или в mnt/sdcard/Android/data/org.fdroid.fdroid/cache/apks

Далее включаем Expert mode (Экспертный режим).

— Unstable updates (Нестабильные обновления) — показывать и предлагать к установке нестабильные обновления приложений. У меня не включен этот пункт, так как даже при выключенной настройке, иногда попадаются версии немного нестабильные. Хотя были некоторые приложения, которые уже в Google Play были обновлены, но в F-Droid числились как нестабильные. Так что, если есть какое-то приложение, которое должно было обновиться, и там должны появиться нужные вам функции, то можете попробовать включить этот пункт.

— Allow repos to install/uninstall apps (Разрешить репозиториям устанавливать и удалять приложения) — позволяет владельцам репозиториям посылать запрос на удаление/установку программ. Полезно, если вы сделали свой репозиторий для своих друзей и через время оказалось, что какое-то приложение слишком опасное, и вы можете послать запрос на удаление этого приложения всем. Или наоборот, появилось новое интересное приложение, вы посылаете всем своим друзьям (у которых настроен ваш репозиторий) запрос на установку нового приложения. Полезно также, если вы сделали репозиторий для ваших пожилых родителей.

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

Также в приложении F-Droid есть возможность передавать приложения (только apk, без настроек и внутренних данных) на другие устройства через Wi-Fi, bluetooth или USB флешку через USB-OTG переходник. Полезно, если рядом нет интернета. Делается это не в настройках, а в главном меню через пункт «Nearby (Рядом)»

Дополнительная информация:

Минусы F-Droid:
— Иногда скорость скачивания приложений и обновления списка приложений бывает низкой. Это нормально, так как F-Droid живёт на пожертвования и не имеет возможности делать высокоскоростные сервера и CDN-ы. В настройках основных репозиториев есть список «зеркал» — вспомогательных серверов.

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

— Нет рейтинга приложений, немного устаревший интерфейс, неудобный поиск.

— Не видно из какого репозитория представлено то или иное приложение. Если вы включите несколько репозиториев, то непонятно, что является архивной/бета версией, а что стабильной и и из какого репозитория приложение.
-Иногда, когда выходит обновление для какого-нибудь приложения, это обновление видно при поиске этого приложения в F-Droid, но почему-то F-Droid не предлагает обновиться (вроде исправили, последнее время не встречала таких случаев).

Плюсы:
-В последних версиях Android разрешение на установку из сторонних источников (не только из Google Play) выдаётся для каждого отдельного приложения. Можно дать разрешение на установку только для F-Droid, что уменьшает вероятность установки из других источников. Но это плюс новых версий Android, а не F-Droid.

— F-Droid показывает все разрешения, которые требует приложение, в том числе и большинство «нормальных». Google считает, что некоторые разрешения (например, доступ в интернет) настолько незначительные, что можно о них и не говорить. Google Play не показывает эти разрешения, считая что вам не надо знать, что приложение хочет иметь доступ в интернет!!!
-В F-Droid на странице приложения даются ссылки на исходники (source code) и сайт приложения. Проще искать обсуждения ошибок (issues), рекомендации и так далее.

Насчёт полноты и качества приложений в F-Droid.

Количество и качество приложений постепенно, но неумолимо растёт. Прочитайте статью (если ещё не прочитали)[113]. Но помимо этой статьи я хотела бы обратить внимание на такие приложения как:

  1. Anysoftkeyboard (почему то нельзя скачать с сайта, но есть в приложении F-Droid)+русский язык к этой клавиатуре[115]. Если у вас не LOS, то это точно приложением для вас. Главное — клавиатура не просит доступа в интернет (в отличие от клавиатуры Google или SwiftKey).
  2. Файловые менеджеры Amaze[117], File Manager [119]. Только аккуратно, эти файл менеджеры могут работать с рутом. Вы можете случайно что-то удалить в системе. Просто будьте аккуратней, если вы выдали им права на рут.
  3. Просмотр PDF MuPDF viewer [121], или его мини версия MuPDF mini, [123]
  4. Создание QR кодов, и других штрихкодов — Barcodegen [125]. Из протестированных мной мне понравился больше всего.
  5. Считывание QR кодов Barcode Scanner [127]. Только я ему на всякий случай запретила доступ в интернет.
  6. Считывание QR кодов — SecScanQR [129]
  7. Net Monitor [131] — программа, в который вы можете видеть какие приложения с какими IP соединяются. Это программа интересна тем, что может видеть, что некоторые соединения идут по незашифрованному HTTP (а не HTTPS) и в общем для мониторинга. Но для меня оно еще интересно тем, что его функционал нельзя ограничить! Это подтверждение проблемы открытости proc/net.!
  8. Медиапроигрыватель VLC [133] — всем известный проигрыватель видео, теперь и на F-Droid. Последняя версия проиграла все файлы, которые я ему подкидывала. Может быть какие-то особые кодеки этот проигрыватель и не распознает.
  9. Эмулятор J2ME — J2ME Loader [135] — пожилые могут тряхнуть стариной и запустить приложения/игры, в которые они играли на своих старых Nokia и Siemens. А молодняк может погрузится в этот мир с археологическими целями, чтобы изучить как мы — динозавры, жили.
  10. Оффлайн календарь — Simple Calendar — [137]. Android устроен так, что для календаря обязательно требуется какой-нибудь аккаунт для того, чтобы можно было пользоваться календарём. Если вы не хотите (или пока что у вас нет никакого сервиса поддерживающего календари), то можете установить это приложение и у вас будет календарь на устройстве.

Вообще, в F-Droid есть целый набор приложений от simplemobiletools. И календарь и заметки и контакты и фонарик и так далее. Эти приложения отличаются тем, что просят разрешений по минимуму. Каждое приложение выполняет только свою функцию.

Есть ещё куча других интересных приложений — эмуляторы игровых приставок, клиенты VPN (OpenVPN, Wireguard и так далее), куча мелких игр (есть Тетрис), заметки, календари, справочники, программа для выкачивания Wikipedia для просмотра оффлайн (Kiwix), периодическая таблица Менделеева, сканирование базовых станций сотовых сетей для дальнейшей помощи геопроектам или на проверку попыток прослушивания вас (Tower collector[139]), приложения для умных часов, сборники мемов, менеджеры паролей, торрент клиенты, i2p клиенты, SIP клиенты, шифрование обычных СМС при передаче — Silence (но работает только если у обоих собеседников установлено приложение), различные оболочки (лаунчеры/launcher), списки задач и многое другое. Качество таких приложений растёт. В большинстве случаев функциональность приложений не хуже чем у аналогов в Google Play (а иногда даже лучше). В Google Play почти не появляется принципиально новых приложений, появляются в основном аналоги существующих. Поэтому не надо обращать внимание что в репозитории F-Droid всего 2000 приложений — их с лихвой хватает.

Если вы можете читать на английском — то также есть отдельный форум [141] с вопросами/ответами, подборками и новостями по приложениям в F-Droid.

Слот VPN


В Android есть возможность использовать VPN. Для этого используется специально выделенный слот VPN, который может быть задействован различными программами. Много хороших программ для реализации своих функций используют слот VPN и создают псевдо-VPN, например, NetGuard (файрволл + условный блокировщик рекламы и треккеров), Blokada, DNS66 (блокировщики рекламы и треккеров). Реализуя свою функцию, к сожалению, данные программы «забивают» слот VPN, но при этом реально не создают защищённого подключения к какому-либо серверу с VPN. Используя эти неплохие программы вы лишаетесь возможности использовать реальный VPN. Эти программы неплохи, если у вас нет рута (права суперпользователя) и вы не хотите использовать VPN, но хотите дополнительно ограничить некоторые программы + «порезать» рекламу и треккеры.

Программы в рабочем профиле и устройства подключенные к вашему смартфону через раздачу интернета (tethering) — НЕ ПРОХОДЯТ через VPN, а проходят напрямую. (хотя с помощью определённых настроек Orbot и iptables (через скрипты в AFWall+) можно добиться чтобы всё проходило через VPN).

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

AFWall+ (Android Firewall +) и встроенный Firewall


Google считает, что есть так называемые «нормальные» разрешения. Это те разрешения, которые нельзя ограничить стандартными способами, и о которых вас не предупредят ни в описании Google Play, ни при установке приложения. Одним из таких разрешений является доступ в Интернет!!!.. Вы можете даже не знать, что приложение имеет доступ в интернет. Лично я пытаюсь жёстко ограничивать доступ в интернет всем приложениям, которым это не надо. Я стараюсь в принципе не давать доступ в интернет приложениям, которые имеют доступ к моим файлам. Например, приложениям для фотографирования, просмотрщикам PDF и так далее. И наоборот, те приложения, которые имеют доступ в интернет (браузеры) не должны иметь доступ к Хранилищу (Storage), контактам и так далее. Для ограничения интернета приложениям я использую два инструмента:

Встроенный Firewall


Встроенный в Android — это изначально встроенный во всех последних версиях Android Firewall. Но Android ограничивает возможность пользоваться этими настройками! В LOS эта возможность присутствует (не убрана). В «Settings/Настройки»- «Apps & notifications/Приложения и уведомления» выбираете приложение, там настройка «Data usage/Передача данных» и тут в LOS 5 настроек:

  1. Wi-Fi data/данные Wi-Fi — выключить приложению интернет по Wi-Fi
  2. Cellular data/Мобильные данные — выключить приложению интернет по сотовой сети
  3. Background data/Фоновый режим — выключить приложению доступ в интернет, когда приложение в свёрнутом состоянии (в фоновом режиме).
  4. VPN data — ограничивает возможность использовать сеть через VPN.
  5. Unrestricted data usage/Неограниченная передача данных — об этом я писала ранее. Ограничивает возможность доступа в интернет в режиме «экономии трафика»

Я стараюсь ограничивать интернет по полному, начиная со встроенного файрволла. В первую очередь при первом запуске устройства я ограничиваю доступ клавиатуре, встроенному браузеру. Но не сильно доверяю этим настройкам, так как они не могут ограничивать процессы/приложения из разряда «Core/Ядро», а также я читала, что некоторые приложения умеют обходить ограничения на запрет «Background data/Фоновый режим». Я не знаю какие «дырки» неспециально или умышленно Google оставили в своей системе.

Для тех у кого не LOS эти настройки могут отличаться или их может не быть совсем. Иногда требуется установить дополнительное приложение, которое даст доступ в скрытые настройки. Есть приложения, которые организуют интерфейс для этих настроек (внутренних). Но я такими приложениями не пользуюсь — просто знайте, что если у вас не LOS, то вы всё равно можете попытаться ограничить доступ в интернет системными способами без рута и без приложений использующих слот VPN (с использованием слота VPN — NetGuard).

AFWall+


AFWall+ — Файрволл/Брандмауэр на основе инструмента iptables[143]. Это приложение требует рут (root), но не обязательно с полным доступом на изменение system, так что заработает на любом устройстве с правами суперпользователя. Плюс данного приложения, что оно не задействует слот VPN.

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

  • «Wi-Fi control/Управление Wi-Fi» — доступ к интернету и сети через Wi-Fi.
  • «LAN control/Управление сетью» — доступ к LAN и localhost. Данное ограничение входит в «Wi-Fi control/Управление Wi-Fi», если не включить его отдельно в настройках.
  • «Mobile date/Мобильные данные» — доступ к интернету через мобильную связь (2G,3G,EDGE,LTE,4G).
  • «Roaming control/управление роумингом» — доступ к интернету через мобильную связь в роуминге. Данное ограничение входит в «Mobile date/Мобильные данные», если не включить его отдельно в настройках.
  • «VPN control/Управление VPN» — доступ к интернету через VPN, если VPN подключен. Возможность управлять данным ограничением включается, только если это указать в настройках. Иначе программа будет ориентироваться на то, через что подключен сам VPN.
  • «Tor control/Управление Tor» — доступ к сети Tor, а точнее насильное переключение на сеть Tor. (внимание — это функционал не на запрет или разрешения пользоваться сетью Tor, а именно попытка переключить на сеть Tor)

На главном экране есть разделение на
«All/Все» — список всех приложений.

«Core/Ядро» — отдельно список приложений, относящихся к ядру Linux.

«System/Система» — отдельно список системных приложений.

«Пользователь/User» — отдельно список установленных вами приложений.

Давайте пройдёмся по настройкам
Preferences/Настройки
-UI Preferences/Интерфейс пользователя
— Enable notifictations/Включить уведомления — показывать предупреждение о том, что установлено новое приложение и ему необходимо дать/забрать права на интернет. Полезно, если у вас будет стратегия «Block selected (Блокировать выбранное)» (об этом позже), чтобы новое приложение не успело что-то отправить в интернет, до тех пор пока вы не отключили ему доступ.

— Rules progress/Ход применения правил — я включаю данную настройку, чтобы видеть что правила применяются. В редких случаях (в последних версиях всё реже) применение правил может «застрять». В таком случае я выхожу из приложения и заново запускаю «Применить правила».

— Show filters/Показать фильтры — делать для удобства в интерфейсе фильтры для просмотра типа «все/ядро/система/пользователь».

— Show UID for apps/Показывать UID для приложений — отображать код установленного приложения UID. Я использую эту функцию для наглядности. Советую включить.

— Confirm AFWall+ disable/Подтверждать отключение AFWall+ — я включаю данную функцию, чтобы случайно не отключить файрволл и ни на долю секунды не дать возможность какому-нибудь из приложений «проскочить» в интернет.

— Rules/Conectivity (Правила/соединение)
Тут я включаю дополнительно
«LAN control/Управление сетью», «VPN control/Управление VPN», «Tor control/Управление Tor». Roaming control я не включаю, так как насколько я знаю российские ОПСОС-ы действуют хитро, они иногда каким-то образом настраивают взаимодействие сетей так, что телефон не понимает, что вы роуминге. Поэтому я не бы не полагалась сильно на эту функцию.

Далее представлены настройки для продвинутых пользователей, но нам необходимо будет ими воспользоваться!

-Log/Журнал
— Turn on loh service/Включить службу журнала — я включаю данную службу, чтобы потом можно было посмотреть какое из приложений куда «ломится». Очень полезная функция. С помощью данной функции я поняла, что даже в LOS даже при выключенной синхронизации времени и выключенной отсылки статистики всё равно система пытается добраться до каких-то NTP серверов, но не только до них (например на 1.1.1.1, на какие то другие ip, которые даже не «гугляться». К сожалению в бесплатном функционале приложения (а есть и платная версия AFWall+) лог не очень удобен и не очень информативен.

— Enable show toast/Включить уведомления — показывать уведомления при попытке какого-то приложения получить доступ, в том случае, когда доступ блокируется AFWall-ом. Но это не уведомление в верхней шторке, а уведомления небольшими всплывающими надписями (toasts). Полезно при настройке доступов. Иногда какой-нибудь нестандартный функционал (типа Tethering/раздача интернета через Wi-Fi) не работает и вы не можете понять почему именно. В таком случае может всплыть сообщение какой именно процесс заблокирован и вы сможете понять, что надо включить, чтобы функционал заработал. Но не всегда данная надпись отображается, хотя дело может быть именно в том что в AFWall+ что-то ограничено. И наоборот, может быть что отображается запрет на один процесс, а надо дать доступ другому (такое редко случается). Но это всё касается не обычных приложений, а каких-то более системных функций.

— Security/Безопасность
Данное меню предназначено для установления пароля и графического ключа на доступ на открытие приложения. Я этим функционалом не пользуюсь, потому что не даю никому устройство в руки и моё устройство зашифровано. Но если же вы даёте кому-то в руки устройство, то можете поставить защиту на это приложение. Я считаю, что для таких целей более эффективно поставить отдельную защиту от самого LOS на все приложения, имеющие рут (и на другие приложения с чувствительными данными), чем только на одно приложение. (не пользуюсь этой встроенной в LOS функцией и к сожалению не могу подсказать как именно).

— Experimental/Экспериментальные
— Fix startup data leak/Исправить утечку данных при запуске — ВАЖНО! Дело в том, что AFWall имеет недостаток: эта программа запускается не самой первой при загрузке устройства, и ограничения, заданные в программе, пропадают при перезагрузке устройства. В те несколько секунд, когда устройство уже загружено, но ещё не запустился AFWall+ устройство успевает подключиться к интернету, и некоторые программы успевают получить доступ в интернет на 1-2 секунды. Для устранения этого недостатка есть эта предлагаемая функция. Надо сначала выбрать в «Startup directory path for script/Путь к папке загрузки для скриптов» экспериментально подходящий вариант, и тогда включить «Fix startup data leak/Исправить утечку данных при запуске». Но скорее всего именно для этой функции потребуется полные права суперпользователя с system r/w (read/write).

Также эту проблему частично можно решить с помощью таких действий:

1) Ограничить доступы тем приложениям, которые никогда не должны иметь доступ в интернет через системный файрволл (выше описано как). Но это не решает проблемы доступа приложений/процессов со статусом «Core/Ядро».

2.1) Выключать Wi-Fi и сотовую сеть до перезагрузки/выключения телефона
2.2) Особо умелые могут сами написать скрипт «невключения» Wi-FI и сотовой связи при включении устройства.

3) Заблокировать запросы к сайтам, на которые пытается «достучаться» ваш телефон через файл hosts (например через программу AdAway). Минус такого способа в том, что через файл hosts блокируются только попытки доступа к сайтам через имя сайта, не не через IP. Например, в первые секунды пролезают запросы к IP типа 1.1.1.1. (DNS Cloudflare).

4) Отключить «Запуск при включении устройства/run at startup» для некоторых приложений в Privacy Guard (в Privacy Guard называется «Start at power up») или AppOpsX.

— Enable inbound connections/Разрешить входящие подключения — если вы хотите иметь доступ из локальной сети к устройству (Samba, sshd, AirDroid и так далее), то необходимо будет включить данный пункт.

Enable multi-user support/Включить многопользовательскую поддержку — данный пункт необходим, если у вас есть несколько пользователей. То есть, если вы сделали несколько пользователей (multiple-users) на вашем устройстве (не путать с рабочим профилем). К сожалению AFWall+ работает с несколькими пользователями только в режиме «Block selected (Блокировать выбранное)» (об этом ниже). А также мне не удалось нормально настроить 2-го пользователя с возможностью пускать трафик у 2-го пользователя через VPN, поэтому я эту функцию (дополнительных пользователей) не смогла протестировать нормально.

Dual apps Support/Поддержка двойных приложений — поддержка разграничения прав для двойных приложений по типу «Рабочий профиль», двойные приложения в прошивке MIUI, Island и другие аналогичные инструменты. У меня включен данный пункт, так как я пользуюсь «Рабочим профилем» для создания отдельного пространства для некоторых приложений. Сразу хочу отметить одну деталь — AFWall+ не видит приложение в рабочем профиле, до тех пор пока такое же приложение не будет установлено в основной профиль (надеюсь разработчик это поправит). Что мне приходится делать: я устанавливаю приложения и в основной профиль и в рабочий, в основном (личном) профиле я всеми средствами блокирую доступы в интернет (через системный файрволл), права на автозапуск и работу в фоне и все остальные права, но даю необходимые права приложению в рабочем профиле на те виды доступа в сеть, которые я хочу дать. Тогда всё работает. Кстати, вы можете таким образом установить 2 одинаковых приложения на одной устройство с разными аккаунтами. Но если вы таким образом хотите обойти правила какого-то сервиса, то не обольщайтесь, эти сервисы смогут понять что оба приложения принадлежат вам через proc/net и через IMEI устройства.

Также есть момент насчёт приложений из рабочего профиля — к сожалению в фильтрах System/Система и User/Пользователь приложения начинают смешиваться и попадать в разные категории. Что-то из рабочего профиля попадает в фильтр «System/Система». Но это влияет только на отображение в AFWall+ и никак не влияет на функциональность. Вы сможете отличить приложения из рабочего профиля по букве «M» после названия приложения или по длинному UID, например [101001] Phone Services (M).

— Profiles/Профили — всё просто, в данном пункте можно настроить несколько профилей (до 4-ёх). Если у вас несколько сценариев использования устройства в части доступа в интернет или внутренней сети — то вы можете настроить несколько профилей и переключать их по 1-ому нажатию. Даже есть виджеты на рабочий стол от AFWall+.

Логика ограничений в данной программе разделяется на 2 способа:

1) Allow selected (Разрешить выбранное) — разрешить только то, что выбрано. Это более «жесткий метод», но я пользуюсь им. Жёсткий он тем, что при установке какого-то приложения надо отдельно давать ему доступ. Но этим мне этот метод и нравится. Сразу хочу оговорится, что на LOS 15.1 лично у меня почему-то этот метод не всегда срабатывал и приходилось давать доступ к некоторым приложениям относящимся к «Core/Ядро» и «System/Система».
2) Block selected (Блокировать выбранное) — как понятно из названия блокирует только выбранное. Старайтесь избегать этого метода, так как лучше действовать по принципу «Запрещено всё, что не разрешено».

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

Разберём самый простой вариант, когда у вас нет ни VPN, ни Orbot, встроенных Google приложений, никаких других особых прокси серверов.

В простейшем случае заработает всё очень просто. Выставляете на режим «Allow selected (Разрешить выбранное)» и просто даёте доступ ТОЛЬКО приложениям которые вам необходимы только к Wi-Fi или мобильному интернету.

Иногда это не срабатывает и надо дать ещё доступ к «[-10] (Any app) Same as selecting all apps/ (любое приложение) — то же, что и выбор всех приложений ». Хотя и называется «то же, что и выбор всех приложений», но это автоматом не должно дать доступ сразу всем приложениям.

То есть, если вы в режиме «Block selected (Блокировать выбранное)», то галочка на данном пункте должна блокировать доступ всем приложениям, а в «Allow selected (Разрешить выбранное)» у меня (на LOS 16) никак не влияет ни на что. Но, к превеликому сожалению, это может варьироваться от версии к версии Android и других настроек. Проверяйте заранее. И проверяйте при обновлении на новую версию LOS (или Android).

В некоторых случаях необходимо включить «[0] (root) Apps running as root/приложения с root доступом», хотя этот пункт не означает доступ именно для тех приложений, которые вы устанавливаете с правами root.

В некоторых случаях необходимо включить «[-11] (kernel) — Linux kernel/ (ядро) — ядро Linux». Но данный пункт надо включать внимательно. У меня при заблокированном данном пункте всё работает, причем в логах видно, что данный процесс постоянно пытается куда-то «достучаться».

Есть некоторые приложения, которые сгруппированы под одним UID, и можно отключить/включить интернет только группой. В основном это группа [1000] Под этой группой понимаются большинство системных приложений Android. У меня эта группа отключена.

Есть ещё некоторые пункты, которые необходимо включать, если вам они необходимы.

  1. [12] « (tethering) DHCP+DNS services/ (раздача) — службы DHCP+DNS» и «[0] (root) Apps running as root/приложения с root доступом» для «Wi-Fi» — для того, чтобы работала раздача интернета устройства через Wi-Fi.
  2. [10010] «Download manager». Некоторые программы не имеют своего «Менеджера закачек» и отдают на откуп этому приложению. Придётся дать ему доступ в интернет. Только учтите, что если вы заходите на сайт через VPN или Tor, и процессу [10010] Download manager дан доступ к обычному интернету (напрямую через Wi-Fi или мобильную сеть), то Download manager начнёт скачивать через обычную сеть и выдаст ваш IP!!! Это одна из угроз приватности, если вас это интересует — будьте внимательны.
  3. [1021] « (gps) — GPS/GPS» (система глобального позиционирования) — я не уверена, но скорее всего этот пункт нужен для системы A-GPS. Если у вас очень долго определяются спутники, можете попробовать включить этот пункт.
  4. [10070] Captive portal login — этот пункт необходимо включить, если вам необходимо попасть на специальную страницу авторизации сети Wi-Fi. Например, где-нибудь в кафе или в мотеле при подключении к Wi-Fi обычно всплывает окно или страница, где вам предложат каким-то образом зарегистрироваться/оплатить/идентифицировать себя. Делается это в том числе с помощью этого инструмента Captive portal. Проблема в том, что чтобы всплыло это окно, устройство «стучиться» на сервера Google (обычно на их сервера). Поэтому, если вам необходимо подключиться к так называемому хот-споту, то придётся включить этот пункт (можно временно).
  5. некоторым приложениям из-за реализации некоторых API в Android необходимо будет дать доступ к LAN (например, для AppOpsX в режиме совместимости и для некоторого функционала Termux).
  6. Не пытайтесь насильно переключать приложения в статусе «Core/Ядро» на Tor через AFWall+.

Изощрения начнутся, если вы захотите настроить устройство в связке AFWall+ плюс Orbot плюс дополнительно VPN плюс рабочий профиль.

Я хочу вам предложить свой вариант настройки AFWall+ в связке с Orbot и Рабочим профилем без Google приложений на LOS 16 (хотя срабатывало и на LOS 13 и 15.1)

  • Выбираю стратегию «Allow selected (Разрешить выбранное)»
  • Orbot включен, включен псевдо-VPN в Orbot. В AFWall+ даны доступы для приложения Orbot к LAN, Wi-Fi, мобильной сети, VPN.
  • Даны доступы только к VPN обычным приложениям типа браузеры, мессенджеры, F-Droid, [10008] Updater и так далее.
  • Только тем приложениям, которые отказываются работать через VPN или Tor (например банковские приложения) дан доступ к Wi-Fi и/или мобильной сети.
  • Приложениям в рабочем профиле (с буквой (M) на конце) дан доступ к Wi-Fi и/или мобильной сети, так как В ЛЮБОМ случае все приложения из рабочего профиля не могут задействовать текущий VPN. (без особых ухищрений и скриптов).
  • При надобности включаю для [12] « (tethering) DHCP+DNS services/ (раздача) — службы DHCP+DNS» для «Wi-Fi» и [10010] «Download manager» или другие какие-то специфические доступы.

И всё, всё работает. 99% трафика в 99%-ах случаев идёт через VPN/Orbot, а без VPN/Orbot идёт только то, что я явно указала. Это мой способ, в части приватности рекомендую вам сделать также, но не могу настаивать. Если в моём способе есть какие-то слабые места — просьба сообщить в комментариях.

Про настройку переключателя — «Tor control/Управление Tor». Эта настройка не ограничивает доступ к Tor, а принуждает приложения использовать сеть Tor, даже если в Orbot не включен псевдо-VPN и даже если в самом приложении нет настройки «Использовать Tor» или возможности задать прокси. Для того, чтобы это сработало надо указать к какой сети может иметь доступ приложение (Wi-Fi или мобильной) и поставить «галочку» в «Tor control/Управление Tor». Тогда приложение насильно будет использовать Tor.

Минус такого способа в том, что происходит «утечка DNS/DNS leak». Сами приложения используют сеть Tor, но по серверу DNS (который помогает понять программе/устройству на каком IP находится сервер сайта, к которому вы обращаетесь), могут примерно понять где вы находитесь и даже соединить все запросы в один профайл и понять кто вы.[145]. Поэтому я не использую этот вариант.

На самом деле в AFWall+ можно самому писать правила в «Set customs Scripts/Пользовательские скрипты» и если вы знаете как писать эти скрипты, то вы сможете насильно заставить проходить трафику через Tor без включения псевдо-VPN и без утечки DNS. Функционал пользовательских скриптов очень широкий. Можно даже использовать Orbot без включения его псевдо VPN, настроить отдельный «настоящий VPN» и часть приложений пускать через Tor, часть через настоящий VPN, часть напрямую. Как уже выше говорилось, AFWall+ является обёрткой над инструментом iptables.

В ходе настройки под себя обязательно тестируйте на утечки DNS, на то реально ли пускает приложение через Tor, VPN и так далее.

Полезные ссылки:
а) Раздача интернета с устройства сразу через Tor [146]. По умолчанию интернет раздаётся с устройства напрямую с мобильной сети незадействуя Tor/Orbot.

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

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

AdAway


Блокировщик рекламы и треккеров по средством изменения файла hosts на устройстве. По факту — это просто обёртка для удобного редактирования файла hosts. Требует рут, причём полный, с доступом на запись в system, то есть с правами r/w (read and write).

Плюсы —

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

Минусы —

  • Требует полный рут. Но есть обходной путь, который иногда срабатывает, когда нет полного рута [149], [151], [153].
  • После изменения правил требует перезагрузки устройства, чтобы они начали учитываться.
  • «Не тянет» очень большое количество правил (но это не тянет само устройство). Не советую подключать очень много правил. Хватит тех списков, что есть по дефолту + 1-2 списка для русскоязычных сайтов.
  • Нельзя выставить правила по отдельности для каждого приложения и не видно с какого именно приложения поступил тот или иной запрос.
  • Не может работать по принципу wildcard фильтрации. Можно заблокировать только конкретный домен. Например, вы в браузере запускаете сайт «example.com», на котором есть картинка по адресу «example.com/cartinka_reklama01.jpg». Так вот вы сможете заблокировать только ВСЕ запросы к «example.com» и не сможете заблокировать отдельно «example.com/cartinka_reklama01.jpg». Для этого в самом браузере надо использовать блокировщики рекламы (опишу далее), которые могут использовать wildcard правила.

    Также через AdAway необходимо блокировать отдельно домены 2-го, 3-его, 4-го (и так далее) уровня. Например, если вы заблокируете все запросы к «google.com», то запросы типа «account.google.com» или «www.google.com» или «www.account.google.com» надо блокировать по отдельности. То есть вы не можете выставить одно правило типа «*.google.com»
  • Не может блокировать рекламу и треккеры, которые приложение получает не через «домены», а напрямую через IP. То есть AdAway может заблокировать обращение к google.com, но не может заблокировать связь напрямую, если приложение посылает запрос например на IP 8.8.8.8
  • Потенциальная проблема — Google хочет усилить внедрение в Android DoH (DNS over HTTPS), а также пытается продвинуть протокол QUIC (уже присутствует в приложении Youtube). Данные протоколы мешают фильтрации посредством файла hosts. Непонятно, насколько глубоко Google внедрит эти протоколы в следующую версию Android и насколько тяжело будет их либо отключить, либо гибко управлять ими самостоятельно.

Вообще, вы сами можете изменять файл hosts, но просто приложение AdAway делает этот процесс более удобным.

Давайте рассмотрим настройки приложения в Preferences

— Hide welcome card (Скрыть приветствие) — Да.

— Check for updates (Проверять обновления) — если вы будете использовать подгружаемые из интернета правила, то лучше включить.

— Allow whitelisting (Разрешить белые списки) — имеется ввиду белые списки, которые устанавливаете не Вы, а которые приходят из файлов подгружаемых из интернета файлов со списками. У меня данная функция выключена, так как непонятно почему необходимо некоторые сайты включать в «белый список». На ум приходит только одна мысль — в каком-то из списков какой-то сайт/домен находится в чёрном списке, но это «ломает» некоторые «нормальные» сайты и в другом списке есть «белый список», который всё-таки позволяет работать сайту. Но я такого не встречала. А если и встречу когда-нибудь, и мне этот сайт сильно нужен будет, то я сама вручную добавлю в белый список (да, придётся перезагружать устройство).

Примеры таких возможных случаев [155] (примеры все буржуйские).

— «Target hosts file (Путь к файлу hosts)» и «Custom target/Пользовательские настройки» — настройка для редких случаев по выбору пути к файлу hosts. Например, если у вас не полный рут, но его можно временно получить, то вы можете для файла hosts создать symlink (что-то типа перенаправления для файла — синоним пути) и здесь выбрать где находится новый путь к файлу hosts.

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

— Enable crash reports/Отправлять отчёты об ошибках — я стараюсь никому не доверять последнее время, никому ничего не отправляю. Пока разработчики не выработают какой-нибудь очень прозрачный механизм отправки отчётов об ошибках, я не буду никому ничего отсылать.

По меню:

Host sources (Источники списков хостов)
Тут представлены изначально 3 подписки (списка)
URL
SSL
Description
License
adaway.org/hosts.txt
Y
Special hosts file for AdAway containing mobile ad provider
CC Attribution 3.0
hosts-file.net/ad_servers.txt
Y
hpHosts
Allowed AdAway project to use it as default
pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
Y
Yoyos Hosts file
MCRAE GENERAL PUBLIC
LICENSE (version 4.r53)

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

Меня данные списки устраивают, так как в браузере я использую собственные мощные блокировщики рекламы и треккеров (браузер Fennec или Tor browser + uBlockOrigin + uMatrix). В редких случаях я пользуюсь браузером Bromite (со слабеньким блокировщиком) и данных списков мне всё равно хватает (так как я не пользуюсь распространнёнными сайтами). А сам функционал AdAway я использую для ловли запросов самого LOS и редких приложений (к слову в LOS я ничего серьёзного не поймала).

Вот ещё списки, которые можно подключить дополнительно [157],[159], [161]. Вот отдельный список для Google и Qualcomm (в том числе серверов A-GPS и статистики LOS) [163].

Много подписок не добавляйте, интернет будет работать медленнее (или медленно будет работать само устройство) если будет много правил в hosts. Но если же нет возможности использовать блокировщики в браузере, то лучше всё-таки постараться поискать неплохие подписки. Например, если вам не по душе Fennec+uBlock Origin, то можете использовать Bromite +дополнительные подписки в AdAway.

Также можно импортировать свои статические списки. Учтите, что подсовывать надо именно в формате hosts типа:
127.0.0.1 yandex.ru
другие форматы не понимаются программой.

— Your lists (Ваши списки)

Тут представлены правила, которые вы задали вручную. Эти правила имеют приоритет, над теми что в подписках.

а) Blacklist (Чёрный список) — можно добавлять тут же вручную или из лога.

б) Whitelist (Белый список) — можно добавлять тут же вручную или из лога.

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

— Log DNS requests (Логирование запросов DNS) — отображение лога заблокированных/пропущенных запросов. К сожалению, этот лог надо включать каждый раз при включении устройства. Но я часто пользуюсь этим инструментом.

Во первых при первоначальной настройке самого LOS постоянно смотрела на какие сайты «стучится» сам LOS. Также при установке каких-либо программ я делаю то же самое. Если мне что-то не нравится, я тут же в логе заношу в чёрный список. Либо наоборот, если какое-то приложение не работает, я смотрю какие сайты были заблокированы и почему не работает приложение. Но так как у меня все приложения из F-Droid я не нашла «лишних» запросов.

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

Хочу поделится с вами своими находками:

  1. connectivitycheck.gstatic.com — Captive portal. При отключении данного запроса у вас не будет показываться страница авторизации (Captive portal) при использовании Wi-Fi хот-спотов. Также помимо этого есть ещё один ньюанс — если заблокировать данный запрос у вас при подключении к интернету, значки с Wi-Fi и мобильного интернета будут показывать что интернета нет. Также при подключении к Wi-Fi система будет показывать предупреждение, что интернета нет с предложением переключиться на другую сеть. Это назойливое сообщение можно убрать, поставив галочку «Больше не спрашивать».
  2. time.android.com — синхронизация времени (NTP) — редко пытается синхронизировать время, хотя я убрала автоматическую синхронизацию времени.
  3. time.izatcloud.net, xtrapath1.izatcloud, xtrapath2.izatcloud, xtrapath3.izatcloud, gpsonextra.net, path1.xtracloud.net и так далее. Вроде как это для A-GPS, чтобы быстро установить позиции спутников в небе и быстрее определить местоположение по GPS (чтобы осуществлялся так называемый «горячий старт»). У меня работает GPS с этими заблокированными запросами, возможно при первом включении устройства была выкачена информация и теперь она только корректируется через спутники. Возможно вам надо будет один раз выкачать информацию, а может быть придётся оставить эти запросы незаблокированными (или менять сервера A-GPS).
  4. firefox.settings.services.mozilla.com, shavar.services.mozilla.com, addons.cdn.mozilla.net — запросы от Fennec (а также IceCat) на проверку обновления аддонов (расширений), на списки внутреннего простенького блокировщика (хотя я его отключила!!!, надо бы написать в issues на форуме F-Droid). Я на всякий случай заблокировала эти запросы. Возможно у меня не будут автоматически обновляться расширения F-Droid. Надо поймать момент и отследить. (извините — моя недоработка)
  5. Различные сервера от F-Droid и их зеркала (смотрите в настройках конкретных репозиториев), обновления hosts самого AdAway, обновление подписок аддонов (не самих аддонов, а правил блокирования) в браузерах (uBlock Origin, Bromite и так далее).

-Scan for adware (Сканирование Adware) — поиск установленных на устройстве приложений с «плохими» признаками. Гадости ищутся по заранее составленному списку, так что я не думаю что эта функция найдёт редкие вирусы, но если всё же что-то нашла, то советую обратить внимание и удалить это приложение.

Orbot, Tor Browser и проблема proc/net


Orbot


Orbot — программа от Guardian Project для запуска проводника в сеть Tor на Android устройстве. Также эта огранизация (Guardian Project) ранее сама разрабатывали версию браузера Tor для Android — Orfox. Сейчас же они вплотную работают вместе с командой разработчиком Tor сети и Tor браузера для компьютеров для создания версии под Android.

На данный момент есть отдельно Orbot и Tor браузер (со встроенным Orbot). Orfox более не поддерживается.

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

Orbot на самом деле очень простой в настройке. Следует его только запустить, подождать немного времени (при первом запуске это может длиться до 2-ух минут) и дождаться статуса «Bootstrapped 100%: Done». Далее есть варианты:

1) В настройках конкретного приложения, если есть такой пункт «Работать через Tor» — указать этот пункт и приложение будет работать через Tor.

1.1) В настройках приложения может не быть пункта «Работать через Tor», но может быть пункт работать через прокси. Далее в настройках этого прокси устанавливаем host: 127.0.0.1, port 8118.

2) Включаем пункт VPN mode (VPN режим), выбираем приложения, которые мы бы хотели пустить через Tor (даже если в настройках этих приложений нет такой опции) на главном экране в пункте Tor-Enabled Apps/Приложения с поддержкой Tor. При первом включении VPN Orbot создаст в родном для Android списке VPN отдельную запись. Тут вы можете выбрать «Always-on VPN/Постоянная VPN» (чтобы VPN всегда был включен) и «Block connections without VPN/Блокировать соединения без VPN» (чтобы система не пропускала соединения, которые не разрешены Orbot. Ещё один способ ограничить доступ каким-либо приложениям). В итоге у вас будут работать эти приложения через Tor посредством псевдо-VPN (несмотря на то что это ПСЕВДО, я считаю этот способ не хуже чем реальный VPN в части приватности).

3) С помощью iptables (например через AFWall+) изощряться так, чтобы можно было пустить трафик через Tor не задействуя слот VPN для тех приложений, у которых нет настройки «Работать через Tor». Только будьте внимательны, необходимо будет в таком случае ещё проверить, что DNS запросы тоже идут через Tor.

Давайте пройдёмся по настройкам:
-«Use Bridges/Использовать мосты» настройка на главном экране. Если почему-то у вас не работает подключение, вы можете использовать дополнительный 4-ый сервер (помимо стандартных 3ёх в цепочке) через который вы можете попробовать подключиться к сети.

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

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

В меню «Settings/Настройки»

— Start Orbot on Boot/Запускать Orbot при загрузке — для тех, кто собирается пользоваться Orbot на постоянной основе следует включить этот пункт.

— Open Proxy on All Interfaces — для специфических ситуация, например для того, чтобы раздавать интернет (tethering) сразу с Tor.

— Entrance Nodes/Входные узлы — задать ограничивающий список Входных нод (серверов) через который Orbot должен строить цепочки. Функционал нестабильный. Да и ограничивать количество нод не рекомендуется для избегания снижения приватности.

— Exit Nodes/Выходные узлы — задать ограничивающий список ВЫходных нод (серверов) через который Orbot должен строить цепочки. Функционал нестабильный. Да и ограничивать количество нод не рекомендуется для избегания снижения приватности.

— Exclude Nodes/Исключённые узлы — задать ограничивающий список ВЫходных нод (серверов) через который Orbot НЕ должен строить цепочки. Функционал нестабильный. Если вы знаете, что какие-то серверы принадлежат злоумышленникам, можете добавить их в этот список.

— Strict Nodes/Точные узлы — приказ Orbot использовать ТОЛЬКО вышеобозначенные узлы. Без этой настройки Orbot будет пытаться использовать вышеобозначенные ограничения, с этой же настройкой Orbot обязан будет использовать ограничения. Функционал нестабильный.

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

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

— Isolate destination addresses/Изолировать адреса назначения — ВНИМАНИЕ, ВАЖНАЯ настройка. Включение данного пункта позволяет для разных приложений использовать разные цепочки и выходные узлы. Если этот пункт выключен, то при запросе к одному и тому же сайту, но из разных приложений будет использоваться один и тот же IP (то есть одна и та же выходная нода). Например, вы в браузере заходите на сайт yandex.ru и ищите там что-нибудь «пикантное», и если вы в другом браузере залогинились в Яндексе, то Яндекс вас моментально «раскусит», то есть свяжет вас по IP и времени посещения сайтов. Со включенной же настройкой IP будут разные (чего не добиться обычным VPN).

Минус в том, что такая настройка чуть больше «съедает» батарею.

НО, на данный момент эта настройка бесполезна, если у вас есть какое-то постоянно работающее в фоне приложение от Яндекса (Яндекс только как пример, касается любого проприетарного приложения или приложения с треккерами) из-за проблемы доступа к proc/net. Любое приложение может видеть на какие IP вы заходите через считывание файла proc/net. Об этой проблеме я напишу далее.

— No Network Auto-Sleep/Автозасыпание без сети — Orbot «засыпает» если нет доступа к интернету. Настройка в некоторых случаях позволяет снизить потребление электроэнергии. Но так как я заблокировала Captive Portal и запросы connectivitycheck.gstatic.com, то приложение не может понять, что интернет есть и постоянно «засыпает». Пришлось выключить эту настройку.

ВНИМАНИЕ: Orbot не сможет запуститься, если неправильно выставлена дата или время на устройстве.

Проблема proc/net


Проблема proc/net — существует огромная проблема приватности, из-за того что любое приложение может прочитать файл proc/net и увидеть к каким IP адресам какое приложение подсоединяется и видеть статистику обращений к IP адресам за недавнее время. Это НЕЛЬЗЯ НИКАК ЗАБЛОКИРОВАТЬ. Ни одно средство не помогает. Можете установить себе Net Monitor (org.secuso.privacyfriendlynetmonitor)[131] и удостоверится в этом. Заберите все разрешения для данного приложения всеми инструментами и всё равно оно увидит к каким IP адресам вы подсоединяетесь. Даже установка в «рабочий профиль» или создание отдельного юзера (пользователя) на устройстве не помогает. Ни VPN-ы, ни Orbot, ни Privacy Guard, ни xPrivacyLua не помогают. Максимум что вы сможете сделать — это скрыть названия приложений, но информация о посещаемых IP останется в распоряжении. Я проводила эксперимент: брала эти IP адреса и с помощью поисковика пыталась выяснить какому сайту соответствует тот или иной IP адрес. В 99% случаев у меня совпало с тем, что я посещала!!! На одном IP могут находится несколько сайтов, но я думаю, что мощные аналитические системы гигантов могут определять не 99%-ов, а 100% сайтов на которые вы заходите. Если я вручную смогла, то они и подавно смогут понять.
Google должна была устранить этот недочёт еще в Android 9 P, но эти «хрюшки» из Google отложили внедрение этого ограничения и оно будет только в версии Android 10 Q (соответственно в LOS 17).[165]

Вы думаете, что эта угроза приватности надумана? Вот статья на немецком[166], где человек показывает, что приложение Facebook считывает эту информацию. Я предполагаю, что это делают и другие приложения.

Вообще, непонятно будет ли возможность даже в версии Android 10 Q отключить эти доступы. Точнее так — для этой информации нужно будет запросить информацию через методы NetworkStatsManager и ConnectivityManager classes. Но непонятно к какому разрешению это относится и можно ли будет заблокировать это разрешение (хотя бы в AppOpsX). При внедрении какого-либо нового ограничения Google позволяет старым приложениям обходить его ещё в течение года после внедрения нового ограничения!!! Они это регулируют так называемым Level API (далее опишу этот вопрос). В той же статье [165] вроде как они обозначают что в версии Android 10 Q они не будут ждать год, а включат это ограничение сразу для всех приложений:
«The following changes affect all apps running on Android Q, even if they target Android 9 (API level 28) or lower.»
Маленькая победа поборников приватности, но я бы не стала сильно надеяться на порядочность Google. Посмотрим, времени до выхода Android 10 остались считанные дни.

Что же делать?

  1. Стараться не устанавливать приложения для тех сайтов, которые вы можете посмотреть через браузер и смотреть в браузере.
  2. Даже если необходимо какое-нибудь приложение — постараться поискать open-source альтернативу на F-Droid.
  3. Если вам всё-таки нужны какие-то не open-source приложения, то устанавливайте их в «рабочий профиль» (чтобы скрывать хотя бы названия приложений, которые получают доступ к определённым IP адресам). После использования закрывайте приложение полностью, путём полного выключения «рабочего профиля» или полной остановки отдельного приложения. Также необходимо убрать у таких приложений возможность автозапуска при включении устройства и работу в фоне.
  4. Посещать сайты через новый Tor браузер. Недавно вышла версия Tor браузера для Android со встроенным Tor (не смотрите в описание на F-Droid, описание устарело, Orbot уже не обязателен, так как встроен в этот браузер). Так как этот браузер содержит сам в себе проводник в Tor, то он скрывает то, на какие вы сайты заходите даже от proc/net! В proc/net содержится только IP адрес входного узла (первый сервер в цепочке).

Tor Browser


Ранее для Android выпускались проектом Guardian Project два отдельных приложения 1) Orbot и 2) Orfox. Orfox — это опять-таки усиленный Firefox, который мог работать только в связке с Orbot. Но Orfox был очень тупым и медленным. Недавно проект Tor взял под своё крыло данное направление и теперь они (Guardian Project и Tor project) выпускают браузер Tor под Android совместными усилиями. Новый Tor Browser под Android основан на последней версии Firefox, уже включает в себя встроенный Orbot (может работать без отдельного Orbot), и с каждой версией всё стабильней и быстрее.

В F-Droid есть два Tor Browser:

1) Tor Browser
2) Tor Browser (Alpha)

Оба приложения основаны на одной и той же стабильной версии Firefox, но отличаются версиями сети Tor и некоторыми дополнительными настройкам. Стабильнее работает обычная (не Alpha версия).

Отличается от Orfox тем, что при запуске приложения необходимо дождаться подключения к Tor, а также тем что можно задать мосты (сторонние и свои). Также как и в обычном Tor браузере для компьютера в этом браузере удалён треккинг (телеметрия) от Mozilla, установлено дополнение NoScript, при закрытия удаляются все данные (кроме закладок), поисковиком по умолчанию выставлен DuckDuckGo и другие настройки (например выключен WebRTC). Также есть отдельная настройка Security Settings (Настройки безопасности).

Не рекомендуется менять настройки и устанавливать дополнительные расширения (аддоны) во избежании деанонимизации. Чем больше у вас уникальных настроек, тем больше шансы что ваши посещения сайтов свяжут с вами. Вообще, это дискусионный вопрос как лучше поступить. С одной стороны тем лучше, чем больше у людей одинаковых настроек браузера. Но с другой стороны можно попытаться «зарезать» все лишние скрипты для отслеживания, заблокировать всё что можно и тогда отпечаток браузера (browser fingerprint) будет тяжело сделать (и нечего будет потом сравнивать). К сожалению последнее время развиваются техники снятия отпечатка браузера с отключенным JavaScript по другим косвенным признакам[167].

Учтите, что всё что идёт через Tor Browser не отслеживается ни proc/net, ни AdAway (не использует hosts).

В итоге я использую 4 браузера:

1) Tor Browser (Alpha) с установленными дополнительно uBlockOrigin, uMatrix (заблокированным всё что можно) для ежедневного использования.

2) Tor Browser без дополнительных расширений для щепетильных вопросов. Пользуюсь редко.

3) Fennec с установленными дополнительно uBlockOrigin, uMatrix (где запрещённо всё что можно) и работающим не через Orbot для посещения сайтов, которые не открываются через Tor. Пользуюсь очень редко, стараюсь не заходить на такие сайты (которые не открываются через Tor).

4) Bromite — для тех случаев, когда сайт не открывается в Firefox-подобных браузерах (Tor Browser и Fennec основаны на Firefox). Таких сайтов мало.

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

Общая информация по поводу Tor:

  1. В России самое большое количество людей пользующихся сетью Tor!!![169]. Вас автоматом не причислят к преступникам, если вы пользуетесь Tor сетью.
  2. При огромном желании, если нацелится, то за некоторое время можно вычислить человека даже сидящего через Tor сеть. Не делайте ничего гадкого, и не только потому что найдут, а просто из моральных соображений.
  3. Использование только Tor чревато единой точкой отказа. Необходимо пробовать и развивать разные средства (например, мосты Tor, I2P, Yggdrasil, Zeronet).

ВНИМАНИЕ: Tor Browser не сможет запуститься, если неправильно выставлена дата или время на устройстве.

Fennec и Bromite


Есть ещё два браузера, которые я бы хотела осветить.

Fennec


Fennec (он же Fennec F-Droid) — немного переработанная версия Firefox с частично отключенной телеметрией (треккерами).

Давайте пройдёмся по настройкам (Settings)

— Sign in (Войти) — возможности зарегистрироваться и войти в Firefox Sync для синхронизации закладок, паролей, открытых вкладок и истории. Вроде как всё зашифровано «по самое нихачу» даже от самой Mozilla[171]. Можно даже попробовать сделать свой сервер Firefox Sync[173].

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

1) Собственный сервер Firefox Sync
2) Собственный сервер с Nextcloud — почти полный набор облачных сервисов на вашем личном сервере.
3) Собственный сервер с Turtl — сервис заметок, в том числе и закладок.
4) Wallabag — аналог Pocket. Не только сохраняет закладки, но и выкачивает сайты. Можно сделать свой сервер.

Я не могу рекомендовать Firefox Sync по причине того, что я не смогла найти аудит этого решения с результатами аудита в относительно широкой дискуссии. А закладки, пароли и история посещений — это очень чувствительные данные. Mozilla (разработчик Firefox) пока ещё не была поймана на наглой лжи. Был и остаётся случай с треккером-аналитикой от Google, когда вы заходите для поиска новых дополнений на сайт addons.mozilla.org/en-US/firefox. Но они особо этого не скрывали. Также Firefox Sync не работает в браузере Tor.
К сожалению нет функции экспорта закладок в мобильных версиях Firefox-подобных браузеров.

Я склоняюсь к Nextcloud, просто потому что он проще настраивается и у него больше пользователей (и соответственно больше примеров настроек в интернете). А также очень широкий функционал.

— Search/Поиск — выбираем DuckDuckGo. Если у вас в списке нет DuckDuckGo, то добавим потом. Google, Яндекс, Mail.ru, Yahoo и Bing лучше удалить даже из списка.

Как добавить поисковую систему в Fennec, если её нет в списке предложенных

Заходите на интересующую вас поисковую систему, например DuckDuckgo.com. В меню выбираете «Page/Страница» — «Add a Search Engine/Добавить по… вую систему». Далее делаете эту поисковую страницу по-умолчанию. Кстати, некоторые рекомендуют в любом случае удалить все поисковые системы и потом их добавить вручную вышеописанным способом, так как вроде как в противном случае посылается дополнительная информация с версией браузера на поисковую страницу (и это я не про utm метку, в адресной строке никаких следов может не быть).

— Show search suggestions/Поисковые предложения — лучше удалить на тот случай, если вы скопируете какой-нибудь текст из СМС или переписки с личными данными, например «Позвонить Ангелине на номер 8 999 77 5-55-55» и потом вставите этот текст в поисковую строку. Поисковик сразу это запомнит. В принципе, если вы постоянно чистите cookies (например стоит настройка удалять все данные при выходе) и не пользуетесь поисковиками от гигантов ничего особо страшного не случится. Но всё же лучше не пользоваться этим функционалом.

— Privacy/Приватность
— Do not track/Не отслеживать — бесполезная настройка. Если она стоит, то сайту посылается ПРОСЬБА вас не отслеживать. Им самим не смешно? Было исследование, где было показано, что те кто менял эту настройку, наоборот были более уязвимы, так как просьба вас не отслеживать входила в технику сбора отпечатков браузера. Поэтому оставьте эту настройку такой, какой она была изначально (какой бы она не была), чтобы она была максимально одинаковой у бОльшего количества людей.

— Tracking protection/Защита от отслеживания — минимальная блокировка треккеров на основе списка Disconnect. Не блокирует даже Google и кучу других треккеров. Можно отключить (конечно предварительно установив и настроив uBlockOrigin).

— Cookies/куки — поставьте Enabled, excluding 3rd party/Включены, кроме сторонних сайтов

— Clear private data on exit/Удаление моих данных при выходе. У меня выбраны все пункты. Можно выбрать всё, кроме закладок. Плюс этой настройки в том, что если вы закроете приложение (смахнёте в списке приложений, или Android сам закроет приложение, или через долгое нажатие кнопки «назад»), то данные не удалятся. Но если вы именно выберете «Quit/Выход» в меню, то все данные удаляться. Если я захожу на какой-либо сайт и знаю что мне надо будет через какое-то время снова на него зайти, я просто сворачиваю приложение. Но если мне уже не нужен этот сайт, то я жму «Quit/Выход».

— «Mozilla Location Service/Службы местоположения Mozilla» — предоставлять данные о ближайших Wi-Fi и одновременно о GPS координатах для создания своего сервиса определения местоположения по Wi-Fi. Отключаем. Во-первых это не эффективно (если хочется помочь подорвать монополию Google в этом деле, то лучше использовать другие инструменты), во-вторых лучше это делать не браузером, в котором вы оставляете данные о себе на сайтах.

— «Fennec Health Report/Отчёт о здоровье» — телеметрия. Отключаем.

— Advanced/Дополнительно
— Restore tabs/Восстановление вкладок — лучше отключить.

Также вы можете скачать IceCat, который также является переработанным Firefox. Помимо того что описано в этой статье [113] я хотела бы заметить ещё одну деталь — этот браузер реже обновляется, чем Fennec и в нём потенциально могут оставаться какие-либо уязвимости, которые были устранены в Firefox (и в Fennec).

Также у меня установлены дополнения HTTPS Everywhere, uBlockOrigin (надо настроить единожды), uMatrix (надо будет настроить для каждого сайта по-отдельности). Также отключаю WebRTC (about:config > media.peerconnection.enabled > false). Можно ещё поставить NoScript (аналог uMatrix) и отключить весь функционал кроме блокирования XSS, так как функционал тот же что и в uMatrix, но также есть блокирование XSS.

По настройке дополнений я напишу отдельную статью.

Bromite


Это переделанный Google Chrome. Он побыстрее чем Fennec, но у него не очень сильный блокировщик рекламы и треккеров (и на том спасибо, в обычном Chrome для Android его вообще нет). Поэтому я его и использую в редких случаях, когда некоторые страницы серьёзно глючат в Fennec (привет разработчикам мобильной версии habrahabr).

В настройках:

— Search engine/поисковая система — DuckDuckGo.

— Privacy/Личные данные
— Close all open tabs on exit — включаю. Удаляет открытые вкладки при нажатии на «Exit/Выход»
— Search and URL suggestions/Поиск и предложения URL — выключаю.

— Use page prediction/Загружать страницы предварительно — выключаю.

— Access payment method/Доступ к способам оплаты — выключаю.

— Usage and crash reports/Отчеты об использовании и сбоях — ТЕЛЕМЕТРИЯ. Отключаю.

— Open links in incognito tabs always — всегда открывать вкладки в режиме инкогнито. По сути это тоже самое что и «Удалять данные (cookies, данные сайтов, история посещений) при выходе». Я включаю.

— Do Not Track/запрет отслеживания — не меняем. Как было изначально, пусть так и остаётся.

— Tap to Search/Нажмите для поиска — выключаем однозначно.

Также из головного окна можно отключать JavaScript, что я советую делать, если вы заходите на сайты через Bromite только для того, чтобы читать статьи. Но некоторые сайты с отключенным JavaScript могут не работать.

Приложения Google (Google Apps/Gapps)


Изначально LOS не содержит проприетарных Google приложений (кроме некоторых устройств с предустановленными программами для мобильного оператора от Google — Google Fi). Если они вам нужны — то вы можете установить их самостоятельно. Обычно это необходимо сделать сразу после установки LOS НЕ ПЕРЕЗАГРУЖАЯ устройство.

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

Зачем могут понадобиться набор от Google

1) Обычные (почта, карты, браузер Chrome) приложения Google не будут работать без предустановки этого пакета, даже если вы скачаете эти приложения отдельно.

(Youtube можно будет использовать в других приложениях).

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

Есть хорошая новость: приложения для российских потребителей в большинстве случаев запустятся и будут работать без Gapps. Последнее время вообще в России постепенно уходят от привязки к Google (делают свою подложку на основе Яндекс карт, карт Bing, Openstreetmap и его производных). Это немного увеличивает размер приложений, но всё работает. Российские банковские приложения также работают без Google Apps (в том числе и с рутом).

3) Push уведомления. Для того, чтобы получать обновления данных из интернета (например в мессенджерах, почтовых клиентах) необходимо соединение с интернетом. Если много приложений будут постоянно иметь соединение с интернетом, то батарея устройства будет сажаться быстрее. Поэтому Google предложило свою функцию GMC [175]. Устройство поддерживает постоянное соединение с сервером Google, и при получении нового сообщения сервера мессенджеров/почтовиков посылают об этом сообщение на сервера Google, а Google посылает уже на ваше устройство. Плюс в том, что не надо устройству поддерживать много соединений с серверами всех приложений и не надо держать в фоне включенным все приложения.

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

Все приложения в F-Droid имеют свою реализацию обновления контента. Если у вас немного приложений, которые самостоятельно обновляют контент, то по сравнению с реализацией от Google получается не намного больший расход батареи. При установленном пакете Gapps отсылается много информации на сервера Google (слежка слежка слежка), что также «съедает» батарею, так что если у вас нет Gapps и всего 1-2 приложения, которые поддерживают интернет соединение в фоне, то расход батареи будет даже меньше, чем с Gapps.

4) Для быстрого определения геопозиции по Wi-Fi или сотовым вышкам. Без этого навигация будет определятся только по GPS. Некоторые считают, что даже по GPS геолокация определяться не будет — это ошибка!!! Просто для определения по GPS необходимо при первом запуске ждать на открытой местности не передвигаясь минут 10, когда обновятся данные по спутникам. Потом если редко включать навигацию — 2 минуты. Если часто — 10-15 секунд. Все просто забыли, что такое первое включение, холодный старт, тёплый старт, горячий старт старых навигаторов.

В LOS работают (и достаточно протестированы) 3 типа пакета

  • opengapps — не смотря на приставку «open» — это несвободные обычные приложения от Google, которые просто отдельно упакованы энтузиастами. Устанавливать можно самую минимальную версию Pico[177], а остальные приложения доустановить потом. Название Pico не значит, что при установке этой версии пакета Google не будет следить за вами. При установке этого пакета приложений считайте, что вы заново отдаёте себя на растерзание Google-у. Большого смысла в этом действии не вижу (если вас интересует приватность).
  • Mind The Gapps — ещё одна версия с базовым пакетом от Google. Всё аналогично opengapps.
  • microg — единственная версия, которая по-настоящему open-source!!! Открытые исходные коды, отсутствие телеметрии (треккеров). Разработка этого пакета то прекращается, то снова возобновляется. Этот пакет не такой стабильный как opengapps, но он минимизирует треккинг от Google. То есть отдаётся Google только то, без чего не обойтись. Например, при использовании push уведомлений Google видит, что определённое приложение посылает вам уведомление. Если разработчик приложения зашифровал сообщение, то текст самого сообщения Google не увидит. При использовании геолокации по Wi-Fi или сотовым сетям Google естественно понимает, где вы находитесь. При использовании opengapps или Mind The Gapps — Google видит всё подряд. Всё это значит ВСЁ.

    НО есть одна проблема: LOS не поддерживает microg. Вот объяснение [179]. Если кратко — microg осуществляет singature spoofing, то есть «обманывает» приложения полагающиеся на Google, что разработчикам LOS не очень нравится. Также это вызывает риск установки «левого» приложения. То есть сейчас нельзя заменить какое-нибудь приложение (особенно системное) вирусным приложением путём обновления. А с singature spoofing это будет возможно. Плюс у разработчиков LOS нет времени на периодическую проверку достоверности проекта microg, хотя они и не обвиняют их в чём-то.

    То есть вы не можете установить microg при установке LOS, как с opengapps.

    Выходы:

    — microg делает форк (ответвление) от LOS и сама вставляет в LOS свой пакет [39] — называется проект «LineageOS for microG». То есть, если вы хотите microg на своём устройстве — можете скачать версию их версию LOS с их сайта и установить её вместо установки «официальной» LOS. Обновления по воздуху в этой версии также поддерживаются.

    — После установки LOS можно установить microg и путём хитрых манипуляций (например с помощью пакета Nanodroid) заставить это всё работать.

    Также проект хочется упомянуть, что с недавнего времени проект microG поддерживается немецким правительством (Министерством образования) [181]. Дали денег на open source реализацию push сервера (аналога GCM).

Для российского потребителя разработчики делают приложения без жёсткой привязки к Gapps. Я в принципе стараюсь пользоваться только приложениями из F-Droid, поэтому меня это не сильно беспокоит. Пару приложений (банковское + одно по работе) работают отлично без Gapps и с рутом. Знакомые говорят, что госуслуги, сервисы такси и так далее — всё прекрасно работает без Gapps.

Единственное, что мне было бы полезно — это определение местоположения по Wi-Fi и сотовым вышкам. Вроде как можно отдельно установить UnifiedNlp (из состава microG) + скачать базу вышек и Wi-Fi (через один из бэкэндов). Я ещё не разобралась, но вроде это можно сделать без signature spoofing на официальном LOS.

Yalp store/Aurora Store


Если вы не используете Gapps, то у вас нет Google Play Market. Но вам могут понадобиться некоторые приложения, которые есть только в Google Play. Скачивать их из других источников может быть опасно. Для таких случаев есть приложения, которые могут скачивать приложения из Google Play:

1) Yalp store (com.github.yeriomin.yalpstore)
2) Yalp Store (fork) (com.github.kiliakin.yalpstore) — так как оригинальный Yalp store не обновляется, то сделали форк (ответвление) приложения.
3) Aurora Store (com.aurora.store)

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

Вы можете скачивать приложения в этих маркетах без захода в свою учётную запись. Но если же у вас есть какие-то купленные приложения, вы можете залогиниться с помощью своей учётной записи Google и скачать их. Но это не гарантия, что они (платные приложения) заработают. В некоторых случаях они заработают, в некоторых случаях они заработают только если у вас стоит как минимум MicroG, в некоторых случаях они заработают только если стоит полноценный Gapps (ну тогда смысл будет скачивать через Google Play Market).

Некоторые приложения (в основном большие игры) в Google Play распространяются в виде split apk — нескольких apk файлов для установки. И чтобы Yalp их правильно установил, необходимо либо установить Yalp как системное приложение, либо дать рут права.

Треккеры в приложениях


Практически (в 99% случаев) во всех приложениях из Google Play есть треккеры. Какие наиболее популярные треккеры есть в приложении вы можете посмотреть на сайте [61]. Или скачав приложения Exodus Privacy[63], ClassyShark3xodus[65]. ОЧЕНЬ ИНТЕРЕСНАЯ ИНФОРМАЦИЯ!!! ОБЯЗАТЕЛЬНА К ПРОСМОТРУ. Открываем, например, данные по Яндекс браузеру [183]. И что мы видим?
-AppMetrica
-Facebook Ads
-Facebook Analytics
-Facebook Login
-Facebook Share
-Flurry
-Inmobi
-Yandex Ad
Круто, да? Facebook Ads, Facebook Analytics, Facebook Login, Facebook Share — без комментариев. Flurry — это Yahoo. Inmobi — основан в Mumbai, India. Ну что, готовы помимо яндекса делиться информацией о себе с неизвестными вам индусами, с Facebook и Yahoo?

Глянем на треккеры в MAPS.ME от компании Mail.ru [185]. Не лучше))

Но то, что в каком-то приложении нет распространённых треккеров, или в их названии написано что-то типа «Crash», «Bug» — то это не означает что в этих приложениях нет скрытых или малоизвестных треккеров.

Возьмём Facebook [187]. Якобы нет треккеров. Вы думаете что Facebook не отслеживает всё что вы делаете? Читайте [189]. Facebook-у не надо встраивать отдельные треккеры в своё приложение, так как они и так собирают все данные без отдельных модулей-треккеров.

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

Контроль разрешений (Permission control), PrivacyGuard, AppOpsX


Подходим к самому важному — контроль разрешений или контроль доступов. БольшУю часть касающуюся разрешений на доступ в интернет я уже описала. Также описала то, что входит в понятие «Special app access (Специальный доступ)».

Типы разрешений


Давайте обозначим типы разрешений:

  1. Normal — «нормальные». Это те разрешения, которые Google считает нормальными (но я так не считаю) и безопасными и выдаёт эти права БЕЗ ПРЕДУПРЕЖДЕНИЯ пользователя.

    Например, любое приложение может получить доступ в интернет, изменение настроек Bluetooth, просмотр Wi-Fi сетей, просмотр интернет соединений, автозапуск при включении устройства и другие [191]. При установке приложения вас также не станут предупреждать о «нормальных» разрешениях.
    Эти «нормальные» разрешения нельзя никак убрать через стандартные средства Android-а (хотя некоторые всё же можно в «Special app access (Специальный доступ)»). Можно частично убрать разрешения в PrivacyGuard и в достаточно полной мере только в AppOpsX (или через ADB).
  2. Dangerous — опасные (хотя «нормальные» такие же опасные как и эти). Это те разрешения, который в Android можно регулировать пользователю силами самого Android. Но управлять этими разрешениями стандартными средствами Android можно только по группам. Например, есть разрешение SMS. Дав доступ к группе SMS приложение сможет и прочитать все смс, и отправить смс, и прочитать MMS и так далее.
    Почему выдача разрешений по группам не очень хорошее решение: если у вас есть какое-нибудь приложение, которому вы хотите дать доступ только на отправку смс (без чтения всех смс), например для системы управления электронными дверьми/ставнями. Но вы через стандартные средства Android этого сделать не сможете!!! Всё или ничего. Как это можно сделать (раздельно задавать опасные ограничения) — я напишу отдельно (в PrivacyGuard).
  3. Signature — «подписанные». Это те приложения, которые могут быть установлены только если они подписаны той же цифровой подписью, что и вся прошивка. Это системные приложения (например, стандартное приложение настроек Android-а), которые могут менять практически в устройстве всё. То есть при обычных обстоятельствах невозможно заменить эти приложений/сервисы на вирусные, так как вирусописатели не смогут подписать свои приложения тем же цифровым ключём что и прошивка, и приложения не смогут быть установлены. Всё меняется, если вы получаете рут (права суперпользователя) через Magisk или устанавливаете Xposed Framework. Эти инструменты позволяют обманывать систему через Signature Spoofing. Отчасти поэтому я и не использую ни Magisk ни Xposed Framework ни MicroG.

    То есть, если вы случайно скачали и установили «левое приложение», которое было представлено как обновление какого-нибудь системного приложения, вы можете даже сразу этого не заметить. Но оно через время запустит вирусную активность во всей красе.
  4. Special — специальные. Это разрешения для приложений с типом Signature, которые ещё ОБЯЗАНЫ отдельно запросить пользователя возможность какого-либо действия. Я о таких приложениях не слышала. Видимо, когда вы что-то переключаете в настройках Android-а и вас спрашивают «точно вы хотите это сделать», то это и есть такое разрешение.

Инструменты для ограничения разрешений


Давайте пройдёмся по инструментам для ограничения:
Я уже описывала частично инструмент для ограничения в Apps & notifications (Приложения и уведомления)->Special app access (Специальный доступ). Тут представлены разные ограничения, которые могут напрямую не относятся ни к какому типу ограничений, могут относится к нормальным (CHANGE_WIFI_STATE).

Стандартный для Android механизм разрешений


Стандартный для Android механизм разрешений:Apps & notifications (Приложения и уведомления)->Advanced (Дополнительно)->App permissions (Разрешение приложений)
Здесь представлены только разрешения с типом Danger (опасные). Здесь всё понятно, можно только включить или выключить группы разрешения. Но есть также ещё один тип:
Пункт «Additional permission», где какие-то приложения создают свои разрешения, доступ к которым можно давать другим приложениям[193].

Privacy Guard (Защита конфиденциальности)


Вшитый механизм разрешений от LOS: Security & Location (Защита и местоположение)->Trust (Trust)->Privacy Guard (Защита конфиденциальности) (далее — PG)
Достаточно мощный инструмент, который разрабатывается командой LOS. По опросу самая большая доля людей, которые выбрали прошивку LOS, сделали это именно ради этой функции/приложения.

При первом запуске LOS вас спросят включить ли по-умолчанию эту функцию — лучше сразу её включить.

В самом приложении проверьте это «Enabled by default (Включена по умолчанию)».

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

Тут же можно включить отображение системных приложений «Show built-in apps (Системные приложения)». На первых порах я тоже включила эту настройку, чтобы потом видеть количество обращений к тому или иному разрешению системными приложениями. Я не обнаружила явных попыток каких-либо системных приложений получить лишние доступы. Если и были какие-то обращения, то это потому что так устроен Android и я нашла этому объяснение на форумах. Например, при выборе Wi-Fi сети отображается, что системное приложение получает доступ к местоположению (как и любое другое приложение). В любом случае для самообразования вы можете включить отслеживание для системных приложений на первых порах.

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

Зажимая на несколько секунд палец на приложении вы попадаете в меню настройки ограничений для конкретного приложения. Некоторые разрешения вы можете либо включать/отключать, для некоторых вы можете выбирать из 3-ёх пунктов:
а) Allowed (Разрешать) — разрешить
б) Ingored (или Disallow) (Запрещать) — запретить
в) Always ask (Спрашивать) — спрашивать каждый раз, когда приложение просит доступ к определённой функции.

Функция Always ask (Спрашивать) полезна, если есть какое-то приложение, которому не хотелось бы давать постоянный доступ к чему-либо, но пользоваться бы хотелось. Например, давать мессенджерам с функцией звонков доступ к микрофону. Но надо понимать что, если вы дали какому-то приложению временный доступ к хранилищу (например), то оно может выкачать/проанализировать все файлы, созданные ранее. Временный доступ к хранилищу не создаёт временную отдельную папку (а хотелось бы), а даёт временный полный доступ к вашему общему хранилищу. Так что будьте аккуратней также и с функцией «Спрашивать».

В меню можно перейти в «Advanced (Дополнительно)», где можно видеть обращение к доступам в разрезе самих доступов, а не приложений.

С помощью Privacy Guard можно ограничивать доступы к «опасным» разрешениям не по группам, а по каждому отдельному разрешению Например, можно дать отдельный доступ только на чтение смс, отдельно на отправку смс.

Также в Privacy Guard есть возможность ограничивать многие «нормальные» доступы. Например, «Start at power up (Запуск при включении устройства)» — он же «RECEIVE_BOOT_COMPLETED» или «Run at startup» в стандартном описании Android. Как вы может видеть, что каждый инструмент имеет своё наименование для отдельных ограничений. Для того, чтобы вы могли сориентироваться, ниже я предоставлю отдельную таблицу с сопоставлением наименований ограничений из разных инструментов.

ВНИМАНИЕ:

В связи с запутанностью настроек стоит вопрос, как оперировать «опасными» разрешениями, как выставлять параметры и в стандартном функционале Android по группам и в Privacy Guard по отдельности. Основываясь на [195] и в частности на [197] можно заключить, что схема на момент составления комментария выглядела так:
а) Стандартное разрешение — Разрешено, PG — Разрешено: доступ предоставляется
б) Стандартное разрешение — Запрещено, PG — Разрешено: доступ предоставляется

в) Стандартное разрешение — Разрешено, PG — Запрещено: доступ закрыт только для того, что запрещено через PG, так как в стандартном разрешении даётся доступ на группу.

г) Стандартное разрешение — Запрещено, PG — Запрещено: доступ не предоставляется
д) Стандартное разрешение — Запрещено, PG — Спрашивать: доступ НЕ предоставляется
e) Стандартное разрешение — Разрешено, PG — Спрашивать: доступ запрашивается каждый раз
Но со времён этого комментария вышел LOS 16 и, видимо, что-то поменялось. У меня теперь пункт б) выглядит так: Стандартное разрешение — Запрещено, PG — Разрешено: доступ НЕ предоставляется.

То есть в LOS 16 настройки более ужесточены в сторону приватности. Если хоть что-то запрещено, то и доступа не будет.

Есть ещё моменты:
— в версиях LOS 14, 15.1 были сбои в работе Privacy Guard. Вроде в 15.1 исправили, в 14-ой версии не знаю (но она больше и не поддерживается).

— Если вы установили Gapps, то либо вы не сможете их ограничить, либо настройки сами будут переключаться в состояние «Разрешено» сразу как только вы выйдете из PG, либо устройство может войти в Bootloop и придётся переустанавливать LOS (или немного изощряться[199]). Меня это не удивляет. Ещё одно подтверждение тому, что Android с установленными Gapps становится собственностью Google, а не вашей.

— Если приложение старое и давно не обновлялось, то оно сможет получить некоторые доступы без запроса. Дело в том что Google шла навстречу разработчикам приложений и при каждой новой версии Android и, ужесточая некоторые доступы, позволяла разработчикам ещё в течении года обходить новые ограничения. Они регулировали это путём API level (о том как именно я напишу позже). Соответственно, если вы откуда-то качаете приложение, которое не обновлялось более года, то есть высокий шанс, что некоторые ограничения это приложение может обойти.

— Стандартный способ разграничения прав и PG основаны на разных механизмах [201] и оба эти механизма могут немного (или не немного) меняться от версии к версии Android-а и LOS соотвественно.

На основе всего выше обозначенного я бы советовала бы вам больше перестраховываться, например, вообще меньше устанавливать приложений не из F-Droid, запрещать доступ в интернет максимальному количеству приложений, закрывать доступы гарантированно и через стандартный механизм Android и через PG.

AppOpsX (com.zzzmode.appopsx)


Это приложение по сути выполняет ту же функцию, что и PG, только там есть дополнительные настройки, которых нет в PG. Например, вместо отдельной настройки change your audio settings (Изменение настроек аудио) представлено множество мелких настроек, такие как Управление громкостью сигналов, Управление громкостью уведомлений и так далее.

Из того что ещё хотелось бы упомянуть также: возможность более детально настраивать разрешения по доступу к разным источникам местоположения, такие как Mock location (из отдельного приложения, которое может делать фэйковое местоположение — привет покемоноводам), Приблизительно местоположение (NEIGHBORING_CELLS) — для определения по сотовым вышкам.

Если честно, я не тестировала возможность детального ограничения источников местоположения в AppOpsX, так как там:

  1. какая-то путаница в названиях типов доступов. Например «Приблизительно местоположение» в PG означает доступ к координатам по сотовым вышкам и по Wi-Fi, в AppOpsX же это название закреплено только за координатами по сотовым вышкам.
  2. У меня нет Gapps (и других UnifiedNlp location provider) и соответственно нет никаких программ, которые могли бы обрабатывать значение сотовых вышек и я не могу проверить корректность работы детальных ограничений.

Также в AppOpsX есть другие настройки, которых нет в PG и в стандартных настройках Android, и которые я посчитала полезными. Например:
Read clipboard (Чтение буфера обмена) и Modify clipboard (Изменение буфера обмена). Такие функции ограничения должны появиться в Android 10 Q, но она уже есть в AppOpsX в Android 9 Pie.

Если некоторые настройки, которые есть в AppOpsX, но которых нет в PG, запретить в AppOpsX, то они также появятся в PG. Это иногда неудобно для восприятия.

Также есть неудобство в том, что если что-то запретить приложению в AppOpsX, а потом вернуть доступ, то в некоторых случаях доступ вернётся только если перезагрузить смартфон. Не знаю с чем это связано.

Давайте пройдёмся по настройкам.

— Automatically turn off permissions (Автоматически отключать разрешения) — функция при которой AppOpsX отключает разрешения сразу при установке приложения. К сожалению на некоторых устройствах с Android 9 Pie AppOpsX не работает в стандартном режиме (просто с root) и данная функция в таком случае не работает.

— Close permission template automaticaly (Шаблон для автоматического отключения разрешений) — выбор какие именно разрешения будут отключены при включенной функции Automatically turn off permissions (Автоматически отключать разрешения)
-Use ADB mode (Использовать режим ADB) — если на вашем устройстве AppOpsX не работает в обычном режиме суперпользователя, вы можете попробовать через режим ADB. Для этого вам необходимо будет включить в настройках разработчика ADB over network (ADB по сети) и в настройках AppOpsX ещё включить Use scipt start server (Использование скрипта). Также в AFWall+ дать доступ для AppOpsX к localhost в LAN control/Управление сетью.

— Allow running in the background (Разрешить работать в фоновом режиме) — эту настройку также необходимо будет включить, если вы захотите использовать «Automatically turn off permissions (Автоматически отключать разрешения)»
-Root compatibility mode (Режим совместимости с рут правами) — если у вас не работает AppsOpsX, то есть это ещё одно обходное решение. У меня на LOS 16 (Android 9) работает именно оно. К сожалению в таком режиме также не работает Automatically turn off permissions (Автоматически отключать разрешения).

— Show system apps (Отображать системные приложения) — если у вас прошивка отличная от официального LOS, то лучше также постараться поограничивать и системные приложения. Тут надо быть внимательным, так как чрезмерное ограничение может вообще поломать функциональности прошивки, особенно при ограничении таких приложений как System и так далее. Хотя вы можете отключить доступы и для системных приложений официального LOS (аудиоплееру, звонилке и так далее), если вы и этой прошивке не доверяете.

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

Список разрешений



Я попыталась составить список разрешений, с наименованиями в Android, PG и AppOpsX
Тип Группа Код Наименование Описание And_EN And_RU PG_EN PG_RU AppOpsX_EN AppOpsX_RU Description
normal - ACCESS_LOCATION_EXTRA_COMMANDS Access extra location provider commands Дополнительные настройки сервисов местоположения. Например, возможность сбрасывать данные (кэш) для A-GPS. Информации об этом разрешении мало. Не нашла как ограничить. access extra location provider commands Доступ к дополнительным командам управления источниками геоданных - - - - A good example for poor documentation, as even books on Android application development state: The Android documentation doesn’t tell us which location commands are “extra,” so we’ll ask for all of them.The documentation of Locus Map gives a hint, though: allows disabling the A-GPS data status and forcing system to load new.
normal - ACCESS_NETWORK_STATE View network connections Получение информации о том какой именно вид интернета подключен (Wi-Fi, 3G, 4G). Названия сетей предоставляться не должны. Я не нашла как ограничить этот доступ. Сам по себе он не опасен, но совместно с другими доступами позволяет составить более полное профилирование. view network connections Просмотр сетевых подключений - - - - Allows applications to access information about networks, including if a network is available (or just connecting), what type of network the device is connected to, if any (WiFi, 3G, LTE), if it's in Roaming, and also reasons for a failed connection attempt (if any).Good use: The application may check the state of your connection before trying to access the internet, and e.g. restrict itself to WiFi for some actions.Bad use: Only in combination with other permissions (e.g. data collection for profiling).
normal - ACCESS_NOTIFICATION_POLICY Marker permission for applications that wish to access notification policy. Возможность отключать звук в режиме DND (Не беспокоить). Требует доступа к Do Not Disturb access — DND (Доступ к функции «Не беспокоить»). Не нашла как ограничить, кроме того, чтобы польностью убрать доступ к DND. - - - - - - -
normal - ACCESS_WIFI_STATE View Wi-Fi connections Просмотр доступных Wi-Fi сетей, просмотр данных о подключенном Wi-Fi устройстве. В послених версиях Android требует также доступ к местоположению для использования данного разрешения. view Wi-Fi connections (Wi-Fi control) Просмотр подключений Wi-Fi ( (Управление сетями Wi-Fi) — (Появляется только после того как переключить в AppOpsX Scan Wi-Fi networks) — (Появляется только после того как переключить в AppOpsX Сканировать сети Wi-Fi) WIFI_SCAN WIFI_SCAN This could be requested by any application that uses internet access. The application may check the state of your connection before trying to access the internet. It's comparable to ACCESS_NETWORK_STATE, just for WiFi.
normal - BLUETOOTH Pair with Bluetooth devices Просмотр настроек Bluetooth и подключение к Bluetooth устройствам (только к тем, которые ранее были добавлены/спарены). pair with Bluetooth devices Установление соединения с устройствами Bluetooth - - - - Allows the app to view the configuration of Bluetooth on the phone, and to make and accept connections with paired devices.
normal - BLUETOOTH_ADMIN Access Bluetooth settings Возможность включать Bluetooth, искать устройства и подключаться к ним (которые ранее были добавлены/спарены или ко всем). Не нашла как ограничить. access Bluetooth settings Доступ к настройкам Bluetooth - - - - Allows applications to discover and pair bluetooth devices.
normal - BROADCAST_STICKY Send Sticky Broadcasts Что-то связанное с вызовом сервисов других приложений. Большинство методов этого разрешения заблокированы в версиях приложений с Level API выше 20. Не нашла как ограничить. send sticky broadcasts Отправка сообщений с их последующим сохранением - - - - ?
normal - CHANGE_NETWORK_STATE Change network connectivity Возможность включать/выключать Wi-Fi/мобильный интернет. Не нашла как ограничить. сhange network connectivity Изменение сетевых настроек - - - - Allows applications to change network connectivity state.Good Cop: Enable network connection only when needed, according to the requirements of the user.Bad Cop: Cause extra costs (especially when in roaming) just for mischievous glee; secretly transfer data (in conjunction with INTERNET).
normal - CHANGE_WIFI_MULTICAST_STATE Allow Wi-Fi Multicast reception Возможность включить режим отправления, получения многоадресной рассылки по Wi-Fi. С помощью этой функции можно рассылать/получать сразу нескольким получателям файлы/трансляции с одного устройства. Не нашла как ограничить, но по идее если устройство не имеет возможности включить или контролировать Wi-Fi (CHANGE_WIFI_STATE), то и эту функцию включить не сможет. allow Wi-Fi Multicast reception Получение данных по многоадресной рассылке через Wi-Fi - - - - Allows applications to enter Wi-Fi Multicast mode. This allows to send data packages to multiple recipients simultaneously, without using additional bandwidth. Useful e.g. for streaming servers supporting multiple clients. It also enables to receive network packages not intended for the own device (sniffing).Uses more power than non-multicast-mode.
normal - CHANGE_WIFI_STATE Connect and disconnect Wi-Fi В описании говорится что это просто для включения/выключения Wi-Fi, но в другом описании [][https://developer.android.com/guide/topics/connectivity/wifi-scan] видно, что это также даёт доступ к сканированию сетей Wi-Fi. connect and disconnect from Wi-Fi Подключение/отключение от сети Wi-Fi Change Wi-Fi state Изменять состояние Wi-Fi connect and disconnect from Wi-Fi Подключение/отключение от сети Wi-Fi Allows applications to change Wi-Fi connectivity state. Think of it as CHANGE_NETWORK_STATE for WiFi.
normal - DISABLE_KEYGUARD Disable your screen lock Отключение пароля или паттерна заблокированного экрана. Опасно. Не нашла как отключить. - - - - - - Allows applications to disable the keyguard.This permission is of medium-high importance. It allows an app to disable the «lock screen» that most phones go into after going to sleep and been turned on again. This lockscreen can sometimes be a password screen, or a PIN screen, or just a «slide to unlock» screen.
normal - EXPAND_STATUS_BAR Expand/collapse status bar Скрывать статус бар. Не нашла как ограничить. - - - - - - Allows an application to expand or collapse the status bar.This appears to be a system permission – not for use by regular applications.By collapsing the status bar, an app might have a full-screen mode; an evil app might as well use it to hide the appearance of certain status icons from the user.
normal - FOREGROUND_SERVICE Foreground Service Очередное переосмысление от Google в Android 9 P в части работы в фоне некоторых элементов. Например, возможности держать в фоне сервис проигрывания музыки. Возможно такие изменения в структуре разрешений Android в итоге позволят снизить потребление энергии приложениями и дадут возможность ограничивать аппетит приложений на сбор данных. run foreground service запускать активные сервисы - - run foreground service запускать активные сервисы Required by apps targeting Android P or higher which want to run a foreground service. (A foreground service performs some operation that is noticeable to the user (like playing a sound track). Foreground services continue running even when the user isn't interacting with the app, but must display a Notification.)
normal - GET_PACKAGE_SIZE Measure app storage space Возможность получить информацию о размерах приложений. Не нашла как ограничить. - - - - - - Allows an application to find out the space used by any package.This permission does not seem to have any risk associated with it.
normal - INSTALL_SHORTCUT Install Shortcuts Создание ярлыков. Не нашла как ограничить. install shortcuts Создание ярлыков - - - - Allows an application to install a shortcut in Launcher (Homescreen).This is a custom permission for the default Android Laucher (the home screen). It would allow an app to put an icon or shortcut there. While not dangerous, this can sometimes be a sign of a potentially malicious or adware app, which could e.g. create a shortcut that looks like Google Play, but of course launches something completely different.
normal - INTERNET Full
network access
Доступ в интернет. Даётся приложениям без предупреждения! Можно ограничить только с помощью стандартных средства Android (если в конкретной прошивке не вырезали эту функцию). Также с помощью iptables (AFWall+) или других программ. PG или AppOpsX не могут ограничить интернет. Have full network access Неограниченный доступ к Интернету - - - - Allows applications to open network sockets. Any application that accesses the internet for any reason will have to request this permission.This is of course required to loads ads (which is why most apps request this), but can also be used to spy on personal data. Special caution is advised when this permission is requested at the same time as others which access personal data.
normal - KILL_BACKGROUND_PROCESSES Close other apps Разрешение закрывать другие приложения. Не нашла как ограничить. close other apps Закрытие других приложений - - - - Allows an application to call killBackgroundProcesses (String).This permission is a bit of a tricky one. Often this is used by what are called «task killers». Conversely this permission has some potential to maliciously close anti-virus or other security related apps. This should be treat caution. Few users should ever need an app with this permission. Rather, it could be an indicator of malicious intent (especially if not requested by a task killer or system performance tuning app).
normal - MANAGE_OWN_CALLS route calls through the system Насколько я поняла из описания – возможность делать приложениям своё оформление при вызове через свою систему и при этом использовать стандартный фреймворк устройства для звонков. То есть мессенджеры могут делать своё оформление звонков (со своим описанием собеседника, своими кнопками и так далее), но при это чтобы такие звонки были интегрированы и могли быть обработаны стандартно, например через гарнитуру. route calls through the system перенаправлять звонки в системе - - - - ?
normal - MODIFY_AUDIO_SETTINGS Change your audio settings Изменение настроек аудио. В AppOpsX настройки разделены на множество мелких (изменять громкость Bluetooth, изменять громкость звонка, голоса, будильника и так далее) change your audio settings Изменение настроек аудио - - Широкий набор настроек Широкий набор настроек Allows an application to modify global audio settings.
normal - NFC Control Near Field Communication Возможность использовать NFC control Near Field Communication Управление NFC-модулем Toggle NFC Переключить NFC control Near Field Communication Управление NFC-модулем Allows applications to perform I/O operations over NFC.The distance which NFC is able to work is only a few centimeters so that devices (or a device and a tag) must effectively be touching each other to communicate. Due to the distance, this technology is not particularly dangerous. However it does present a small risk and it is something that should used with caution.
normal - READ_SYNC_SETTINGS Read sync settings Возможность считывать настройки синхронизации аккаунтов. Может увидеть список аккаунтов (что уже плохо), но не может увидеть данные аккаунта. Не нашла как ограничить read sync settings Просмотр настроек синхронизации - - - - Allows applications to read the sync settings.This permission mostly allows the application to know if you have background data sync (such as for Facebook or Gmail) turned on or off. Might be a indicator that the app wants to adjust its behavior accordingly and respect your wishes concerning when to sync and when not. Note that this only allows access to the sync settings – not to synchronized data.
normal - READ_SYNC_STATS Read sync statistics Возможность считывать статистику синхронизации аккаунтов (частоту и размер данных). Может увидеть список аккаунтов (что уже плохо), но не может увидеть данные аккаунта. Не нашла как ограничить read sync statistics Просмотр статистики синхронизации - - - - Allows applications to read the sync stats for an account, including the history of sync events and how much data is synced.This permission is related to READ_SYNC_SETTINGS but not particularly dangerous itself. There is a minor risk that some personal information could be gleaned from the sync stats, but the information is unlikely to be valuble. Sync in this case relates to syncing of contacts and other types of media on the phone.
normal - RECEIVE_BOOT_COMPLETED Run at startup Автозапуск приложения при включении/перезагрузке устройства. run at startup Запуск при включении устройства Start at power up Запуск при включении устройства run at startup Запуск при включении устройства Allows the app to start itself as soon as the system has finished booting. This can make it take longer to start the phone and allows the app to slow down the device by constantly running.
normal - REORDER_TASKS Reorder running apps Видимо разрешение перевода приложений из фонового режима на главный экран или для повышения статуса приложения для невозможности выгрузки приложения из фоного режима. Не нашла как ограничить. - - - - - - Allows an application to change the Z-order of tasks. Malware could use this to push some ads o.a. into foreground to be displayed to the user.
normal - REQUEST_COMPANION_RUN_IN_BACKGROUND - Что-то для работы в фоне сервиса. Или для приёма звонков по какому то непонятному протоколу. Не нашла как ограничить. - - - - - - -
normal - REQUEST_COMPANION_USE_DATA_IN_BACKGROUND - Что-то для работы в фоне сервиса. Или для приёма звонков по какому то непонятному протоколу. Не нашла как ограничить. - - - - - - -
normal - REQUEST_DELETE_PACKAGES Allows an application to request deleting packages. Разрешение на запрос на удаление приложения. Не опасно, так как требует подтверждения от пользователя. Не нашла как ограничить. - - - - - - Allows an application to request deleting packages. Apps targeting APIs Build.VERSION_CODES.P or greater must hold this permission in order to use Intent.ACTION_UNINSTALL_PACKAGE or PackageInstaller.uninstall (VersionedPackage, IntentSender)). As this action should launch the application installer, the user should be asked to confirm each install.
normal - REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Request exclusion from battery optimizations Разрешение на запрос на работу в фоне даже в случае включения режима экономии заряда. Не опасно, так как требует подтверждения от пользователя. Не нашла как ограничить. - - - - - - Grants an app the permission to request being excluded from battery optimizations (aka Doze mode). The user has to approve this.
normal - SET_ALARM Set an alarm Установка будильника. Не опасно, так как требует подтверждения от пользователя. Не нашла как ограничить. set an alarm Установка будильника - - - - Allows an application to broadcast an Intent to set an alarm for the user.This permission seems to be of low risk because it doesnt allow the setting of the alarm directly. Rather it allows the opening of the alarm app on the phone.
normal - SET_WALLPAPER Set Wallpaper Установка обоев для главного экрана. Нельзя ограничить. set wallpaper Установка обоев - - - - Allows applications to set the wallpaper. Low risk, if any (except for shocking background images, maybe).
normal - SET_WALLPAPER_HINTS Adjust your wallpaper size Установка размеров и типа обоев для главного экрана. Нельзя ограничить. adjust your wallpaper size Изменение размеров обоев - - - - Allows applications to set the wallpaper hints. Lacking documentation, the best guess is this is about settings for size and position.
normal - TRANSMIT_IR Use IR Transmitter Использовать инфракрасный порт. Не нашла как ограничить. - - - - - - Allows using the device's IR transmitter, if available. Useful for infrared remote controls.
normal - USE_FINGERPRINT Allows an app to use fingerprint hardware. Использование отпечатков пальцев. Это разрешение вскоре будет заменено на USE_BIOMETRIC, видимо потому что помимо отпечатка пальцев ещё будет интегрированно распознавание по лицу. use fingerprint hardware. Использование сканера отпечатков Use fingrprint Использовать отпечаток пальца use fingerprint hardware Использование сканера отпечатков Allows
an app to use fingerprint hardware, but does not give the requesting app access to the enrollment/fingerprint administration flow.
normal - VIBRATE Control vibration Запускать виброотклик. control vibration Управление функцией вибросигнала Use haptic feedback Использовать виброотклик control vibration Управление функцией вибросигнала Allows the app to control the vibrating function of the device.
normal - WAKE_LOCK Prevent device from sleeping Предотвращать уход устройства в сон. prevent phone from sleeping Отключение спящего режима Keep your device awake Запретить устройству переходить в спящий режим prevent phone from sleeping Отключение спящего режима Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.Useful e.g. for navigation apps, to keep device and screen on without the user needing to tap it every minute.Of course this has strong effects on battery endurance, especially when used frequently.
normal - WRITE_SYNC_SETTINGS Toggle sync on and off Включение/выключение синхронизации определённых аккаунтов, параметров аккаунтов. Данное разрешение не даёт доступ к данным аккаунта, например не даёт доступ к самим контактам, но может включать/выключать синхронизацию контактов. Нельзя ограничить. toggle sync on and off Включение/выключение синъронизации - - - - Allows applications to write the sync settings.This permission relates to backup and sync of certain types of information like contacts. It allows an app to write settings for how that account and the data are sync and backed up. This is a common permission for social services or contact managers or any other type of app with an account associated with it. Alone, this permission doesn't allow an app access to contacts or other sensitive data. Rather, it just relates to how that data is backed up. Nevertheless, care should be taken as always.
dang CALENDAR READ_CALENDAR Read calendar events plus confidential information Чтение всех данных календаря. Очень опасное разрешение, так как приложение также может понять не только ваш график, но и местоположения и контакты упоминаемые во встречах/событиях в календаре Read calendar events and details Чтение мероприятий и данных Read calendar Чтение данных календаря Read calendar events and details Чтение мероприятий и данных Allows an application to read the user's calendar data.This permission is of moderate to high importance. While most people would consider their calendar information slightly less important than their list of contacts and friends, this permission should still be treated with care when allowing applications access. Additionally, it's good to keep in mind that calendar events can, and often do contain contact information.
dang CALENDAR WRITE_CALENDAR Add or modify calendar events and send email to guests without owners Добавление/удаление событий в календарь. Менее опасно чем чтение, но без чтения календаря приложение с возможностью записи может перезаписать существующие события в календаря add and modily calendar events and send email to guests without owner’s knowledge Добавление/изменение мероприятий и отправление гостям эл. Сообщений без предупреждения владельца календаря Modify calendar Изменение календаря add and modily calendar events and send email to guests without owner’s knowledge Добавление/изменение мероприятий и отправление гостям эл. Сообщений без предупреждения владельца календаря Allows an application to write (but not read) the user's calendar data.Apps using this permission can add calendar events, but not read them. So as long as the READ_CALENDAR permission is not requested along, risk should be moderate. However, a malicious app can cause a lot of confusion if you suddenly find a lot of calendar alerts in your notification bar.
dang CALL_LOG READ_CALL_LOG Read Call Logs Читать список звонков. Read call log Просмотр журнала вызовов Read call log Просмотр журнала вызовов read call log Просмотр журнала вызовов Allows an application to read the user's call log.Implicitly granted with READ_CONTACTS when both minimum and targeted SDK level are 15 (ICS) or lower.
dang CALL_LOG WRITE_CALL_LOG Write call log Изменять список звонков. write call log Изменение журнала вызовов Modify call log Изменение журнала вызовов write call log Изменение журнала вызовов Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.This permission is not much of a danger by itself, but rather could be used to hide other malicious behavoir. However it has a legitimate purpose for dialer replacements or voice over IP apps (like Google Voice).
dang CALL_LOG PROCESS_OUTGOING_CALLS Reroute outgoing calls Возможность управлением исходящими вызовами. Опасное разрешение, которое можно выдавать только специализированным приложениям типа VOIP приложениям (помимо системного приложения для звонков). reroute outgoing calls Перенаправление исходящих вызовов - - reroute outgoing calls перенаправление исхожящих вызовов Allows an application to monitor, modify, or abort outgoing calls.This permission is of high importance. This would allow an app to see what numbers are called and other personal info. Generally this permission should only be seen on apps for VOIP (Voice Over Internet Protocol) like Google Voice or dialer replacement type apps.For incoming calls, see MODIFY_PHONE_STATE.
dang CAMERA CAMERA Take pictures and videos Снимать фото и видеозаписи. take pictures and videos Фото- и видеосъемка Access the camera Доступ к камере Take pictures and videos Фото- и видеосъемка Required to be able to access the camera device.This permission is of moderate importance. As it states, it lets an app control the camera function on your phone. In theory this could be used maliciously to snap unsuspecting photos, but it would be unlikely and difficult to get a worthwhile picture or video. However, it is not impossible to make malicious use of cameras.Legit uses include a.o. camera apps and barcode readers.
dang CONTACTS READ_CONTACTS Read your contacts Читать список контактов. read your contacts Просмотр контактов Read contacts Чтение данных контактов Read your contacts Просмотр контактов Allows an application to read the user's contacts data.This permission is of high importance. Unless an app explicitly states a specific feature that it would use your contact list for, there isn't much of a reason to give an application this permission. Legitimate exceptions include typing or note taking applications, quick-dial type applications and possibly social networking apps. Some might require your contact information to help make suggestions to you as you type. Typical applications that require this permission include: social networking apps, typing/note taking apps, SMS replacement apps, contact management apps.To see what‘s all accessible with this permission, take a look at the app [permission.READ_CONTACTS]http://www.1mobile.co.id/permission-read-contacts-164022.html), which unfortunately is no longer available at Google Play.
dang CONTACTS WRITE_CONTACTS Modify your contacts Изменять контакты modify your contacts Изменение контактов Modify contacts Изменение контактов Modify your contacts Изменение контактов Allows an application to write (but not read) the user's contacts data.Unless an app explicitly states a specific feature that it would use your contact list for, there isn't much of a reason to give an application this permission. Legitimate exceptions include typing or note taking applications, quick-dial type applications and possibly social networking apps. Some might require your contact information to help make suggestions to you as you type. Typical applications that require this permission include: social networking apps, typing/note taking apps, SMS replacement apps, contact management apps.See also WRITE_CALENDAR.
dang CONTACTS GET_ACCOUNTS Find accounts on the device Получение списка аккаунтов. В последних версиях Android приложение пожет получить данные аккаунта, созданного самим приложением без этого разрешения. Так что лучше это разрешение не давать никакому приложению, так как приложением сможет получить доступ к своим данными и без этого. Если и давать доступ к этому разрешению, то только для тех случаев когда вы точно знаете, что делаете. find accounts on the device Поиск аккаунтов на устройстве Get accounts Получение аккаунтов Find accounts on the device Поиск аккаунтов на устройстве Allows access to the list of accounts in the Accounts Service.Applications that require some type of authentication from accounts that are «connected» to the
device. A list of the accounts are ususally displayed so you can choose the account to use with the application. To really use those credentials, the USE_CREDENTIALS permission is required.An evil app could use this permission to spy on you (what are you using?).
dang LOCATION ACCESS_FINE_LOCATION Precise location (GPS and network-based) Получение информации о местоположении используя GPS, Wi-Fi и сотовые вышки. access precise location (GPS and network-based) Доступ к точному местоположению (по координатам сети и спутникам GPS) Fine location Точное местоположение GPS GPS Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.This permission can be used by applications that display location based ads by publishers like Admob (Google). It is also used by applications that want your exact location. Examples would be Navigation applications, «Check-In» apps like 4square.
dang LOCATION ACCESS_COARSE_LOCATION Approximate location (network-based) Получение информации о местоположении используя Wi-Fi и сотовые вышки. access approximate location (network-based) Доступ к примерному местоположению (по координатам сети) Coarse location Приблизительное местоположение Access approximate location (network-based) Доступ к примерному местоположению (по координатам сети) Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.This permission is usually used by applications that display location based ads by publishers like Admob (Google).
dang MICROPHONE RECORD_AUDIO Record audio Запись звука record audio Запись аудио Record audio Запись аудио record audio Запись аудио Allows an application to record audio.While this permission is not typically dangerous, it is a potential tool for eavesdropping. However recording audio has legitimate uses such as note taking apps or voice search apps. As a side note recording audio is typically a significant drain on the battery.Bad Cop: In conjunction with the INTERNET permission, this could be used to eavesdrop on the user.
dang PHONE READ_PHONE_STATE Read phone status and identity Доступ к множеству данных устройства, такие как: IMEI, SIM ID, номер абонента сим карты и номер телефона собеседника, с которым вы разговариваете. read phone status and identity Получение данных о статусе телефона Read phone state Прочитать состояние телефона Read phone status and identity Получение данных о статусе телефона Allows read only access to phone state.This permission gives access to your device's identifiers (IMEI/IMSI, SIM ID, voice mailbox number, your phone number and, if a call is in progress, the remote number. It‘s not necessarily required for things like call state (whether a call is in progress/pending), network operator, or the network provider used – according to the app permission.READ_PHONE_STATE (no longer listed on Google Play), which shows what this permission is needed for (and what not); also see here.This permission is automatically granted to apps targeted at Android 1.6 or before.
dang PHONE READ_PHONE_NUMBERS Allows read access to the device's phone number (s). По описанию – это менее требовательный к данным вариант READ_PHONE_STATE. По идее это доступ к номеру телефону вашей сим карт (ы). Данных практически нет по этому разрешению. - - - - read phone numbers чтение номеров телефонов Allows read access to the device's phone number (s). This is a subset of the capabilities granted by READ_PHONE_STATE but is exposed to instant applications.As it's named a subset of READ_PHONE_STATE, the numbers accessed are the ones belonging to you, i.e. assigned to your SIM card (and not your contacts list).
dang PHONE CALL_PHONE Directly call phone numbers Предлагать осуществить телефонный вызов. Не сильно опасно, так как необходимо подтверждение пользователем, то есть нажать кнопку “Вызов”. directly call phone numbers Осуществление телефонных вызовов Make a phone calls Выполнять телефонный звонок directly call phone numbers Осуществление телефонных вызовов Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.This permission is of high importance. This could let an application call a 1-900 number and charge you money. However, this is not as common a way to cheat people in today's world as it used to be. Legitimate applications that use this include: Google Voice and Google Maps.Another important point to note here is that any app can launch the phone screen and pre-fill a number for you. However, in order to make the call, you would need to press «Send» or «Call» yourself. The difference with this permission is that an app could make the entire process automatic and hidden.
dang PHONE ANSWER_PHONE_CALLS Allows the app to answer an incoming phone call. Ответ на входящий звонок. Не смогла найти информацию об этом разрешении и не смогла найти приложений с таким разрешением. ? ? ? ? answer phone calls Ответ на входящие вызовы Allows the app to automatically answer an incoming phone call, i.e. without user interaction. This is a runtime permission, so no app does get it granted automatically.
dang PHONE ADD_VOICEMAIL Add Voicemail Изменять сообщение автоответчика. add voicemail Добавление голосовых сообщений Add voicemail Добавить голосовую почту add voicemail Добавление голосовых сообщений Allows the app to add messages to your voicemail inbox.
dang PHONE USE_SIP Make/receive Internet calls Возможность совершать SIP звонки. - - - - make/receive SIP calls Входящие и исходящие вызовы SIP Use SIP for internet telephony.
dang SENSORS BODY_SENSORS body sensors (like heart rate monitors) Получение данных с нательных датчиков. Не нашла ни одного приложения, которое бы содержало такое разрешение, видимо это разрешение на будущее, когда появятся встроенные мониторы сердцебиения в телефон и так далее. - - - - - - Allows the app to access data from sensors you use to measure what's happening inside your body, such as heart rate.
dang SMS SEND_SMS Send SMS messages Отправка SMS сообщений. Несмотря на описание, в котором есть слово “view” (просмотр), но имеется ввиду скорее всего просмотр только того сообщения, которое отправляется Send and view SMS messages Отправка и просмотр SMS-сообщений Write SMS/Send SMS Отправка SMS send and view SMS messages Отправка и просмотр SMS-сообщений Allows an application to send SMS messages.This could let an application send an SMS on your behalf, and much like the phone call permission, it could cost you money by sending SMS to for-pay numbers. Certain SMS numbers work much like 1-900 numbers and automatically charge your phone company money when you send them an SMS.
dang SMS RECEIVE_SMS Receive text messages (SMS) Получение MMS сообщений. Может получать MMS только то приложение, которое явлется дефолтным приложением для сообщений в настройках. receive text messages (SMS) Прием SMS-сообщений Receive SMS Получение SMS receive text messages (SMS) Прием SMS-сообщений Allows an application to monitor incoming SMS messages, to record or perform processing on them.This permission is mostly a privacy concern. Any app that can read your SMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply «SMS replacment» apps (such as Handcent) and would naturally need this permission to function. Other apps sometimes use this as a way of sending a special code to you device. This can be used by a paid app by sending a code to unlock the full version of an app. Or, this can be used by security apps to listen for a special shutdown codes in case your phone is stolen.More details on this permission can be found a.o. in this post on StackExchange.
dang SMS READ_SMS Read your text messages (SMS or MMS) Чтение SMS и MMS. read your text messages (SMS or MMS) Просмотр SMS и MMS Read SMS Чтение SMS Read your text messages (SMS or MMS) Просмотр SMS и MMS Allows an application to read SMS messages.This permission is mostly a privacy concern. Any app that can read your SMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply «SMS replacment» apps (such as Handcent) and would naturally need this permission to function. Other apps sometimes use this as a way of sending a special code to you device. This can be used by a paid app by sending a code to unlock the full version of an app. Or, this can be used
by security apps to listen for a special shutdown codes in case your phone is stolen.Check the app permission.READ_SMS to see what information can be obtained with this permission.
dang SMS RECEIVE_WAP_PUSH Receive text messages (WAP) Получение уведомления о новом MMS через устаревшую технологию WAP. Не нашла как ограничить, просто ограничиваю приём MMS - - - - - - Allows an application to monitor incoming WAP push messages.Sending and receiving MMS is based on WAP. The information that there‘s a MMS message available for download, is sent as WAP Push to the device.
dang SMS RECEIVE_MMS Receive text messages (MMS) Получение MMS сообщений. Может получать MMS только то приложение, которое явлется дефолтным приложением для сообщений в настройках. receive text messages (MMS) Прием MMS-сообщений Receive SMS (Тут ошибка в описании в PG, должно быть MMS) Получение SMS (Тут ошибка в описании в PG, должно быть MMS) receive text messages (MMS) Прием MMS-сообщений Allows an application to monitor incoming MMS messages, to record or perform processing on them.This permission is mostly a privacy concern. Any app that can read your MMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply «SMS/MMS replacment» apps (such as Handcent) and would naturally need this permission to function.See also RECEIVE_SMS.
dang STORAGE READ_EXTERNAL_STORAGE Read the contents of your usb storage Считывание данных общего хранилища. Не смотря на то что называется или USB хранилища, или SD карты подразумевается доступ к общей памяти, даже если у вас нет SD карты. read the contents of your SD card Считывание содержимого SD-карты Read external storage Чтение с внешнего накопителя read the contents of your SD card Считывание содержимого SD-карты Allows an application to read from external storage. This permission was granted to all apps by default up to Android 4.3. This changed with Android 4.4 (API level 19), which now requires that applications explicitly request read access using this permission. If an application already requests write access, it will automatically get read access as well.Good/Bad Cop: An MP3 player of course should have access to your music files stored there – but along with that, it could also access all other data stored on the card. Which means, you should never store sensible data (unencrypted) on your SDCard.
dang STORAGE WRITE_EXTERNAL_STORAGE Modify or delete the contents of your USB storage Изменение данных общего хранилища. Не смотря на то что называется или USB хранилища, или SD карты подразумевается доступ к общей памяти, даже если у вас нет SD карты. modify or delete the contents of your SD card Изменение или удаление содержимого SD-карты Write to external storage Запись на внешний накопитель Modify or delete the contents of your SD card Изменение или удаление содержимого SD-карты Allows an application to write to external storage.This will allow applications to read, write, and delete anything stored on your phone's SD card. This includes pictures, videos, mp3s, documents and even data written to your SD card by other applications. However, there are many legitimate uses for this permission. Many people want their applications to store data on the SD card, and any application that stores information on the SD card will need this permission unless they restrict themselves to their app specific directory provided by the system. Applications that typically need this permission include (but are not limited to) camera applications, audio/video applications, document applications.Warning: Any app targeting Android 1.5 or below (possibly 1.6 as well) will be granted this permission BY DEFAULT and you may not even be warned about it. It is important to pay attention to what version of Android an app is targeting to know if this permission is being granted. You can see this on the Market website in the right hand column.
sign - BIND_ACCESSIBILITY_SERVICE Bind to an Accessibility Service - - - - - - - Allows the holder to bind to the top-level interface of an accessibility service. Must be required by an AccessibilityService, to ensure that only the system can bind to it.
sign - BIND_AUTOFILL_SERVICE - - - - - - - - -
sign - BIND_CARRIER_SERVICES - - - - - - - - -
sign - BIND_CHOOSER_TARGET_SERVICE - - - - - - - - -
sign - BIND_CONDITION_PROVIDER_SERVICE - - - - - - - - -
sign - BIND_DEVICE_ADMIN Interact with device admin - - - - - - - Allows the holder to send intents to a device administrator. Must be required by device administration receiver, to ensure that only the system can interact with it.For further details, also see: What permissions are granted to an app with device administration privileges?
sign - BIND_DREAM_SERVICE - - - - - - - - -
sign - BIND_INCALL_SERVICE - - - - - - - - -
sign - BIND_INPUT_METHOD Bind to an Input Method - - - - - - - Allows the holder to bind to the top-level interface of an input method. Must be required by an InputMethodService, to ensure that only the system can bind to it.
sign - BIND_MIDI_DEVICE_SERVICE - - - - - - - - -
sign - BIND_NFC_SERVICE Bind NFC Service - - - - - - - Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
sign - BIND_NOTIFICATION_LISTENER_SERVICE Bind Notification Listener Service - - - - - - - Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
sign - BIND_PRINT_SERVICE Bind Print Service - - - - - - - Must be required by a PrintService, to ensure that only the system can bind to it.
sign - BIND_SCREENING_SERVICE - - - - - - - - -
sign - BIND_TELECOM_CONNECTION_SERVICE - - - - - - - - -
sign - BIND_TEXT_SERVICE Bind to a Text Service - - - - - - - Allows the holder to bind to the top-level interface of a text service (e.g. SpellCheckerService). Must be required by a TextService to ensure that only the system can bind to it.
sign - BIND_TV_INPUT - - - - - - - - -
sign - BIND_VISUAL_VOICEMAIL_SERVICE - - - - - - - - -
sign - BIND_VOICE_INTERACTION - - - - - - - - -
sign - BIND_VPN_SERVICE Bind to a VPN service - - - - - - - Allows the holder to bind to the top-level interface of a Vpn service. Must be required by a VpnService, to ensure that only the system can bind to it.
sign - BIND_VR_LISTENER_SERVICE - - - - - - - - -
sign - BIND_WALLPAPER Bind to wallpaper - - - - - - - Allows the holder to bind to the top-level interface of wallpaper. Must be required by a WallpaperService, to ensure that only the system can bind to it.
sign - CLEAR_APP_CACHE Delete all app cache data - - - - - - - Allows an application to clear the caches of all installed applications on the device.This permission is of low importance. It allows an app to clear the cache of apps on the phone or tablet. The cache is a place that an app stores recently used data for faster access. Clearing the cache can sometimes (very rarely) fix bugs related to those files. Clearing these files generally presents no risk other than
to slow the performance of the phone or tablet (as apps will need to re-create the caches when used).
sign - MANAGE_DOCUMENTS Manage Documents - - - - - - - Allows an application to manage access to documents, usually as part of a document picker.
sign - READ_VOICEMAIL - - - - - - - - -
sign - REQUEST_INSTALL_PACKAGES Allows an application to request installing packages. Возможность делать запрос на установку приложений. Необходимо подтверждение пользователем, так что при внимательном обращении не опасно. Install unknown apps в Apps & notifications>Advanced>App permissions Установка неизвестных приложений в Приложения и уведомления>Дополнительно>Разрешение приложений - - request install package Запрос пакетов установки Allows an application to request installing packages. Apps targeting APIs greater than 25 (Android 7/Nougat) must hold this permission in order to use ACTION_INSTALL_PACKAGE. As this action launches the application installer, the user should be asked to confirm each install.
sign - SYSTEM_ALERT_WINDOW Draw over other apps Показывать экран поверх других приложений. Не путать с Pictire-in-Picture, в Android выведено в отдельные настройки. Display over other apps Поверх других приложений Draw on top Отображение поверх других элементов This app can appear on top of other apps Показ поверх всех окон Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.This permission allows an app to show a «popup» window above all other apps, even if the app is not in the foreground. A malicious developer/advertiser could use it to show very obnoxious advertising. Almost no apps should require this permission unless they are part of the Android operating system. An example of a system alert would be the alert you are shown when your phone or tablet is out of battery and is about to shut down.Also see: Android.SE «Drawing over other apps»
sign - WRITE_SETTINGS Modify system settings Возможность изменять системные настройки. Modify system settings Изменение системных настроек modify system settings Изменение настроек modify system settings Изменение настроек системы Allows an application to read or write the system settings.Global settings are pretty much anything you would find under Android's main 'settings' window. However, a lot of these settings may be perfectly reasonable for an application to change. Typical applications that use this include: volume control widgets, notification widgets, settings widgets, Wi-Fi utilities, or GPS utilities. Most apps needing this permission will fall under the «widget» or «utility» categories/types.
sign - WRITE_VOICEMAIL - - - - - - - - -
AppsOpsX - READ_CLIPBOARD Read clipboard Считывание буфера обмена. Вроде как должен был появиться только в Android 10 Q - - - - Read clipboard Чтение буфера обмена ?
AppsOpsX - WRITE_CLIPBOARD Modify clipboard Изменение буфера обмена. Вроде как должен был появиться только в Android 10 Q - - - - Modify clipboard Изменение буфера обмена ?
? PACKAGE_USAGE_STATS Update component usage statistics Получение данных о статистике использования приложений. Ограничить можно в PG. Usage access (в настройках разрешений) Доступ к данным (в настройках разрешений) Get usage stats Получить статистику использования PACKAGE_USAGE_STATS PACKAGE_USAGE_STATS Allows the modification of collected component usage statistics. Not for use by normal applications.Most likely refers to app statistics, e.g. how often an app was started.


Частично основывалась на статьях [203], [205] ,[207], [209] и других.

Хотелось бы поделится с вами теми разрешениями, на которые я обращаю пристальное внимание:

ACCESS_WIFI_STATE — View Wi-Fi connections
CHANGE_WIFI_STATE — Connect and disconnect Wi-Fi
INTERNET — Full network access — как я уже писала выше ограничиваю стандартными средствами Android (которые не вырезаны в LOS) и через AFWall+
RECEIVE_BOOT_COMPLETED-Run at startup — ограничиваю ВСЕМ приложениям, кроме тех, которым это 100% необходимо (почтовик, мессенджер, Orbot, AFWall+,AdAway и системных)
READ_PHONE_STATE — Read phone status and identity — ограничение доступа к многим несбрасываемым данным. Но не стоит сильно надеяться на данное ограничение, многие данные можно получить косвенным способом.

WAKE_LOCK-Prevent device from sleeping — ограничиваю тем приложениям, которым также ограничиваю работу в фоне.

READ_CLIPBOARD-Read clipboard — я не знаю могут ли приложения получать доступ к буферу обмена даже если не «зажимать» тап на несколько секунд для вызова меню буфера обмена. На всякий случай недоверенным приложениям я отключаю чтение буфера обмена.

RECEIVE_MMS — советую отключить даже у дефолтного приложения. Особенно если у вас не последняя версия Android (или LOS). Ранее через MMS пролезало слишком много нехорошего.

И естественно ограничиваю все разрешения с типом Dangerous (опасные) тем приложениям, которым это не надо.

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

Что нельзя ограничить


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

  1. Возможность получить список приложений. Можно ограничить только средствами XprivacyLua, но это не очень безопасно, если не аккуратно следить за тем, что делаешь с устройством. Только для опытных пользователей. Также частично можно ограничить доступ если сделать Рабочий профиль, об этом я напишу далее.
  2. Доступ к таким датчикам как, компас, акселерометр, датчик атмосферного давления и так далее.
  3. Куча мелких недоработок Android, которые не позволяют за вами следить напрямую, но позволяют много чего выяснить косвенно [211], [213]

    ЛИЧНЫЙ ОПЫТ, С НЕГАТИВНЫМИ ВЫСКАЗЫВАНИЯМИ
    Как-то в 2015-2016 году ко мне обратились с просьбой посмотреть смартфон Xiaomi на проблему быстрого разряда и для проверки на наличие вирусов. И я начала копаться в настройках. Оказалось, что в данной прошивке уже на тот момент была возможность не просто ограничивать доступ, а выставлять настройку «Спрашивать» для доступа. Ради интереса я проставила всем приложениям для ВСЕХ доступов тип «Спрашивать», так как только так можно было понять какие приложения пытаются просканировать что-либо (если «Запретить» или «Разрешить», то никаких уведомлений нельзя было увидеть). Я конечно была очень удивлена тем сколько приложений постоянно что-то считывают. Особенно китайских. Калькулятор, прогноз погоды, скачивание обоев и другие приложения просили доступ ко всему! Но что нам до китайских приложений (хотя некоторые системные приложения в MIUI никак ограничить нельзя), удивило меня даже не это. В ходе экспериментов и детальных настроек я убрала возможность автозапуска и работу в фоне большинства приложений. На этом устройстве были установлены два приложения IT компаний России из топ-20, и при запуске любого из этих приложений моментально другое приложение запрашивала доступ ко всему чему можно (местоположению, микрофону, и так далее)!!! Эти компании не были никак связаны особыми соглашениями о сотрудничестве, и насколько я смогла проверить разработчики этих приложений были разные. Вдумайтесь — эти компании договорились о том, чтобы их приложения запускали друг друга даже когда пользователь убирает возможность автозапуска и бескомпромиссно начинают считывать аудио с микрофона и геолокацию. Также каким-то образом обходили запрет работать в фоне. Я специально не афиширую названия для того, чтобы заявить — тем кто принимал решение так сделать уготован отдельный котёл.

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


Продолжим списком тех ограничений, которые появятся в Android 10 Q (а это значит что их на данный момент нет в Android 5,6,7,8,9).[215]
  1. Доступ к proc/net. Сейчас ограничить нельзя никак НИКАКИМИ средствами. Можно только использовать прошивку GrapheneOS, но она достаточно стабильна только на устройствах Pixel 3a, Pixel 3a XL, Pixel 3 и Pixel 3 XL.
  2. Scoped storage [217] — раздельное ограничение для доступа к папкам на «внешнем» хранилище. То есть, по идее можно будет ограничить доступ только к своей папке и на выбор к папкам с аудио, видео, фото. НО опять есть ньюансы:
    а) Если разработчик не будет обновлять своё приложение и будет оставаться на level API = 28 (соответствующим Android 9), то ограничить таким образом приложение будет нельзя.

    б) С помощью какого-то там манёвра[219] у разработчика ещё будет 1-год до августа 2020 года возможность обойти это ограничение.
  3. Вводится ограничение ACCESS_BACKGROUND_LOCATION [221] — доступ приложения к геолокации, когда приложение находится в фоне. Опять-таки жёстко ограничение будет введено только в 2020 году, и ещё целый год разработчики приложений смогут избегать данного ограничения.
  4. Какое-то дополнительное ограничение на запуск каких-то действий в фоне[223]. Мне лично непонятно как это отразится на прозрачности работы приложений, но надеюсь это будет на пользу. Эти ограничения вступают в силу для любого приложения работающего на Android 10 Q.
  5. Ограничение на доступ к несбрасываемым идентификаторам, таким как EMEI, Wi-Fi MAC, серийный номер устройства и так далее. Эти ограничения вступают в силу для любого приложения работающего на Android 10 Q, что есть хорошо.
  6. Все приложения использующие методы на считывание наименований ID сотовых вышек, или на сканирование Wi-Fi точек или сканирование Bluetooth устройств должны также иметь доступ к геолокации.
  7. Доступ к буферу обмена. Нельзя будет сканировать буфер обмена в фоне. Надеюсь реализуют возможность, чтобы приложение не могло сканировать буфер обмена, но можно было вставить/скопировать через клавиатуру, так как сейчас при ограничении приложению доступа к буферу обмена (через AppOpsX) нельзя вообще ничего сделать с буфером в приложении, даже через стандартную/родную клавиатуру.
  8. Другие небольшие улучшения в части приватности.

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

Level API/sdk


Google от версии к версии Android что-то меняет в своей системе, что-то добавляет, что-то убирает, что-то ограничивает. И с каждой новой версией Android предоставляется новая версия Level API.[225]
И если в Android что-то ограничивается в новой версии, то в большинстве случаев эти ограничения не влияют на приложение сразу. Давайте разберём новый алгоритм разрешений для доступа к файлам на устройстве — Scoped storage. Это разграничение появится в Android 10 Q в котором будет уже новый Level API=29. И вот вы, предположим, купите себе устройство с Android 10 Q или поставите прошивку с Android 10 Q на ваше устройство. Но если разработчик какого-либо приложения при сборке своего приложения укажет Level API=28, то его приложение даже на вашем устройстве с Android 10 Q будет иметь доступ ко всему хранилищу без возможности разграничения на папки. Вы дали доступ к SD-карте, но не давали доступ к конкретным папкам (фото, видео, музыке). Вы пользуетесь этим приложением, оно не спрашивает доступ к отдельным папкам и вы думаете, что всё хорошо, но это приложение будет иметь доступ ко всем файлам! Ну а что тогда не позволяет разработчикам бесконечно откладывать Level API своего приложения?: в Google Play через год после выпуска определённой версии Android и Level API не будут пропускаться приложения, которые не соответствуют последней версии API. То есть Google даёт отсрочку на год на внедрение каких-либо ограничивающих функций.

Будьте внимательны, не полагайтесь только на версию Android, смотрите также на версию Level API приложения.

Для установленных приложений можно посмотреть Level API в приложении «apps_Packages Info
(com.oF2pks.applicationsinfo)»[227]. Это интересное приложение, которое кроме Level API (или как там оно называется SDK) показывает также и другую интересную информацию.

Как посмотреть Level API/SDK приложения в Google Play или на других сервисах я не нашла.

По поводу необходимости отслеживать разрешения


Давайте рассмотрим на примере такого «замечательного» мессенджера Telegram разрешение на чтение и запись в хранилище. Оставим в стороне то, что в telegram регистрация только по номеру телефона и то, что код их серверов закрыты, давайте поговорим о том как работают их чаты. Есть проблема, которую описывал пользователь alex0ff [229] ещё в 2014 году.

Опишу версию из F-Droid в которой не менялась структура папок[231].

Следите за руками (сим салабим) — для хранения своих данных приложения имеют несколько вариантов:

  • На системном разделе в папке data/data. Ранее в данном разделе вообще никакие приложения не хранили данные, так как Android устройства оснащались малым количеством памяти, а остальное «добиралось» внешними SD картами. И даже те устройства, которые имели относительно большую внутреннюю память, на самом деле имели у себя просто вшитую SD карту. Соответственно до недавнего времени хранить там большие данные было нельзя (что кстати не останавливало системные приложения Samsung, память забивалась даже при отсутствии других приложений). Доступ к этому разделу только для своей папки может получить только само приложение или пользователь, у которого есть рут через какой-нибудь специальный файл менеджер. Но ситуация года как 3 изменилась. Настоящей памяти стало относительно много и теперь можно хранить данные в данном разделе. Ну или по крайней мере спрашивать пользователей (кстати, некоторые приложения так и делают).
  • На разделе под названием sdcard (это только называется так исторически, по сути это та же внутренняя память устройства) в папке Android/data
    Данные в этой папке в своей подпапке с приложением (в описываемом мною случае это sdcard/Android/data/org.telegram.messenger) могут быть
    а) всегда просмотрены/изменены самим приложением (Telegram-ом) вне зависимости от того, дали ли вы ему доступ к хранилищу или нет.

    б) прочтены ЛЮБЫМ другим приложением с доступом к хранилищу (имеется ввиду тот доступ, который вы выдаёте)!!!
  • В любом месте на sdcard (кроме Android/data). Например, тот же телеграм в разделе sdcard создаёт папку «Telegram». Эти данные могут быть прочтены и изменены любым приложением, у которого есть доступ к хранилищу (имеется ввиду тот доступ, который вы выдаёте).

Что имеем в итоге:

а) все файлы не из секретных чатов сохраняются в папке sdcard/Telegram. Любое приложение также с доступом к хранилищу может считывать эти данные. И многие приложения делают это. Было куча исследований на эту тему. Я уже приводила одну статью [211], [213]. Сейчас алгоритмы настолько мощные и процессоры на серверах настолько дешёвые что распознавание всего того, что есть на картинках — стандартная задача для третьекурсника ИТ специальности. Также я уже писала в этой статье что приложение Facebook пытается сканировать proc/net для сбора информации о посещённых вами IP (по которым можно вычислить и сайт). Вы думаете, что Facebook (и принадлежащий ему WhatsApp и Instagram) не будут также сканировать все ваши данные из других программ? Конечно будут.

б) все файлы из секретных чатов по идее не должны сохраняться в общем хранилище. В действительности же файлы (но вроде не все) сохраняются в папке sdcard/Android/data/org.telegram.messenger!!! Их видят все приложения с доступом к хранилищу. Почему они не сохраняются в data/data/org.telegram.messenger, чтобы их никто не мог видеть? Слишком много вопросов от меня и так мало ответов от Павла.

Давайте так, если вы ничего не поняли из того, что я написала, то опишу проще:
Например, у вас есть приложения Telegram и WhatsApp. Оба приложения просят доступ к хранилищу, иначе вы не сможете отправлять свои файлы друзьям (в телеграм хотя бы получать можно, в WhatsApp даже получить файлы нельзя). Вы даёте обоим приложениям доступ к хранилищу и WhatsApp видит все фотки из секретных чатов телеграма и 99%-ов, что отсылает на свои сервера. Надеюсь так понятней.

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

Лично я не даю доступ к хранилищу никаким приложениям имеющим доступ в интернет. Да, это тяжело осуществить. Пришлось переходить на Conversations в части мессенджеров и отслеживаю периодически запросы через логирование в AdAway.

Ещё пример. Была уязвимость (но больше похоже на закладку) в WhatsApp-е[233]. Как можно частично избежать таких уязвимостей — не давать доступы самому WhatsApp. То есть злоумышленники могли делать всё, что мог делать WhatsApp, но если бы у WhatsApp-а не было бы доступов (или он был бы установлен в рабочий профиль), то злоумышленники смогли бы только прочитать переписку в самом WhatsApp-е, но не видеть остальные данные на устройстве.

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

Кстати, эта уязвимость также касалась и WhatsApp на iPhone.

SD-card/usb-storage


Исторически сложилось, что внутренняя память устройства называлось SD-картой, так как в первых устройствах в действительности не было нормального чипа с памятью и его заменяла SD карта (впаянная). Сейчас же чипы с нормальным количеством памяти устанавливаются в устройство и название поменялось на «usb-storage». А теперь под SD картой понимается реальная отдельная внешняя SD карта (которая, не всегда поддерживается устройством). Но в структуре папок на Android всё равно осталось наименования sdcard для внутреннего хранилища. Так как зачастую SD карты в России продаются поддельные, а также из-за того что скорость их всё равно пока невысока, и шифрование внешней SD карты до последнего времени работало криво (хотя как сейчас — я не знаю), то я ими не пользуюсь и не могу ничего сказать по поводу использования внешней SD карты. Я обычно рекомендую использовать устройство с бОльшим количеством внутренней памяти, вместо SD карты.

Ещё раз рекомендую прочитать цикл статей и на эту тему в частности [69].

Рабочий профиль (Work profile) и Shelter (net.typeblog.shelter)


В стандартном Android есть отдельная функция, называемая «Рабочий профиль». Он нужен для того, чтобы на одном телефоне было как бы два пространства — ваше личное и для приложений по работе. Для того, чтобы рабочий профиль был активирован, нужно установить специальное приложение от вашего работодателя. Но вы можете воспользоваться этим механизмом без «чужих» программ, активировав его с помощью приложения Shelter (net.typeblog.shelter) из F-Droid.

При первом запуске этого приложения необходимо будет дать доступ к «Install unknown apps (Установка неизвестных приложений)» и Device admin apps (Приложения администратора устройства). Достаточно серьёзные права, но они необходимы для работы приложения. При этом это приложение не просит доступа в интернет и не просит рут доступа, является open source (в отличие от аналога Island).

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

В LOS 14, 15.1 и 16 всё работает.

Какие возможности даёт рабочий профиль?

— Отдельный список аккаунтов
— Отдельный список контактов
— Отдельная память

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

— доступ к proc/net — приложения из рабочего профиля может видеть список IP адресов к которым подключаются приложения из личного профиля.
— IMEI
— Датчики типа компаса и другие.

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

После активизации рабочего профиля в настройках во многих пунктах появятся пункты для рабочего профиля. В Accounts (Аккаунты) появятся пункты связанные с рабочим профилем. Необходимо зайти в «Work profile settings (Настройки рабочего профиля)» и убрать «Contact search (Поиск контактов)»
В самом приложении Shelter также можно скопировать приложение из личного профиля в рабочий, но без ваших данных.

Особенности рабочего профиля и Shelter:

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

Как взаимодействуют другие предложенные инструменты:

1) AdAway — AdAway личного профиля также работает и для рабочего профиля, также блокирует запросы и также видит статистику обращений.

2) AFWall+ — AFWall+ личного профиля также работает и для рабочего профиля, также блокирует запросы и также видит статистику обращений. Как я писала выше есть ограничение — AFWall не видит приложение в рабочем профиле, если такое же приложение не установлено в личном профиле. Необязательно приложение в личном профиле включать или использовать, главное чтобы было такое же приложение.

Также в настройках AFWall+ необходимо включить «Dual apps Support/Поддержка двойных приложений»

3) PrivacyGuard — к сожалению, этот инструмент плохо работает с рабочим профилем в части отображения приложения в самом PG. PG по какому-то своему принципу решает показывать ли приложения из рабочего профиля на главной странице. Но в Advanced (Дополнительно) можно увидеть приложения из рабочего профиля и соответственно ограничивать их.

4) AppOpsX — в меню должна появится настройка «Users (Пользователи)», в котором вы можете выбрать «Work profile». Иногда эта настройка появляется не сразу и надо подождать
несколько секунд, или перезапустить AppOpsX.

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

Также приложения в рабочем профиле автозапускаются при включении рабочего профиля, так что если вам этого не надо — можете также убрать разрешение «RECEIVE_BOOT_COMPLETED Run at startup»

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

При использовании проприетарных приложений, я стараюсь закрывать все остальные приложения использующие интернет, чтобы не дать этим приложениям считать IP адреса через proc/net.

XprivacyLua


XprivacyLua — модуль для Xposed.

Интересный модуль, может ограничивать доступ приложений к некоторым данным и даже в некоторых случаях давать «фейковые» данные приложению. Многие ограничения уже есть в последних версиях Android, но также этот модуль может ограничивать доступ к сенсорам и подменять некоторые идентификаторы (но не все[235]).

XprivacyLua требует signature spoofing, что, как я писала выше, повышает риски закрепления в системе вирусов, если вирусы каким-то образом проникли в систему.

XprivacyLua НЕ МОЖЕТ ограничить доступ к proc/net.

По моему личному мнению XprivacyLua есть смысл использовать только на устаревших версиях Android, но всё равно очень аккуратно.

ADB (Android Debug Bridge)


С помощью инструмента ADB можно делать интересные вещи[237], [239]
Помимо того, что adb нужен при разблокировке загрузчика и установки LOS, с помощью этой программы можно осуществлять и другие действия.

Например, если у вас какая-то «нехорошая» прошивка с левыми системными приложения и вы не можете поставить нормальную прошивку, то с помощью adb в некоторых случаях можно удалить системные приложения[241] (только не устанавливайте левых приложений из этой инструкции, пробуйте просто через терминал на компьютере). Конечно, удалять системные приложения надо аккуратно, читая на форумах зачем нужно то или иное приложение. Но если Facebook установлен как системное приложение — лучше его удалить:). В некоторых случаях Google Play сам обновляет и снова размораживает «замороженные/отключенные» приложения, так что просто удалить обновления на некоторые системные приложение не помогает и лучше всё-таки удалить через ADB, если получится. На сайте 4pda много инструкций на эту тему для разных прошивок.

Также если у вас на вашей прошивке нет PG и не запускается AppOpsX, то некоторые разрешения у приложений вы можете забрать через adb. Вот статья на добавление разрешений. [243]. Аналогично команда revoke — отбирает разрешения.

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

Полный отказ от Google в LOS


Не смотря на то, что в стандартной поставке LOS нет приложений от Google (Gapps), но всё же в прошивке остаются некоторые компоненты, завязанные на сервисы Google. Один хороший пользователь составил список того, что используется в LOS некоторые компоненты/сервисы Google и как это отключить/изменить[245]. Учтите, что изменение настроек может отличаться в LOS 14, 15.1 и 16. (что и сказано в статье).

DNS


DNS — Google старается подсадить всех на их DNS. Многие помнят как в некоторых случаях интернет работал быстрее, если выставить в настройках роутера или компьютера DNS 8.8.8.8

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

По идее в Android при подключении по Wi-Fi используется DNS выставленный в настройках роутера. Но при подключении к интернету по сотовой сети может использоваться DNS Google-а. Так как я использую Orbot и блокирую все лишние запросы от приложений (в AFWall+) — то я ни разу не видела, чтобы использовался DNS Google. Но в любом случае проверяйте через специализированные сайты, например через dnsleaktest.com[59].

Но в LOS 16 для сотовой сети нельзя поставить любой DNS от ОПСОСа, можно использовать только те DNS, которые поддерживают DoT — DNS over TLS. Таких очень мало.[247]. DoT и DoH позволяют скрывать от провайдера наименование сайтов на которые вы заходите (но не IP). Это очередное «нововведение» направление в первую очередь на поглощение интернета Google-ом.

В LOS и в чистом Android в некоторых случаях проставляют DoT не от Google, а от Cloudflare (1.1.1.1). Лично моё мнение — Cloudflare очередной монополист, его усердно пиарят, его скрипты сейчас на всех сайтах. Лично я также не особо доверяю Cloudflare. (но это тема для отдельной статьи).

Если в настройках Settings > Network & internet > Advanced > Private DNS выставить «Off», то по идее будет DNS от сотового оператора.

Какому DNS доверять — дело ваше. Я по максимуму использую Orbot и мой DNS постоянно меняется и сайты не видят на каком IP я нахожусь, а видят только IP выходной ноды Tor.

Captive Portal


Captive Portal — я уже писала как ограничить. Но можно использовать не гугловский Captive Portal, в том числе свой. В статье выше предлагают «https://captiveportal.kuketz.de».

A-GPS


A-GPS — в разных устройствах сервера для A-GPS могут отличаться. Если используются гугловые сервера — то посылаются данные на их сервера с вашим IMEI!!! Я предполагаю, что таким образом Google также может узнать ваше местоположение. Просто отключение A-GPS может не помочь. Лучше или запрещать GPS выход в интернет (например через AFWall+) или менять сервер в настройках. В статье выше описано как это сделать. Но даже это в некоторых устройствах никак не отключить, так как сам чип устройства даже без Android имеет свою операционную систему и может работать автономно (об этом также немного опишу ниже), в том числе в части запросов на A-GPS.

AOSP Webview


AOSP Webview — в LOS есть реализация браузера AOSP Webview. По сути это движок Chromium. Сам по себе это не браузер. Но этот движок могут использовать другие браузеры и программы. Например, некоторые браузеры весят всего 4-5 МБ потому что на самом деле они основаны на Webview. Также некоторые программы используют Webview для просмотра данных в своей программе. Из того что я знаю — почтовая программа K-9 Mail.

Я НЕ ЗНАЮ насколько использование AOSP Webview отсылает данные в Google при использовании программами. Насколько я могла наблюдать в AdAway — никакие данные при использовании AOSP Webview программами типа K-9 Mail не передаются в Google.

Вы может заменить AOSP Webview на Bromite Webview[97], но это требует рута.

Я не нашла пояснений как использование AOSP Webview снижает приватность, кроме 1-го момента: при использовании приложением WebView посылается также информация о наименовании приложения, который использует WebView. Вот пояснение от браузера DuckDuckGo [249] и от самого Google[251].

Project Fi


Project Fi — у Google есть свой сотовый виртуальный оператор и на некоторые устройства на LOS устанавливаются программы для поддержки их виртуального сотового оператора. Наименование этих приложений вы можете увидеть в той же инструкции, что я приводила выше[245]. Удалите эти приложения. Учтите, что эти приложения могут быть установлены не только на тех устройствах, которые перечислены в этой инструкции, так что проверьте у себя в любом случа, даже если у вас другое устройство на LOS.

Backup (бэкап) или резервная копия


Если вам понадобилось делать какие-то вещи с внутренностями системы, то следует заранее делать бэкап. Вот примерные инструкции как это можно делать с помощью TWRP — [253],[255].

Какие это могут быть действия:

— Переход с мажорной версии на мажорную версию (например с LOS 15.1 на LOS 16)
— Установка firmware
— Включение шифрования, если вы забыли это сделать при первом включении
— Разного рода глюки, при которых рекомендуется заново поставить прошивку
— Если у вас нет программы для резервирования ваших данных в облаке (например Nextcloud), вы можете делать бэкап просто для того, чтобы сохранить данные от случайного удаления.

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

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

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

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

Отдельное шифрование личных файлов


Если вы считаете, что на вас нацелились (например, конкуренты) и у вас на устройстве есть очень важные данные, то можете сделать отдельное хранилище на устройстве с помощью программы EDS Lite (com.sovworks.edslite) или аналогичных. Плюс в том, что эти данные будут зашифрованы отдельно от шифрования Android. Но в любом случае, если злоумышленники незаметно от вас установили на ваше устройство их вирус, то при разблокировании этого хранилища данные утекут.

Прошивка радиомодуля и низкоуровневые закладки


По поводу того, есть ли какие-то хитрые глубокие закладки в смартфонах? Есть!

  • Вот, например, разработчики прошивки Replicant нашли бэкдор (backdoor/закладка) в прошивке устройств Samsung в закрытом драйвере.[257],[259].

    Приемлемого ухода от этой проблемы для среднестатистического пользователя нет. Можно использовать прошивку Replicant, но она ставится только на малое количество устройств и версия Android там устаревает. Но не всё так плохо. Такое всё реже встречается (кроме китайских устройств и прошивок), так как если кто-то найдёт такое в устройстве — то репутационные потери могут оттолкнуть пользователей. Так что это не частый случай у нормальных производителей.
  • Помимо таких закладок могут быть и другие закладки на уровне «железа». На современных смартфонах процессор, радиомодуль (GSM, 3G, LTE) изготавливаются вместе на одном чипе. И у этих чипов есть своя прошивка со своей мини операционной системой с доступом к всем внутренностям (памяти, микрофону и так далее). И ходят слухи, что в самом чипе могут быть закладки.[261] Воспользоваться такими закладками смогут только спецслужбы, и только в том случае если на такое пойдёт производитель чипов и выдаст ключи к бэкдорам. Обезопасится от этого никак не выйдет, кроме того, что не совершать ничего особо гадкого, так как никто не будет рисковать использовать эти уязвимости только для того, чтобы прослушать как вы ругаете Трампа на кухне. Для этого спец. службам достаточно какого-нибудь установленного приложения от Mail.ru или Яндекс с доступом к микрофону.
  • уязвимости в «железе» и в драйверах к железу. Один из последних примеров уязвимости Wi-Fi[263]. Такими уязвимостями может воспользоваться любой хакер, но при нахождении таких уязвимостей каким-либо хакером информация о ней не сразу расходится к мелким хакерам-школьникам. Выход простой — периодически ставить Firmware от производителя (если вы на LOS) и хотя бы раз в месяц ставить обновления самого LOS (В первых числах месяца).

Также можно ещё применять разного рода хитрости, например вообще физически уничтожить в устройстве Wi-Fi и GSM модуль (например обрезать антенны) и иметь с собой USB модем. Или выпаять микрофон и использовать только гарнитуру. Ну это либо для параноиков, либо для тех кого ищут (найдут всё равно, можно только отсрочить).

Другие прошивки


Replicant


Прошивка на основе Android 6, а точнее на LOS 13[265],[267]. Хороша тем, что в ней также пытаются переписать проприетарные драйвера устройств и сделать прошивку полностью открытой. Минус в том что мало поддерживаемых устройств, ещё меньше устройства на Android 6 (для большей части устройств Replicant на основе Android 4.2)

GrapheneOS


Усиленная (в части безопасности) прошивка на основе Android. Есть много неплохих отличий от других прошивок (например, запрет на просмотр proc/net). Но стабильно работает только на Pixel 3a, Pixel 3a XL, Pixel 3 and Pixel 3 XL[269]. Также не даёт полный рут (AdAway не получиться использовать). Не работает с Gapps, хотя для меня это не проблема. Многие функции из GrapheneOS появятся в Android 10 Q. Если бы у меня были лишние средства на покупку какого-нибудь Pixel 3a, может быть я и попробовала эту прошивку.

Не Android устройства и прошивки


Librem 5 — смартфон на Linux[271], [273]. Ещё не поступил в продажу. Есть у этих смартфонов интересная функция — там будет отдельный чип для процессора, отдельный чип Wi-Fi и отдельный чип сотовой связи и пользователь сможет отключать их специальными физическими выключателями (перемычками). По скорости смартфон слабоват, и цена запредельная на предзаказе (700$). Но сам факт, что такого рода устройства начинают появляться очень радует.

Ubuntu touch — это не одно устройство, а прошивка (на основе прошивки для заброшенного Ubuntu Phone[275]). Разрабатывается (точнее дорабатывается) энтузиастами. Поддерживаемых устройств мало[277]. Мне кажется, что очень неплохой вариант для планшета, но к сожалению сейчас самих планшетов то почти и не выпускают.

А что же iPhone?


Помимо того, что Apple знает о вас ВСЁ, и отдаёт информацию Google, если вы используете Siri, есть и другие моменты:

  • Apple делает эксклюзивные функции для своих «партнёров», о которых вы просто не знаете. Например Apple позволила Uberу “записывать” ваш экран и ваши действия на телефоне, даже когда вы уже закрыли программу Uber, скрывая это от пользователей (то есть от нас).[279]
    [281]. Тут важен даже не факт того, что Uber имел какой привилегированный доступ, а факт того неизвестно каким другим «партнёрам» Apple даёт привилегированные доступы сейчас и в чём они заключаются.

    Тут можно дальше даже не продолжать, этой информации должно хватить чтобы понять всё об Apple, «всё, приехали».

    Но если вам этого мало, то «ок», читайте дальше.
  • 2 года была «дырища» в их браузере[283] с возможностью получить ВСЕ данные с устройства. Без комментариев.
  • Ваши запросы к Siri прослушивались людьми из «левых» компаний[285]. Причем в заголовках новостей (не только на хабре) пишут что-то типа «Apple больше не будет прослушивать запросы пользователей к Siri», что в корне обман. Потому что: а) Сотрудники головного офиса Apple всё равно смогут прослушивать ваши записи без вашего разрешения б) если вы дадите разрешение, то «левые» конторы всё равно будут слушать ваши разговоры. Мне интересно — когда iPhone будет запрашивать это разрешение, там будет написано расплывчато что-то типа «Помогите нам улучшить наши сервисы для вашего удобства и благополучия дорогой товарищ», далее ещё 100 эпитетов в вашу сторону и потом где-то внизу «путём супер безопасного анализа некоторых данных нашими партнёрами». Или всё-таки они напишут так как есть «Мы обо*рались, наши подрядчики вас слушают бесконтрольно, можно ли они дальше будут вас слушать, а мы, может быть усилим за ними контроль. И да, даже если вы не дадите разрешение, внутри самого Apple всё равно ваши записи будут доступны»? Я склоняюсь к первому варианту.
  • Давайте посмотрим на некоторые ограничения, что будут в iOS 13 (а это значит что этих ограничений не было ранее):
    а) Ограничение на сбор информации приложениям с функцией интернет звонков работающих в фоновом режиме[287]. Из статьи непонятно какие данные собираются сейчас.

    б) Ограничение на получение SSID и BSSID подключенного Wi-Fi, так как по этим данным можно определить местоположение человека[289].
  • Была возможность сделать Jailbreak (что-то типа рута), её закрыли, а потом оказалось что снова открыли ЭТУ ЖЕ уязвимость[291]. Либо там в принципе творится полный бардак, либо это намерено. Я сомневаюсь, что такую вещь можно было пропустить. Что-то неладное творится в этом королевстве.
  • Оказалось, что с этим jailbreak-ом можно продолжать пользоваться их кредитной картой (новая услуга).[293]. То есть в iOS нет проверок на то, что смартфон мог быть взломан. Это немного противоречит намёкам Apple, что они самая ориентированная на безопасность и приватность компания из крупнейших игроков.
  • Нельзя поставить на iPhone браузер с нормальным блокировщиком треккеров и рекламы. В своём браузере у них есть базовая блокировка, но она слабовата.

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

Перспективы


Положительные

Программные — на данный момент вопросы в части приватности поднимаются всё чаще. Google и Apple вынуждены шевелится и под давлением общественности (на самом деле просто от страха потерять долю на рынке) и в новых выпусках своих операционных систем пытаются делать упор на приватность. Как я уже выше говорила — в Android 10 Q появятся очень неплохие ограничения для приложений. Развиваются свободные программы, свободные сервисы облаков и так далее.

Дорабатываются прошивки на основе Linux (PureOS, Ubuntu Touch).

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

Отрицательные

-Нет по-настоящему свободных «железок» на потребительском рынке. В Librem 5 хоть и используется Linux, но сам процессор относится к технологии ARM, который лицензируется у компании Arm Holdings. В любой момент Arm Holdings может прекратить сотрудничество и не выдавать лицензии, даже если от них это не зависит[295]. Помимо этого, никто не знает насколько глубоко могут быть зашиты закладки в этом оборудовании. И даже если будет устройство на какой-нибудь открытой архитектуре (например RISC-V), то не факт что на заводе не всунут какой-нибудь дополнительный микрочип с закладкой.

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

— Google не благотворительная организация, и в любом случае пытается сохранить контроль над пользовательскими данными, усложняя жизнь таким как мы. С каждой новой версией Android они удаляют приложения из поставки чистого Android-AOSP[297]. Также удалили в последних версиях Android Miracast (для продвижения Chromecast), насильно внедряют всякие протоколы типа QUIC, DoT, DoH, которые не позволяют блокировать треккеры и запросы через блокировку DNS запросов. Неизвестно, что они сделают в Android 11. А дальнейшие перспективы ещё более туманны, так как Google разрабатывает очередную операционную систему Fuchsia[299] и неизвестно насколько в ней будет вшит Google (например, Chromium оказался не таким уж и свободным). Да и вообще монополия Android на смартфонах удручает. Пример монополии от Google: все пересели на браузер Chrome, а итоге Google хочет ограничить блокировщики треккеров и рекламы[301].

— Также наметилась плохая тенденция в ограничении разблокировки загрузчика. Huawei не позволяет разблокировать загрузчик и стремительно захватывает рынок в РФ. Xiaomi также накладывает ограничение на разблокировку, в некоторых случаях необходимо ждать 3 месяца после покупки устройства. Если Xiaomi также укрепиться на мировом рынке, то сможет также напрочь запретить разблокировку. Nokia вообще не позволяет разблокировать загрузчик. Samsung также движется в этом направлении.

Существует риск того, что в скором времени на территории РФ в принципе нельзя будет купить устройство с возможностью прошивки LOS.

Общие рекомендации


-Как я уже говорила в моей прошлой статье[303] — вам никакая прошивка, никакое устройство не поможет, если не «включать мозги». Думайте, что вы скачиваете, какие доступы даёте, какие данные публикуете.

— Не давайте своё устройство никому в руки.

— Не подключайте своё устройство к чужим компьютерам, даже не пользуйтесь чужими кабелями[305].

— Старайтесь пользоваться программами только из F-Droid. Давать рут права можно ТОЛЬКО приложениям из F-Droid.

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

— Если для какого-то сервиса нет свободного приложения, старайтесь пользоваться веб версией сервиса (например Uber).

— Постарайтесь избежать установки Gapps на своё устройство.

— Постарайтесь избежать установки Magisk на своё устройство. А если установили — то внимательно следите за тем, какие модули устанавливаете.

— Шифруйте устройство.

— Старайтесь не поддерживать рублём те компании, которые не дают установить на свои устройства другие прошивки. Даже если сейчас у вас нет сил на то, чтобы установить и изучить LOS. Лично я никогда не куплю Huawei и буду всех отговаривать, пока Huawei не предоставят возможность разблокировать загрузчик без каких-то полулегальных путей с кодами и за приемлемое время (максимум 3 дня). Аналогично и другие компании, вне зависимости от их происхождения. Просто необходим бойкот всем моделям смартфонов, для которых нельзя разблокировать загрузчик или для которым производитель не выпускает обновления безопасности хотя бы 2 года. Это очень важно!!! Не ленитесь, если есть возможность — не жадничайте 1000 рублей и купите устройство чуть подороже, но с возможностью установить LOS — вы на этом на самом деле выиграете, так как, когда через год производитель забросит своё устройство, то вы сможете поставить LOS с последними обновлениями безопасности Android и сможете пользоваться устройством и дальше. Да и вообще неизвестно, что они отсылают на свои сервера, если вы используете закрытую прошивку. Даже если выясниться, что они следят за вами — ну «проинвестируют» в парочку проектов в России — и никто им ничего не сделает. Да и даже если их оштрафуют — эти деньги кто-нибудь вам отдаст?

Почему лучше пользоваться последней версией LOS и актуальными устройствами


Если вы подбираете новое устройство — то постарайтесь искать более актуальное (недавно выпущенное на рынок) распространённое устройство с поддержкой последней версией LOS. Желательно из серии Android One. Это всё повышает шансы на то, что данное устройство будет и далее поддерживаться командой LOS и повышает шансы на то, что LOS выпустит очередную версию для вашего устройства на основе новой версии Android. На данный момент это очень актуально так как в Android 10 Q будут очень неплохие улучшения в части приватности и покупая устройство сейчас, лучше повысить шансы на то, чтобы устройство получило обновление до LOS 17 (на основе Android 10 Q). Те устройства, которые сейчас поддерживают LOS 15.1, а не LOS 16, вряд ли когда-нибудь получать LOS 17 (на Android 10 Q).

Мой опыт


Так как я не играю в покупные игры, не пользуюсь кинотеатрами типа Ivi, то мне не нужны Gapps. У меня не стоит 10 разных мессенджеров — соответственно у меня заряд держит сутки при плотном использовании смартфона (на выходных). В будни на работе к вечеру у меня остаётся 70% заряда, так как на работе я работаю, а не смотрю «сайтики». Orbot не сильно съедает батарею, гораздо сильнее батарея разряжается из-за экрана.

Все нужные мне приложения есть в F-Droid, кроме:

1) Банковского приложения. Можно пользоваться веб версией, можно поставить приложение и ограничить доступы. Всё работает с рутом. Насколько я узнавала — все банковские приложения в России работают без Gapps и с рутом. Если кто-то имеет другую информацию — сообщите в комментариях, пожалуйста. Желательно с конкретными наименованиями приложений/организаций.

2) Гео приложения. Есть разные приложения в F-Droid на основе OSM (Openstreetmaps), которые неплохие, но не дотягивают до коммерческих. Иногда маршруты автобусов не показываются, иногда приложения плохо ищут ближайшие магазины. Но в этом виноваты мы сами — надо самим рисовать карту OSM и улучшать её качество. Если вы считаете, что это бесполезная затея — то вы ошибаетесь. Несколько примеров: Google в какой-то момент значительно подняла цены на использование их карт коммерческими компаниями (сайтам, приложениям и так далее). Компании начали переходить на Mapbox (платные карты на основе OSM), и Google частично пересмотрела своё предложение, сделав так, чтобы для определённой доли пользователей использование карт было немного дешевле, чем в Mapbox. А если бы не было OSM и Mapbox — не было бы такой конкуренции, и цены у Google были бы выше. А это отразилось бы на стоимость для конечных потребителей, то есть для вас, дорогие мои. Пример важности карт №2 — Яндекс смогла поглотить Убер просто задрав им цены на свои карты[307]. А карты Google по России некачественные. Что имеем на текущий момент — почти монополиста в сфере вызова такси через приложение (компанию «Везёт» они тоже поглотили). Что нас ждёт в будущем — повышение цен на такси, и это повышение ничего не даст таксистам, для них всё останется как прежде. Просто вырастет процент забираемый Яндексом. А этого можно было бы избежать, если бы мы лучше отрисовали карту OSM. На самом деле ещё не поздно подключиться к этому процессу, в любом случае карта OSM с каждым днём становится всё лучше, всё больше организаций на неё переходят. Всё в наших руках. OSM — это именно тот случай, когда будучи не программистом можно помогать для продвижения свободных сервисов. Об этом надо писать отдельную статью. Может быть напишу.

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

Браузеры работают, почта работает, медиапроигрыватели работают, запись звонков работает, камера работает, мессенджеры работают, наушники работают. Что ещё для жизни надо?

Потенциальный вопрос — мой ответ


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

В: Столько ньюансов, не проще ли… (тут может быть что угодно).

О: Нет, не проще, если вы хотите пользоваться именно смартфоном. Во-первых, то что написано в статье на 70% касается не только LOS, а любого Android и даже iPhone (смотри уязвимость в WhatsApp). Во вторых, с большинством технических проблем при установке LOS вы не столкнётесь, если будете покупать устройство изначально на чистой оболочке Android и если будете чётко следовать инструкции. Другого выхода нет. Да, так устроен мир. Никто не позаботится о вашей приватности кроме вас самих.

В: А я слышал (а), что есть прошивка лучше, сосед посоветовал… (тут может быть что угодно)
О: Большинство других прошивок неверифицируемы. Даже неофициальные версии LOS могут содержать пакости (я писала об этом, сама попадала).

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

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

В: Где найти время, деньги, силы на «вот это всё»? При этом ещё нет гарантии, что все угрозы будут устранены.

О: Я вас понимаю. Просто постарайтесь распланировать так, чтобы у вас получилось. Это может быть не сейчас, это может быть при следующей покупке смартфона. Частично, что-то вы можете сделать и сейчас (проверить инструменты ограничения доступов на текущей прошивке, удалить приложения не из F-Droid). А время и силы, я надеюсь, я вам немного сэкономила этой статьей. По поводу того что на 100% нельзя защититься — ну так во всём в этой жизни. Но защититься на 95%, лучше чем на 15%.

В: Я устал (а) бояться всех этих угроз. Надоело нервничать. Пусть будет как есть. Пусть смотрят, слушают, и так далее.

О: А вы не бойтесь. Звучит глупо, но так и есть. Просто шаг за шагом возвращайте себе право на неприкосновенность личной жизни и гордитесь этим. На вопрос «А почему тебя нет в одноклассниках?», или «почему тебя нет в WhatsApp-e» не надо прятать глаза и говорить, что не успели зарегистрироваться или говорить другие оправдания. Просто с гордостью говорите, что это ваше личное решение и вы так захотели. Всё. На этом точка.

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

В: Tor принадлежит ЦРУ, Моссад, МИ6 и так далее. При этом его могут легко прикрыть.

О: Про спецслужбы — может и так, меня это особо не интересует. Они не могут использовать легально данные собранные обо мне. Также они не будут следить за всеми подряд, так как не выгодно собирать данные на всех подряд без возможности их продажи. А целенаправленно за мной следить не будут, так как я ни в чём не замешана. Прикрыть могут, поэтому если вы технически грамотные — пробуйте другие сети/технологии типа i2p, zeronet, yggdrasil и пишите инструкции/статьи. Помогайте разработчикам тестировать решения, переводите на русский.

В: Tor медленный? Зачем его использовать?
О: Сайты открываются с той же скоростью. Вы не заметите разницы в том, что сайт откроется за 2 секунды или за 2,2 секунды. Те сайты, которые не открываются через Tor лучше не посещать. Они не открываются через Tor только потому что они хотят отследить вас. Нормальные сайты могут запрещать просмотр через Tor только временно на пару часов, когда на них идёт DDOS атака. Ну или личные кабинеты банков для защиты от кражи. А что насчёт видео — во-первых сейчас хватает скорости и для видео в нормальном качестве (кроме часов пик нагрузки на Tor сеть). Во-вторых, надо бы уже понять, что постоянное отвлечение на «видосики» только угнетает вашу нервную систему. Если есть какое-то стоящее видео — вы подождёте лишние пары секунд на буферизацию. Нет терпения ждать 2 дополнительных секунд — значит это информация в видеофайле вам не нужна.

В: Это неэффективно тратить столько времени на изучение всего этого.

О: В каком-то роде с вами согласна, с одним большииим исключением. Это может в каком-то смысле быть неэффективным, только если вы изучаете всё вышеперечисленное только для себя. Вот я изучила и применяю некоторые методики — и написала статью. Вам может быть будет легче. Эффективность потраченного мною времени для общества выросла. Да и для меня тоже, так как если кто-то откладывал переход на LOS, потому что не было времени разбираться — то теперь такому пользователю будет легче. А это снизит эффективность мошенников и их станет меньше. И моим внукам будет жить легче. Так и вы, если всё это изучите — то можете постепенно помогать друзьям, родственникам. Пришли к какому-нибудь родственнику в гости — поудаляли лишние приложения. Следующий раз поменяли следящие калькуляторы и фонарики на нормальные из F-Droid. Ещё через месяц поменяли браузер на Fennec с uBlockOrigin и клавиатуру. Потом подсказали какой смартфон купить и помогли прошить на LOS. И так за год-другой выдернули из лап вездесущей слежки 4-5 человек. Каждый освобожденный пользователь — это не только плюс для вашего окружения, это ещё и минус для этих неэтичных «грязных» компаний. Вы зря думаете, что это не имеет смысла и неэффективно. Блокировщики рекламы и треккеров в отчёте перед инвесторами Google значатся как одна из самых серьёзных угроз. Они это не выносят на общее обозрение, но на самом деле это самая реальная угроза для них (я не смогла найти эти статьи, где я это читала, к сожалению). Это реально подрывает их бизнес. С налоговиками и патентными троллями они как-нибудь договорятся (это всё разные карманы одних и тех «инвестиционных» групп), а с их жертвами (то есть с нами) договориться уже не получится.

В: Я хочу использовать приложения от Google и вроде у меня и так «чистый» Android. Смысл мне переходить на LOS.

О: Даже «чистые» прошивки на самом деле таковыми не являются. Начиная с того, что стоят неудаляемый Facebook (который, как я говорила, считывает все IP адреса на которые вы заходите) и «левых» клавиатур типа SwiftKey (который требует доступ в интернет), ещё может быть кучу закладок от производителя и его «партнёров». Вплоть до неудаляемых вирусов. Поищите в интернете информацию. Например, на сайте xakep.ru часто описывают такие случаи.

В: После настройки насколько тяжело поддерживать в работоспособном состоянии прошивку?
О: Практически никаких действий после тщательной настройки не потребуется. Кроме того что необходимо будет настраивать доступы каждому новому приложению, но это касается любой прошивки. Также после обновлений случаются проблемы с некоторыми функциями. У меня и моих знакомых никогда такого не было, но на форумах пишут, что такое иногда случается. Надо просто переустановить прошивку (предварительно сохранив данные). Этого тоже можно избежать, просто перед обновлением читать форумы и если возникают ошибки — подождать пару дней.

Методики перехода и частичные (временные) решения


Не всегда получается перейти сразу. Не у всех есть средства. Давайте пройдёмся по некоторым методикам, которые частично могут помочь (частично я уже описывала в предыдущей статье[309]).

  • Если у вас нет средств на новое устройство — постарайтесь настроить существующее.

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

    Удалите лишние приложения. Желательно полностью перейти на приложения из F-Droid (например, клавиатура — AnySoftKeyboard, СМС — QKSMS, камера — Open Camera, калькулятор, браузер — Fennec+Tor browser, почтовый клиент K-9 Mail, медиапроигрыватель VLC и так далее). Некоторые приложения нельзя удалить, но их можно деактивировать.

    Если на ваше устройство производитель перестал выпускать обновление, но когда-то была официальная версия LOS — то лучше найти эту версию и установить её. Архивные версии тяжело найти в интернете, попробуйте поискать на 4pda и xda-developers (но только официальную). Или на reddit.com, например [311].

    Попробуйте поставить Shelter (но это приложение не работает на некоторых прошивках)
    Если у вас есть рут на устройстве — поставьте AdAway, AppOpsX, AFWall+.

    Если вы на своё устройство не можете поставить root — то воспользуйтесь очень хорошей программой NetGuard. Она может ограничивать интернет как AFWall+, а также в версии из F-Droid можно будет воспользоваться блокировкой доменов по типу AdAway (но только это будет не через файл hosts)[313]. К сожалению, NetGuard использует слот VPN, и вы не сможете одновременно использовать и NetGuard и VPN. Хотя Orbot+ приложения с настройками прокси или Tor browser вы всё равно сможете использовать.
  • Когда у вас появятся средства на новое устройство, и если вы решились полностью избавиться от приложений Google (то есть не устанавливать Gapps в LOS) — то советую вам переходить на LOS постепенно, так как вы не сможете за 1 день быстро освоится во всех ньюансах новых приложений. Вам придётся или искать подходящие вам приложения, разбираться в них. В некоторых случаях привыкать к некоторым неудобствам.

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

Вопросы айтишникам


Дорогие айтишники, не подскажите ли вы:

1) Некоторые приложения ранее могли запускать другие приложения (например, тот же Orbot вроде как могут запускать другие приложения). Как можно ограничить запуск других приложений? Или в версии Android 9 это можно как-то стандартными средствами ограничить? Поможет ли SuperFreezZ (superfreeze.tool.android)?
2) Есть информация, что SIM карта может иметь свои внутренние приложения (смотри Defcon 21). Приложения на SIM какие имеют доступы?
3) Есть ли какие-то конструктивные замечания по поводу статьи? Или какие-нибудь полезные интересные статьи дополняющие эту статью?

Ссылки


Список ссылок
[1] ru.wikipedia.org/wiki/LineageOS
[3] lineageos.org
[4] source.android.com/setup/start/licenses
[5] download.lineageos.org
[7] www.reddit.com/r/LineageOS
[9] forum.xda-developers.com/lineage
[11] 4pda.ru/forum/index.php?act=search
[13] docs.google.com/spreadsheets/d/1swcOWw_KcSaE8otSa-1rthq7bLLmfsNZMWnVF5XCd1o
[15] piotr-yuxuan.github.io/choose-a-new-phone
[17] anton-z-s.github.io/linext/#
[19] stats.lineageos.org
[21] www.lineageoslog.com/statistics
[23] texnoera.com/kak-razblokirovat-zagruzchik-na-xiaomi
[25] wiki.lineageos.org/devices/santoni/install
[27] wiki.lineageos.org/adb_fastboot_guide.html
[29] androidp1.ru/ustanovshhik-adb-na-kompyuter
[31] dl.google.com/android/repository/platform-tools-latest-windows.zip
[33] wiki.lineageos.org/gapps.html
[35] lineageos.org/Summer-Survey-2-Results
[37] microg.org
[39] lineage.microg.org
[41] download.lineageos.org/extras
[43] f-droid.org
[45] f-droid.org/en/packages/dev.ukanth.ufirewall
[47] f-droid.org/en/packages/org.adaway
[49] f-droid.org/en/packages/com.zzzmode.appopsx
[51] guardianproject.info/releases
[53] guardianproject.info/releases/Orbot-16.0.5-RC-2-tor-0.3.4.9-fullperm-universal-release.apk
[55] f-droid.org/en/packages/com.moez.QKSMS
[57] f-droid.org/en/packages/de.shandschuh.slightbackup
[59] dnsleaktest.com
[60] www.privateinternetaccess.com/pages/whats-my-ip
[61] reports.exodus-privacy.eu.org/en
[63] f-droid.org/en/packages/org.eu.exodus_privacy.exodusprivacy
[65] f-droid.org/en/packages/com.oF2pks.classyshark3xodus
[67] expandedramblings.com/index.php/android-statistics
[69] developer.android.com/about/dashboards
[71] habr.com/ru/company/solarsecurity/blog/427431
[73] www.iguides.ru/main/security/khotite_maksimalno_zashchititsya_ot_khakerov_zablokiruyte_sim_kartu_pin_kodom
[75] developer.android.com/reference/android/Manifest.permission.html#GET_ACCOUNTS
[77] source.android.com/devices/tech/ota/ab
[79] github.com/fgl27/isu
[81] forum.xda-developers.com/android/apps-games/isu-simple-app-to-deactivate-activate-t3478348
[83] www.reddit.com/r/LineageOS/comments/a4rlox/requesting_a_good_explanation_on_why_magisk_is_bad
[85] f-droid.org/ru/docs/Anti-Features
[87] f-droid.org/en/packages/com.mdroid
[89] f-droid.org/en/packages/org.gdroid.gdroid
[91] f-droid.org/docs/Reproducible_Builds/?title=Deterministic,_Reproducible_Builds
[93] fdroid.bromite.org/fdroid/repo?fingerprint=E1EE5CD076D7B0DC84CB2B45FB78B86DF2EB39A3B6C56BA3DC292A5E0C3B9504
[95] github.com/bromite/bromite
[97] github.com/bromite/bromite/wiki/Installing-SystemWebView
[99] microg.org/fdroid/repo?fingerprint=9BD06727E62796C0130EB6DAB39B73157451582CBD138E86C468ACC395D14165
[101] microg.org/fdroid.html
[103] apt.izzysoft.de/fdroid/repo?fingerprint=3BF0D6ABFEAE2F401707B6D966BE743BF0EEE49C2561B9BA39073711F628937A
[105] android.izzysoft.de/repo/info
[107] android.izzysoft.de/articles/named/list-of-fdroid-repos
[109] forum.f-droid.org/t/known-repositories/721
[111] f-droid.org/wiki/page/Known_Repositories
[113] habr.com/ru/post/440280
[115] f-droid.org/en/packages/com.anysoftkeyboard.languagepack.russian2
[117] f-droid.org/en/packages/com.amaze.filemanager
[119] f-droid.org/en/packages/com.github.axet.filemanager
[121] f-droid.org/en/packages/com.artifex.mupdf.viewer.app
[123] f-droid.org/en/packages/com.artifex.mupdf.mini.app
[125] f-droid.org/en/packages/de.cryptobitch.muelli.barcodegen
[127] f-droid.org/en/packages/com.google.zxing.client.android
[129] f-droid.org/en/packages/de.t_dankworth.secscanqr
[131] f-droid.org/en/packages/org.secuso.privacyfriendlynetmonitor
[133] f-droid.org/en/packages/org.videolan.vlc
[135] f-droid.org/en/packages/ru.playsoftware.j2meloader
[137] f-droid.org/en/packages/com.simplemobiletools.calendar.pro
[139] f-droid.org/en/packages/info.zamojski.soft.towercollector
[141] www.reddit.com/r/fdroid
[143] ru.wikipedia.org/wiki/Iptables
[145] github.com/ukanth/afwall/issues/957
[147] github.com/ukanth/afwall/issues/940
[149] www.reddit.com/r/LineageOS/comments/c0y6o4/adaway_on_ab_devices
[151] www.reddit.com/r/LineageOS/comments/clhy1y/i_cannot_edit_the_hosts_file_even_with_root_access
[153] www.reddit.com/r/LineageOS/comments/ca810c/edit_hosts_file
[155] github.com/AdAway/AdAway/wiki/ProblematicApps
[157] www.reddit.com/r/androidapps/comments/92yv38/which_lists_do_you_use_on_adaway
[159] github.com/AdAway/AdAway/wiki/HostsSources
[161] 4pda.ru/forum/index.php?showtopic=275091&st=4580#entry62522395
[163] gitlab.com/Jorgu81/hosts/raw/master/HostsGoogle
[165] developer.android.com/preview/privacy/data-identifiers#proc-net-filesystem
[166] www.kuketz-blog.de/android-erlaubt-apps-vollen-zugriff-auf-die-netzwerkaktivitaet
[167] www.deviceinfo.me
[169] roskomsvoboda.org/48296
[171] hacks.mozilla.org/2018/11/firefox-sync-privacy
[173] www.reddit.com/r/privacy/comments/81w6tb/for_the_paranoids_install_your_own_firefox_sync
[175] ru.wikipedia.org/wiki/Google_Cloud_Messaging
[177] github.com/opengapps/opengapps/wiki/Package-Comparison
[179] www.reddit.com/r/LineageOS/comments/8p4169/what_is_lineages_position_on_signature_spoofing/e088xyh
[181] prototypefund.de/project/microg
[183] reports.exodus-privacy.eu.org/en/reports/85066
[185] reports.exodus-privacy.eu.org/en/reports/91964
[187] reports.exodus-privacy.eu.org/en/reports/85068
[189] www.facebook.com/about/privacy/update
[191] developer.android.com/guide/topics/permissions/overview#normal_permissions
[193] developer.android.com/guide/topics/permissions/defining
[195] www.reddit.com/r/LineageOS/comments/9oss72/willshould_privacy_guard_be_removed_from_los_or
[197] www.reddit.com/r/LineageOS/comments/9oss72/willshould_privacy_guard_be_removed_from_los_or/e7x97bo
[199] www.reddit.com/r/LineageOS/comments/6o30uk/locking_google_play_services_in_privacy_guard
[201] www.reddit.com/r/LineageOS/comments/7m9023/difference_between_application_permissions_and
[203] android.izzysoft.de/applists/perms
[205] www.wandera.com/mobile-security/app-and-data-leaks/app-permissions
[207] stackoverflow.com/questions/21227367/when-is-bluetooth-admin-android-permission-required
[209] stackoverflow.com/questions/3490913/what-is-a-sticky-broadcast
[211] www.iguides.ru/main/security/bolee_1000_prilozheniy_dlya_android_sobirayut_lichnye_dannye_polzovateley_bez_ikh_soglasiya
[213] www.ftc.gov/system/files/documents/public_events/1415032/privacycon2019_serge_egelman.pdf
[215] developer.android.com/preview/privacy/checklist
[217] developer.android.com/preview/privacy/scoped-storage
[219] developer.android.com/reference/android/R.attr.html#requestLegacyExternalStorage
[221] developer.android.com/preview/privacy/device-location
[223] developer.android.com/preview/privacy/background-activity-starts
[225] ru.wikipedia.org/wiki/История_версий_Android
[227] f-droid.org/en/packages/com.oF2pks.applicationsinfo
[229] habr.com/ru/post/240521
[231] github.com/Telegram-FOSS-Team/Telegram-FOSS/blob/master/README.md
[233] habr.com/ru/news/t/451810
[235] github.com/M66B/XprivacyLua/blob/master/XPRIVACY.md
[237] developer.android.com/studio/command-line/adb
[239] 4pda.ru/forum/index.php?showtopic=383300
[241] androidp1.ru/kak-udalit-vstroennoe-prilozhenie-android-bez-root-prav
[243] github.com/TilesOrganization/support/wiki/How-to-use-ADB-to-grant-permissions
[245] www.reddit.com/r/LineageOS/comments/cl5c90/degoogling_lineageos_instructions_august_2019
[247] en.wikipedia.org/wiki/Public_recursive_name_server
[249] github.com/duckduckgo/Android/issues/315
[251] bugs.chromium.org/p/chromium/issues/detail?id=960720
[253] android-example.ru/useful-articles/kak-sdelat-backup-twrp
[255] androidp1.ru/sozdanie-rezervnoy-kopii-v-twrp-i-vosstanovlenie-android
[257] androidp1.ru/bekdor-v-smartfonah-samsung-galaxy
[259] www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor
[261] www.devever.net/~hl/nosecuresmartphone
[263] rebeltech.ru/uyazvimosti-v-drayverakh-k-wifi-chipam-broadcom-pozv
[265] ru.wikipedia.org/wiki/Replicant
[267] www.replicant.us/supported-devices.php
[269] grapheneos.org
[271] en.wikipedia.org/wiki/Librem#Librem_5_smartphone
[273] en.wikipedia.org/wiki/PureOS
[275] en.wikipedia.org/wiki/Ubuntu_Touch
[277] ubports.com/devices/promoted-devices
[279] vc.ru/27180-apple-razreshila-uber-sledit-za-ekranom-polzovateley-iphone-v-fonovom-rezhime
[281] appleinsider.ru/ios/uber-otslezhivaet-vas-dazhe-posle-zaversheniya-poezdki.html
[283] habr.com/ru/news/t/465629
[285] habr.com/ru/news/t/465447
[287] thenextweb.com/privacy/2019/08/07/apple-will-limit-voip-background-data-collection-from-whatsapp-snapchat-et-al-in-ios-13
[289] developer.apple.com/videos/play/wwdc2019/712
[291] www.ferra.ru/news/mobile/apple-sluchaino-vosstanovila-staryi-sposob-vzloma-iphone-28-08-2019.htm
[293] habr.com/ru/news/t/464473
[295] habr.com/ru/news/t/455704
[297] www.reddit.com/r/fossdroid/comments/c332yr/what_impedes_google_from_moving_other_aosp_apis/erozilc
[299] ru.wikipedia.org/wiki/Google_Fuchsia
[301] habr.com/ru/news/t/454468
[303] habr.com/ru/post/452610
[305] habr.com/ru/news/t/463557
[307] www.kommersant.ru/doc/3280622
[309] habr.com/ru/post/452610/#anchor24
[311] www.reddit.com/r/LineageOS/comments/a1u528/due_to_the_removal_of_30_devices_i_have_decided
[313] github.com/M66B/NetGuard/blob/master/ADBLOCKING.md

Комментарии (137)


  1. homocomputeris
    06.09.2019 17:52
    +1

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


    И, ну, блин, хабр может же в нормальное форматирование. Заголовки там, всё такое.


    1. fur_habr Автор
      06.09.2019 17:59

      LOS 16 при установке пароля при первом включении данные шифруются.

      что через рекавери можно слить всю инфу с телефона.
      Ну только если данные не зашифрованы. Я об этом и написала в статье, кстати!
      И, ну, блин, хабр может же в нормальное форматирование. Заголовки там, всё такое.
      Пунктов слишком много. Если бы я ещё и мелкие пункты обернула бы в теги заголовков, то мне кажется, что статья была бы слишком пёстрой. Или вы имели ввиду какие-то другие «фишки» форматирования?


      1. homocomputeris
        06.09.2019 18:26

        Для многих вполне неплохих моделей вроде Moto X# / Z# последняя версия — 15.1.
        А для, скажем, OnePlus есть модифицированные рекавери, которые могут дешифровать разделы (о слабости шифрования вы тоже писали).

        Например, списки можно завернуть, собственно, в списки и запихать в спойлеры.


        1. gban
          07.09.2019 08:10

          а как там с поддержкой mod, допилили? интересовался с год назад, были еще какие-то проблемы...


    1. vm03
      07.09.2019 07:47

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

      Для официальных сборок LineageOS требование принудительно включать шифрование, если это есть на "стоке".
      "All devices that shipped stock as forceencrypt SHOULD default to forceencrypt enabled."


      Но если у вас разблокирован загрузчик и шифрование без пина(пароля), то и на стоке TWRP расшифрует данные.


      1. Aelliari
        07.09.2019 19:56

        Т.е. для всех устройств, у которых андроид 6+ из коробки. Ибо требование Гугла для совместимости с Google services, т.е. вы можете выпустить устройство не выполняя данное требование с андроид прошивкой но и поддержки гуглосервисов не будет. На такое сейчас могут пойти только совсем китайские китайцы или на устройствах сугубо локального рынка.

        К слову, похоже не все понимают как оно работает, при первом включении усройства генерируется мастер-ключ и шифрует /data автоматически. Сам мастер-ключ зашифрован паролем по умолчанию «default_password» (вот оно, торжество приватности), этот пароль задаётся в исходниках aosp и может быть изменён. В то же время мне не известны вендоры которые это делают. Это позволяет включать устройство без назойливого запроса пароля и будильники из выключенного состояния (ибо 6.0 full-disk, в устройствах 7.0+ из коробки пофайловое и часть данных вроде будильников доступна сразу, остальное после разблокировки паролем). Некоторые вендоры при «отключённом» шифровании позволяли сразу разблокировать устройство опечатком после запуска, сейчас таких вроде нет, в начале запрос пароля а потом как угодно, так же у некоторых вендоров возможен принудительный запрос пароля по неким условиям (например каждые 72 часа).
        При включении шифрования из настроек мы просто перешифровываем мастер-ключ кастомным паролем (обычно пароль экрана блокировки), благодаря этому процедура происходит быстро и более безопасно для данных, плюс нет излишнего насилия на флеш памятью.
        Собственно по этому нормально собранный тврп не запрашивает пароль при якобы отключённом шифровании, но спросит при активном.


        1. rPman
          08.09.2019 10:23

          а перешифровать сами данные /data (т.е. сменить сам ключ шифрования) как?


          1. vm03
            08.09.2019 10:30

            fastboot erase userdata
            Или любым другим сбособ очистить data раздел.
            При следующем старте системы, она сгенерирует новый ключ, зашифрует его дефолтным паролем, а потом предложит установить свой.


          1. powerman
            08.09.2019 10:34

            А для чего?


  1. Renaissance
    06.09.2019 18:24

    Сколько «кастомов» не перепробовал на свой Android-аппарат (не основной), лучше LOS ничего в итоге не нашел (да и пользовался им еще когда он был CyanogenMod). Работает все, багов замечено минимум, лишнего тоже ничего нет.

    А вот к F-Droid никак не могу привыкнуть. Вернее, к его ужасным «тормозам» при любых действиях (обновление репозитариев, установка приложений, обновления).

    Учетку Google не привязываю из принципа, пользуюсь Aurora Store.


    1. screwer
      06.09.2019 19:55

      Пробовали гуглофоны с их чистым андроидом ?


      1. Renaissance
        06.09.2019 20:06

        Конкретно смартфоны — нет.
        Некоторое время пользовался Nexus 7 2013.
        В итоге сменил платформу и пропустил всё связанное с Android, начиная с 4.4.
        Хотя я пользовался смартфонами на Android начиная с 1.6 и до 4.4.

        И вот только не так давно стал обладателем бесплатного Redmi Note 4X, на который лучше всего в итоге подошел LOS.


        1. Voiddancer
          07.09.2019 13:57

          Я на таком как раз собрал себе "свободный смартфон", правда попроще чем в статье.


      1. nik_vr
        06.09.2019 20:07

        Уже с полгода пользуюсь Xiaomi Mi A2 Lite (который «чистый» Android One). В целом устраивает, но почти каждое обновление прошивки приносит новый чудо-софт от Google (штатными средствами не удаляется). Подумываю о смене прошивки на LOS.


        1. agp88
          09.09.2019 14:36

          Не знаю, как на lite, но на мой a2 официальной los нет. Вот ведь блин, а ведь специально брал А2 в надежде, что на него в скором времени выйдет lineage OS, ведь на первый-то есть. Вот уже год жду…
          Есть, правда, неофициальная, переходить на которую я брезгую. Да и не получится, судя по всему, прошивка телефона должна быть ниже какой-то версии для того, чтобы los установилась. Т.е. нужно делать откат, да ещё потом и «конвертироваться» в mi6, из которого и сделан mi a2 путём установки на него android one.


      1. Renaissance
        06.09.2019 20:12

        И вспомнил, кстати.
        Этот Nexus 7 живой до сих пор, и когда я его последний раз в руках держал, он был на последней для него доступной версии 6.0.

        И это было ужасно. Но, тут скорее к самому устройству претензии, нежели к Android.


  1. Azan
    06.09.2019 20:19

    Написано сильно… не то что многие на хабре режут статью из пяти предложений на три части.

    Спасибо за труды, может в этой жизни найдется время все это прочитать.


  1. whyme
    06.09.2019 20:34
    +1

    Проделывал практически тоже самое лет 5 назад (на 4, 5 ой версии андроида)… и забил, потому что в принципе гемора много, а без гугл-сервисов (а с ними все это делать смысла нет), андроид мало чем отличается от обычной звонилки с браузером, которая работает 2е суток без подзарядки. Отказался от андроида на телефоне, при необходимости использую эмулятор или телефон без сим-карты для тестов.
    Лет 5 назад все приложения вылетали с ошибкой или не запускались если в них использовалась реклама от гугл (AdMob и возможно не только), по моим ощущениям это процентов 90 всех приложений (если нужен пример — Perfect Player) В итоге ставить на андроид было нечего, даже мне (не говоря об обычных пользователях).
    Подскажите, данная ситуация как то изменилась? Или кроме браузера и пары гиковский программ (немного утрирую) все еще невозможно использовать большинство приложений без гугл сервисов?


    1. xdimquax
      06.09.2019 23:58

      Можно использовать все приложения из F-Droid и некоторые прииложения из Google Play. Из тех, что не работают без Google-сервисов, часть работает с microG.


    1. fur_habr Автор
      07.09.2019 11:31

      андроид мало чем отличается от обычной звонилки с браузером
      И почему же? Что, кроме технологии пуш реально полезно? Может так и было 5 лет назад, но сейчас есть очень много качественных приложений в F-Droid. Медиаплееры есть. Под специфичные задачи типа IPTV можно поискать в репозитории IzzyOnDroid.
      Или кроме браузера и пары гиковский программ (немного утрирую) все еще невозможно использовать большинство приложений без гугл сервисов?
      В российском сегменте сейчас всё лучше и лучше с этим. Я год назад друзьям устанавливала приложения и они не работали без подложки Google Maps. Сейчас же всё работает. Видимо, хоть что-то в части импортозамещения делается.


      1. xdimquax
        07.09.2019 16:17

        > Что, кроме технологии пуш реально полезно?

        Никогда не использовал пуши, не люблю, когда всякие уведомления отвлекают внимание.

        > Я год назад друзьям устанавливала приложения и они не работали без подложки Google Maps. Сейчас же всё работает

        А сейчас там подложка Яндекса. Шило на мыло.


        1. fur_habr Автор
          08.09.2019 02:55

          Никогда не использовал пуши, не люблю, когда всякие уведомления отвлекают внимание.
          Полезно не в части того, что присылаются уведомления(все популярные мессенджеры присылают уведомления и без GCM), а в части энергопотребления. Но и это Google за*рали, так как их телеметрия при установленном наборе Google Apps сжирает батарею. Но вообще технология неплохая, если бы можно было поднять свой сервак по типу GCM.
          А сейчас там подложка Яндекса. Шило на мыло.
          Ну да, лучше вообще такими приложениями не пользоваться. Но в случае с подложкой яндекса есть небольшой плюс — если приложение выключено(и в фоновом режиме тоже не работает), то оно не собирает данные. А если стоит Google Apps — то там отключить никак не получиться.


          1. xdimquax
            08.09.2019 02:58

            Полезно не в части того, что присылаются уведомления(все популярные мессенджеры присылают уведомления и без GCM), а в части энергопотребления.

            Так если уведомления отключены, то наличие/отсутствие поддержки пушей не играет никакой роли.
            если бы можно было поднять свой сервак по типу GCM

            habr.com/ru/post/443258


  1. selivanov_pavel
    06.09.2019 21:03

    Юзал до недавнего времени LineageOS на Aquarius U Plus, всё прекрасно и замечательно, но есть два больших минуса, перекрывающих все плюсы: совсем небольшой список поддерживаемых устройств, ещё не снятых с производства и адекватных по характеристикам, и непредсказуемость сроков поддержки именно вашего устройства.

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


  1. Maawal
    06.09.2019 21:22

    Стоит добавить, что разблокировка загрузчика на xiaomi через mi unlock не работает на компьютерах с сокетом am4, то есть со всеми райзенами.


    1. iDm1
      07.09.2019 16:50

      С чего бы вдруг? Я еще понимаю на ранних BIOS на Zen 2 из-за особенностей RdRand, но все AM4? Как это вообще возможно? В инструкции по разблокировке загрузчика Xiaomi на 4pda не упоминаются подобные ограничения.


      1. Maawal
        07.09.2019 17:39

        Разбираться желания не было. Нужно было разблокировать, а не играться и искать, почему не работает. На счет того, что нет в инструкции на 4pda, в той же теме, после часовых мытарств, многие люди задают вопрос, почему эта информация не добавлена в шапку. И да, я знаю про способ с использованием юсб-хаба с и установкой вин7 из под него, но как по мне, данный гемор не стоит ничьего времени, проще найти комп с процом от интел. Ну и как пример — у меня zen2 с последним биосом — не работает, у многих zen1 — тоже не работает


        1. iDm1
          07.09.2019 19:06

          Ага, тогда все ясно, дело в некоторой несовместимости реализованной в Xiaomi работе с USB 3.0 и выше со встроенным контроллером USB процессоров Ryzen.

          • В таком случае сокет AM4 не при чём и старые Athlon (Bristol Ridge) на нем же вполне себе будут работать (если конечно Xiaomi не накосячили настолько, что в принципе поддерживают только контроллеры Intel).
          • Так же наверняка может помочь хороший USB 2.0 хаб в качестве посредника, который будет работать с портом USB 3.0 в режиме обратной совместимости, а с телефоном в обычном USB 2.0. Тем не менее некоторые USB хабы тоже реализованы халтурно и в связи с этим могут не помочь.
          • Так же среди материнских плат уровнем повыше нередко встречаются дополнительные USB или Thunderbolt порты, реализованные сторонним контроллером на линии PCI-E и они так же будут работать, несмотря на всё тот же процессор Ryzen.


  1. agarus
    06.09.2019 21:49

    Для максимально долгой поддержки желательно покупать относительно новое устройство
    Понятное вступление… и неожиданный вывод:
    я бы выбрала что-то между Xiaomi Redmi 4(X), Xiaomi Redmi Note 4 и Xiaomi Mi A1.


    1. xdimquax
      06.09.2019 23:18

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


      1. agarus
        07.09.2019 13:24

        Но в их вики есть и Redmi Note 7 pro, и 5 pro. Так зачем брать 4-й?


        1. fur_habr Автор
          08.09.2019 03:02

          Просто когда я начинала писать статью — этого устройства ещё не было вообще в списке и оно дороже 15000рублей(я не говорю что надо покупать именно дешевле 15000 рублей, просто это был пример подбора). А так да, новые устройства могут появляться в списке. И может быть Redmi Note 7 pro станет дешевле со временем.
          Redmi Note 5 pro — более не поддерживается(в списке на их вики выделен блёклым цветом). Это пример того, что лучше брать устройство на котором много установок именно LOS.


    1. powerman
      07.09.2019 10:06

      Я вот буквально неделю назад выбирал телефон исходя ровно из описанных в статье соображений, только без ограничения по бюджету. В результате самое лучшее, что я смог подобрать — OnePlus 6. Полно телефонов, которые намного интереснее в плане железа и/или цены, но для них нет официального LOS. :(


      1. agarus
        07.09.2019 13:27

        OnePlus 7 Pro — из их вики по девайсам.


  1. dartraiden
    06.09.2019 22:46

    Dark mode(Тёмная тема)
    Всё-таки, официальная, в Android 10, получше будет. Разработчики явно будут стараться автоматически включать в своих приложениях тёмную тему, если она включена в системе. Сейчас же для этого им нужно интегрировать в своё приложение работу с LineageOS API, что мало кто делает.

    В свете последних тенденций на запрещение и блокировку разными странами сервисов из «враждебных» стран, никто не даст гарантии, что завтра доступ к западным сервисам и программам сохранится на определённых территориях.
    Доступ могут рубить и по API, в этом случае всё равно, коннектитесь вы к зарубежным сервисам через GApps или microG.

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

    В итоге, если бы я выбирала устройства до 15 000 рублей, я бы выбрала что-то между Xiaomi Redmi 4(X), Xiaomi Redmi Note 4 и Xiaomi Mi A1.
    Яндекс.Телефон за 8 тысяч поинтереснее будет, если уж максимально напирать на «цена/производительность». У Redmi Note 4X официальной поддержки LOS 16 нет, скоро и неофициальная пропадёт, сборщик купил себе Redmi K20.

    На примере устройств Xiaomi(пример инструкции[23]):
    Инструкция уже много месяцев неактуальна. Для разблокировки Xiaomi в обязательном порядке нужен мобильный интернет на устройстве.

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

    но многие пользователи пользуются таким аддоном как Magisk

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

    Отпечаток пальца… Я не могу ничего по этому поводу сказать
    А я могу — товарищу майору приложить ваш палец труда не составит.

    Родными средствами Android, средствами PrivacyGuard и с помощью приложения AppOpsX убираете по максимуму доступы всех приложений практически ко всему, что не нужно этим приложениям.
    На этом месте становится понятно, что люди с личной жизнью в пролёте… хочется всё же жить, а не копаться в сотнях микроразрешений, выясняя, чего ж там не хватает для корректной работы основных приложений. Ну, хоть не предлагается выборочно отключать активити, и то хорощо.

    -NFC — Отключайте NFC и старайтесь им не пользоваться.
    И что предлагается взамен? Носить портмоне с 20-30 скидочными и банковскими картами? NFC почти как SSD на десктопе — попробовав раз, уже совершенно не хочется обратно. Торговые сети, правда, сейчас пошли на хитрость: некоторые требуют либо свою скидочную карту (а не её копию в телефоне), либо своё установленное приложение.

    Объясню почему — вы можете нажать на ссылку в каком-нибудь мессенджере, которая будет выглядеть адекватно, типа «example.com», но на самом деле там будет ссылка типа «vk.com/away.php?to=example.com» и если вы откроете эту ссылку в своём стандартном браузере, то Вконтакте сможет понять что кто-то на этом IP открывает определённую страницу.
    Одной рукой параноим по приватности, другой сидим в подментованной соцсети, которая пачками сливает своих пользователей, получающих сроки за посты и мемасики. Круче был только встреченный мной типакулхацкер, обсуждающий покупку ворованных банковских карт… в ICQ без всякого шифрования.

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

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

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

    когда агрессивный глава семейства ничего не найдя в телефоне жены

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

    Но не тут то было. Всё равно, даже при отключенных настройках система пытается периодически достучаться до серверов Google с ntp

    Пусть меня поправят более опытные товарищи, но, вроде бы, в Android нет NTP-клиента.

    Что касается дополнений к статье:
    • отказ от сервисов Google, к сожалению, приводит либо к неработоспособности некоторых игр, либо к невозможностью использовать в них сохранения. Потому что Google Play без сервисов не работает. Это нужно учитывать.
    • можно иметь разные пароли на запуск и на блокировку экрана. Вводить длинный и сложный пароль при каждой разблокировке экрана — пусть для мазохистов, а вот на загрузку ОС можно и посложнее. Понадобится рут (обязательно) и консоль, либо cryptfs-password-manager. На кастомах Android 9 альтернативы приложению нет, поскольку возможность сделать это через консоль Google удалила. В LineageOS 16 эту возможность вернули в конце августа, поэтому в сентябрьских сборках уже должна быть.


    1. xdimquax
      06.09.2019 23:22

      > хочется полноценную работу банковских приложений и бесконтактных платежей

      То есть, зондов?


      1. dartraiden
        06.09.2019 23:31

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

        Если без шуток, то нужен таки баланс между удобством и приватностью, а то и до хижины в тайге можно дойти. По развитию того же пакета microG отлично видно, как людей не устраивает отказ от сервисов Google: в полной мере реализовали то, без чего комфортного житья нет — пуши, а за реализацию API игр предлагают денежное вознаграждение. Т.е. зонды зондами, но хочется более-менее жить, а не страдать. Конечно, когда человек твердо и непреклонно стоит на позиции «ни малейшей информации обо мне никому» это вызывает уважение, как, например, вызывает уважение Ричард Столлман, не допускающий для себя ни малейшего использования несвободного софта, но мало кто так сможет жить (мы с вами не смогли бы даже тут пообщаться, поскольку JS-код — тоже код и он, в большинстве своём, несвободен, а без него не будут работать и комментарии).


        1. vm03
          07.09.2019 07:54

          Для меня, например, основной минус жизни без сервисов гугла, это неработа push-уведомлений. Без них или нет уведомлений от почты/мессенджеров или телефон практически "не спит".


          1. dartraiden
            07.09.2019 10:41

            С microG пуши-то будут, но софт придётся ставить из маркета, потому что в F-Droid приложения, собранные с поддержкой GMS, не пускают. А так да, без пушей придётся отключать энергосбережение для приложения, а если у телефона ещё и не самая ёмкая батарея, то всё грустно.


      1. Aelliari
        07.09.2019 20:25

        Это при разворачивании систем распознавания лиц? Имхо сейчас в борьбе за анонимность интересна мимикрия под что то абсолютно не интересное потому как огороженное от всего устройство уже повод задуматься об подозрительном человеке. А отказ от установки приложения и однократной проверке я на границе с Китаем — повод в отказе на въезд и «приглашения» побеседовать


        1. xdimquax
          07.09.2019 21:50

          Это при разворачивании систем распознавания лиц?

          А что? Например, чем больше людей будет платить наличными, тем менее подозрительным это будет выглядеть.


          огороженное от всего устройство уже повод задуматься

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


          1. Aelliari
            07.09.2019 21:56

            Как кому то может стать известно, что устройство огорожено

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


            1. fur_habr Автор
              08.09.2019 03:05

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


    1. dartraiden
      06.09.2019 23:38

      Время редактирования, к сожалению, вышло…

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


    1. xdimquax
      07.09.2019 00:14

      На этом месте становится понятно, что люди с личной жизнью в пролёте… хочется всё же жить, а не копаться в сотнях микроразрешений

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


      У большинства же пользователей Google Play такой набор приложений, что только и успевай отключать всякий хлам. Чтобы хотя бы батарея побольше жила.


      1. dartraiden
        07.09.2019 00:17

        Особенно этим славится Сбербанк.Онлайн. Чудовищный комбайн со встроенным антивирусом и обязательным обнюхиванием контактов и звонков.

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


      1. Aelliari
        07.09.2019 20:27

        Параноить — так с размахом, опенсурс -не гарантия отсутствия закладок


        1. xdimquax
          08.09.2019 01:10

          Проприетарных компонентов и в LineageOS хватает. Чтобы всунуть бэкдор и т.п.


          1. vm03
            08.09.2019 08:50

            Причём их процент становится все больше, усилиями гугла и квалкома.


    1. homocomputeris
      07.09.2019 01:04

      Я в ЛОС не заметил пока никаких проблем с автоматическим переключением темы в приложениях, скачанных с маркета.


    1. vm03
      07.09.2019 07:38

      > в Android нет NTP-клиента

      Есть. Причём используется и для системного времени и для ускорения «старта» GPS.


    1. fur_habr Автор
      07.09.2019 12:08

      Доступ могут рубить и по API, в этом случае всё равно, коннектитесь вы к зарубежным сервисам через GApps или microG.
      Ну а можно вообще не использовать эти сервисы, а использовать self-hosted. Свет клином в принципе не сошёлся на сервисах Google.
      Яндекс.Телефон за 8 тысяч поинтереснее будет, если уж максимально напирать на «цена/производительность»
      А я не предлагала напирать только на «цена/производительность». Изначалально статья не про это.
      У Redmi Note 4X официальной поддержки LOS 16 нет, скоро и неофициальная пропадёт,
      Да, я писала об этом. Но есть и другие варианты.
      Для разблокировки Xiaomi в обязательном порядке нужен мобильный интернет на устройстве.
      Не совсем так. Интернет может быть и через wi-fi. Но всё равно нужна верификация по смс. И я об этом всём написала.
      На этом месте становится понятно, что люди с личной жизнью в пролёте… хочется всё же жить, а не копаться в сотнях микроразрешений, выясняя, чего ж там не хватает для корректной работы основных приложений.
      Ну так вам шашечки или ехать? Тем более можно применять стратегию «есть доступ в интернет — нет доступов к данным». Необязательно ограничивать все приложения. В первую очередь надо ограничивать те, которые имеют доступ в интернет. Да и приложения в F-Droid более доверенные. И что значит жить? — свайпать 3 часа инстаграмм и устанавливать в день 10 приложений для наложения фильтров на лицо и показывать коллегам как это смешно? По мне это вообще не жизнь, а существование. Ну это моё личное мнение, не обижайтесь. И сколько приложений вы устанавливаете в месяц — 1, 5, 30?
      Странные гики пошли, так глубоко настраивают приватность, а галочку «установить приложение TWRP» при выходе из рекавери снять никак? А ещё в настройках TWRP есть опция «не предлагать установку приложения».
      Был у меня случай что установленый TWRP со снятой галочкой потом всё таки установил своё приложение. Может потому что это был переделанный непонятно кем TWRP под моё устройство — но лучше меньше рисковать.
      И что предлагается взамен? Носить портмоне с 20-30 скидочными и банковскими картами? NFC почти как SSD на десктопе — попробовав раз, уже совершенно не хочется обратно. Торговые сети, правда, сейчас пошли на хитрость: некоторые требуют либо свою скидочную карту (а не её копию в телефоне), либо своё установленное приложение.
      Ну так о чём и речь, никто на NFC не остановится. Сейчас уже на новую сим карту пытаются запросить биометрию, а все новые карты Тинькоф по умолчанию будут собирать информацию что вы покупаете. И это только начало. Ради удобства в настоящем Вы продаёте своё будущее. И размен не равен.
      Одной рукой параноим по приватности, другой сидим в подментованной соцсети, которая пачками сливает своих пользователей, получающих сроки за посты и мемасики. Круче был только встреченный мной типакулхацкер, обсуждающий покупку ворованных банковских карт… в ICQ без всякого шифрования.
      Перечитай ещё 5 раз, что я написала. Не понял? Перечитай ещё 10 раз. Не понял? Я говорю о том, что даже не пользуясь VK можно слить им инфу что с определённого IP кто-то заходит на определённый сайт. Претендуешь на снисходительное поучение других — будь внимателен и к себе.
      По поводу дополнений к статье — спасибо за информацию.


      1. dartraiden
        07.09.2019 13:11

        Не совсем так. Интернет может быть и через wi-fi.
        К сожалению, не может. Вопрос «как это сделать без мобильного интернета» — самый популярный в соответствующем топике на 4PDA, решения (по крайней мере, в июле) ещё не было.

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

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


        1. fur_habr Автор
          08.09.2019 03:14

          К сожалению, не может. Вопрос «как это сделать без мобильного интернета» — самый популярный в соответствующем топике на 4PDA, решения (по крайней мере, в июле) ещё не было.
          Спасибо за информацию.
          Слава богу, это частная придурь одного оператора.
          Не верю я в то, что это просто придурь кого-то одного. Это просто тестовое прощупывание населения.
          Она ещё сливается через виджеты соцсетей, причём даже в большем объёме. Вопрос, имхо, стоит решать средствами браузера (блокировка социальщины + плагины для предотвращения редиректов, которые на лету извлекают целевой адрес и сразу переходят на него).
          Ну да, можно и так поступить. У меня так и сделано, заблокировано всё на корню. Но не все могут «соскочить» с VK в в один момент и кто-то может им пользоваться. Да и редирект может быть не только с VK
          Не посоветуете «плагины для предотвращения редиректов»? Говорят, что некоторые сайты как-то делают хитро(и я сейчас не о сокращалок ссылок), и иногда не срабатывает вычищение. Какое посоветуете дополнение на Firefоx?


      1. dartraiden
        07.09.2019 13:21

        [дубль из-за глюкнувшего браузера]


      1. powerman
        07.09.2019 14:45

        Тем более можно применять стратегию «есть доступ в интернет — нет доступов к данным».

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


        1. fur_habr Автор
          08.09.2019 03:19

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


    1. Aelliari
      07.09.2019 20:18

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

      При этом автор если рекомендует если использовать его — то только в core mode. Для той же линейки, о которой идёт речь в данной статье, это не имеет смысла ибо рубит весь функционал в 0, проще поставить упомянутый addonSU. Кроме того в штатном режиме магиск не даёт изменять /system и все изменения идут в оверлее и до перезагрузки.
      я могу — товарищу майору приложить ваш палец труда не составит.

      Вся биометрия — это не про приватность это про удобство. Жертвуем безопасностью ради удобства.
      можно иметь разные пароли на запуск и на блокировку экрана

      Как показала практика эту возможность часто игнорируют, скорее всего из-за недостаточной осведомленности о её существовании


  1. mixmax
    06.09.2019 22:53

    А существует ли программа/драйвер которые проксируют доступ к записной книжке? Приложения нынче всеми правдами и неправдами пытаются скачать себе список контактов и более того — оповещают всех в нем, что пользователь начал пользоваться тем или иным мессенджером… Хотелось бы на уровне ОС давать доступ к контактам, но при этом достаточно гранулярно управлять доступом, чтоб каждое приложение видело только те записи в книжке, которые Я решил ему показывать. Скажем, у PhoneDialer.apk полный доступ, FB Messenger видит только Васю и Петю, а Телеграм — только Петю и Машу… Есть решение данной проблемы?


    1. dartraiden
      06.09.2019 22:54
      +1

      Существует отчасти: Privacy Guard в LineageOS. Во включённом состоянии он отдаёт всем запросившим пустую книгу (с возможностью выбрать приложения, которые получат реальную книгу).


      1. mixmax
        06.09.2019 23:07

        Про Privacy Guard я в курсе еще со времен Cyanogen ) Поэтому и хотелось бы более избирательного управления.


    1. xdimquax
      06.09.2019 23:24

      Есть еще вот такое приложение для хранения контактов.
      f-droid.org/packages/opencontacts.open.com.opencontacts


    1. nobodysu
      07.09.2019 00:48

      Третий вариант — рабочий профиль.


    1. powerman
      07.09.2019 10:16

      Старый XPrivacy это делал из коробки. Новый XPrivacyLua вроде бы может это теоретически, но практически надо написать свой фильтр на Lua. Т.е. решения с удобным UI пока нет, но если очень надо — то выкрутиться возможно.


      1. Teomit
        07.09.2019 11:14

        Если рассматривать готовое решение, то пока можно только одним регулировать — вхождением контакта в избранное.

        Подробнее
        How do I selectively block/allow contacts?
        This is a pro feature, which needs to be purchased.
        The pro companion app contacts settings are:
        — Block all: hide all contacts (the default)
        — Allow starred: make starred contacts visible
        — Allow not starred: make not starred contacts visible
        These settings can be applied to one app or globally to all apps.
        You'll need to apply the contacts restriction as well to apply these settings.
        You can star contacts (make contacts favorite) in the Android contacts app. Mostly the 'star' is in the upper right corner in the contact data.
        Due to limitations of the Android contacts provider it is not possible to block/allow contacts by contacts group in a reliable way.


        1. powerman
          07.09.2019 14:46

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


  1. karabas_b
    07.09.2019 00:50

    Отличная статья, спасибо!
    Нет ли проблем под LineageOS с аппликухами платежных систем, банков и т.д., если пользоваться осью без рута? Есть ли вообще хоть какие-то ограничения по сравнению со стандартным гугловским андроидом? Как ведут себя гугловские приложения? Заработает ли, например, Google Maps на LineageOS, если установить его как apk?


    1. vm03
      07.09.2019 07:59

      Нет ли проблем под LineageOS с аппликухами платежных систем, банков и т.д., если пользоваться осью без рута?

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


      Как ведут себя гугловские приложения?

      По разному, какие-то работают, каким-то обязательны сервисы гугла.


      1. fur_habr Автор
        08.09.2019 03:21

        А можно список «банковских» приложений, которые вообще не работают на «кастомах» даже без рута?


        1. vm03
          08.09.2019 08:52

          МирPay например у меня вообще отказался запускаться.


    1. iborzenkov
      07.09.2019 10:53

      Да нету никаких проблем почти со всем. Из банковских приложений такое встречал только у сбера, но пользоваться этим — это вообще за гранью добра. Гугловые приложения работают нормально, единственная проблема — google pay + рут, но она решается Magisk с фиксом на скрытие. Собственно это единственное что потребовалось сделать — поставить фикс для работы google pay — остальное все работает без каких либо проблем, и гугловые приложения тоже все поставлены отдельно — стоит gapps pico в котором только маркет и сервисы и отдельно gmail, карты и остальное нужное


  1. kimifish
    07.09.2019 02:20

    Спасибо за отличную статью! До конца пока не дочитал, но пролистал и ответа на свой вопрос не увидел. Простите, если он там есть.
    Вопрос: можно ли как-то повысить приватность, затрудняя позиционирование устройства на стороне оператора по данным базовых станций? Передача ложных данных о мощности сигнала, подмена IMEI, чёрный и белый списки БС хотя бы… Встречались ли Вам подобные программы, и есть ли опыт их использования?


    1. vm03
      07.09.2019 08:05

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


      Для вашей цели надо изменять именно "прошивку" радио-модуля. А они все закрыты, хотя какие-то утечки исходников квалкома были.


    1. nobodysu
      07.09.2019 14:36

      Только модификацией открытой прошивки модема:
      habr.com/ru/post/257631
      Пока что разработки в этой области очень мало. Подробнее.


  1. nobodysu
    07.09.2019 03:32
    +1

    Фундаментальный гайд. Немного дополню.

    Изменить NTP-сервер можно так:
    $ adb shell settings put global ntp_server pool.ntp.org
    Однако, мне встречались случаи когда после смены использовался одновременно и старый и новый адрес. Предполагаю что источником не измененного адреса был A-GPS.

    Мне известны следующие адреса Captive Portal'ов и серверов времени:
    gitlab.com/nobodysu/spyware-hosts/blob/master/lists/android-mild.txt
    (не все числовые домены существуют; это моя репа)

    Говорили что бутстрап A-GPS идёт в обход файрвола, но сам я не проверял. Там даже был DoS. Хорошо хоть dns-клиента на чипе нет. Известные мне адреса:
    gitlab.com/nobodysu/spyware-hosts/blob/master/lists/qualcomm-mild.txt

    Помимо упомянутых не-андроид телефонов готовится к выпуску PinePhone.

    IceCatMobile на fdroid содержит критические уязвимости. Остерегайтесь.

    На телефонах есть такая замечательная вещь: Presidential Alerts. Их можно спуфить.

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

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

    Некоторые люди говорят что рутование телефона делает из него решето. Если допустить что разрешения будут даваться только авторитетным OSS приложениям, есть ли опасность? Что если настроить запрет запроса на рут по-умолчанию для защиты от кликджакинга? Кто-нибудь знает?

    AdAway необходим, но он не выглядит как надёжное решение, ибо информацию о всех поддоменах и вариациях собрать почти невозможно. Возможен ли dnsmasq под Android (для wildcard/regex фильтрации), или он почти наверняка грозит большим расходом батареи? Может быть настроить ДНС на сторонний pihole-сервер, но как организовать доступ только конкретному устройству, если у него динамический IP? Или может быть пустить весь трафик через свой VPN с тем же pihole. Заодно и дампать всё для последующего анализа на предмет утечек.
    Если организовать такую систему и не зависеть от AdAway, то можно подумать о гораздо более защищенном GrapheneOS — а вместо файрвола просто забирать Интернет у приложений.

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


    1. vm03
      07.09.2019 08:01

      Предполагаю что источником не измененного адреса был A-GPS.

      A-GPS использует NTP, причём у него отдельные настройки.


    1. xdimquax
      07.09.2019 11:39

      Насколько я знаю, dnsmasq не умеет блокировать regexp, проще завести dnscrypt-proxy, есть даже Magisk модуль. А вообще, у любого настоящего параноика, как минимум, должен быть свой DNS-сервер с фильтрацией и DoT (в который Android 9 умеет "из коробки").


      От меня толку мало т.к. я почти не использую проприетарный софт.

      Я тоже, именно поэтому не испытываю потребности в этих списках.



      1. nobodysu
        07.09.2019 14:18

        Да, действительно, без патча не умеет. Но я всё равно имел в виду pihole — модифицированный dnsmasq под капотом.


  1. szelga
    07.09.2019 09:02

    Обновление firmware
    так себе затея. обновил прошивку на Sony Xperia, затем пришлось откатывать на Android 8, потому что TWRP отказывался работать. спасибо Jolla, у них нашлось подробное руководство как раз на такой случай. так что обновлять/не обновлять — сильно зависит от производителя и модели.


  1. gban
    07.09.2019 09:31

    Если нет возможности полноценно перейти на кастом + нет рута, прокомментируйте пожалуста кто-нибудь минусы adguard, отличия от adaway?


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


    (habr, ну запилите уже вставку картинок с телефона!!!)
    https://hsto.org/r/w780/getpro/habr/comment_images/725/9f0/4e8/7259f04e8031a3423df91cd498c379ac.png


    1. xdimquax
      07.09.2019 11:42

      Adguard блокирует лучше, но жрёт батарею.


    1. fur_habr Автор
      07.09.2019 13:17

      если я например, запретил гуглсервисам в настройках android 8.0 доступ к микрофону, могут ли они получить их как-то в обход?
      Конкретное приложение, которое вы запретили, может быть и не будет иметь доступ. Но Google любом случае имеет возможность получить доступ к микрофону, при установленных Google Apps. То есть ответ: Google может получить доступ к микрофону в обход.


  1. aulitin
    07.09.2019 10:23

    Спасибо за фундаментальный труд! Мне давно хочется иметь телефон на LineageOS, но гайды по установке и настройке пугают меня. Я бы с радостью купил бы телефон у компании, ориентированной на приватность (как duckduckgo), и которая бы продавала android-совместимый телефон с открытой сборкой, но ее не существует


    1. LmarLoe
      08.09.2019 03:25

      1. fur_habr Автор
        08.09.2019 03:27

        Основной разработчик CopperheadOS Daniel Micay ушёл из проекта и сделал GrapheneOS. Устройства не продаёт пока, но можно также купить и прошить самому. Дешевле будет.


  1. Teomit
    07.09.2019 11:21

    Некоторые приложения отказываются работать, если им не предоставлен доступ к какой-то функции устройства, например, местоположению. Я понимаю, что можно не пользоваться приложением, но иногда очень надо. В этом случае спасает XPrivacyLUA, который не ограничивает доступ, а просто напросто предоставляет приложению фейковые данные. Предоставляет ли AppOpsX или последние версии Android подобную возможность? Т.е. важно, чтобы приложение не имело доступ к определённым функциям, но при этом работало.


    1. xdimquax
      07.09.2019 11:44

      Нет, альтернатив XPrivacyLua вроде нет.


    1. fur_habr Автор
      07.09.2019 13:29

      Privacy Guard имеет другой механизм блокирования, и иногда некоторые приложения откзываются работать, если запрещён доступ к местоположению через стандартные средства, но всё-таки работают если запретить доступ к местоположению через Privacy Guard. Иногда и наоборот. Не будут врать, я встречала такие приложения пару раз и уже не помню как именно обстояли дела.


  1. user_man
    07.09.2019 13:12

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

    >> Дорогие айтишники, не подскажите ли вы:
    1) Некоторые приложения ранее могли запускать другие приложения(например, тот же Orbot вроде как могут запускать другие приложения). Как можно ограничить запуск других приложений? Или в версии Android 9 это можно как-то стандартными средствами ограничить? Поможет ли SuperFreezZ(superfreeze.tool.android)?

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

    Ну и по делу — ведроид предоставляет любой программе список установленных приложений, далее используя информацию из такого списка можно попросить опять же сам ведроид запустить какую-то программу. То есть всё идёт через ОС, поэтому заблокировать запуск можно только влезая в потроха ОС. Например есть библиотеки типа Xposed, которые как раз и занимаются внедрением себя в ОС и перехватом различных запросов, в том числе и для запуска приложений. Поэтому нужно поставить подобную библиотечку и написать к ней дополнение, которое спросит у пользователя — а не запретить ли вот такое действие от такой-то программы? И даже многие вещи писать не надо, поскольку библиотека создана давно и к ней уже и так много чего есть. Значит вам стоит заняться изучением подобных программ/библиотек. Ковыряйтесь в настройках, потом возможно даже модули писать начнёте.

    >> 2) Есть информация, что SIM карта может иметь свои внутренние приложения(смотри Defcon 21). Приложения на SIM какие имеют доступы?

    Доступы имеют лишь приложения для ОС, то есть всё то, что вы ставите с маркета или в виде apk. Симка же — это часть железа. Она взаимодействует с контроллером, который читает код сим-приложения и запускает его независимо от ОС. При этом со стороны ОС есть поддержка в виде API для работы с подобными контроллерами. Через этот API любые программы с соответствующими разрешениями имеют доступ к данным сим, но не имеют возможности сами выполнять программы сим-карты, потому что это умеет только контроллер. Но программа, работающая через API ОС может попросить сделать действие, которое подразумевает запуск каких-то программ с симки на её контроллере. Какие конкретно — я не знаю, там API не выставлено на уровень Java/Kotlin, оно доступно только из С-программ для Линукс, но там я не ковырялся. В целом модули типа Xposed могут встревать и в такие взаимодействия ОС, поскольку они как раз на С и написаны. Значит вам опять стоит поинтересоваться подобными библиотеками.

    >> 3) Есть ли какие-то конструктивные замечания по поводу статьи? Или какие-нибудь полезные интересные статьи дополняющие эту статью?

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


    1. xdimquax
      07.09.2019 14:10

      Имхо, нужна подобная статья на англ. языке.


      1. DaniilPola
        08.09.2019 03:30

        Подобные статьи на английском языке как раз в относительном изобилии (тематические темы на reddit, privacytools.io, privacyinternational.org, каналы на ютубе и многое другое), а вот на русском языке пустошь


    1. fur_habr Автор
      08.09.2019 03:30

      Сначала нужно понять, зачем ограничивать запуск приложений. Потому что вся та цветастая картинка с иконками на стартовом экране — это тоже приложение, которое как раз предназначено для запуска программ. Но обычно это гугловый софт, хотя есть и сторонние пускачи, и вот для сторонних запрещать запуск, ну как бы это сказать, не совсем разумно.
      Да понятно что можно ограничить лишнего. Хотелось бы ограничивать все несистемные проприетарные приложения.
      вот для сторонних запрещать запуск, ну как бы это сказать, не совсем разумно.
      Почему??
      Конструктивно — хабр, как и прочие способы достучаться до населения, полезен лишь в качестве проводника идеи в массы, а вот в качестве справочника по правильным идеям полезен специально на то заточенный сайт.
      Ну так было бы неплохо. Но у меня ни знаний ни времени нет поднимать сайты.


      1. user_man
        08.09.2019 14:49

        >> Почему??

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

        >> Но у меня ни знаний ни времени нет поднимать сайты.

        Да, конечно. Поэтому люди объединяются в сообщества и делают только ту работу, для которой есть знания и время.

        Вы вот, раз уж занимаетесь такими вопросами, наверняка ведь встречали подобные сообщества. Та же LineageOS создана коллективно, ну и многое другое. Можно попробовать куда-то присоединиться, там и советом помогут, и то, чего вы не знаете, могут сделать. Хотя здесь всё зависит от ваших приоритетов, конечно.


  1. Suveren
    07.09.2019 13:14

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


  1. sveq
    07.09.2019 14:09

    Практически единственная статья в рунете, когда доступно и граммотно разъясняет все тонкости. Однако есть 2 нюанса:

    1. Разблокированный загрузчик

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

    В данном утверждении есть логическая ошибка — предположение, что пользователь всегда контролирует свой телефон. Злоумышленники (особенно если это спец службы) могут действовать крайне деликатно и пользователь ни за что не узнает, что его устройство подверглось внедрению бэкдора. Как правило это приводит к тому, что пользователь начинает форматировать устройство каждые условные 2 дня, а затем забивает на весь этот цирк безопастности => Миссия провалена.

    2.
    Если кратко — microg осуществляет singature spoofing, то есть «обманывает» приложения полагающиеся на Google, что разработчикам LOS не очень нравится. Также это вызывает риск установки «левого» приложения. То есть сейчас нельзя заменить какое-нибудь приложение(особенно системное) вирусным приложением путём обновления. А с singature spoofing это будет возможно.

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

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


    1. fur_habr Автор
      07.09.2019 14:26

      Злоумышленники (особенно если это спец службы) могут действовать крайне деликатно и пользователь ни за что не узнает, что его устройство подверглось внедрению бэкдора.
      Вы имеете ввиду без физического доступа к устройству? Можно взломать любого, вопрос в ресурсах взламывать всех. Я об этом написала в секции Вопрос — Ответ.
      Как правило по началу пользователь готов мириться с отсутсвием даже урезанных открытых гугл сервисов, но потом ему это все надоест и он скорее всего поставит себе полноценные гугл сервисы и получит остальные крайне сладкие плюшки типа google pay.
      Ну да, терпение нужно немного иметь. Для таких случаев можно вообще иметь 2 устройства. Одно для постоянного использования, второе какое-нибудь самое дешёвое с гугл сервисами, которое будет чаще всего выключено и лежать дожидаться своего часа в сумочке. И какие такие «крайне сладкие» плюшки? Google Play говорите. А то, что в самом Google Play есть приложения с вирусами? Или то, что любой фонарик сливает ваши данные? Или то, что Google Play сам сливает данные и жрёт батарею? Крайне сладко? Ок.
      заканчивая крайне сомнительной безопастностью.
      Как любят говорить в этих ваших энтэрнэтах, а где пруфы, Билли?
      При вендорской прошивке я жертвую аналитикой, зато уверен что получить доступ к устройству практически нереально.
      Вы серьёзно? Я понимаю если бы вы сказали, что лучше купить устройство типа Pixel. Но утверждать, что при вендорской прошивке получить доступ к устройству нереально — это, как мне кажется, слишком громкое заявление.


      1. sveq
        07.09.2019 15:13

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

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

        Как любят говорить в этих ваших энтэрнэтах, а где пруфы, Билли?

        Пруфы того, что разлоченный загрузчик или signature spoofing это брешь в безопастности? Так в статье об этом и говорится.

        Вы серьёзно? Я понимаю если бы вы сказали, что лучше купить устройство типа Pixel. Но утверждать, что при вендорской прошивке получить доступ к устройству нереально — это, как мне кажется, слишком громкое заявление.

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


        1. fur_habr Автор
          08.09.2019 03:39

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

          По поводу разблокированного загрузчика — это важно для тех, на кого нацелились. И в таком случае можно купить Pixel, поставить LOS и заблокировать загрузчик. Или установить GrapheneOS.


          1. vm03
            08.09.2019 09:05

            К сожалению только пиксели поддерживают "custom vbmeta".
            Зато(на радость злоумышленникам) имеется целая куча телефон с уязвимостями в проверке подписи, позволяющими запускать " неавторизованный" boot.


        1. Aelliari
          08.09.2019 10:35

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

          Да, только на части устройств это можно обойти, в частности сразу после разблокировки прошить кастомный рекавери, или ещё каким то образом (привет Sony).


    1. xdimquax
      07.09.2019 16:10

      > При вендорской прошивке я жертвую аналитикой зато уверен что получить доступ к устройству практически нереально.

      Аналитика — один из видов доступа.


  1. AntonSazonov
    07.09.2019 14:09

    Список ссылок больше чем статья у некоторых...


  1. Lelant0s
    07.09.2019 14:09

    Дедушка Мороз! Подари этой замечательной девушке что-нибудь хорошее на НГ — за то, что нашла время разжевать всё подробно для начинающих вникать в тему. :-)


  1. andToxa
    07.09.2019 14:09

    "не читал, но осуждаю" плюс тут "многа букаф".
    но есть вопрос: а вся такая универсальная и открытая линейка поставится на Redmi 4 Pro/Prime?
    ps: на самом деле нисколько не осуждаю, только за!
    pps: но про телефон вопрос открыт


  1. powerman
    07.09.2019 14:52
    +1

    Титанический труд, спасибо!


    с установкой TWRP ещё устанавливается приложение в смартфон с треккерами отслеживателями

    А можно чуть подробнее, откуда такая инфа? Раньше, по крайней мере, ничего такого не было. TWRP вроде предлагал установить в прошивку его "обновлялку", но это не было обязательным.


    Скиньте вышеобозначенные программы(AFWall+, AdAway, Orbot, AppOpsX) на ваше устройство и установите их на устройство из приложения Files/Файлы.

    Их можно установить немного проще, через adb install прямо с компа.


    В LOS в настройках времени и даты убираете синхронизацию по сети.

    Чего ради? В смысле, какая именно ценная инфа может утечь через этот канал?


    Так как при скачивании приложения оно может автоматически запуститься и у него могут быть лишние права(не всегда Privacy Guard для новых приложений выставляет разрешения в режим «Спрашивать»)

    XPrivacyLua вроде бы этой проблемой не страдает, и новые приложения ограничивает автоматически. Почему Вы не ставите его по умолчанию вместе с первой группой приложений? (Полагаю, потому, что не хотите ставить Xposed, но какой вред от Xposed если не ставить для него никаких модулей помимо XPrivacy?)


    Orbot

    Вы его используете потому, что на телефоне обязательно должен быть VPN (с чем я полностью согласен, просто предпочитаю собственный VPN сервер и "OpenVPN для Android"), или считаете что нужен конкретно Tor?


    Если скачиваете приложения не из F-Droid(чего я крайне не советую) — проверяйте на наличие треккеров

    А что толку проверять? Надо просто ставить XPrivacyLua, который их все, или почти все, умеет автоматически блокировать.


    Но почему практически ни одно приложение не даёт возможность сохранять свои данные во внутреннюю память самого приложения? Возьмём пресловутый Telegram. Такой настройки нет. Он сам выбирает что и куда сохранять(даже файлы из секретных чатов видно другим приложениям, об этом я напишу). Я начала думать как лучше обеспечить возможность использования таких приложений(которым нужен доступ к памяти), но при этом не давай им этот самый доступ.

    Вообще-то такая возможность есть — плагин Public.Storage к XPrivacyLua (его надо доустановить отдельно), который тоже помогает ограничить доступ приложений, которым формально разрешен доступ к /sdcard/, исключительно личными каталогами этих приложений — чтобы они по фоточкам не лазили втихаря.


    — Если вы установили Gapps, то либо вы не сможете их ограничить, либо настройки сами будут переключаться в состояние «Разрешено» сразу как только вы выйдете из PG, либо устройство может войти в Bootloop и придётся переустанавливать LOS

    И снова, XPrivacyLua справляется с ограничением Gapps.


    Кстати говоря, в статье стоило бы упомянуть одно архитектурное ограничение в области блокирования доступа приложений. Оно точно актуально для XPrivacyLua, насчёт PG я не знаю наверняка, но практически уверен, что тоже актуально. Если приложение устанавливает не только Java-код, но и системные библиотеки (.so), что делают очень многие приложения, то код в этих библиотеках имеет полный доступ к системе мимо любых ограничений прав доступа (не считая ограничения прав файловой системы и SELinux). Этот код не сможет добраться до, например, контактов через стандартное API, но, не исключено, сможет добраться до файла с БД содержащей контакты. И уж точно этот код имеет доступ к железу (камера, микрофон, сеть). XPrivacy позволяет видеть и блокировать попытки приложений подгружать свои .so библиотеки, но пользы от этого мало — если заблокировать, то приложение практически всегда перестаёт работать.


    По моему личному мнению XprivacyLua есть смысл использовать только на устаревших версиях Android, но всё равно очень аккуратно.

    Я думаю, этот момент наступит года через 2-3, когда выйдет Android 11 плюс пройдёт год на блокирование старого API и чтобы новый LOS выпустили. А пока от XPrivacyLua отказываться рановато.


    1. fur_habr Автор
      08.09.2019 04:01

      А можно чуть подробнее, откуда такая инфа? Раньше, по крайней мере, ничего такого не было. TWRP вроде предлагал установить в прошивку его «обновлялку», но это не было обязательным.
      Был у меня случай что кастомный TWRP поставил приложение, даже при отключенной галочке.
      -В LOS в настройках времени и даты убираете синхронизацию по сети.
      Чего ради? В смысле, какая именно ценная инфа может утечь через этот канал?
      Да принципиально не коннектиться к серверам Google. Пока что ничего не утекает. Но это пока что. Как в Chromium какой-то DMZ начал утекать, как в AOSP webview утекает немного инфы, через A-GPS утекает в некоторых случаях EMEI и возможно ещё что-то. Принципиально не хочу иметь дело с их серверами.
      XPrivacyLua вроде бы этой проблемой не страдает, и новые приложения ограничивает автоматически. Почему Вы не ставите его по умолчанию вместе с первой группой приложений? (Полагаю, потому, что не хотите ставить Xposed, но какой вред от Xposed если не ставить для него никаких модулей помимо XPrivacy?)
      Если сделать неаккуратно движение — то можно сделать только хуже в части безопасности. Плюс чтобы XPrivacyLua заработал в силу надо писать для него отдельные фильтры, какие-то скрипты.
      -Orbot
      Вы его используете потому, что на телефоне обязательно должен быть VPN (с чем я полностью согласен, просто предпочитаю собственный VPN сервер и «OpenVPN для Android»), или считаете что нужен конкретно Tor?
      Свой VPN на VPS — это статический выходной IP, один раз из под него залогиниться — и всё, ваш профиль связан со всеми посещаемыми сайтами из под этого IP. Чужой VPN — на то он и чужой, что непонятно можно ли им доверять. Лично моё мнение — со своим VPN лучше чем просто без всего. Если стоит выбор между VPN и Tor — я выбираю Tor, так как выходные цепочки всё время разные и при определённой настройке Orbot выходные ноды разные для разных приложений.
      Если приложение устанавливает не только Java-код, но и системные библиотеки (.so), что делают очень многие приложения, то код в этих библиотеках имеет полный доступ к системе мимо любых ограничений прав доступа (не считая ограничения прав файловой системы и SELinux)
      Если не ошибаюсь эту уязвимость исправили в последних версиях Android. Можете скинуть подробную информацию на эту тему? Желательно актуальную.
      Я думаю, этот момент наступит года через 2-3, когда выйдет Android 11 плюс пройдёт год на блокирование старого API и чтобы новый LOS выпустили. А пока от XPrivacyLua отказываться рановато.
      Может быть. Особенно если умеешь настраивать XPrivacyLua и аккуратный пользовать. Каждый решает сам.


      1. vm03
        08.09.2019 09:16

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

        "Официальный" TWRP включает в себя только своё приложение. Причём даже во многих "официальных" сборках его уже не включают из-за AVB.
        Ну а "автор" в свою сборку может добавить все что угодно, тут как и со всеми "кастомами", вопрос доверия к " автору".


      1. powerman
        08.09.2019 10:10

        Если не ошибаюсь эту уязвимость исправили в последних версиях Android.

        Я не андроид разработчик, сходу нашёл только вот это (первый пункт по ссылке говорит о том, что загружать .so библиотеки всё ещё разрешено, следующий за ним описывает что они были как-то ограничены, но суть этого ограничения мне не ясна):
        https://github.com/aosp-mirror/platform_bionic/blob/master/android-changes-for-ndk-developers.md#opening-shared-libraries-directly-from-an-apk


        Особенно если умеешь настраивать XPrivacyLua и аккуратный пользовать.

        Я описывал как настраивать старый XPrivacy в https://habr.com/ru/post/379107/. С XPrivacyLua, в целом, всё стало намного проще, хотя контроля над отдельными разрешениями стало заметно меньше.


      1. powerman
        08.09.2019 10:33

        Да принципиально не коннектиться к серверам Google.

        Можно же просто сменить используемый NTP сервер (в комментарии выше был пример).


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

        Это не так. Кое-то доустановить — да, было бы неплохо, в частности BlockGuardOs.open (Public.Storage).


        1. fur_habr Автор
          08.09.2019 10:44

          Можно же просто сменить используемый NTP сервер (в комментарии выше был пример).
          Да, можно. Если у кого-то есть возможность и знания так надо и сделать. Просто я хотела написать статью, где потребовались бы минимальные знания в компьютерах. Да, я понимаю, что это статья на хабре. Я надеюсь что пользователи прочитают не только статью, но и комментарии. И кто захочет — сможет сменить NTP сервер.
          Синхронизация времени не так критична, так как сейчас у 99%ов новых устройств батарея несъёмная, и выставить время раз в полгода не составляет труда.
          Это не так. Кое-то доустановить — да, было бы неплохо, в частности BlockGuardOs.open (Public.Storage).
          Не подскажите какую-нибудь толковую статью на тему настройки XPrivacyLua, с разъяснениями?


          1. powerman
            08.09.2019 11:27

            Я статью про это пока написать не сподобился, но там всё относительно просто, особенно по сравнению со старым XPrivacy.


            У меня сохранились заметки как я настраивал его при установке LOS где-то год назад
            • Прошить из TWRP: XPosed Framework, XPosed addon.d script
            • Первая загрузка, установить через adb install: XposedInstaller, XPrivacyLua
            • Вторая загрузка, настроить XPrivacyLua:
              • [?] Уведомлять о новых приложениях
              • [?] Ограничивать новые приложения
              • Запретить всё:
                • Поиск "google"
                • Браузер
                • Android System WebView
                • Email
                • Verizon Login
                • Фильтр "Показать пользовательские приложения"
              • Разрешить "Чтение списка приложений":
                • Поиск "google"
                • Браузер (для OAuth)
                • AFWall+
                • F-Droid
                • OpenVPN для Android
                • SuperSU (я ставлю старую версию, ещё до смены владельца)
                • Xposed Installer
              • Разрешить "Чтение имени аккаунта":
                • Поиск "google"
              • Разрешить "Чтение датчиков":
                • Браузер
            • Третья загрузка, Открыть доступ через VPN: Xposed Installer
            • Четвёртая загрузка:
              • Установить из Google Play (платные):
                • XPrivacyLua Pro
              • Настроить XPrivacyLua Pro:
                • Скачать BlockGuardOs.open
                • Включить все Collection
              • Настроить XPrivacyLua:
                • Запретить Public.Storage для:
                  • Поиск "google"
                  • Verizon Login
                  • Локальный Календарь


    1. vm03
      08.09.2019 10:41

      Если приложение устанавливает не только Java-код, но и системные библиотеки (.so), что делают очень многие приложения, то код в этих библиотеках имеет полный доступ к системе мимо любых ограничений прав доступа (не считая ограничения прав файловой системы и SELinux). Этот код не сможет добраться до, например, контактов через стандартное API, но, не исключено, сможет добраться до файла с БД содержащей контакты. И уж точно этот код имеет доступ к железу (камера, микрофон, сеть).

      Это код работает с правами unix-пользователя этого приложения. Для каждого приложения в андроид создаётся отдельный unix-пользователь.
      Он не сможет получить доступ к данным другого приложения.
      Доступ напрямую к железу(камера, микрофон и т.д.) он сможет получить, только если вендор(сборщик прошивки) очень сильно постарается сделать такие дыры: установить права доступа для всех, отключить или очень сильно сломать selinux(если не отключать, то разрешить такой доступ это надо очень сильно постараться).


  1. solver
    07.09.2019 16:09

    Они сначала покупают данные о вас, а потом уже с этими данными вас «окучивают» — называют по телефону ваши полные данные, номера счетов, карт, ИНН, и вы теряете бдительность.

    Зачем вы вводите людей в заблуждение? Эти данные сливаются не с телефонов. Их сливают провайдеры этих данных. Если вас потенциально можно через них развести, то это сделают даже на кнопочной nokia 3310.


    1. fur_habr Автор
      08.09.2019 04:27

      Ну во-первых я писала не только про смартфон, но в общем про приватность. То что эти данные сливаются в том числе провайдерами этих данных, это никак не отменяет того, что данные уходят и через смартфоны через другие приложения. Сейчас научились данные обогащать, в том числе через смартфоны. Мало просто знать номер карты, но если же вам позвонят и спросят «Вы сейчас на улице Пушкина 108 снимали деньги в банкомате — так вот вас хотят взломать… Скажите пароль из СМС».
      Конечно, вычистить смартфон — это пол дела. Я писала про общее состояние дел в своей прошлой статье. И также писала что эту тему надо поднимать в свет и возмущаться, писать письма и статьи. Вы говорите, что я ввожу кого-то в заблуждение — по такой логике в заблуждение вводите и вы, как будто если прижать непосредственных операторов данных, то данные нельзя будет получить по-другому.


  1. omgiafs
    07.09.2019 17:26

    Хмм. Описано много, но до настоящего параноика недотягивает.

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

    NFC. Пользоваться можно, с рутом и без рута. LOS16 + root (Magisk) + модули магиска для автоматизирования метода ATTEST — работает как часы. Если вдруг (не было ни разу) ГПей ругнулся на то, что телефон рутован или просто «нельзя оплачивать», то ребут телефона — и всё работает.
    Как избежать возможной потери денег с карты? не хранить яйца в одной корзине. Обзаводимся еще одной картой в банке, её и привязываем к GPay и ей оплачиваем всё онлайн. А денежки на неё перекидываем по необходимости с другой карты. Держу на «боевой» карте не более 5-10к рублей, при совершении более крупных покупок подкидываю денег и тут же ими оплачиваю эту покупку. Таким образом много средств точно не утечёт.
    Тем не менее рут — это не только удобство, но и опасность, надо это понимать. Берешь на себя ответственность и готовишься к худшему — нет проблем, не готовишься — твой проблемы :) Прошу, не надо вот про эти вирусы, которые SMS перехватывают и т.д, я в курсе.

    Особое место — запись разговоров. На 9 андроиде если вендор не реализовал запись с линии, то ничем, кроме как с помощью рута, запись разговоров не реализовать. Есть извращенские методы «системный диктофон» и прочее, но это кривые костыли.

    Ладно, телефон вроде данные шифрует, и они очень даже может быть злоумышленнику, завладевшему вашим аппаратом, не достанутся. Но железяка-то вполне себе! Аппарат на 30 и выше килорублей — неплохое приобретение, да к тому же хозяин (бывший, ага) помог — установил кастомный рекавери. Грузимся в рекавери, Wipe data — 'yes', перезагружаемся — всё чисто. Настраиваем нового юзера, и ходим с новым телефоном (пока его у нас тоже не того самого).
    Так вот. Можно даже на кастоме сделать так, что жулик (определенной степени компетенции в вопросе) с вашим телефоном ничего сделать не сможет. Надо сделать всего 2 вещи:
    установить рекавери с паролем на вход (redWolf, orangeFox и подобные) и закрыть загрузчик.

    fur_habr, Вы пишете:

    К сожалению, при установке LOS в большинстве случаев нельзя(технически можно, но устройство работать не будет) обратно заблокировать загрузчик(lock bootloader), кроме нескольких устройств от Google модельного ряда Pixel.
    Спешу Вас обрадовать, Вы ошиблись :) Я хожу с телефоном с LOS16 (OP5T) с мною подписанным рекавери и ядром и закрытым загрузчиком. Это добавляет ответственности: надо каждый раз после операций с ядром — обновление прошивки, установка Магиска и так далее, запускать скрипт подписи ядра, иначе я даже не знаю, что будет. Плюс отключить автообновление системы, потому что автообновление установит неподписанное ядро. С другой стороны, если я установлю рекавери с паролем (я ленивая жопа и еще не искал на свой аппарат рекавери с паролем, а тем более не собирал сам — там чертову тучу сырцов скачать надо, да и вообще сложно это «мимокрокодилу» вроде меня), то с моим аппаратом вору ничего не останется, кроме как вернуть его мне, иначе я его сам найду, если он телефон не обесточит, — спасибо Cerberus, который и фото морды мне пришлёт, и координаты на мыло кинет. Потому как в рекавери не зайти, если пароль не знать, и через фастбут ничего не сделать — загрузчик закрыт. Оставляю ссылку с полным мануалом по закрытию загрузчика на кастоме — вот она.
    Удачи!


    1. powerman
      07.09.2019 18:36

      запускать скрипт подписи ядра, иначе я даже не знаю, что будет

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


      Если я правильно понял эту инструкцию, то в этом случае система не загрузится, но рекавери останется рабочим. Есть (незначительная, на мой взгляд) вероятность, что эта ситуация будет воспринята как атака, и все данные будут удалены. (Даже если это случится — не трагедия, на то есть TitaniumBackup с шифрованными бэкапами в облаке.) В любом случае для исправления ситуации должно быть достаточно перепрошить ещё раз. Если данные удалены не будут, то для этого будет достаточно просто загрузиться в рекавери, расшифровать раздел с данными (где лежат файлы для прошивания), и прошить их. Если данные будут удалены, то нужно будет их залить на телефон с компа… и вот тут, теоретически, тоже могут возникнуть проблемы — я не совсем понимаю что именно делает описанная в инструкции блокировка fastboot, и не может ли она помешать заливать файлы через adb — теоретически не может, потому что в этот момент загружен рекавери и заливка файлов идёт через adb, а не fastboot.


      Ещё мне неясно, заблокирует ли описанная в инструкции блокировка загрузчика запуск рекавери с компа без его прошивки через fastboot boot — если не сложно, проверьте это плз. Если заблокирует, то, похоже, наконец-то появилась возможность получить реально безопасный телефон с чистой прошивкой!


      1. omgiafs
        07.09.2019 18:52
        +1

        Ыыыы

        h:\andro\OnePlus_5T\recovery\adb>fastboot.exe boot twrp-3.3.0-x_blu_spark_v9.100_treble-op5_op5t.img
        Sending 'boot.img' (29020 KB) OKAY [ 0.624s]
        Booting FAILED (remote: 'boot is not allowed in Lock State')
        fastboot: error: Command failed


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

        Fastboot и abd — разные режимы, одновременно не работают. Так что ничто не помешает заливать файлы через ADB, кроме кривого рекавери, мне такие попадались. То ADB не работает (последний раз встречалось достаточно давно), то данные не расшифровывает (это часто).

        А по поводу бэкапов… почитайте в конце инструкции мою форумную подпись :)


    1. sumanai
      07.09.2019 20:51

      Оставляю ссылку с полным мануалом по закрытию загрузчика на кастоме — вот она.

      И насколько она применима на других устройствах? Например на Redmi Note 7 (без pro), когда (если) на него выйдет LineageOS.


      1. omgiafs
        07.09.2019 21:03

        Применима. Скажу больше, это применимо не только на LineageOS.


  1. Aelliari
    07.09.2019 20:41

    Статья упоминала что никто кроме Гугл плея не может тихо ставить приложения, так вот, это тоже не совсем так. Для упоминаемого в данной статье f-droid есть дополнение f-droid privileged extension которое даёт ему такой функционал. Так что принципиальной невозможности нет, да и всякие вендорские магазины приложений это умеют.


    1. fur_habr Автор
      08.09.2019 04:32

      Ну да, но только надо устанавливать f-droid privileged extension как системное приложение. А это по одной кнопке не сделать. Это надо или рут, или через TWRP скидывать в системную папку.


      1. dvrpd
        08.09.2019 16:26

        Можно через модуль Magisk поставить.


  1. BD9
    08.09.2019 01:10

    Не Android устройства и прошивки:

    Sailfish OS
    Устройства с возможностью установить Sailfish OS — здесь.
    Множество совместимых с Sailfish OS устройств является подмножеством совместимых с LineageOS устройств.
    Есть смартфоны Sony с Sailfish OS, но в РФ они не продаются. («Sorry, not available in your country», «Current availability: EU, Norway, Switzerland.»).
    List of open-source mobile phones
    PostmarketOS
    LuneOS


    1. fur_habr Автор
      08.09.2019 04:37

      у Sailfish OS слишком много закрытых компонентов. Без них системой вообще нельзя пользоваться. А с закрытыми компонентами мне не хочется пользоваться системой и не хочется советовать. Они там вроде обещали всё потихоньку открыть, но что-то дело не сильно двигается. Если есть возможность нормально пользоваться без закрытых компонентов — дайте пожалуйста ссылку на статью, как это можно сделать.


  1. splitfire
    08.09.2019 04:37

    Подскажите, а есть ли в LineageOS, какой-либо аналог Second Space из MIUI?


    1. fur_habr Автор
      08.09.2019 04:39

      Я не пользовалсь плотно MIUI, но судя по всему часть функциональности Second Space из MIUI — это либо «рабочий профиль», либо создание 2-го пользователя. И то и другое можно сделать на LOS 15.1 и 16 точно.


      1. Aelliari
        08.09.2019 10:46

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


  1. Neurasthenic
    08.09.2019 04:39

    play.googleapis.com, www.google.com — я не выяснила ещё какое именно приложение и для чего ломится в google. Я просто сразу заблокировала.

    Если речь идет о свежеустановленном ЛОСе, без пользовательского софта-то ломится к гуглу лаунчер Trebuchet, пытается отобразить на рабочем столе виджет гуглопоиска и папку гуглософта.


    1. fur_habr Автор
      08.09.2019 04:41

      Если речь идет о свежеустановленном ЛОСе, без пользовательского софта-то ломится к гуглу лаунчер Trebuchet, пытается отобразить на рабочем столе виджет гуглопоиска и папку гуглософта.
      Да, на свежеустановленном. Интересная информация, у вас есть ссылки на статью где это описано? Или вы экспериментальным путём выяснили?


  1. untrusted
    08.09.2019 04:41

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


    … поэтому меня это не сильно беспокоит. Пару приложений(банковское + одно по работе) работают отлично


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

    Отличная статья, прочитал с удовольствием.


    1. fur_habr Автор
      08.09.2019 04:45

      У меня два устройства и оба на LOS. На одном стоят Gapps и стоит банковское приложение(банк не из топ-5) в рабочем профиле и доступы заблокированы приложению по полной. Это и есть второй смартфон на всякий случай, смартфон этот практически не включаю и не пользуюсь. Так что ничего странного. Но я не могу в статье кого-то заставлять выбирать ту или иную стратегию. Я стараюсь расписать факторы и привести в пример некоторые свои методики.


  1. jutson86000
    08.09.2019 04:41

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


    1. iborzenkov
      08.09.2019 16:02

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


      1. jutson86000
        08.09.2019 22:10

        Это какой же? Более или менее по цене и с хорошей камерой можно купить допустим huawei — p30, p30pro, honor20pro, samsung s8 подороже s9 s10e. Pixel. Нет ни одного нормального телефона, ибо загрузчики начали закрывать. Поддержка только у древних телефонов или one+7 у которого и без LOS все хорошо


  1. Neurasthenic
    08.09.2019 14:25
    +1

    Да, на свежеустановленном. Интересная информация, у вас есть ссылки на статью где это описано? Или вы экспериментальным путём выяснили?

    Нет, ссылок на статью нет, но они и не нужны. А выяснил как?.. -Да просто уж лет 5 как собираю Cyanogen/Lineage для своих устройств сам, было время ознокомиться с исходниками )))
    Извольте взглянуть github.com/LineageOS/android_packages_apps_Trebuchet
    Как видите сам Trebuchet всего лишь обертка для AOSP'ешного Quickstep'а, а в библиотеках красуется GoogleFeed (вкорячили чуть больше года назад, видимо устав от нытья гугланутых.)
    Это сделано для тех, кто по темности своей накатывает GAPPS'ы и хочет видеть окно в мусоропровод по свайпу вправо на домашнем экране


    1. xdimquax
      08.09.2019 15:05

      И их даже не смущает, что это бинарник, без исходников.