1. Всем продавцам Форума RCClub бесплатно предоставляется собственный торговый раздел, веб-сайт автопродаж и неблокируемый Telegram бот!

    Возможность круглосуточно семь дней в неделю принимать оплаты EasyPay, WEX, EXMO, BTCU.biz, Qiwi, Bitcoin, Litecoin и выдавать адреса покупателям без участия оператора!

    Как получить статус продавца?

    Скрыть объявление
  2. RCClub первый Форум, который запустил денежное вознаграждение пользователей за общение!

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

    Общайтесь и зарабатывайте!

    Подробности

    Скрыть объявление

⚠защита андроид от утечки данных⚠

Тема в разделе "Безопасность в сети", создана пользователем promitei96, 6 дек 2016.

  1. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Андроид
    Все мы пользуемся мобильными устройсвами ,смартфонами , планшетами и как положено Мы все храним на них личные данные , начиная контактами и заканчиваяфотографиями.. При этом текущий дизайн OS мобильных устройств создаёт впечатление, что одна из их основных задач — как можно сильнее упростить доступ третьим лицам (в основном — корпорациям и государству, но и мелким разработчикам мобильных приложений тоже обламывается от этого пирога) к вашим личным данным.
    Частичная открытость Android немного улучшает ситуацию, но полноценного решения проблемы утечки приватных данных пока не существует. Основная проблема в том, что пока на устройствеиспользуются блобы нет никаких гарантий, что в них нет закладок (вроде обнаруженных в прошивках Samsung Galaxy). Аналогичная проблема с проприетарными приложениями без открытых исходников (вроде всего пакета GApps, начиная с самого Google Play Маркет). По сути всё как раз наоборот — крайне высока вероятность, что закладки там есть. Нередко их даже не пытаются скрывать, выдавая за удобные «фичи» для синхронизации и/или бэкапа ваших данных, обеспечивания вас полезной рекламой, и «защиту» от вредоносного софта или на случай утери устройства.Но, несмотря на невозможность полноценно защитить личные данные на телефоне, я считаю что стоит сделать максимум возможного: прикрыть столько каналов утечек, сколько получится — ведь мало кто может позволить себе не использовать мобильный телефон или не держать на нём личные данные (хотя бы контакты и историю звонков).
    Сразу уточню, что об анонимности речь вообще идти не будет. Это отдельная большая и сложная тема, которая, в частности, потребует использования Tor, полного отказа от GSM и перевода всей телефонии на шифрованный VoIP, etc. Описанные ниже приёмы защиты отидентификации/отслеживания не дают анонимности, они просто прикрывают некоторые дополнительные каналы утечки личных данных (к которым относится и то, где и когда вы бываете).
    Ещё одна проблема — сложность и не лучшее юзабилити описанных решений делает их малодоступными для среднего пользователя.

    Что будем рассматривать в статье .
    Ингредиенты
    1. GApps
    2. Замена прошивки и аккаунты
    3. Разделы
    4. Backup
    5. IMEI
    6. Типы бэкапов
    7. Что и как бэкапить
    8. Резюмируя
    9. Upgrade
    10. OTA-обновления OS
    11. Обновление Xposed framework и его модулей (включая XPrivacy)
    12. Защита данных на телефоне на случай потери/кражи
    13. Анти-вор
    14. Настройка XPrivacy
    15. Установка и настройка защищённой системы
     
    alina95, Стиф и Володя нравится это.
  2. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Ингредиенты .
    Безопасность формируется разными элементами, и пренебрежение любым из них может свести на нет все усилия:

    • 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. В принципе, можно обойтись и бесплатной, но это будет значительно сложнее (информация о параметрах функций и чёрные/белые списки позволяют более тонко управлять доступом, да и пакетные операции экономят много времени).

     
    Последнее редактирование: 6 дек 2016
    Delf и alina95 нравится это.
  3. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Замена прошивки и аккаунты

    Если только вы уже не приняли все необходимые меры предосторожности с самого начала использования своего телефона, то ваши личные данные уже давно «протекли» и доступны множеству чужих людей. В этом случае я бы рекомендовал сначала просто установить описанные приложения и поэкспериментировать с ними, а когда почувствуете себя с ними достаточно уверенно — удалить с телефона абсолютно все данные (включая содержимое внутренней/внешней SD card) и установить всё с нуля — это не заберёт ваши данные обратно, но хотя бы разорвёт связь между этими данными и вашим телефоном.
    Что касается аккаунтов, то в идеале после замены прошивки нужно специально для телефона создать отдельные аккаунты в гугле, фейсбуке, etc. Это обычно не мешает вам использовать свои обычные аккаунты в нужных приложениях, а для всех остальных это сильно ограничит объём доступных им данных (например, «моим» фейсбуком пользуются только несколько игр, которым я дал к нему доступ ради каких-то бонусов).
    ВНИМАНИЕ: Если вы покупали приложения в Play Маркет, то если после замены прошивки вы будете использовать тот же самый гугл-аккаунт связь между уже протёкшими данными и вашим телефоном сохранится (по крайней мере для гугла), а если аккаунт будет новый — вы потеряете ранее купленные приложения.
    Если для вас замена прошивки и/или создание отдельных аккаунтов для телефона это перебор, то ничего страшного — как я уже писал в начале, способа полноценной и надёжной защиты личных данных на телефоне пока не существует, речь идёт исключительно о том, чтобы прикрыть столько каналов утечки данных, сколько получится. И в вашем случае будет просто прикрыто чуть меньше каналов, чем возможно на данный момент.
    Дальше я буду исходить из того, что вы решили заменить текущую прошивку - если это не так, просто пропустите некоторые из описанных операций.



     
    Последнее редактирование: 6 дек 2016
    Delf и alina95 нравится это.
  4. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    РРАЗДЕЛЫ
    Для понимания описанных далее операций необходимо минимальное представление об основных разделах 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
     
    Последнее редактирование: 6 дек 2016
    Delf нравится это.
  5. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Backup

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

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


     
    Последнее редактирование: 6 дек 2016
    alina95 нравится это.
  6. Володя

    Володя Местный

    Регистрация:
    24 ноя 2016
    Сообщения:
    188
    Симпатии:
    224
    Репутация:
    20
    Jabber:
    volodya19911@xmpp.jp
    Telegram:
    @volodya_enzo
    Полезная статья,молодец:)
     
  7. promitei96

    promitei96 Местный

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

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


     
    Delf и alina95 нравится это.
  8. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50

    Система.
    # 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

     
    Последнее редактирование: 6 дек 2016
  9. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Например, для 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
     
  10. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Типы бэкапов

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

    promitei96 Местный

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

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Что и как бэкапить

    Как вы видели выше, разделов в системе очень много. Но большинство из них либо никогда не меняются, либо меняются только при прошивке новой системы или 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. перезагрузить телефон
     
    Delf и Silver-shop нравится это.
  13. promitei96

    promitei96 Местный

    Регистрация:
    4 ноя 2016
    Сообщения:
    488
    Симпатии:
    688
    Репутация:
    50
    Статью не коментировать так как она только на полавинв готова, сегодня больше нет времяни доделаю завтра
     
    Delf и Silver-shop нравится это.
Top