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

Частичная открытость Android немного улучшает ситуацию, но полноценного решения проблемы утечки приватных данных пока не существует. Основная проблема в том, что пока на устройстве используются блобы нет никаких гарантий, что в них нет закладок (вроде обнаруженных в прошивках Samsung Galaxy). Аналогичная проблема с проприетарными приложениями без открытых исходников (вроде всего пакета GApps, начиная с самого Google Play Маркет). По сути всё как раз наоборот — крайне высока вероятность, что закладки там есть. Нередко их даже не пытаются скрывать, выдавая за удобные «фичи» для синхронизации и/или бэкапа ваших данных, обеспечивания вас полезной рекламой, и «защиту» от вредоносного софта или на случай утери устройства. Один из самых надёжных способов защиты своих данных описан в статье Mission Impossible: Hardening Android for Security and Privacy, но там речь не о телефоне, а о планшете, причём с поддержкой только WiFi (мобильных чипов без блобов по-моему вообще пока ещё нет, для мобильного инета вместе с этим планшетом предлагается использовать отдельный 3G-модем, блобы в котором никому не навредят т.к. на этом модеме личных данных просто нет), и, на всякий случай, физически отрезанным микрофоном. Но, несмотря на невозможность полноценно защитить личные данные на телефоне, я считаю что стоит сделать максимум возможного: прикрыть столько каналов утечек, сколько получится — ведь мало кто может позволить себе не использовать мобильный телефон или не держать на нём личные данные (хотя бы контакты и историю звонков).

Сразу уточню, что об анонимности речь вообще идти не будет. Это отдельная большая и сложная тема, которая, в частности, потребует использования Tor, полного отказа от GSM и перевода всей телефонии на шифрованный VoIP, etc. На эту тему стоит почитать предыдущую ссылку и воспользоваться приложениями от The Guardian Project. Но делать всё это может иметь смысл только при условии, что ваши данные не утекут прямо с телефона, т.е. после решения описанных в этой статье задач. Описанные ниже приёмы защиты от идентификации/отслеживания не дают анонимности, они просто прикрывают некоторые дополнительные каналы утечки личных данных (к которым относится и то, где и когда вы бываете).

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


Ингредиенты


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

  • OS и ключевые приложения (работающие с вашими личными данными) должны  быть open source, иначе ни о каком доверии к ним речи быть не может в  принципе.
  • У вас должен быть root-доступ (как говорится, если вы не root на своём  компьютере — значит на нём root кто-то другой… да и некоторые из  описанных ниже приложений требуют root-доступ).
  • OS и приложения необходимо регулярно обновлять, чтобы уменьшить шанс что  их взломают.
  • Вместо «синхронизации» личных данных нужно использовать обычные бэкапы,  причём обязательно надёжно зашифрованные.
  • Доступ всех приложений к личным данным должен быть ограничен реально  необходимым минимумом, доступ к камере/микрофону так же должен  контролироваться.
  • Доступ всех приложений в интернет должен быть ограничен реально  необходимым минимумом.
  • Передача данных «по воздуху» должна осуществляться безопасным образом:
    • всё, что передаётся «по воздуху» должно быть зашифровано (вам  потребуется доступ к VPN);
    • подключение к Wi-Fi требует дополнительных предосторожностей, чтобы  гарантировать что мы подключаемся к нужной точке доступа;
    • работа с Wi-Fi требует дополнительной защиты от утечки данных,  позволяющих вас отслеживать.
  • Защита данных на телефоне на случай потери/кражи.

Требование к открытости исходников OS сразу исключают iOS и Windows Phone, да и из вариантов на базе Android подойдут далеко не все. Я буду использовать CyanogenMod, но это не единственный вариант (если ваш телефон поддерживается Replicant то он может быть предпочтительнее, плюс есть ещё Firefox OS, Ubuntu Touch, Tizen).

Что касается использования самых последних версий OS — к сожалению, мне пришлось поставить CyanogenMod 11 на базе Android 4.4.4 (KitKat). Причин две: во-первых CyanogenMod на Android 5.x для моего телефона просто ещё нет, и во-вторых ещё нет стабильной версии Xposed framework для Android 5.x.

Для надёжного шифрования бэкапов понадобится платная версия Titanium Backup.

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

GApps


Что касается GApps. В идеале, конечно, лучше бы его вообще не устанавливать — если вам хватает приложений из F-Droid. Можно попробовать обойтись NOGAPPS a.k.a. µg Project, но на практике полноценной замены Google Play Маркет просто нет (а доступ к нему через NOGAPPS может в любой момент привести к бану и потере купленных приложений т.к. нарушает правила гугла). В этом случае стоит установить минималистский вариант GApps, и при необходимости остальные приложения GApps установить через Play Маркет (если вы переживаете, что в этом случае они будут занимать дополнительное место, то во-первых это всё-равно случится при первом же их обновлении, а во-вторых есть утилиты — включая Titanium Backup — которые умеют переносить приложения в /system, решая эту проблему).

Вообще надо отметить, что разработчики выкладывавшие урезанные сборки GApps как-то все повально начали отказываться от дальнейшей поддержки этих сборок, у всех резко образовались семейные дела, причём они зачем-то через некоторое время после отказа от поддержки ещё и удалили с файловых хостингов выложенные ими ранее сборки и ветки на форумах в которых эти сборки обсуждались. Тем не менее, пару вариантов найти ещё возможно: минималистская сборка от jajb (я бы из неё ещё убрал GoogleContactsSyncAdapter.apkGoogleBackupTransport.apk и GoogleFeedback.apk, но не уверен что без них ничего не сломается) и невероятно гибкий и настраиваемый, но уже не поддерживаемый PA Gapps от TKruzze.

Как вариант ещё можно просто удалить «лишние» приложения из уже установленного GApps, для определения списка лишних файлов проще всего сравнить минимальный и максимальный варианты вышеупомянутого PA Gapps.

Замена прошивки и аккаунты


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

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

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

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

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

Разделы


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

  • /system
    • содержит основную систему/прошивку (напр. CyanogenMod) плюс  опционально дополнительные пакеты (вроде GApps) прошитые через  recovery после основной прошивки
    • по умолчанию доступен только на чтение, не изменяется в процессе  работы — т.е. его содержимое всегда соответствует установленной  прошивке
    • имея root-доступ его можно изменять
  • /data
    • содержит приложения установленные пользователем и данные всех  приложений (в т.ч. системных приложений из /system)
    • именно этот раздел шифруется если активировать шифрование системы
    • если в телефоне есть «встроенная» SD card, то она может быть  реализована не как отдельный раздел, а как каталог /data/media или  /data/media/0 (в этом случае wipe или factory reset раздела /data  из recovery это не полноценное форматирование раздела, а просто  удаление всех файлов кроме /data/media)
  • SD card
    • содержит файлы пользователя (закачки, музыка, видео, etc.)
    • содержит часть данных приложений, которые либо не помещаются в  /data, либо должны быть доступны всем приложениям (раздел /data  отформатирован в ext4, полноценно поддерживает права файлов, поэтому  обычно к файлам в /data имеют доступ только их собственные  приложения, а SD card либо отформатирован в FAT либо на нём через fuse  эмулируется почти полное отсутствие ограничений прав доступа)
    • их может быть несколько, как встроенных так и внешних, доступных через  разные каталоги (дальше в примерах я буду использовать каталог  /sdcard), и находящихся физически на отдельных разделах или внутри  /data

Backup


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

Некоторые из описанных операций можно сделать только если у вас есть root или нормальный recovery (обычно ClockworkMod или TWRP). Если их ещё нет - возможно, сейчас самое время ими обзавестись.

IMEI


Судя по всему, в некоторых случаях при перепрошивке есть небольшая вероятность что будет повреждён другой раздел. Один из этих разделов используется для хранения, в частности, IMEI телефона. Потеряв, его будет довольно сложно восстановить, поэтому крайне рекомендуется перед первой прошивкой сохранить (куда-то вне телефона) раздел с IMEI. Для некоторых телефонов это специфичная процедура с использованием утилит производителя, для других достаточно сохранить утилитой dd нужные разделы в файлы (впрочем, скорее всего и в остальных случаях можно воспользоваться dd вместо утилит производителя).

Если не уверены — проще всего сохранить все разделы кроме /system/data и /cache. Обычно они все достаточно небольшого размера. Посмотреть список и размеры доступных разделов можно в /proc/partitions или через parted, пример (подключаемся через adb как root, не важно загружена обычная система или recovery):

# cat /proc/partitions
major  minor   #blocks  name

179        0   15388672 mmcblk0
179        1       4096 mmcblk0p1
179        2       4096 mmcblk0p2
179        3      20480 mmcblk0p3
179        4       4096 mmcblk0p4
179        5       4096 mmcblk0p5
179        6       4096 mmcblk0p6
179        7       8192 mmcblk0p7
179        8       8192 mmcblk0p8
179        9       8192 mmcblk0p9
179       10      90112 mmcblk0p10
179       11     262144 mmcblk0p11
179       12    1048576 mmcblk0p12
179       13    1572864 mmcblk0p13
179       14     573440 mmcblk0p14
179       15       8192 mmcblk0p15
259        0   11759616 mmcblk0p16

# parted /dev/block/mmcblk0
(parted) p

Model: MMC MAG2GC (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start   End     Size    File system  Name
1      4194kB  8389kB  4194kB               BOTA0
2      8389kB  12.6MB  4194kB               BOTA1
3      12.6MB  33.6MB  21.0MB  ext4         EFS
4      33.6MB  37.7MB  4194kB               m9kefs1
5      37.7MB  41.9MB  4194kB               m9kefs2
6      41.9MB  46.1MB  4194kB               m9kefs3
7      46.1MB  54.5MB  8389kB               PARAM
8      54.5MB  62.9MB  8389kB               BOOT
9      62.9MB  71.3MB  8389kB               RECOVERY
10     71.3MB   164MB  92.3MB  fat16        RADIO
11      164MB   432MB   268MB  ext4         TOMBSTONES
12      432MB  1506MB  1074MB  ext4         CACHE
13     1506MB  3116MB  1611MB  ext4         SYSTEM
14     3116MB  3704MB   587MB  ext4         HIDDEN
15     3704MB  3712MB  8389kB               OTA
16     3712MB  15.8GB  12.0GB  ext4         USERDATA

Например, для Nexus 4 достаточно сохранить /dev/block/mmcblk0p{8,9}:

# dd if=/dev/block/mmcblk0p8 of=/sdcard/mmcblk0p8.img
# dd if=/dev/block/mmcblk0p9 of=/sdcard/mmcblk0p9.img

Типы бэкапов


  • Android Backup: файлы .ab (по сути немного модифицированный  tar-архив), зашифрованные если это задано в настройках телефона, обычно  делаются через adb backup.
    • Единственное достоинство — эти бэкапы можно делать без root.
  • Nandroid Backup: файлы .img и .tar*, обычные полные образы разделов  или tar-архивы (по сути тоже полные образы, только компактнее), не  зашифрованные, обычно делаются через recovery.
    • Теоретически TWRP умеет делать шифрованный Nandroid Backup, но  во-первых только для /data, и во-вторых у меня эта фича не  заработала.
  • Titanium Backup: свой формат, поддержка шифрования в платной версии,  сохраняет приложения, их данные и общесистемные настройки.

ВНИМАНИЕ: Поскольку Nandroid Backup не зашифрованы и сохраняются на доступную всем приложениям SD card, то я рекомендую после создания сразу (не перегружаясь из recovery в основную систему) переносить их с телефона на компьютер через adb pull, а на телефоне удалять. Если их понадобится восстановить, то сначала загрузить recovery, а потом залить их обратно через adb push и удалить после восстановления бэкапа.

Что и как бэкапить


Как вы видели выше, разделов в системе очень много. Но большинство из них либо никогда не меняются, либо меняются только при прошивке новой системы или recovery, так что бэкапить их смысла нет.

Возможное исключение — раздел /system. Обычно он меняется только при обновлении прошивки, но имея root вы можете его изменять (делать приложения «системными» через Titanium Backup чтобы сэкономить место на /data, устанавливать новые системные приложения вроде BusyBox, модифицировать загрузочные скрипты, etc.) — в этом случае его тоже может иметь смысл бэкапить.

Таким образом, бэкапить обычно нужно только раздел /data и внутренние/внешние SD card.

Поскольку бэкап нужно куда-то сохранять, и обычно это SD card, то содержимое самой(их) SD card в бэкапы как правило не входит. Titanium Backup умеет частично включать в бэкапы данные приложений находящиеся на SD card, но только файлы из /sdcard/Android/data/*/ (если приложение хранит свои файлы в других каталогах то в бэкап они не попадут).

Итак, ваши данные, которые может потребоваться бэкапить, это:

  • описанные выше возможные изменения /system
    • включаются в Nandroid Backup /system
    • если это несколько известных файлов, то их можно скопировать вручную  через adb pull
  • установленные вами дополнительные приложения
    • .apk-файлы, находятся в /data
    • бэкапить не обязательно, их обычно можно повторно скачать
    • может иметь смысл бэкапить чтобы можно было их установить не выкачивая  заново, либо если нужно иметь возможность установить старую версию  приложения из Play Маркет
    • включаются в Android Backup через adb backup -apk -all -nosystem
    • включаются в Nandroid Backup /data
    • включаются в бэкапы Titanium Backup (опционально)
  • данные практически всех приложений
    • находятся в /data, иногда частично на SD card
    • это самое важное, что стоит бэкапить
    • включаются в Android Backup через adb backup -all (кроме тех данных,  которые на SD card)
    • включаются в Nandroid Backup /data (кроме тех данных, которые на SD  card)
    • включаются в бэкапы Titanium Backup (опционально, данные на SD card  при некоторых условиях тоже включаются)
  • данные некоторых особых приложений
    • XPrivacy держит свои данные в /system, поэтому для бэкапа приходится  «экспортировать» их на SD card (это  можно автоматизировать)
    • Контакты желательно периодически экспортировать на SD card, т.к. это  единственный способ сохранить их в портабельном формате .vcf,  который можно загрузить куда угодно (включая приложение Контакты  другой прошивки)
  • ваши файлы и данные приложений сохранённые вне стандартных мест
    • находятся на SD card
    • можно просто скопировать их вручную любым способом (например через  adb pull /sdcard sdcard)

ВНИМАНИЕ: После экспорта контактов любое приложение может получить к ним доступ, поэтому желательно сразу их перенести с SD card на компьютер. Чтобы никакое приложение не успело украсть контакты сразу после экспорта настоящий параноик может попробовать следующий подход:

  1. экспортировать текущие настройки XPrivacy
  2. через XPrivacy заблокировать всем приложениям доступ к SD card
  3. перезагрузить телефон
  4. экспортировать Контакты (разрешив только им доступ к SD card)
  5. перенести .vcf-файл с контактами с SD card на компьютер
  6. импортировать предыдущие настройки XPrivacy
  7. перезагрузить телефон

Резюмируя


  • Если телефон ещё не рутован, прошивка и recovery родные, и через  recovery бэкап сделать нельзя, то придётся использовать:
    1. adb backup -apk -all -shared
  • Перед сменой прошивки или опасными экспериментами, чтобы иметь  возможность вернуть телефон в текущее состояние:
    1. сделать Nandroid Backup всех разделов из recovery
    2. если есть вероятность повредить данные на SD card, то дополнительно  сделать adb pull /sdcard sdcard
  • После ручного изменения отдельных файлов в /system:
    1. скопировать изменённые файлы на SD card или через adb pull
  • Регулярно и автоматически:
    1. делать и заливать в облако зашифрованные бэкапы всех приложений и их  данных через Titanium Backup, настроив в нём расписания заданий (это  позволит при необходимости восстанавливать отдельные приложения и/или  их данные, причём можно хранить несколько последних бэкапов каждого  приложения)
    2. если нужно регулярно бэкапить какие-то файлы с SD card — настроить это  отдельно через какие-нибудь приложения
      • в частности, это имеет смысл для настроек XPrivacy (которые перед  этим необходимо экспортировать, например через Tasker)
  • Периодически вручную:
    1. экспортировать на SD card:
      • настройки XPrivacy
      • Контакты
    2. бэкапить полностью SD card через adb pull /sdcard sdcard

Upgrade


Регулярное обновление OS и приложений тоже имеет свои особенности.

  • Обновления для OS:
    • проверяются автоматически
    • устанавливать нужно вручную
    • при необходимости не сложно откатиться на предыдущую версию
    • перед установкой новой версии необходимо предпринять дополнительные  действия, описанные ниже
  • Обновления для приложений установленных из F-Droid:
    • проверяются автоматически
    • устанавливать нужно вручную
    • при необходимости не сложно откатиться на предыдущую версию
  • Обновления для приложений установленных из Play Маркет:
    • Play Маркет предпочитает не только проверять обновления автоматически,  но и (если не отключить) автоматически обновлять приложения. Для  среднего пользователя это скорее плюс, но если вы всерьёз планируете  применить описанное в этой статье — вам скорее всего захочется  автоматические обновления отключить и контролировать что и когда  обновлять вручную.
    • Себя самого Play Маркет обновляет автоматически в любом случае.
    • Поскольку через Play Маркет гугл может в любом момент по своему  желанию незаметно установить или удалить у вас любое приложение, что  является серьёзнейшей проблемой в плане безопасности, рекомендуется  блокировать для Play Маркет доступ к интернету в то время, когда вы им  не пользуетесь.
    • проверяются вручную (из-за заблокированного доступа к интернету)
    • устанавливать можно автоматически или вручную
    • при необходимости откатиться можно только используя бэкапы старой  версии сделанные Titanium Backup (если настроено автоматическое  обновление, то для этого приложения его нужно будет отключить),  поскольку Play Маркет не даёт выбрать какую версию приложения  устанавливать
  • Обновления для приложений, установленных из других источников:
    • проверяются вручную (уникальным для каждого приложения способом)
    • устанавливать надо вручную
    • Обновления для Xposed framework и его модулей (включая XPrivacy) можно  проверять и устанавливать через сам Xposed.
      • при обновлении необходимо предпринять дополнительные действия,  описанные ниже

OTA-обновления OS


При обновлении OS необходимо учитывать следующее:

  • Если раздел /system был модифицирован (а в нашем случае это будет  именно так), то необходимо побеспокоиться о том, чтобы эти изменения  сохранились перед прошивкой новой версии OS в /system и автоматически  восстановились после этого, до первой загрузки новой версии OS.
    • Для этого необходимо заранее создать соответствующие скрипты в  /system/addon.d (они будут автоматически запущены до и после  прошивки).
    • Если этого не сделать, то после обновления OS, в частности, перестанет  работать XPrivacy, и все приложения получат доступ к вашим контактам и  прочим личным данным.
  • В данный момент существуют уязвимости  Android, которые дают возможность обычным приложениям не  санкционировано повысить свои привилегии в процессе обновления OS.
    • Чтобы от этого защититься необходимо установить и перед каждым  обновлением OS проверять установленные приложения через  Secure  Update Scanner.
  • Поскольку XPrivacy накладывает ограничения на приложения по их UID, а  UID системных приложений может измениться при обновлении OS, то  рекомендуется включать «режим  полёта», экспортировать и сбрасывать настройки XPrivacy, обновлять  прошивку, после чего импортировать настройки XPrivacy (при импорте  приложения определяются по имени, а не UID) и выключать «режим полёта».
    • Этот вариант не идеален, т.к. «режим полёта» помешает приложениям  немедленно отправить по сети ваши личные данные, но не помешает их  получить (между сбросом и импортом настроек XPrivacy), сохранить в  файлы и отправить по сети позднее.
    • С другой стороны, если этого не сделать, то есть небольшая вероятность  что система не сможет корректно загрузиться из-за того, что XPrivacy  будет накладывать не те ограничения на системные приложения.

Обновление Xposed framework и его модулей (включая XPrivacy)


  • Обновление Xposed framework:
    1. установить новую версию поверх старой
    2. Фреймворк > Установить/Обновить
    3. перезагрузить телефон
  • Обновление модулей Xposed:
    1. установить новую версию поверх старой
      • если модуль обновлялся не через интерфейс Xposed а как обычное  приложение — дождаться пока Xposed обнаружит новую версию
    2. попробовать один раз запустить модуль (это нужно не всем модулям)
    3. перезагрузить телефон
    4. если обновлялся XPrivacy, то подождать пока XPrivacy update service  завершит работу (покажет 100%)

Защита данных на телефоне на случай потери/кражи


Чтобы посторонний человек, получивший физический доступ к телефону, не добрался до ваших личных данных, необходимо:

  • включить шифрование /data
    • желательно использовать для этого сложный пароль (по умолчанию этот же  пароль будет использоваться на экране блокировки, что как правило  слишком неудобно, но это легко решить и для экрана блокировки  использовать другой пароль/пин)
  • использовать пароль или достаточно сложный пин-код на экране блокировки
    • чтобы его не приходилось постоянно вводить дома можно использовать  Tasker для его автоматического отключения когда вы дома и включения  когда вы выходите из дома
  • отключать ADB (и права root для ADB) когда он не используется
    • это не так актуально начиная с Android 4.3

К сожалению, пока что ни ClockworkMod ни TWRP не поддерживают защиту паролем. А без этого человек временно получивший доступ к вашему телефону может перегрузиться в recovery, установить дополнительный пакет с трояном в /system, после чего вернуть телефон вам. Как только вы загрузите OS и введёте пароль шифрования к /data этот троян сможет запуститься с правами root и получить полный доступ ко всем вашим личным данным. Если бы recovery поддерживали защиту паролем, то для того, чтобы это проделать, пришлось бы прошить recovery заново, что привело бы к сбросу пароля, и дало бы возможность отследить факт вмешательства как только вам вернут телефон.

Анти-вор


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

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

Что касается возможности определить местоположение телефона — для этого на нём должен быть интернет, а т.к. вор не имеет доступа к OS телефона, то он не сможет настроить подключение к своему домашнему Wi-Fi и вряд ли он поставит в «бесполезный телефон» свою сим-карту. А вероятность того, что он не выкинет сразу же вашу сим-карту или пронесёт включенный телефон мимо уже известной телефону точки доступа Wi-Fi… на мой взгляд не настолько велика, чтобы в расчёте на это непрерывно сливать данные о своём местоположении компании разработавшей это приложение.

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

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

Настройка XPrivacy


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

Я могу дать только рекомендации общего плана:

  • По моим наблюдениям, использовать сервис краудсорсинга для  автоматического получения настроек XPrivacy для приложений — не лучшая  идея. Настройка XPrivacy сложна, поэтому большинство пользователей с ней  не очень хорошо справляются, но с удовольствием отправляют свои  настройки в этот сервис. Выкачивая усреднённые чужие настройки вы  заблокируете примерно 10-20% того, что можно (и нужно) заблокировать.
  • Всё, что умеет блокировать/подделывать XPrivacy — имеет непосредственное  отношение к вашим личным данным. Поэтому блокировать стоит, по  возможности, практически всё.
  • Стоит сразу включить режим «эксперта» и разрешить блокирование системных  приложений.
  • Подготовьте максимально ограничивающий шаблон «по умолчанию» — включите  блокирование и запрос ограничений практически для всех категорий и  операций (включая небезопасные), за исключением:
    • Датчики — можно разрешить небезопасные операции (нужно практически  всем приложениям).
    • Идентификация устройства — блокировать всё, но стоит отключить запрос  ограничений для тех пунктов, которые вы в любом случае не собираетесь  разрешать.
    • Интернет — стоит разрешить все небезопасные операции кроме inet_*  (нужно практически всем приложениям, и кроме того доступ в интернет  будет контролироваться файрволом).
    • Система (установленные приложения) — можно полностью разрешить (нужно  практически всем приложениям).
    • Учётные записи (Google, Facebook, …) — можно полностью разрешить (если  вы заведёте для телефона «его личные» отдельные аккаунты специально  для использования приложениями, то нет смысла ограничивать приложения  в доступе к этих аккаунтам).
    • Хранилище (медиа, карта памяти) — стоит полностью разрешить все  open* (нужно практически всем приложениям), а доступ к sdcard  блокировать только если вы собираетесь контролировать к каким файлам  обращаются приложения и составлять для них белые списки разрешённых  файлов/каталогов.
  • Примените шаблон «по умолчанию» ко всем уже установленным приложениям  (включая системные, особенно GApps!), а потом пройдитесь по ним и  отключите часть ограничений исходя из задач приложения.
    • Для Камеры/Диктофона/etc. имеет смысл оставить запрос ограничений для  *.permission в Медиа, чтобы каждый раз когда эти приложения будут  пытаться получить доступ к камере или микрофону вы получали об этом  уведомление.
    • Приложение «Графический интерфейс системы, Экран блокировки»  используется для управления всеми возможностями телефона, включая  обычно заблокированные операции вроде NFC или Record.Audio (нужен для  управления громкостью), плюс его интерфейс нередко закрывает доступ к  диалогу запроса ограничений XPrivacy, так что большую часть  ограничений придётся отключить.
    • Приложение «Внешний накопитель» используется для диалога выбора файла  многими системными приложениями.
  • Если какое-то приложение не работает — посмотрите отчёт «Использование»  в XPrivacy чтобы увидеть что он кому недавно блокировал.
  • Не забывайте, что изменения ограничений вступают в силу через 15 сек.
    • После изменения прав на Интернет или Хранилище нужно убить и  перезапустить приложение.
  • Перед ограничением системных приложений лучше сделать бэкап из recovery.

В CyanogenMod есть свой аналог XPrivacy (Настройки > Конфиденциальность > Защищённый режим), но он позволяет контролировать слишком незначительную часть того, что можно заблокировать через XPrivacy. Одновременное использование Защищённого режима и XPrivacy не рекомендуется.

Установка и настройка защищённой системы


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

  • Экспортируйте список контактов в .vcf. Если есть другие приложения,  которыми вы активно пользуетесь, и у которых есть встроенная возможность  экспорта/бэкапа данных — не пренебрегайте ей тоже.
  • Если телефон не рутованный и нет нормального recovery — сделайте бэкап  через adb, потом получите root и установите Titanium Backup с нормальным  recovery.
  • Сделайте бэкапы всех приложений через Titanium Backup (большинство из  них можно будет восстановить на новой прошивке) и бэкапы всех разделов  через recovery (чтобы можно было вернуть текущую систему если что-то  пойдёт не так).
  • Дополнительно может иметь смысл сделать скриншоты того, что скорее всего  просто «восстановить из бэкапа» на новой прошивке не получится.  Например, расширенные настройки Контактов которые в .vcf не  экспортируются (группы) и содержимое рабочих столов.
  • Опционально можете скопировать SD card на компьютер, на всякий случай.

Установите CyanogenMod. Если хотите, можете сразу прошить и GApps, но я рекомендую сделать это немного позднее.

При первой загрузке:

  • пропустите подключение Wi-Fi
  • откажитесь от создания аккаунта CyanogenMod (и Google, если вы уже  прошили GApps)
  • отключите определение местоположения
  • включите «режим полёта»

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


  • проверьте, и при необходимости повторно отключите Wi-Fi, мобильный  интернет и определение местоположения
  • активируйте ADB:
    • Настройки > О телефоне > 7 тапов по Номер сборки
    • Настройки > Для разработчиков > [?] Отладка по сети & USB
    • Настройки > Для разработчиков > Режим суперпользователя > Для  приложений и ADB
  • если у вас раздел /data не был зашифрован или вы его переформатировали  в процессе прошивки CyanogenMod — зашифруйте его (если это делать так, а  не через интерфейс, то можно задать пароль шифрования отличающийся от  пароля/пин-кода экрана блокировки):
    1. adb root
    2. adb shell vdc cryptfs enablecrypto inplace <пароль>
    3. подождите пока система зашифрует /data и снова загрузится
  • Настройки > Безопасность > [?] Неизвестные источники
  • Скачайте на компьютер и установите через adb install (чтобы пока не  установлены XPrivacy и AFWall+ не включать на телефоне интернет)  Xposed  framework.
    1. Фреймворк > Установить/Обновить
    2. перезагрузите телефон
    3. скачайте скрипт  90-xposed.sh,  который будет сохранять Xposed framework при OTA-обновлениях  CyanogenMod, и установите его:
      1. adb root
      2. adb shell mount -o remount,rw /system
      3. adb push 90-xposed.sh /system/addon.d/
      4. adb shell chmod 0755 /system/addon.d/90-xposed.sh
      5. adb shell mount -o remount,ro /system
  • Скачайте на компьютер и установите через adb install  XPrivacy.
    1. установите его лицензию залив /sdcard/XPrivacy_license.txt
      • если это делается при активном XPrivacy — перезагрузите телефон
    2. активируйте модуль XPrivacy в Xposed framework
    3. запустите один раз XPrivacy
    4. перезагрузите телефон
    5. Меню > Параметры > [?] Режим эксперта
    6. Меню > Параметры > Режим эксперта > [?] Запрет системных компонентов
    7. Меню > Параметры > Режим эксперта > [?] Режим AOSP
    8. перезагрузите телефон
    9. настройте XPrivacy максимально ограничив доступ всем приложениям  включая системные (рекомендации по настройке описаны выше)
  • В зависимости от используемой вами прошивки может потребоваться  установить BusyBox (в  CyanogenMod 11 он уже есть).
  • Скачайте на компьютер и установите через adb install  AFWall+.
    1. Меню > Настройки > [?] Активные правила
    2. Меню > Настройки > [?] Управление VPN
    3. Меню > Настройки > [?] Поддержка IPv6 (пользоваться им не  обязательно, но файрволить нужно, иначе приложения которым закрыт  доступ файрволом через IPv4 без проблем выйдут в интернет через IPv6)
    4. Меню > Настройки > [?] Администратор устройства
    5. Меню > Настройки > Экспериментальные: [?] Исправить утечку данных  при запуске. Это установит скрипт /system/etc/init.d/afwallstart  блокирующий доступ в интернет пока OS загружается и AFWall+ ещё не  запустился.
    6. Меню > Включить брандмауэр
      • режим Белый список (разрешить выбранные), а поскольку выбранных пока  нет — всем приложениями доступ пока что закрыт
  • Нам нужно позаботится, чтобы /system/etc/init.d/afwallstart не был  удалён при OTA-обновлении OS. Для этого создадим свой скрипт  /system/addon.d/99-local.sh, в который будем добавлять имена файлов на  разделе /system, которые нужно сохранить при OTA-обновлении:
    1. adb root
    2. adb shell mount -o remount,rw /system
    3. adb shell cp /system/addon.d/50-cm.sh /system/addon.d/99-local.sh
    4. отредактируйте /system/addon.d/99-local.sh, заменив в функции  list_files() файл etc/hosts на etc/init.d/afwallstart
    5. adb shell mount -o remount,ro /system

Если вы ещё не прошили GApps — сделайте это сейчас. После загрузки настройте ограничения XPrivacy для приложений GApps.

Настраиваем систему:

  • Настройки Google > Безопасность > [ ] Удалённая блокировка и сброс
  • Настройки Google > Безопасность > [ ] Борьба с вредоносными  приложениями
  • Настройки > Беспроводные сети: Передача данных > Меню > [ ]  Автосинхронизация данных
  • Настройки > Беспроводные сети: Ещё… > [ ] Режим полёта
    • отключаем временно, только для того чтобы переключить следующий пункт
  • Настройки > Беспроводные сети: Ещё… > [ ] NFC
  • Настройки > Беспроводные сети: Ещё… > [?] Режим полёта
  • Настройки > Экран блокировки > Безопасность экрана > Блокировка экрана
    • установить надёжный пароль или пин-код
  • Настройки > Местоположение (выкл.)
  • Настройки > Безопасность > Администраторы устройства > [ ] Удалённое  управление Android
  • Настройки > Безопасность > Администраторы устройства > [?] XPrivacy
  • Настройки > Безопасность > Администраторы устройства > [?] AFWall+
  • Настройки > Конфиденциальность > Отправка статистики > [ ] Включить  отправку отчётов
  • Настройки > Язык и ввод > Проверка правописания (настройки) > Проверка  правописания Android (настройки) > [ ] Поиск контактов
  • Настройки > Язык и ввод > Клавиатура Android (настройки) > Расширенные  настройки > [ ] Подсказывать имена
  • Если вы ставили не минимальный вариант GApps, то где-то рядом должна  быть аналогичная настройка для Google Voice — её тоже выключить.
  • Настройки > Восстановление и сброс > [?] Резервирование данных
    • включаем временно, только для того чтобы переключить следующий пункт
  • Настройки > Восстановление и сброс > [ ] Автовосстановление
  • Настройки > Восстановление и сброс > [ ] Резервирование данных
  • Настройки > Для разработчиков > Сетевое имя устройства > localhost
  • Телефон > Меню > Настройки > [ ] Прямой поиск
  • Телефон > Меню > Настройки > [ ] Поиск контактов
  • Телефон > Меню > Настройки > [ ] Обратный поиск

Подключаем интернет:

  • Перед открытием доступа к интернет стоит заблокировать некоторые  приложения, в частности:
    • Настройки > Приложения > Все > Синхронизация Контактов Google >  Отключить
    • Настройки > Приложения > Все > Google Резервное копирование >  Отключить
  • Скачайте на компьютер и установите через adb install:
  • Разрешите в AFWall+ доступ к Wi-Fi только для одного приложения:
    • OpenVPN for Android
  • Разрешите в AFWall+ доступ к VPN для:
    • (NTP) — опционально
    • AdAway
    • F-Droid
    • Google Play Маркет
    • Xposed Installer
    • Загрузки, Хранилище мультимедиа, Диспетчер загрузки
    • Обновление CyanogenMod
  • Для первой активации аккаунта Google нужно дать доступ к VPN для:
    • Аккаунты Google, Сервисы Google Play, Google Резервное копирование,  Google Services Framework, Синхронизация Контактов Google
  • Включите Wi-Fi или мобильный интернет.
  • Активируйте VPN.
  • Создайте или подключите существующий аккаунт Google (чтобы инициировать  добавление аккаунта можно например запустить Play Маркет).
  • Настройки > Аккаунты > Google > ваш аккаунт > выключить всю  синхронизацию
  • Настройки Google: отключить всё, кроме:
    • Подключенные приложения
    • Play Игры

Теперь можно отключить доступ к VPN для «Аккаунты Google, Сервисы Google Play, Google Резервное копирование, Google Services Framework, Синхронизация Контактов Google». Этот набор приложений — один из основных каналов утечки личных данных. Доступ в интернет ему нужен для:

  • обновления просроченного токена доступа к гугл-аккаунту
  • поддержки GCM (Google Cloud Messaging — пуш-уведомлений Android)
  • активного сливания всех ваших личных данных, до которых он дотянется

Для обновление токена нужно открывать ему доступ крайне редко и ненадолго. Что касается GCM, то, с одной стороны, пуш-уведомления нужны для работы многих приложений, так что вы можете захотеть оставить ему доступ к VPN. С другой стороны, если вы дадите какому-то приложению хоть раз ненадолго доступ в интернет, то оно может зарегистрироваться в GCM и после этого будет получать пуш-уведомления (через этот набор приложений гугла) даже если вы ему доступ в интернет заблокируете. Хорошо это или плохо — решайте сами. Лично мне не нравится идея, что отключенное от интернета приложение продолжает получать из интернета данные, но хотя бы оно не сможет ничего отправлять.

Для защиты от фоновой установки программ на ваш телефон по желанию гугла, доступ в интернет для «Google Play Маркет» нужно разрешать только непосредственно тогда, когда вы им пользуетесь.

Для того, чтобы видеть полную информацию по запрашиваемым правам доступа для устанавливаемых из Play Маркет приложений нужно установить модуль для Xposed framework PlayPermissionsExposed и перезагрузить телефон.

Установить из Play Маркет:


Сейчас самое время перегрузиться в recovery и сделать полный бэкап новой системы!

Восстановить из бэкапов Titanium Backup все нужные приложения. Запустить из меню Titanium Backup «Маркет доктор» для восстановления связей этих приложений с Play Маркет.

Теперь можно отключить ADB и запретить для него права root.

Поздравляю! У вас в руках Android-телефон, защищённый от утечек личных данных настолько, насколько это вообще возможно без отказа от доступа к Play Маркет и GSM-связи.

______________________
Текст конвертирован используя habrahabr backend для AsciiDoc.

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


  1. Disasm
    07.05.2015 17:51
    +1

    > Аналогичная проблема с проприетарными приложениями без открытых исходников (вроде всего пакета GApps, начиная с самого Google Play Маркет)
    Вы так говорите, как будто не существует декомпиляторов для Java. Код Google Play даже не обфусцирован и после декомпиляции вполне читабелен.


    1. Anakros
      08.05.2015 11:41

      И что? Это не делает код открытым.


      1. Disasm
        08.05.2015 11:42
        +1

        Это даёт возможность читать его глазами и искать ошибки с помощью средств автоматизации поиска ошибок. Разве этого мало? Зачем вам именно открытый код?


        1. Anakros
          08.05.2015 11:57

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


          1. Disasm
            08.05.2015 12:17
            +1

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


            1. Anakros
              08.05.2015 12:42

              Открытый код отличается от декомпилированного кода практически ничем с точки зрения его анализа и каких-либо гарантий.

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

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

              Смысла мало проводить аудит. Только если у вас очень крутой декомпилятор, который гарантирует, что декомпилированный текст со 100% вероятностью соберётся в тот же бинарник. У вас конечно же такой? Если нет, то и гарантии эквивалентности не может быть.
              Гугл может обфусцировать код в будущем? Так он может и опенсорсный код обфусцировать.

              Это уже будет не открытый код.


              1. Disasm
                08.05.2015 12:44

                Я вам открою глаза: сейчас для разработки модов в Minecraft его полностью декомпилируют (с деобфускацией), патчат и компилируют обратно без каких-либо проблем. Декомпиляторы с Java очень хорошо нынче работают. В частности Fernflower разрабатывался специально с упором на возможность компиляции декомпилированного кода.


                1. qw1
                  11.05.2015 10:36

                  А не знаете, где взять скомпиленный fernflower? Хочется сравнить с Procyon и CFR, в репозитории нет инструкций для сборки, чтобы любому не-джависту было понятно.


                  1. Disasm
                    11.05.2015 10:42
                    +1

                    Я его из тулчейна Mod Coder Pack брал, скорее всего. Вот такой: rghost.net/8bSnY5Bmy
                    Судя по наличию в репозитарии файла build.xml достаточно в этом каталоге набрать команду ant


    1. qw1
      11.05.2015 00:40

      как будто не существует декомпиляторов для Java. Код Google Play даже не обфусцирован

      Вообще-то, обфусцирован. Сейчас чтобы перепроверить взял последний апдейт maps (что первое под руку попалось), и там все классы называются a, b, c, d,…
      Кроме того, одно время apktool падал при декомпиляции, т.е. гугл нашёл уязвимость декомпилятора и ей пользовался. Последняя версия apktool работает без ошибок, но не декомпилировались gapps довольно долго.


      1. Disasm
        11.05.2015 01:27

        Быть может я высказался неоднозначно, но под Google Play я имел ввиду Google Play Store, ссылаясь на упоминание «Google Play Маркет». Вы же говорите про карты, а про них я не в курсе, может быть и правда обфусцированы. В любом случае, пока что со связкой dex2jar+dj-gui проблем не было. В особо тяжких случаях для декомпиляции использую комбинацию jad и Fernflower.


        1. qw1
          11.05.2015 09:29

          Да, GUI маркета (com.android.vending.apk, 11 МБ) не защищено. Но это лишь оболочка. Google Play Services (com.google.android.gms.apk, 35 МБ), служба, которая выполняет основную работу в фоне, ходит в интернет, скачивает приложения, инсталлирует-деинсталлирует — она обфусцирована.


  1. dyadyaSerezha
    07.05.2015 20:06
    +1

    Это ж насколько надо быть важным/сильным/богатым/секьюрно-озабоченным человеком, чтобы проделать все это — и дальше постоянно поддерживать! — ради уменьшения (неполного!) доступности своих контактов, местоположения и прочего?

    Я лично предпочитаю играть в неуловимого Джо (которого никто не может поймать, потому что он никому не нужен).


    1. powerman Автор
      08.05.2015 01:56

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


      1. memtew
        08.05.2015 11:47

        У оператора есть данные о вашем местоположении, пусть и очень очень грубые, и не всегда актуальные (чем чаще звоните/пишете смс, тем актуальнее).
        А не задумывались ли вы (тут я соглашусь с dyadyaSerezha), что скрытие данных наоборот привлекает внимание? Вот даже эта статься на GT уже могла навлечь «беду».


        1. powerman Автор
          08.05.2015 12:51
          +2

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

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


          1. memtew
            08.05.2015 12:56

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

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

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


            1. woddy
              08.05.2015 13:09

              А полная и не нужна. Нужно лишь максимально затруднить сбор данных. Получить 80% пользы, затратив 20% усилий.


            1. powerman Автор
              08.05.2015 13:37

              И в чём Вы усмотрели признаки паранойи?

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

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

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


              1. memtew
                08.05.2015 13:51

                И в чём Вы усмотрели признаки паранойи?

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

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


          1. dyadyaSerezha
            08.05.2015 15:16
            +1

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


            1. powerman Автор
              08.05.2015 16:56

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


            1. qw1
              11.05.2015 00:48

              Увы, если инфа утекает, она всплывёт, когда этого вам не нужно и не всплывёт, когда это нужно. Поэтому пусть лучше не утекает.


  1. memtew
    07.05.2015 20:17

    Уровень паранойи в шкале зашкаливает! Это что такого важного в ваших контактах/истории звонков/смс? Думаете кому-то интересно, сколько раз вы звонили маме/жене?


    1. memtew
      07.05.2015 22:10
      +1

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


      1. Avalanch
        08.05.2015 17:32
        +1

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


  1. woddy
    07.05.2015 20:24
    +6

    Читаю комментарии и удивляюсь как за 5 лет поменялась аудитория хабра. Или настроения аудитории.
    Теперь ставить камеру в спальне нет ничего предрассудительного. Её же только Большой Брат ФСБ смотрит. Думаете кому-то в ФСБ интересно, сколько раз я за ночь с женой?

    Спасибо за статью. Хабр торт.


    1. SpiritOfDarkDragon
      08.05.2015 00:29

      Это не хабр (да, разница есть, аудитории GT и хабра пересекаются лишь частично).


      1. woddy
        08.05.2015 10:09
        +1

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


        1. memtew
          08.05.2015 11:41

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


          1. woddy
            08.05.2015 11:56

            Об этом я и говорю. Люди добровольно отказываются от личного пространства. Добровольно ведут досье на себя. Добровольно отдают всё Большому Брату. Ведь «кому я нужен?» и «да что они могут сделать с этими данными».

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

            Обычный человек не способен посмотреть на 20 лет назад хотя бы. И посмотреть как менялись нормы. И то что было нормальным 20 лет назад, сегодня тянет на 20 лет тюрьмы.

            окей, гугл, скороварка гвозди купить.


            1. memtew
              08.05.2015 12:13
              +3

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


              1. woddy
                08.05.2015 12:17
                -3

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


                1. memtew
                  08.05.2015 12:24

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


                1. memtew
                  08.05.2015 12:36

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


                  1. woddy
                    08.05.2015 12:48
                    +1

                    Приватность — это система. Телефон который «не стучит» это один из кирпичиков. Патченная мозила которая «не стучит» это другой из кирпичиков. Набор симок и IMEI которые никогда не появляются рядом это третий из кирпичиков. ВПН и ТОР это четвертый из кирпичиков.

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


                    1. memtew
                      08.05.2015 13:00

                      Телефон который «не стучит» это один из кирпичиков.

                      Закладки на железном уровне никто не отменял.


                      1. woddy
                        08.05.2015 13:03

                        Разумеется. Поэтому я выбираю китайский телефон, который если и стучит — то китайскому ФСБ.
                        Но закладки на железном уровне куда сложнее и менее вероятны. В открытых источниках информации о них мало.


                        1. memtew
                          08.05.2015 13:05

                          Поэтому я выбираю китайский телефон, который если и стучит — то китайскому ФСБ

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


                          1. woddy
                            08.05.2015 13:16

                            Доверять осознанно — только себе. А минимизировать риски следует.
                            Вам мало историй, как у корпораций улетали многомилионные базы пользователей? Помоему только за прошлый год, такое раз пять было. Начиная с Сони например.
                            Может пришлете мне свою базу СМС например за пол года. Я много интересного смогу с ней сделать ;)

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

                            Например приложение фейсбука при установке, первым делом ворует телефонную книгу и рассылает по ней спам с приглашением зарегаться. Рассылает от имени того пользователя, у которого это украл. Как вы думаете, буду ли я когда-нибудь в жизни пользоваться подобным сервисом после такого?


                            1. memtew
                              08.05.2015 13:35

                              Доверять осознанно — только себе. А минимизировать риски следует.
                              Вам мало историй, как у корпораций улетали многомилионные базы пользователей? Помоему только за прошлый год, такое раз пять было. Начиная с Сони например.

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

                              Но ведь при установке фейсбука вы видите, какие разрешения это приложение требует, т.е. нажимая «Установить» осознанно соглашаетесь с ними.
                              Я много интересного смогу с ней сделать ;)

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


                              1. powerman Автор
                                08.05.2015 13:45
                                -1

                                Но опять же ума не приложу, что с этим можно сделать.
                                Если эта информация так бесполезна, как Вам кажется — зачем же тогда корпорации тратят массу сил и ресурсов на то, чтобы её собирать и вечно хранить? Всё зависит от того, к кому эта информация попадёт. Кто-то не придумает, как получить от неё пользу, кто-то просто будет на Вас больше зарабатывать лучше подбирая показываемую Вам рекламу, а кто-то воспользуется ей чтобы посадить Вас в тюрьму, или подставить, или просто развести на бабки (для мошенников вся эта личная информация — просто клад). И Вы никак не можете гарантировать, что если Вы согласились передать свою личную информацию фирме X, то больше эта информация никуда не попадёт: фирмы разваливаются, их имущество продают на аукционах, базы данных воруют и продают сотрудники, из-за бага эти данные могут оказаться выложенными публично на сайте фирмы, … что один раз «протекло» — то уже назад не заберёшь.


                                1. memtew
                                  08.05.2015 13:55

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


                                  1. powerman Автор
                                    08.05.2015 14:30

                                    Каких конкретно фактов Вам не хватает? Что базы регулярно воруют? Что из-за утечек паролей к FTP/ключей к SSH с компьютеров пользователей ломают сервера (да, у меня на телефоне есть ssh-клиент, и установлен ключ для доступа к серверу — работа такая)? Что из-за утечек переписки у людей и компаний дикие репутационные и финансовые потери? Что из-за/с помощью информации добровольно выложенной в соц.сетях полиция заводит дела и сажает людей? Гугл в помощь, кому эта тема интересна видит такие новости регулярно.


                                    1. memtew
                                      08.05.2015 15:00

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


                                      1. powerman Автор
                                        08.05.2015 17:01

                                        Ведь написав или выложив что-то мы берем ответственность на себя за это. Приватность только тут причём?
                                        При том, что когда я делаю фотку или добавляю запись в адресную книгу или событие в календарь — я ничего не выкладываю! Я просто создаю какие-то личные данные на своём собственном, купленном за немаленькие деньги, телефоне. И когда эти данные внезапно и по-умолчанию оказываются опубликованы в dropbox, facebook и g+, причём нередко с настройками по умолчанию разрешающими доступ к ним кому-то кроме меня — это происходит вовсе не потому, что я осознанно их выложил. Приватность — это когда личное остаётся личным, а не становится внезапно и по-умолчанию публичным.


                                        1. memtew
                                          08.05.2015 18:41

                                          И когда эти данные внезапно и по-умолчанию оказываются опубликованы в dropbox, facebook и g+

                                          Facebook у меня не установлен, но чтобы что-то само по себе залилось в дропбокс или выложилось в G+ — это за гранью фантастики.


                              1. Avalanch
                                08.05.2015 17:39

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

                                Например инфу, когда Вы получаете зарплату. Она гопникам может быть полезна и использована против Вас…


                                1. memtew
                                  08.05.2015 18:40

                                  Она гопникам может быть полезна и использована против Вас…

                                  Тяжелая у вас жизнь.


  1. Mangalore
    08.05.2015 15:07

    Если есть root — ставьте Xposed и модуль Permission Manager.
    Я уху ел, когда увидел, что программе Google FM radio нужна фото и видеосъемка. А без этого она не работает!!! Причем альтернатив для простого FM приемника в Google Play нет.
    Для других программ ищу аналоги. Почти всегда есть.


  1. Nickel3000
    11.05.2015 12:16

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

    Можно просто вытащить сим-карту.


    1. powerman Автор
      11.05.2015 18:25

      На CyanogenMod я не проверял, а на штатной прошивке самсунга он без сим-карты вообще не хотел грузится.