Важная оговорка

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

Мотивы

Мобильные приложения теперь должны отслеживать средства обхода блокировок и сообщать о них, а Российские сервисы не должны работать, если на них пытаются зайти используя средства обхода блокировок. С мессенжерами стало в последнее время туго, идёт активное импортозамещение. Отечественный продукт скоро потребуется для открытия домофона в подъезде, — ну как тут не установить... Только кому потом будет принадлежать ваш телефон: вам или не вам? Или вы ему?

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

Копаем вглубь

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

Из устройств лучше всего подойдёт «нечто», — на чём используется Linux‑подобная операционная система, и конечно лучше с root‑доступом. То есть телефон на Android с разблокированным загрузчиком.

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

Для изучения я установил на ПК под управлением Linux Ubuntu — Android SDK, в котором с помощью андроид‑эмулятора создал тестовую среду для изучения. Тестовая среда — это виртуальная машина/телефон с root‑доступом, общение с которой возможно в графическом интерфейсе и с помощью командной строки (Android Debug Bridge).

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

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

Что же я там увидел, и что удалось узнать таким способом?

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

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

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

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

Решение

Так как мы используем Linux‑подобную операционную систему, то почему бы нам не использовать обычный фаерволл типа Iptables и попросту не отозвать лишние права у всех приложений?

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

Iptables не работает с доменами, а только с IP‑адресами. Поэтому с помощью модуля nslookup для Magisk мы узнаём IP‑адреса из всех белых и черных списков, на основе них составляем список цепочек для Iptables и потом заносим их в правила. Делает это автоматический скрипт раз в 3600 секунд.

Касательно списка разрешений — для всех приложений заведены скрипты для восстановления нужного набора разрешений после обновления приложения или перезагрузки устройства. Автоматическое исполнение этих скриптов обеспечивается с помощью Magisk service.d.

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

/data/adb/netiso/
├── netiso.sh
├── global-blacklist.txt
├── rules.v4
├── cache/
└── apps.d/
    ├── первое_приложение.conf
    ├── второе_приложение.conf
    ├── третье_приложение.conf
    ├── четвертое_приложение.conf
    └── пятое_приложение.conf

/data/adb/service.d/
└── netiso-loop.sh

Где:

  • netiso.sh — основной скрипт;

  • global-blacklist.txt — глобальный blacklist;

  • netiso-loop.sh — скрипт автоматического обновления IP-адресов.

Применение на реальном устройстве

Исполнение:

  • выбрана подходящая для кастомизации модель телефона на Android

  • разблокирован загрузчик

  • установлен кастомный Recovery

  • телефон рутирован с помощью Magisk

  • удалены лишние системные приложения

  • установлен модуль Busybox для Magisk

  • создана структура каталогов

  • заполнены глобальный blacklist и whitelists для каждого приложения

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

Второе пространство на телефоне

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

Пришло понимание, — что у нас тут всё‑таки не дешёвый хостел, а пятизвёздочный отель, и особому нашему дорогому гостю конечно же положены VIP‑апартаменты. Поэтому мы выделили ему аж целый этаж (Second Space):

Вы тоже любите море? - Мы тоже любим море, все любят море)
Вы тоже любите море? - Мы тоже любим море, все любят море)

И конечно же встроили в систему фаервола и дали нужные права для работы.

Немного гигиены

Одной из идей было настроить подключение телефона только к определённым wi‑fi сетям, чтобы не использовать общественные сети wi‑fi. Но проверив настройки телефона, пришёл к тому что в этом нет необходимости. Телефон и так будет подключаться только к тем wi‑fi сетям, которые запомнил.

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

Итоги

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

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

Предостережение для желающих повторить данный эксперимент:

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

  • важно выбрать подходящую для задачи модель телефона, иначе может не получиться

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


  1. Shaman_RSHU
    05.06.2026 12:24

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

    Сколько времени занял сбор трафика и тестирование одного приложения? Не секрет, что при использовании различной функциональности в приложении оно может обращаться к разным ресурсам. Не станет ли такая "блокировка в лоб" боком? Обжигался на таком, когда ограничивал SmartTV.


    1. Vadim_Klimov Автор
      05.06.2026 12:24

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


      1. Orexon
        05.06.2026 12:24

        https://github.com/TrackerControl/tracker-control-android тоже иногда выручает с контролем на реальном железе

        с показом IP или доменов


        1. Vadim_Klimov Автор
          05.06.2026 12:24

          Ну да, - если не хочется модингом телефона заниматься, почему бы и нет


    1. Vadim_Klimov Автор
      05.06.2026 12:24

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

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

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

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

      Если что-то не то заблокировал и нужный мне функционал не работает, - сравниваем дамп когда работало и не работало. “Блокировка в лоб” в данном случае обратима, если не работает - поняли чего не хватает и вернули это


  1. reniceisnotnice
    05.06.2026 12:24

    1. Приложения в тестовой среде ведут себя не так как на реальном физическом устройстве. Анализ трафика в такой среде не показатель. Попробуйте аналогичным образом любое приложение Яндекса проанализировать - удивитесь. Только реальное устройство с pcap/анализом трафика с сети.

    2. Что по safetynet? Без гуглосервисов, с разблокированным загрузчиком ни одно банковское приложение не будет работать. Да, есть web app, но в том же Сбере вы наличку через него не закажете, да и других многих функций нет. Если честно, то в таком девайсе если будет какой-то модуль magisk скомпрометирован, то вы даже это не поймёте и будете дальше использовать зараженное устройство.

    3. Что по удобству использования? Допустим есть мессенджер 1 (доверенный) и 2 (недоверенный). Каким образом между ними файлы передаются?

    4. То что приложение установлено в изолированной среде без контактов или без реальных контактов с нагенерированными файлами в ФС выглядит подозрительно, может в теории приводить к банам со стороны сервисов или бесконечной капче. По факту все можно свести к такому упрощению: для недоверенных приложений отдельное устройство (банки, доставки и прочие прелести беззаботной жизни), кнопочная звонилка для связи без анализа активностей, социальных графов и ТД и телефон на графене (если нужны расширенные мультимедийные возможности). P.s. в свое время заморачивался, а затем стал просто в свою пользу это все заворачивать - если примерно понимать как работает таргетинг, то можно неплохие персональные скидки выбивать


    1. reniceisnotnice
      05.06.2026 12:24

      P.s.s. Ещё есть вариант блокировать трекеры на уровне сети через adguard home/pihole


      1. Vadim_Klimov Автор
        05.06.2026 12:24

        Да, действительно, сейчас добавлял домен в Adguard, открыл журнал - а там целая куча записей о заблокированной аналитике. Очень интересно это поизучать


    1. Vadim_Klimov Автор
      05.06.2026 12:24

      Доброго времени суток,

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

      2. magisk позволяет скрывать рутирование, банковские приложения работают. Модули magisk - смотря откуда брать, если официальные, то вероятность проблем меньше

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

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


      1. reniceisnotnice
        05.06.2026 12:24

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


  1. alexwlpr
    05.06.2026 12:24

    Я себе такое реализовал связкой из 3х компонентов.

    v2RayNG в режиме прокси (открыт 1 порт на localhost)

    Adguard. В нём подключен прокси (от v2Ray) и сделано разграничение, кому ходить через прокси, кому нет.

    VPNHide Next. А вот тут нужен рут. Данный проект позволяет скрыть от избранных приложений тоннели, порты и т.д. Проверка RKNHardering и YourVPNDead не показала ничего такого, что должно было бы засветить мой сервер. Засунул в него все яндексы, озоны и гос. услуги.

    И дополнительный, для самоуспокоения. HMA OSS. Спрятал в нём все приложения для туннелирования и рута от тех же яндексов, озонов и т.д.

    Итого имею телефон в котором параллельно работает Сбербанк и Instagram.

    Ссылки

    VPN Hide Next: https://github.com/soranerai/vpnhide_next

    HMA OSS: https://github.com/frknkrc44/HMA-OSS

    Остальное всем известно.


    1. Vadim_Klimov Автор
      05.06.2026 12:24

      Благодарю за ссылки, надо почитать на досуге


  1. Solmik
    05.06.2026 12:24

    Хорошая статья.

    Я так глубоко в софт залезать не решаюсь, но фотокамеру блокирую физически.

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

    Так и фотокамера целее будет, не поцарапается.

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


    1. Vadim_Klimov Автор
      05.06.2026 12:24

      Да, с микрофоном и камерой мне тоже кажется было бы комфортнее с физическими выключателями. А то на собраниях/конференциях можно не заметить, что что-то из них включено


  1. VladislavShter
    05.06.2026 12:24

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


    1. Vadim_Klimov Автор
      05.06.2026 12:24

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


  1. Last26
    05.06.2026 12:24

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


    1. nehrung
      05.06.2026 12:24

      Этот рецепт годится не для всех аппаратов - например, для камерофонов использование Lineage и Graphen приведёт к отказу от использования штатных приложений "Камера" со всеми ихними вкусными фишками (а известный костыль в виде модов гуглокамеры не решает эту проблему на 100%, а лишь весьма и весьма частично).

      Но статья ценная и полезная. Мы ведь не знаем, сколько десятков лет придётся жить со всем этим... Десятки - оценка, конечно, пессимистичная, но надо помнить, что предыдущий подход к этому снаряду продержался более 70. Значит, покуда ещё можно собирать и складировать полезную инфу - надо это делать.


      1. Last26
        05.06.2026 12:24

        Я пробовал всё от postmarketos, ubuntu touch, linage ..selfish .. И до графена..В итоге пришёл к тому, что альтернатив графену просто нет..все ..абсолютно все альтернативные ОС это огромная гора компромиссов..там естественно никогда не будет всего того удобного на что тратят деньги производители смартфонов..большие деньги) так что любая альтернативная ОС это про безопасность..контроль над системой..но никак не про удобство и про тот пользовательский опыт к которому все в основном привыкли ) поначалу было трудно и неудобно..но потом когда привыкаешь то оказывается что бы фоткать показания водопроводных счетчиков достаточно просто какой то камеры) в конце концов это просто выбор) да можно внешники костылями на роутере ограничивать подозрительную активность через свой днс или фаервол..можно даже ставить фаервол и рутовать..но все это костыли..зачем бороться с последствиями если можно устранить причину )


    1. Vadim_Klimov Автор
      05.06.2026 12:24

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

      Графеном, Линиго и аналогичными системами я ни разу не пользовался, это пока только в планах)