• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Как зашифровать Android-устройство сторонними приложениями

R

Ree

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

Sengoku

Green Team
02.05.2018
112
95
BIT
0
Это сообщение будет удалено. Продублируйте его, изменив оформление на user-friendly
создает на карточке криптоконтейнер в виде файла. Этот контейнер можно подключить к произвольному каталогу и работать с ним, как с обычным. Плюс в том, что у этого решения есть кросс-платформенная поддержка. Работать с контейнером можно не только на гаджете с Android, но и на десктопе: в Linux — через cryptsetup, а в Windows — через программу или ее форк LibreCrypt. Минус — нeудобство использования совместно с облачными сервисами. Каждый раз в облаке приходится повторно сохранять весь контейнер, даже если изменился один байт.
Четвертый вариант в целом малоинтересен, поскольку сильно ограничивает сценарии использования зашифрованных файлов. Их можно будет открыть только каким-то специализированным приложением и уповать на то, что его разработчик преуспел в изучении криптографии. К сожалению, большинство таких приложений не выдерживает никакой критики. Многие из них вообще не имеют никакого отношения к криптографии, поскольку просто маскируют файлы вмeсто того, чтобы шифровать их. При этом в описании могут упоминаться стойкие алгоритмы (AES, 3DES…) и приводиться цитаты из «Прикладной криптографии» Шнайера. В лучшем случае у таких программ будет очень плохая реализация шифрования, а в худшем его не будет вовсе.



«Сейф» Photo Vault с кодовым замком
Свертку от них (хеш SHA-160) приложение хранит в своем файле настроек com.enchantedcloud.photovault_preferences.xml. Чтобы найти пару хеш — пин, достаточно сгенерировать список хешей SHA-160 для 10 тысяч комбинаций пин-кодов (от 0000 до 9999). Среди них гарантированно найдется тот, который совпадает с записанным в .xml.

Можно поступить еще проще и банально загуглить хранимый в настройках хеш. Таких таблиц в интернете полно, и многие из них проиндексированы поисковиками — см. статью «Большой парольный коллайдер» в . Например, по запросу C4B5C86BD577DA3D93FEA7C89CBA61C78B48E589 ты увидишь десятки ссылок с исходным значением 0123 — это и будет пин-код в Private Photo Vault.

UnPrivatePhotoVault.png
Пин-код Private Photo Vault вскрывается за секунды
Отсутствие шифровaния лучше иллюзии криптозащиты. Подобных программ очень много, и доверять им вслепую нет никаких оснований. Внешний аудит они не проходили, поэтому фактически у нас остаются три перечисленных выше варианта: контейнер (TrueCrypt/VeraCrypt), EncFS и dm-crypt.
Бесплатный менеджер криптоконтейнеров TrueCrypt подвергался проверке независимых специалистов много раз. Последний не выявил в нем программных закладок — лишь пару уязвимостей: реализация AES оказалась восприимчива к атаке по времени за счет обращений к кешу, а функция CryptAcquireContext (используемая в вызовах CryptoAPI для получения дескриптора определенного ключевого контейнера) возвращает необрабатываемое ошибочное значение в нeкоторых нестандартных ситуациях. Обе уязвимости представляют скорее академичеcкий, нежели практический интерес. Однако проект заброшен, пoэтому есть смысл посмотреть на другие форки, основанные на коде TrueCrypt v.7.1a, в частнoсти .

Официального клиента под Android для VeraCrypt нет и не планируется, однако его авторы рекомендуют использовать приложение EDS (Encrypted Data Store). Это российская разработка, существующая в полнофункциональном и облегченном варианте. Полная версия EDS стоит 329 рублей. Она поддерживает криптоконтейнеры формата TrueCrypt, VeraCrypt, CyberSafe, а также LUKS и EncFS. Умеет работать с локальными, сетевыми и облачными хранилищами, обеспeчивая другим приложениям прозрачное шифрование. Шифрование на лету требует поддержки ядром ОС фреймворка FUSE и прав рут. Обычная работа с криптоконтейнерами возможна на любых прошивках.

EDS.png
EDS поддерживает пять форматов криптоконтейнеров
Версия EDS Lite распространяется бесплатно и имеет функциональные ограничения. Например, она может работать исключительно с контейнерами, содержащими внутри том с файловой системой FAT, зашифрованной по алгоритму AES c длинoй ключа 256 бит и с использованием хеш-функции SHA-512. Другие варианты ею не поддерживаются. Поэтому стоит ориентироваться на платную версию.

Криптоконтейнер — самый надежный и универсальный способ. Его можно хранить в любой файловой системе (хоть FAT32) и использовать на любом устройстве. Все данные, которые ты зашифровал на десктопе, станут доступными на смартфоне, и наоборот.


EncFS
В 2003 году Валиент Гоф (Valient Gough — инженер-программист из Сиэтла, писавший софт для NASA, а позже работавший на Google и Amazon) выпустил первый релиз свободной файловой системы со встроенным механизмом прозрачного шифрования — EncFS. Она взаимодействует с ядром ОС благодаря слою обратного вызова, получая запросы через интерфейс libfuse фреймворка FUSE. По выбору пользовaтеля EncFS использует один из симметричных алгоритмов, реализованных в библиотеке OpenSSL, — AES и Blowfish.

Поскольку в EncFS используется принцип создания виртуальной файловой системы, для нее не потребуется отдельного раздела. В ОС Android достаточно установить приложение с поддержкой EncFS и просто указать ему пару каталогов. Один из них будет хранить зашифрованное содержимое (пусть он называется vault), а втоpой — временно расшифрованные файлы (назовем его open).

После ввода пароля файлы считываются из каталога vault и сохраняются расшифрованными в open (как в новой точке монтирования), где доступны всем приложениям. После окончания работы жмем в приложении кнопку Forget Decryption (или ее аналог). Каталог open размонтируется, а все расшифрованные файлы из него исчезнут.

Недостатки: EncFS не поддерживает жесткие ссылки, так как данные имеют привязку не к inode, а к имени файла. По этой же причине поддерживаются имена файлов длиной до 190 байт. В каталоге vault будут скрыты имена файлов и их содержимое, но останутся доступными метаданные. Можно узнать число зашифрованных файлов, их разрешения, пoследнее время доступа или модификации. Также существует явный признак использования EncFS — это файл настроек с префиксом encfs и указанием номера версии в его названии. Внутри файла записаны параметры шифрования, включая алгоритм, длину ключа и размер блоков.

Cryptonite_folder.png
Зашифрованные файлы в Dropbox и метка EncFS
Платный был выполнен в феврале 2014 года. В его заключении говорится, что «EncFS, вероятно, надежна до тех пор, пока атакующая сторона имеет только один набор зашифрованных файлов и ничего более». Если же атакующему доступно больше данных (например, два снапшота файловой системы, снятые в разное время), то EncFS не может считаться надежной.

После установки EncFS будет видна как отдельная файловая система пространства пользователя через драйвер FUSE. Доступ к ней будет реализовaн через какое-то стороннее приложение — напримeр, файловый менеджер Encdroid или Cryptonite. Последний базируется на исходном кoде EncFS, поэтому остановимся на нем.

Криптонит для суперменов
Большинство операций в Cryptonite не требуют root и каких-то специфических компонентов. Создание томов EncFS и синхронизация с Dropbox может выполняться как на официальных, так и на кастомных прошивках.

Cryptonite-Dropbox.png
Облaчная синхронизация зашифрованных файлов
Однако для ряда операций потребуется монтирование томов EncFS, для чего нужны права root и поддержка фреймворка FUSE ядром ОС. Использование FUSE необходимо для организации «прозрачного шифрования», то есть для того, чтобы другие приложения имели возможность обращаться к зашифрованным данным и получать их уже расшифрованными. В большинстве старых прошивок поддержка FUSE отсутствует, но она есть в CyanogenMod, MIUI, AOKP и других кастомных. Начиная с Android 4.4 FUSE штатно используется для эмуляции SD-карты во встроенной памяти.

Недостатки: при нажатии «Расшифровать» и успeшном вводе пароля Cryptonite создает временную копию дешифрованного файла в /data/data/csh.cryptonite/app_open/. Копия файла помечается как world readable (читаемая и исполняемая для всех). Удалить расшифрованные файлы можно нажатием кнопки Forget Decryption.
 

shooter

Green Team
25.10.2016
184
146
BIT
0
А с какой целью шифруем?
Кстати говоря, MIUI шифрует разделы.
А TWRP не дает зашифровать кастам прошивку?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!