Как остаться анонимным при использовании смартфона.

За последние несколько лет отношение к конфиденциальности личной жизни стало куда более серьезным.
Хранение личных данных на серверах стало нормой; мир наводнился мобильными гаджетами с GPS приемниками и GSM-модулями, способными рассказать практически все об их владельцах; Сноуден показал, насколько мы не защищены от слежки; правительства все больше вторгаются в личную жизнь граждан и контролируют каждое наше слово. Резонный вопрос: можно ли в таких условиях остаться анонимным?

КРАТКИЙ КУРС КОНСПИРОЛОГИИ

Когда дело касается обычного домашнего компа, вопрос анонимности решается просто. Свежая версия операционки с открытыми исходниками, open source браузер с отключенным JavaScript, Tor, смена MAC-адресов, DuckDuckGo вместо Google и Yandex, замена Dropbox на личный Rsync-сервер, отказ от любых сервисов, требующих подтверждения личности, — вот, собственно, и все, что требуется для сокрытия самого себя от глаз интернета.

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

  • Синхронизация данных с серверами производителя смартфона и/или операционной системы. Тот же Android по умолчанию сливает на серверы Google наши контакты, информацию о  местоположении, данные кредитной карты, намеченные события в календаре, фотографии, документы, созданные в Google Docs. Стоковые прошивки многих смартфонов остаются на связи с серверами производителя, а во многих случаях принуждают пользователя создать на их серверах аккаунт.
  • Открытые Wi-Fi-сети в Макдаках и прочих Сабвеях не предлагают никаких средств защиты трафика, так что он может быть легко перехвачен третьей стороной (да хоть самим админом).
  • Многие сторонние приложения не шифруют трафик и отправляют на удаленные серверы информацию о девайсе и его владельце, даже не спрашивая последнего.
  • Сети стандарта GSM не обеспечивают средств аутентификации абонентов, позволяя любому желающему перехватить трафик с помощью базовой станции, приобретенной за 1000 долларов. А если тобой заинтересовались серьезные организации, то метод триангуляции позволит узнать твое
    местоположение с точностью до ста метров.
  • Внутри любого смартфона работает встроенная миниатюрная RTOS с закрытыми исходниками, о возможностях которой знает только производитель мобильного чипа и спецслужбы. Нетрудно предположить, что такая ОС может выдать твое местоположение и отправить личную инфу кому надо.

В целом смартфон — это просто решето, через которое течет все и всегда. К счастью, многие из его дыр мы таки можем заварить.

СМАРТФОН ПОД УПРАВЛЕНИЕМ ANDROID И CYANOGENMOD

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

Когда эти требования будут выполнены, берем смартфон в руки, получаем root (как это сделать, мы писали много раз), регистрируемся в Google play, устанавливаем приложение ROM Installer и прошиваем с его помощью CyanogenMod. Обязательно отказываемся от установки Google Apps. Их придется принести в жертву богу конфиденциальности.

Еще одно преимущество CyanogenMod перед стоковой прошивкой — это SELinux, активированный по умолчанию. SELinux представляет собой систему принудительного контроля доступа к функциональности ядра ОС, которая работает ниже Android и не распространяется на стандартные пользовательские приложения. Это своего рода аналог Privacy Guard для различных низкоуровневых сервисов.
SELinux строго ограничивает возможности таких сервисов, не позволяя им совершить действия, для которыхони не предназначены. Другими словами, если вирус вызовет переполнение буфера в adbd, rild или любом другом нативном сервисе, чтобы повысить свои права в системе, SELinux пресечет такую попытку. Второй важный плюс SELinux — блокировка бэкдоров, которые могут быть вшиты в проприетарные библиотеки и сервисы, не имеющие открытых аналогов (практически любая сборка CyanogenMod включает в себя проприетарные компоненты от производителя смартфона или мобильного чипа).

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

1. Беспроводные сети — Еще — NFC — Отключить.
2. Безопасность — Блокировка экрана — PIN-код.
3. Безопасность — Неизвестные источники.

Ничего необычного, стандартные опции. Далее нам следует обезопасить себя от утечек данных из предустановленных приложений и софта, который будет установлен позже. В CyanogenMod для этого есть механизм Privacy Guard, который занимается обфускацией личных данных пользователя, подсовывая вместо них рандомные данные: случайно сгенерированное имя юзера вместо реального, случайные координаты и прочее. Чтобы его активировать, идем в «Настройки — Конфиденциальность — Защищенный режим» и включаем опцию «Защищенный режим по умолчанию». Теперь он будет активироваться для всех устанавливаемых приложений.

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

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

$ su
vdc cryptfs enablecrypto inplace ПАРОЛЬ

 [ad name=»Responbl»]

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

F-DROID, TOR И БРАНДМАУЭР

Следующий шаг — установка F-Droid, Tor и настройка брандмауэра. Первый нам нужен по причине отсутствия Google play, а также любой его замены, которой мы могли бы доверять. В отличие от них, F-Droid содержит только открытый софт, что фактически дает гарантию безопасности софта. Приложений в репозитории F-Droid немногим больше 1100, но среди них есть практически все, что нужно, включая браузеры, твиттер-клиенты, рабочие столы, виджеты погоды и даже Telegram.

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

Почему не использовать ROOT-режим ORBOT

Orbot поддерживает работу в режиме root, что позволяет ему прозрачно проксировать через себя любые Android приложения. Может показаться, что такой вариант будет предпочтительнее, чем связка DroidWall и скриптов, но это не так. Во-первых, работая в режиме root, Orbot будет конфликтовать с DroidWall, а последний нам необходим для возможности ограничения приложений в доступе к Сети. Во-вторых, Orbot имеет свойство сбрасывать настройки прозрачного проксирования при переключении между сетями (Wi-Fi — Wi-Fi или Wi-Fi — 3G), из-за чего может произойтиутечка данных. Брандмауэр Linux (который используется в скрипте) такой проблемы не имеет. Ну и последнее: можно не беспокоиться, что Orbot упадет или будет скомпрометирован.

Сначала устанавливаем F-Droid. Для этого достаточно открыть сайт f-droid.org со смартфона и  скачать последнюю версию клиента. Запускаем его, находим приложение Orbot и устанавливаем. Далее переходим на страницу DroidWall (goo.gl/dCXXev) со смартфона, скачиваем APK-пакет и устанавливаем. Теперь нам нужно создать набор правил iptables для DroidWall (по умолчанию он умеет только включать/отключать доступ приложений к Сети). Можно было бы сделать это вручную, но ребята из проекта Tor уже все сделали за нас. Достаточно только скачать ZIP-архив (goo.gl/2JK9MQ), распаковать, подключить смартфон с помощью USB-кабеля и запустить инсталляционный скрипт:

$ ./install-fi rewall.sh

Работает скрипт только в Linux и требует, чтобы был установлен Android SDK, а на смартфоне активирован режим отладки («Настройки — О телефоне — Семь тапов по пункту «Номер сборки»,
далее «Настройки — Для разработчиков — Отладка по USB»). Делает скрипт следующее:

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

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

3.  Блокирует все подключения извне.

4. Устанавливает три скрипта, открывающих доступ к Сети в обход Tor для стандартного браузера, ADB и LinPhone. Первый может понадобиться, если есть необходимость войти в captive portal в открытых Wi-Fi-сетях, второй — для  возможности удаленной отладки, третий нужен приложению LinPhone, реализующему SIP-клиент с зашифрованным каналом связи.

Когда скрипты будут установлены, запускаем DroidWall, переходим в «Меню — Еще — Установить сценарий» и вводим в первом открывшемся поле строку «. /data/local/firewall-torify-all.sh», нажимаем кнопку «ОК». Возвращаемся на главный экран и отмечаем галочками приложения, которые должны получить доступ к Сети (Orbot можно не отмечать, он и так получит доступ благодаря скрипту). Вновь открываем меню и выбираем пункт «Брандмауэр отключен», чтобы активировать файрвол. Затем запускаем Orbot и следуем инструкциям, но ни в коем случае не включаем поддержку root; чтобы прописанные в скрипте правила работали правильно, Orbot должен работать в пространстве пользователя в режиме прокси. В конце нажимаем на кнопку в центре экрана, чтобы включить Tor. В статусной строке появится иконка Tor, а это значит, что теперь все данные пойдут через него.

ЧТО МЫ НЕ УЧЛИ

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

На смартфоне нет ни одного приложения Google или скрытого в прошивке бэкдора, который смог бы отправить конфиденциальные данные на удаленные серверы. Если такое приложение и будет установлено в систему, оно попадет под действие системы Privacy Guard, которая исключит любые утечки даже в том случае, когда в стандартной ситуации они бы имели место. Если каким-то образом в системе заведется малварь, она будет ограничена сразу по трем фронтам: SELinux отрежет возможность скрытого получения root, Privacy Guard не позволит слить конфиденциальные данные, DroidWall не позволит получить доступ к Сети до тех пор, пока ты сам этого не захочешь.

[ad name=»Responbl»]

Остается открытым только один вопрос:
как быть с бэкдорами в проприетарных компонентах и GSM-сетями. К сожалению, полностью защититься от этой угрозы пока нельзя: даже несмотря на наличие SELinux, бэкдор, зашитый в firmware, вполне может добыть доступ к данным в обход Android, получая команды от злоумышленника/ФСБ посредством GSM-команд. Впрочем, трафик, проходящий по сотовым сетям, таки будет защищен.

ВМЕСТО ЗАКЛЮЧЕНИЯ

Был такой фильм, «Джонни-мнемоник», рассказывающий о людях с имплантатами, которые могли переносить важные данные. За ними охотились не то что спецслужбы, а просто все, каждый хотел тот кусочек информации, который хранился в имплантате мнемоника. Их убивали, рвали на части и разрезали лесками только для того, чтобы добыть секретные данные. Сказка. Абсурд. Но почему-то такой знакомый. В общем, береги себя и свои личные данные. Сегодня это становится все сложнее.

Полезные ссылки:
Сборка Chromium для Android: goo.gl/HBsBam
Guardian Project — приложения анонимизации Android: guardianproject.info
Blackphone — первый смартфон для анонимов: www.blackphone.ch
Исчерпывающее руководство по анонимизации смартфона от разработчиков Tor: goo.gl/9XQy5n

Click to rate this post!
[Total: 30 Average: 3.7]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

1 год ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

1 год ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

1 год ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

1 год ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

1 год ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

1 год ago