Шифруем Андроид
![]()
Это сделать так, что в вашем телефоне будет только мишура из циферок вместо полезной информации. Для кого угодно кроме вас. Или того, кому вы скажете свой пароль. Никому не говорите.
Вытащить из телефона фотографии, переписку, аккаунты вконтакте будет нельзя. В идеале — вообще никогда и никому. Даже крутым спецслужбам.
Ну не, вру, эти-то смогут. Как минимум — попросят у вас пароль. Вежливо поигрывая паяльником.
Да ладно, кому я понадоблюсь вообще
У вас могут угнать аккаунты социальных сетей. Очень удобно рассылать рекламу и клянчить деньги, используя не выдуманный аккаунт, а самый настоящий. Ваш. Деньги можно поклянчить разом у всех друзей, авось сработает.
Если ваш аккаунт начнёт рассылать рекламу, его заблокируют и вам придется вести долгую нудную переписку с поддержкой, чтобы вам его вернули. Всё это время вы не сможете общаться с друзьями. Это ужасно, я бы не пережил.
Можно ещё с украденного телефона позвонить родителям, заявить, что вы попали в переделку и необходимо срочно заплатить 100500 тысяч рублей вот на эту карту, иначе хана.
В общем, вариантов развлечений множество, поэтому лучше потерпеть необходимость постоянно вводить пароль при разблокировке девайса.
И никто не увидит фотографий любимой пушистой киски (Мурки).
Какие кнопки жать
Все Андроиды — разные, но в принципе все настройки шифрования должны находиться в разделе настроек Безопасность или называемой подобным образом.
Влезаем туда и ищем что-нибудь про шифрование. Вот оно!
Лезем туда и смотрим чего нам скажут.
В данном случае велят подключить устройство к зарядке, что разумно — процесс относительно долгий, лучше не прерываться на полпути, превращая свои данные в кашу. Так что подготовимся оставить девайс в покое, ставим на зарядку и запускаем процесс.
Обычно установка пароля на устройство сразу же требуется при шифровании. Если не требуется, всё равно нужно установить, иначе какой смысл! (спойлер: вообще никакого).
Если пароль ставить не приказано, то самостоятельно там же, в разделе Безопасность ищем что-то про блокировку экрана.
Устанавливать нужно графический ключ, пин-код или пароль. Всё остальное, скорее всего, не позволят, а если позволят — не надо.
При загрузке устройства пароль нужно запрашивать. Пока девайс не включен, вскрыть информацию на нём практически нереально.
При заблокированном экране лучше запретить показывать чувствительные уведомления. Читай: сообщение SMS не будет показано, а свежая новость — будет.
Если вы выбрали графический ключ, запретите его отрисовку при вводе. Вам будет немного сложнее не промахнуться, зато подглядеть станет вообще нереально.
Антикриминалистика: как защитить смартфон на Android
Большинство наших статей рассказывает о том, как взломать защиту и получить доступ к данным. Сегодня мы попробуем сыграть за другую команду, рассказав о том, как защитить свои данные.
Для кого написана эта статья? По статистике, почти половина пользователей не может назвать модель используемого ими смартфона. Многие ли из оставшихся смогут назвать версию Android, установленную в их телефоне, не говоря уже о версии патча безопасности? Именно оставшимся пользователям мы адресуем данный текст. В этой статье мы не будем давать набивших оскомину советов «включить код блокировки» или «обновиться до последней версии ОС» (такой совет прозвучит довольно цинично в свете политик обновления подавляющего большинства производителей). Вместо этого мы постараемся дать понимание всего спектра возможностей «тяжёлой артиллерии», которая может быть использована против владельца телефона как злоумышленниками, так и спецслужбами для извлечения данных.
Предыстория
Написать эту статью нас побудило просто огромное количество публикаций в самых разнообразных изданиях на одну и ту же тему: как обезопасить свой смартфон. Авторы прочитанных нами статей повторяют одни и те же советы, которые при самом тщательном выполнении не дают владельцу смартфона ничего, кроме ложного ощущения безопасности. «Используйте стойкий код блокировки», «включите датчик отпечатков» и предельно циничное «обновитесь на последнюю версию Android» — советы сами по себе логичные, но совершенно, абсолютно недостаточные. Очень редко среди советов попадается рекомендация отключить Smart Lock – тоже правильно и также недостаточно.
Какой смысл устанавливать длинный и сложный код блокировки, если в вашем смартфоне используется устаревшее шифрование FDE и вы не включили режим Secure Startup? Для многих моделей доступны загрузчики, которые расшифруют всё содержимое твоего устройства даже без перебора паролей: шифрование всё равно будет использовать фразу default_password. Отключение Smart Lock — необходимый, но недостаточный шаг. Уверены ли вы в безопасности используемой в вашем устройстве технологии сканирования лица (если телефон ей оборудован)? А известно ли вам, что, просто зайдя на ваш компьютер, можно извлечь из браузера все ваши пароли, после чего попросту зайти в облако и сменить код блокировки смартфона? (Работает, к счастью, не для всех устройств, но знать о такой возможности нужно.) Наконец, нужно отдавать себе отчёт, что если с компьютера будет получен пароль от облака Google Account, то сам телефон будет никому не нужен: все необходимые данные можно извлечь из облака (и, скорее всего, их там будет даже больше, чем в самом телефоне).
О правильном подходе к защите
От чего именно будем защищаться? В одной статье невозможно рассмотреть меры защиты от всех возможных угроз. Мы не будем рассматривать защиту от зловредного программного обеспечения и «шпионских» приложений и лишь мельком рассмотрим защиту учётной записи Google Account. Основные усилия мы приложим в направлении обеспечения безопасности данных при физическом и логическом анализе устройства.
Как будет действовать полиция, получив в руки смартфон? Самые сложные для работы экспертов случаи — обесточенный телефон, обнаруженный у безмолвного тела. Именно в таких обстоятельствах, как правило, начинается поиск всевозможных уязвимостей в программном и аппаратном обеспечении. В обыденных ситуациях полиция придёт домой к подозреваемому, проведёт анализ компьютера и извлечёт кэш паролей из почтовых клиентов и браузеров Chrome/Mozilla/Edge. Затем достаточно зайти в облако с найденным логином и паролем, после чего остальное тривиально. В ряде случаев на телефоне можно удалённо сбросить пароль блокировки (сегодня, правда, многие производители не предлагают такой возможности по умолчанию).
Интереснейшими возможностями обладают решения компании Cellebrite, включая недавно представленный продукт UFED Premium. Смартфон можно подключить к устройству (сейчас в его роли выступает обычный ноутбук с предустановленным ПО), при помощи которого эксперт скопирует раздел данных и расшифрует его через одну из известных разработчикам уязвимостей или с использованием «расшифровывающего загрузчика» (decrypting bootloader в терминах Cellebrite) независимо от длины пароля и наличия установленных обновлений. Для ряда устройств поддерживается перебор кодов блокировки экрана – порядка 20 минут на весь спектр паролей из 4 цифр.
Прочитав нашу статью, вы будете более полно осознавать возможности защитить свои данные и риски, которые останутся даже тогда, когда всё было сделано правильно.
Как будет действовать полиция
Если ваш смартфон попал в руки полиции или пограничного контроля в США, вас попытаются заставить разблокировать устройство. В случае успеха дальнейшее от вас не зависит; с экрана разблокированного смартфона следователь получит доступ:
- Ко всему содержимому /sdcard включая фото и видео.
- Почта, переписка в мессенжерах, текст SMS.
- Полный список паролей, сохранённых в Chrome (частенько там можно найти и пароль от вашего Google Account – кстати, проверьте, так ли это на вашем устройстве).
- Детализированная история местоположения за несколько лет.
- Данные Google Fit. Их можно экспортировать.
- Звонки, контакты.
Аналогичную информацию получит пограничный контроль Китая. Впрочем, китайские пограничники действуют грубо и предельно неряшливо: на смартфон устанавливается приложение-агент, которое и извлекает всю необходимую пограничнику информацию. Ситуация достигла полного абсурда тогда, когда китайские пограничники стали массово забывать удалить приложение-агента. Уважаемые китайские пограничники! Так делать нельзя! Пожалуйста, внимательно следуйте служебным инструкциям и не забывайте удалять приложение-агент с телефона туристов после того, как будут извлечены все необходимые данные!
Взлом кода блокировки экрана
Мне очень хотелось бы написать подробную статью о том, как и чем можно взломать заблокированный смартфон на Android, но, боюсь, это невозможно: на руках у пользователей тысячи разнообразных моделей, основанных на десятках чипсетов в сотнях вариаций. С учётом разнообразия прошивок, версий самого Android и доступности актуальных патчей безопасности (та самая проблема фрагментации Android) сложилась ситуация, в которой даже крупнейший производитель криминалистических продуктов не знает, с какими устройствами работает их комплекс. «Попробуйте подключить» — стандартный ответ на вопрос, поддерживает ли комплекс Х смартфон Y.
К примеру, простой вопрос: можно ли взломать код блокировки у конкретной модели смартфона, а главное – нужно ли это делать или можно обойтись и так (тот самый «расшифровывающий загрузчик»)? Многочисленные статьи по безопасности в один голос рекомендуют устанавливать стойкий код блокировки, умалчивая о том, что примерно для каждого второго смартфона это совершенно бесполезно. Как определить, имеет ли смысл терять в удобстве со сложным кодом блокировки или стоит подойти с другой стороны?
Ответ лежит в области используемого в конкретном устройстве алгоритма шифрования. Как известно, все смартфоны, вышедшие с завода с Android 6 и более поздними версиями, обязаны зашифровать пользовательские данные к моменту окончания процесса начальной настройки. Однако шифрование шифрованию рознь. В большинстве старых устройств используется так называемое дисковое шифрование Full Disk Encryption (FDE). В режиме FDE данные на пользовательском разделе зашифрованы посредством device credentials – ключа шифрования, который генерируется на основе некого аппаратного ключа и фразы “default_password”.
Да, именно так – “default_password” защищает все ваши данные. И что же, всё пропало? Любой желающий может взять и расшифровать информацию? Не совсем. Ключ шифрования генерируется внутри Trusted Execution Environment (TEE) в момент загрузки устройства; в качестве исходных данных участвует уникальный для каждого устройства ключ, который за пределы TEE не выходит. Если из телефона извлечь чип памяти и скопировать из него информацию, то расшифровать данные без ключа из TEE не удастся. Соответственно, для расшифровки информации потребуется не просто извлечь из телефона данные (например, через режим EDL, роль которого постепенно уходит в прошлое), но и взломать TEE или подменить загрузчик. В принципе, такие «расшифровывающие загрузчики» (decrypting bootloader) существуют, например, у Cellebrite для целого ряда моделей, а иногда и целых семейств моделей, объединённых общим набором системной логики. Тем не менее, для использования этой возможности нужно воспользоваться специальным комплексом, который и осуществит извлечение данных.
Даже если в вашем телефоне используется устаревшая защита FDE, надёжно защитить свои данные можно. Для этого достаточно включить режим Secure Startup (сделать это довольно просто: нужно сначала убрать код блокировки, а затем – установить новый; если телефон использует FDE, то система запросит, включить ли режим безопасной загрузки). В этом режиме ключ шифрования будет перешифрован данными аппаратного ключа и введённого кода блокировки (вместо “default_password”). Недостаток у этого метода тоже есть: телефон просто не загрузится вплоть до момента ввода кода блокировки; если ваш телефон случайно перезагрузится, то вы не сможете даже ответить на звонок, пока телефон не загрузится до конца (для чего требуется код блокировки). Кстати, на некоторых моделях пароль для Secure Startup может не совпадать с кодом блокировки экрана; если такая возможность есть, ей стоит воспользоваться.
Недостатки шифрования FDE с Secure Startup полностью устранены в новой пофайловой схеме шифрования, получившей название File Based Encryption (FBE). Устройства, зашифрованные FBE, используют user credentials (код блокировки) для шифрования большей части информации, в том числе всех персональных данных. При этом исполняемые файлы приложений, а также некоторые базы данных, необходимые для загрузки устройства, будут зашифрованы посредством device credentials (т.е. данных исключительно аппаратного ключа). Режима Secure Startup при использовании FBE нет за ненужностью.
Для расшифровки данных как устройств с FDE, использующих режим Secure Startup, так и устройств с FBE необходимо взломать код блокировки. Конкретные процедуры отличаются в зависимости от модели и набора системной логики, но общий принцип один: подключиться к USB порту и запустить процедуру перебора.
Разумеется, в телефонах есть встроенная защита от таких атак. Мы уже описывали Qualcomm TrustZone, в рамках которой работает Trusted Execution Environment (TEE). В ней могут запускаться только так называемые «трастлеты» (trustlets), своеобразные микро-приложения, подписанные ключом, который проверяется самой TEE. Именно здесь реализована проверка пасскода (через сервис GateKeeper). GateKeeper, в свою очередь, на аппаратном уровне ограничивает скорость перебора паролей; быстро перебрать даже код из 4 цифр не получится, а 6 цифр можно перебирать до бесконечности. GateKeeper не позволяет взломать телефон в ситуациях, когда включен Secure Startup или если используется шифрование FBE.
Пример из жизни. Смартфоны Samsung – пожалуй, самые популярные среди устройств на Android. Во всех моделях Samsung, выпущенных до 2019 года, используется устаревшее шифрование FDE. Для многих моделей смартфонов существуют так называемые «инженерные загрузчики», которые успешно «утекли» с завода-производителя. Поскольку подавляющее большинство пользователей не знает о существовании режима Secure Startup, инженерный загрузчик помогает экспертам загрузить код, посредством которого можно обойти пароль блокировки и расшифровать содержимое устройства.
Другой пример. Во время демонстрации UFED Premium компании Cellebrite код блокировки случайно взятого смартфона Samsung S8 одного из участников презентации был вскрыт в течение всего лишь 15 минут.
Современной системой шифрования FBE оборудованы лишь новые модели Samsung, выпущенные в 2019 году. К ним относятся, например, модели Galaxy S10 и S10+.
Экономическая целесообразность взлома защиты от физического анализа
Если есть защита, то будут и попытки её взломать. В частности, для процессоров Qualcomm до Snapdragon 821 включительно существует уязвимость, использование которой позволяет запустить на выполнение собственный «трастлет» и обойти ограничение на скорость перебора. В реальности же разработчики криминалистических комплексов относятся к этой уязвимости как к зубной боли: с одной стороны, уязвимость существует, она мозолит глаза; заказчики её хотят. С другой – воспользоваться ей очень трудно: для каждого устройства нужно писать свой код, подбирать смещения, тестировать… Если бы речь шла об iPhone, количество актуальных моделей которого можно пересчитать по пальцам одной руки – поддержка уязвимости такого уровня была бы реализована ещё вчера. Но сотни модификаций чипсетов, использующихся в смартфонах с Android (причём каждая модель, для которой нужно запускать процесс разработки, попадёт в руки полиции в единичных экземплярах) делают такую разработку экономически нецелесообразной.
Для флагманских смартфонов на процессорах Qualcomm возможность извлечь данные через уязвимости выглядит приблизительно так:
- Для старых устройств (до Snapdragon 821 включительно) с известными уязвимостями иногда можно взломать код блокировки, если не установлен Secure Startup (способов обнаружено множество).
- Для старых устройств с включённым Secure Startup либо с шифрованием FBE — скорость перебора ограничена GateKeeper. Атака на «холодное» устройство (после перезагрузки или включения) практически не реализуется за исключением единичных популярных моделей (проблема «неуловимого Джо»).
- Для устройств начиная с Snapdragon 835 недоступны эксплойты EDL, недоступен эксплойт TEE, и даже в редких случаях, когда используется шифрование FDE, расшифровать содержимое раздела данных в общем случае довольно непросто (но в отдельных случаях можно, уязвимости уже обнаружены).
- Наконец, для новых устройств (SD835 и новее), в которых используется шифрование FBE, никакие эксплойты не работают: ключ шифрования зависит от пароля, а перебор — достаточно медленный (GateKeeper).
Как защитить свой смартфон от взлома кода блокировки и физического извлечения данных
Для начала нужно узнать, какая система шифрования используется на конкретном устройстве. Для этого выполним через ADB следующую команду:
Если команда вернула слово “file”, то смартфон использует шифрование FBE.
Если используется пофайловое шифрование FBE:
- Установите код блокировки длиной 6 цифр (если позволяет устройство).
- Отключите отладочный режим USB Debugging.
Если используется FDE, включите режим Secure Startup. Для этого:
- Зайдите в настройки и удалите текущий код блокировки.
- Создайте новый код блокировки. В процессе ввода кода блокировки система запросит, включить ли режим безопасной загрузки. Подтвердите запрос.
- Не забудьте отключить отладочный режим USB Debugging.
Можно ли изменить тип шифрования с FDE на FBE? В общем случае – нет. Возможность перейти с FDE на FBE была лишь у некоторых устройств Google (например, в планшете Pixel C) в процессе разработки FBE. Для современных устройств такой возможности нет.
Безопасность Android
Какие рекомендации обычно дают статьи, посвящённые безопасности Android? Использовать код блокировки посложнее или паттерн подлиннее; отключить Smart Lock; обновить Android; включить двухфакторную аутентификацию. Советы звучат логично, но при этом исключительно поверхностно, в стиле «как перестать переживать об информационной безопасности и начать жить». Между тем, для каждого второго смартфона на Android длина кода блокировки никак не влияет на безопасность; отключение Smart Lock бесполезно, если пользователь включил (или забыл выключить) отладочный режим USB debugging, а проверять обновления Android бесполезно, если производитель устройства затягивает с обновлениями.
Для начала составим свой список рекомендаций, а потом пройдёмся по некоторым пунктам подробно. Итак:
- Код блокировки. Он нужен, и желательно – не короче 6 цифр. При этом нужно проверить, какой механизм шифрования используется в смартфоне – FDE или FBE (это можно сделать описанной выше командой через adb), и если FDE, то необходимо включить режим безопасной загрузки Secure Startup (для этого код блокировки нужно сначала убрать, а потом создать заново, согласившись с запросом системы на включение безопасной загрузки).
- Отключите отладочный режим USB debugging. Любые другие действия бессмысленны, если этот режим – включён.
- Наверное, все в курсе, что разблокированный загрузчик – зияющая дыра в безопасности? Мы не будем даже рассматривать устройства с уже разблокированным загрузчиком, но если в настройках для разработчика (Developer settings) телефона есть пункт OEM unlock, а вы не собираетесь в ближайшее время разблокировать загрузчик – отключите его.
- Если в вашем телефоне есть настройка режима, в котором устройство должно быть доступно при подключении к компьютеру, выберите режим “только зарядка” (Charge only). В противном случае даже из заблокированного телефона удастся скопировать всё содержимое /sdcard, включая фото и видео. Если такой настройки нет, то проверьте, что происходит при подключении. Как правило, в современных устройствах режим Charge only будет выбран по умолчанию. Если это так – всё в порядке; если же по умолчанию выбран File Transfer или MTP – на безопасности можно ставить крест.
- Конечно, последняя версия Android – это хорошо, а актуальные патчи безопасности – и вовсе вещь обязательная. Проблема в том, что подавляющее большинство производителей безобразно затягивает с обновлениями, оставляя найденные уязвимости незакрытыми на многие месяцы (а то и годы). Если ваш телефон – не актуальный флагман, то о быстрых обновлениях можно забыть, а с дырами в безопасности — смириться. Но обновления всё равно проверить стоит.
- SmartLock – абсолютное зло с точки зрения безопасности. Отключите все виды SmartLock, включая разблокировку по лицу (только в SmartLock; если ваш телефон оборудован стереоскопическим сканером с инфракрасной подсветкой – совет не актуален).
- Заодно отключите задержку блокировки телефона, если она настроена (настрой Settings > Security & Location > Automatically lock > Immediately).
- Про установку из неизвестных источников. Не стоит держать этот переключатель в активном состоянии, он действительно делает телефон уязвимым. Кстати, в Android 8 отдельной настройки нет; разрешение выдаётся отдельным приложениям, управлять настройкой можно через пункт настроек Special app access.
- Не так давно в средствах массовой информации появилась шокирующая новость: оказалось, что ряд приложений для iPhone записывает действия пользователя и передаёт в виде аналитики скриншоты экрана, включая персональные данные, номера паспортов и кредитных карт. В Android скандала не произошло: абсолютно любое приложение с разрешениями Draw over other apps или запущенное в виде сервиса Accessibility может проделать то же самое. Проверьте соответствующие категории в настройках и запретите все приложения, для которых лично вы не выдавали данных разрешений.
- Проверьте пункт Device admin apps. Приложения из этой категории могут использоваться для того, чтобы дистанционно сменить код блокировки, заблокировать или разблокировать устройство, осуществить сброс к заводским настройкам. Если это Google Find My Phone или Exchange Admin, установленный работодателем, то всё хорошо. Проверьте, чтобы в списке не оказалось лишнего.
- Про встроенные производителями backdoors мы уже писали. Многие производители встраивают в прошивки своих телефонов средства для сбора аналитики. Время от времени оказывается, что «аналитика» — это и ваши контакты с паролями. По большому счёту, поделать тут особо ничего нельзя. Можно попробовать ограничить доступ аналитики в интернет (например, приложением AdGuard, установленным, кстати, из сторонних источников – с сайта разработчика, а не из Play Store), но если у вас на руках такой аппарат, то все возможные данные уже давно утекли. Такое устройство никогда не будет безопасным.
- Наконец, о приложениях из Play Store. Многие из них затребовали (и, скорее всего, получили) самые неожиданные разрешения. Например, приложению Angry Birds пользователь мог дать доступ к камере, микрофону и контактам (зачем?), продвинутому калькулятору – доступ к местоположению, а красивой фотогалерее – разрешение на чтение и отправку SMS. Зайдите в список разрешений приложений; для большинства пользователей простой анализ выданных разрешений становится большим сюрпризом.
- Не храните пароль от Google Account в браузере Chrome. Его будут искать в первую очередь.
- Включите двухфакторную аутентификацию. Без комментариев; на эту тему мы писали не раз и не два.
Отложенная блокировка
Когда-то давно ввод кода блокировки был единственным, медленным и неудобным способом разблокировать экран телефона. Многим пользователям постоянный ввод пароля представлялся неудобным; они отказывались от защиты в пользу удобства и скорости. Отложенная блокировка стала логичной реакцией на проблему как со стороны Google, так и Apple.

При активации соответствующей опции можно было отключить дисплей телефона кнопкой, включить его снова – и попасть сразу на домашний экран. Задержку можно настраивать в зависимости от собственных предпочтений. Нужно ли говорить, что задержка блокировки катастрофически снижает уровень безопасности? Типичная ситуация: пользователь идёт по улице, смотрит в телефон. Происходит задержание, пользователь рефлекторно нажимает кнопку отключения дисплея. Телефон изымают, включают экран – и сразу же попадают на домашний экран. Пароли, коды блокировки, заблокированный загрузчик, шифрование и многие другие вещи уже не будут иметь значения.
В iOS есть аналогичная настройка: Settings > Touch ID & Passcode > Require Passcode. Её предназначение примерно такое же, как в смартфонах с Android, за одним важным отличием: если использовать Touch ID или Face ID, то в современных версиях iOS единственным доступным вариантом выбора будет Immediately (т.е. блокировать сразу после отключения экрана). А вот если отключить биометрику, оставив только код блокировки, то станут доступными и другие варианты вплоть до Never (запрашивать код блокировки только после первой загрузки и время от времени согласно постоянно меняющимся политикам Apple). Обратите внимание: некоторые варианты могут быть недоступны, если на устройстве установлена внешняя политика безопасности.
Smart Lock
Почему все так ополчились на функцию Smart Lock? Дело в том, что её использование позволяет разблокировать телефон по ряду критериев, которые не имеют ничего общего с безопасностью. Рассмотрим на примерах.

Face unlock. Разблокировка по лицу в разделе Smart Lock не имеет ничего общего с биометрической аутентификацией. Это – всего лишь сличение образа пользователя с фотографией, сделанной на фронтальную камеру устройства. Такой face unlock легко обманывается плоской фотографией. Обратите внимание: в некоторых телефонах, оборудованных биометрической функцией Face Unlock (например, Xiaomi Mi 8) этого пункта в настройках не будет; в таких устройствах Face Unlock будет подчиняться тем же требованиям и правилам, что и разблокировка по датчику отпечатка пальцев. Разблокировку по лицу в разделе Smart Lock лучше не использовать.
Trusted places. Автоматически разблокирует устройства в окрестностях тех мест, где часто бывает пользователь. Если телефон вытащат из кармана возле дома, у злоумышленника не возникнет никаких проблем с его разблокировкой.
Trusted devices. Если подключено доверенное устройство Bluetooth, телефон может быть разблокирован автоматически. Поверьте, у полиции не возникнет затруднений использовать ваши «умные» часы или трекер для такой разблокировки.
Voice match, On-body detection: в какой-то степени экспериментальные варианты, позволяющие пользователям реже разблокировать устройство кодом блокировки.
Если Smart Lock настолько небезопасен, почему он вообще есть в Android? Smart Lock – тяжкое наследие с тех времён, когда ввод кода блокировки или паттерна был единственным способом разблокировать телефон. Подавляющему большинству пользователей не нравилось, что на разблокировку устройства тратятся драгоценные секунды (а разблокировать телефон в перчатках было той ещё задачей); в результате многие не устанавливали никакой защиты вообще. Для того, чтобы хоть как-то приучить пользователей к установке кода блокировки, Google пришлось сильно занизить планку: так, появились опции, позволяющие отсрочить блокировку экрана на 10-15 минут с момента последней разблокировки. Smart Lock – из той же оперы. Никакой разумной нужды что в Smart Lock, что в отложенной блокировке уже не осталось: современные сканеры отпечатков пальцев срабатывают чуть быстрее, чем просто «мгновенно», а разблокировка по лицу достигла достаточно высоких уровней скорости и иногда (об этом ниже) безопасности.
Разблокировка по лицу: шаг вперёд, два шага назад
Насколько безопасна разблокировка по лицу? В случае с iPhone всё понятно; в них используется система с достаточным уровнем технической безопасности; и даже несмотря на это, систему Face ID регулярно подвергают критике.
В смартфонах с Android производители устанавливают модули разблокировки по лицу, безопасность которых находится в пределах от «удовлетворительно» до «тот же Smart Lock, вид сбоку». Так, в смартфонах Samsung есть режим, комбинирующий образ лица со сканированием радужной оболочки глаза; обмануть такую систему трёхмерной моделью головы не удастся. Аналогичные системы стали появляться в некоторых флагманских устройствах Huawei, Xiaomi и других. В то же время в ряде устройств используются гораздо более примитивные системы, основанные или на фотографии с фронтальной камеры, или на двумерном фото с инфракрасного датчика. Обмануть такие системы вполне возможно, иногда – очень просто. Как правильно заметили в статье «Разблокировка по лицу — не лучшая идея», подход «Мой телефон умеет все то же, что и твой iPhone, — и стоит в десять раз меньше!» будет встречаться всё чаще.
Пример из жизни, или почему не стоит доверять производителю. В смартфонах Xiaomi Mi 8 и Mi 8 Pro для разблокировки по лицу использовалась система из сдвоенных камер и инфракрасной подсветки. Система работала достаточно быстро, обеспечивая удовлетворительный уровень безопасности. В моделях Xiaomi Mi 9 и Mi 9 Pro, которые пришли на смену восьмой серии, система из двух камер и инфракрасной подсветки уступила место единственному глазку фронтальной камеры, расположенной в миниатюрном каплевидном вырезе. Возможность разблокировки смартфона по лицу осталась в прошивке, но её безопасность упала с «удовлетворительной» до «избегать любой ценой». Если вы не уверены в том, как именно реализована разблокировка по лицу в вашем смартфоне, отключите эту возможность в настройках.
Особняком стоит правовой аспект разблокировки по лицу. В США был создан ряд прецедентов, регулирующих возможности полиции по разблокировке устройств посредством сканирования лица подозреваемого. Имеются как ряд положительных (разрешение на разблокировку по лицу было выдано), так и отрицательных (разрешение не было выдано или было выдано неправомерно) прецедентов, благодаря которым установлены достаточно чёткие правовые рамки, переходить которые полицейские в большинстве случаев не станут.
В то же время в России мы неоднократно слышали о случаях, когда телефон «случайно» поворачивался в сторону задержанного, после чего «сам собой» разблокировался. Доказать, что телефон был разблокирован с нарушением правовых норм, в таких случаях очень тяжело: нательными камерами, как в США, российские полицейские пока не оснащены.
Использовать или не использовать разблокировку по лицу – вопрос открытый, и ответ на него лежит не только в технической области; решать в любом случае вам.
Безопасность небезопасного: советы энтузиастам
Эта глава посвящена в основном китайским устройствам, в прошивках которых обнаружились (или ещё не обнаружились, но точно есть) сюрпризы. Если вы – не энтузиаст, готовый потратить часы и дни на чтение форумов и возню с прошивками, — смело пропускайте этот раздел, перейдя сразу к следующей главе.
Что можно сделать, если у вас на руках – телефон с разблокированным загрузчиком или перепрошитая ушлыми продавцами китайская версия? В этом случае говорить о серьёзной безопасности, конечно, не приходится, но кое-что сделать всё-таки можно.
Первый и самый простой вариант: у вас на руках телефон, загрузчик которого разблокирован (например, предыдущим владельцем). Часто подобные ситуации осложняются тем, что на телефоне установлена кастомная прошивка, root-доступ, модифицирован системный раздел или и вовсе непонятно, что творится внутри. В большинстве случаев такой телефон можно вернуть в «заводское» состояние, прошив его на заводскую прошивку, после чего загрузчик можно заблокировать из fastboot командой oem lock. Особенно это рекомендуем проделать с китайскими устройствами, на которые ушлые продавцы часто (чаще, чем можно себе представить) устанавливают прошивки с самыми разнообразными сюрпризами. При попытке после этого разблокировать загрузчик командой oem unlock криптоключи и все данные будут уничтожены.
Обратите внимание: данная стратегия не сработает со свежими телефонами Xiaomi, перепрошитыми с китайской версии прошивки на «глобальную» версию MIUI. Если заблокировать загрузчик на таком устройстве, на выходе получится «кирпич», восстановить который может быть очень и очень трудно. Если всё-таки решите попробовать – заведите на телефоне Xiaomi Account и разрешите в настройках OEM Unlock, чтобы впоследствии, если что-то пойдёт не так, можно было бы воспользоваться утилитой Mi Unlock для обратной разблокировки загрузчика.
А если загрузчик нельзя заблокировать (так часто бывает на многих китайских устройствах)? Значит, вам не повезло. Впрочем, если вы всё же приобрели такое устройство, то, вероятно, безопасность – последняя из интересующих вас проблем. Теоретически даже на таких устройствах будет работать шифрование, которое не позволит просто так считать данные. На практике же взлом таких устройств обычно не представляет никакой проблемы. Единственное, что можно попытаться сделать – настроить Secure Startup; в этом режиме ключ шифрования данных будет генерироваться на основе кода блокировки. Достаточно длинный код блокировки увеличит время, которое потребуется на взлом.
Что делать, если был куплен телефон, который ведёт себя странно? При малейшем подозрении на вредоносное ПО в прошивке рекомендуем зайти в профильную ветку на 4PDA. Вполне вероятно, что проблема известна, и на форуме уже есть подробные инструкции по удалению или заморозке зловредного ПО.
А что делать, если производитель не выпускает обновлений, а в прошивке прочно прописались зловредные компоненты? Конечно, разумным поступком было бы избавиться от такого устройства, но в реальном мире так мало кто делает. Поэтому рекомендация: попробуйте разблокировать загрузчик (хуже уже не станет) и установить на телефон официальную сборку Lineage OS. В официальных сборках Lineage (в отличие от, например, Resurrection Remix) всё хорошо и с приватностью, и с шифрованием, и с обновлениями «по воздуху». В зависимости от доступной для конкретного устройства версии прошивки может использоваться шифрование как FDE, так и FBE; в первом случае рекомендуем настроить Secure Startup. Если же сборок Lineage нет или разблокировать загрузчик невозможно, то даже ребёнку я бы такой телефон отдавать не стал.
Если забрали компьютер
Обсудив защищённость твоих данных в мобильном устройстве, поговорим о том, как анализ вашего компьютера может повлиять на безопасность ваших же мобильных устройств. Если эксперт получил доступ к вашему компьютеру, а полнодисковое шифрование (например, посредством BitLocker) вы не используете, то запуском простой утилиты и одним-двумя кликами мышки будут извлечены все логины и пароли от всех ваших учётных записей. Откуда? Из базы данных вашего браузера: Chrome, Mozilla, Edge… Используете менеджером паролей? Если ваша разработка в качестве подозреваемого представляет хоть какой-то интерес, то к базе данных паролехранилки попытаются подобрать пароль (здесь, впрочем, результат не гарантирован).
Что произойдёт, когда пароли будут извлечены? В зависимости от того, каким смартфоном вы пользуетесь, эксперт запустит ещё одно приложение, которое извлечёт всю информацию из облака Apple, Google или, к примеру, Samsung. (В скобках: если у вас смартфон Samsung, то известно ли вам, что именно хранится в соответствующем облаке, даже если вы не включали его сознательно?)
Если у вас iPhone, из облака можно извлечь:
- Резервные копии
- Синхронизированные данные: контакты, заметки, календари, закладки браузера Safari и т.п.
- Фотографии (если включён iCloud Photo Library), в т.ч. недавно удалённые
- Журнал звонков и историю браузера
- Некоторые данные Карт
- Если узнают код блокировки телефона или пароль от компьютера Mac, то и все «облачные» пароли (iCloud Keychain) и данные «Здоровья» (журнал повседневной активности), а также SMS и iMessage
Если у вас смартфон на Android, имейте в виду: Google собирает намного больше данных, чем Apple. Длиннее и список доступной для извлечения информации:
- Резервные копии и данные приложений (кстати, в Android именно в этой категории будут храниться журналы звонков, SMS, а также маркеры аутентификации отдельных приложений)
- Резервные копии в Android 9 и более свежих версиях будут зашифрованы паролем блокировки экрана; для их расшифровки потребуется этот код блокировки. А вот для более старых версий Android шифрования резервных копий не предусмотрено
- Синхронизированные данные: календари, контакты, заметки
- Пароли Chrome (какой-либо дополнительной защиты, как в iOS, для них не предусмотрено)
- Подробнейшая история местоположения за последние много лет. Пожалуй, на этот пункт будут обращать внимание в первую очередь.
- История браузера и поисковых запросов. Исследуется в обязательном порядке.
- Почта Gmail, которую можно использовать, например, для сброса пароля к другим учётным записям
Исследование «облака» Google часто даёт более интересный результат, чем даже анализ самого смартфона, т.к. собираются данные не только с конкретного телефона, но и со всех других устройств (в том числе компьютеров), в которых пользователь вошёл в свой Google Account.
Если у вас телефон Samsung, то помимо облака Google можно извлечь ещё кое-что из собственного облака Samsung. Мы понимаем, что для многих читателей наличие у Samsung собственного «облачного» сервиса станет сюрпризом, а то, что в нём, оказывается, хранятся какие-то данные (и пользователь с этим в какой-то момент успел согласиться), может сильно удивить. В облаке Samsung можно найти:
- Резервные копии (интересно, что Samsung сохраняет в облаке не только данные приложений, но и APK)
- Фотографии (если пользователь не предпринял осознанных усилий, чтобы отключить синхронизацию фотографий в облако)
- Данные Samsung Health
- Резервные копии часов и трекеров Samsung
Пользователи смартфонов Xiaomi (а также других устройств под управлением MIUI) имеют возможность синхронизировать свои устройства с облаком Mi Cloud (если смартфон «глобальной» версии, то информация сохраняется в дополнение к тому, что сохраняется в Google Account). В облаке Mi Cloud можно найти следующее:
- Резервные копии. Здесь достаточно скудно: сохраняются APK и настройки телефона, но не сохраняются данные приложений.
- Контакты, SMS
- Фотографии, если пользователь включил синхронизацию
Как обезопасить себя от «облачных» атак? Самые распространённые советы по безопасности, кочующие из одной статьи в другую, оказываются и самыми бесполезными. Можно выбрать длинный и сложный пароль, но извлечение даже самого длинного пароля из встроенного в Chrome хранилища займёт те же миллисекунды, что и совсем короткого. Можно включить двухфакторную аутентификацию, но обойти её будет довольно просто, если эксперт извлечёт из телефона SIM-карту и использует её для получения одноразового кода или получит доступ к компьютеру, с которого пользователь входил в учётную запись. Более того, если веб-браузер авторизован в Google Account, из кэша можно извлечь cookie, содержащие маркеры аутентификации – в этом случае не нужен ни одноразовый код, ни пароль, ни даже логин. Это не значит, что двухфакторная аутентификация бесполезна – она вполне эффективна против попыток удалённого взлома. Просто рассчитывать только на эти меры в случае работы грамотных экспертов нельзя.
Помочь может многослойная защита.
Во-первых, обеспечь физическую безопасность компьютера, включив шифрование системного диска через BitLocker. (Кстати, убедитесь, что ключ шифрования BitLocker Recovery Key не сохранился в Active Directory и не «утёк» в облако OneDrive, проверить можно здесь).
Если вы живёте в России, то просто так взять и зашифровать системный диск не получится. Для того, чтобы включить шифрование, нужна как минимум профессиональная редакция Windows и наличие аппаратного модуля доверенной загрузки TPM 2.0. Именно в аппаратном модуле должен храниться сам ключ шифрования, при помощи которого будет зашифрован раздел. Модули TPM 2.0 не получили сертификации ФСБ; соответственно, все продающиеся на территории РФ компьютеры не должны включать этот модуль по умолчанию, даже если он физически распаян на материнской плате. Варианты? Если есть возможность активировать TPM 2.0 в настройках BIOS – сделайте это и включите BitLocker. Если такой возможности нет, то разрешить шифрование системного раздела при помощи BitLocker можно и без аппаратного модуля. Сделать это можно вручную, отредактировав групповые политики Windows. Подробности – по ссылке.
Следующий слой защиты – пароли для облачных учётных записей. Для «облачных» сервисов Google, Apple, Samsung, Xiaomi используйте уникальные, не совпадающие друг с другом даже частично пароли, не похожие на все те, что записаны в хранилище браузера. Запустите свой любимый, не самый любимый и совсем нелюбимый браузеры и убедитесь, что в их хранилище нет данных перечисленных выше учётных записей. Если используется Chrome – выйдите из учётной записи Google. Сотрите кэш и cookie браузера, после чего закройте все окна. Всё, на какое-то время (пока вы снова не войдёте в Google Account) вы защищены от «облачного» вектора атаки.
Использование такой системы незначительно повлияет на удобство повседневного использования, но существенно повысит безопасность.
Анализ компьютера: правовые особенности
Насколько реальны риски, связанные с анализом компьютера? По информации от самих полицейских, исследование компьютеров проводят нечасто. Как правило, у полиции возникают следующие препятствия:
- Препятствия юридического характера: имеющееся постановление разрешает досмотр и анализ улик, имевшихся у задержанного при себе (но не дают разрешения на обыск в квартире).
- Ограничения по времени: работа эксперта поставлена на поток. В рутинных случаях у эксперта нет месяца, недели или даже нескольких дней, чтобы подробнейшим образом проанализировать все доступные улики.
- Пароль к BitLocker чрезвычайно стойкий. Атаки «в лоб» обречены, если полиция не сможет извлечь готовый ключ шифрования посредством, к примеру, FireWire Attack.
- Поверхностная экспертиза: в результате жёстких временных рамок содержимое жёсткого диска просматривается на предмет вполне конкретных файлов (фото- и видеоматериалы, переписка, базы данных мессенжеров).
- Даже если предпринимается полный анализ, очень часто в кэше браузеров не оказывается нужных паролей.
- Даже если нужные пароли есть, в «облаке» подозреваемого не оказывается резервных копий вообще или достаточно свежих резервных копий. Даже для iOS это типичная ситуация: если оставить все настройки «по умолчанию», то мизерные 5 ГБ бесплатного места в «облаке» в кратчайшие сроки будут забиты синхронизированными фотографиями. На резервные копии места уже не останется. А вот у пользователей Android – останется: как резервные копии, так и фотографии в «стандартном» качестве не учитываются в и без того достаточно щедрой квоте в 15 ГБ.
Заключение
В этой статье мы максимально подробно рассмотрели риски и настройки безопасности, выходящие далеко за рамки стандартных советов «установить код блокировки» и «включить двухфакторную аутентификацию». Надеемся, что понимание рисков, связанных с теми или иными твоими действиями и настройками, поможет вам адекватно оценить степень безопасности твоих данных – и, возможно, усилить слабые места без каких-либо заметных неудобств в работе.
Лучшие приложения, которые превратят андроидофон в неприступный гаджет
Как бы ни старались инженеры Google сделать Android более безопасной ОС, когда дело касается юзабилити, им приходится идти на уступки. Вроде бы можно заставить пользователя применять длинный пароль на экране блокировки, но это создаст неудобства; можно зашифровать содержимое карты памяти, но как быть, если юзер вставит ее в другой смартфон? Компромиссы, компромиссы, компромиссы… А если самим сделать то, что Google не может?
Введение
Смартфон, планшет, умные часы. Все это мобильные гаджеты, которые теряются, крадутся, вымогаются, продаются первому встречному. Хранить важные для себя данные в таком девайсе не то что опасно, а сродни выставлению на всеобщее обозрение: взял чужой телефон и за пять минут узнал, с кем человек общается, кому и что пишет, его пароли на сайтах и количество оставшихся денег на счете и кредитной карте (ну ладно, платить по NFC еще нельзя, и то хорошо).
Понятно, что от непрошеных гостей можно поставить пин на экране блокировки, однако для человека, обладающего хоть десятью граммами серого вещества, не составит труда обойти все эти пины вместе с фейсконтролями (да и отпечаток пальца в iPhone 5s, чего уж там). Шифрование данных? Да, в Android с недавнего времени есть возможность настроить шифрование всех пользовательских данных, да так, что ни один математик не вскроет. Проблема только в том, что они расшифровываются при включении смартфона и остаются открытыми все время его работы. А карта памяти так и вообще доступна всем и вся, даже если ее физически нет в смартфоне (это я про эмуляцию карты памяти в нексусах).
Что еще? Да в общем-то, все. По сути, это весь набор защитных механизмов, которые может предложить ОС в борьбе атаками, основанными на, так сказать, доступе к телу. Есть, конечно, еще разные цифровые сертификаты, шифрованная передача данных по сети и прочее, но все это относится к сетевому взаимодействию. А вот против ручного вмешательства защиты почти никакой. И мы должны это исправить.
До и после
Вообще говоря, все виды защиты смартфона (да и всего что угодно) можно разделить на две простые логические группы: те, что применяются как заблаговременные превентивные меры, перекрывающие доступ к какой-либо информации (пин, пароль, шифрование), и те, что должны сработать уже после того, как злоумышленник получил доступ к смартфону. Ко второму типу в основном относятся разного рода системы удаленной блокировки и поиска, но это также и более изощренные системы, например те, что умеют делать незаметные снимки фронтальной камерой и совершать обратный звонок. Мы рассмотрим их позже, а пока разберемся с тем, как и что мы можем защитить заблаговременно.
Пароли
Первое, что приходит на ум, когда речь заходит о защите информации, — это, конечно же, пароли. Android в смысле обращения с паролями использует несколько стандартных для многих мобильных и не очень систем методику. Пароль Google вводится один раз, после чего на его основе генерируется аутентификационный токен, который сохраняется в памяти устройства в открытом виде, но может быть использован для доступа к аккаунту только с данного смартфона, а в случае утери девайса отозван через веб-интерфейс. Таким же образом действуют многие другие приложения, включая Twitter и Facebook. Что-либо изменить в таком поведении невозможно, да и бессмысленно.
Для хранения браузерных паролей используется другая методика. Все введенные и сохраненные в браузере данные записываются в файл /data/data/com.android.browser/webview.db , и, хотя штатными средствами просмотреть его невозможно, имея root (а мы ведь любим рутовать смартфоны), легко скопировать файл на соседний смартфон, а затем проанализировать его с помощью любого приложения для просмотра баз SQLite 3.
Я бы хотел сказать, что для создания необходимого уровня безопасности браузер должен запрашивать у пользователя мастер-пароль для расшифровки сохраненных паролей, однако очевидно, что в данном случае имеет место очередной компромисс. А уж как обойти этот компромисс, решать нам. Один из способов — это просто не сохранять пароли в браузере и вводить их каждый раз заново. Удобно? Не думаю.
На компах многие привыкли использовать для решения этой проблемы специальный софт типа KeePass — он хранит все пароли в одном зашифрованном контейнере, который открывается при вводе мастер-пароля. Что мешает нам использовать тот же софт на Android-смартфоне? Ничего, приложение Keeper Password & Data Vault, которое можно найти в маркете по цене 0 рублей 0 копеек, справляется с этой задачей на ура. Возможности приложения:
- Работает везде: Android, iOS, Windows, OS X, Chrome, Firefox.
- Синхронизирует базу паролей между разными инстанциями.
- Позволяет безопасно обмениваться инфой.
- Шифрование: 256-битный AES с генерацией ключей по стандарту PBKDF2.
- Двухфакторная проверка подлинности (с помощью SMS, голосовая проверка или Google Authenticator).
- Автоматическое заполнение полей.
Другие статьи в выпуске: 
Хакер #180. 2014: люди, вирусы, баги, релизы
В отличие от LastPass и других приложений подобного класса у него есть полностью бесплатная версия (без всяких триалов), которая окупается тем, что не имеет функции синхронизации между устройствами и бэкапа в облако (причем синхронизация тоже работает через облако!). При наличии прав root ограничение легко снять с помощью приложения DataSync, которое умеет синхронизировать данные приложений между устройствами напрямую, что явно намного безопаснее облачного метода (привет АНБ).

Сразу после запуска Keeper запросит мастер-пароль для шифрования паролей
Пароли защищены, теперь мы должны подумать, как уберечь от глаз неугодных простые приложения. В Android для этого не предусмотрено никаких средств, что, в общем-то, логично. Если уж смартфон твой (ну или не твой, а только находится в твоих руках), то тебе доступны все приложения и их данные, без всяких дополнительных прослоек безопасности. А вот чтобы отличить своего владельца от чужого, система использует стандартный пин-код или пароль.
Сама по себе идея пин-кода не плоха и как средство против «оставил на десять минут телефон, кто-то в нем поковырялся» подходит отлично, только вот удобства от нее мало. Лично я никогда не хотел жертвовать удобством использования смартфона и не устанавливал ни пин-код, ни другие средства блокировки. Если же без пина никак, то предлагаю хороший способ серьезно упростить себе жизнь с помощью автоматического отключения блокировки на время нахождения дома.
Для этого можно приобрести одну из платных софтин, распространяемых через маркет, либо воспользоваться всеми нами любимым инструментом Tasker (он тоже платный, но заменит сотни приложений). Идея состоит в том, чтобы создать правило, которое будет отключать пин-код экрана блокировки после обнаружения домашней сети Wi-Fi и включать его вновь, когда смартфон окажется вне радиуса действия сети.
Задача очень простая и выглядит так (подробности работы с Tasker см. в предыдущих выпусках журнала):
Функция очистки и повторной установки пароля вместо простого отключения пин-кода здесь использована нарочно, так как последнее почему-то не всегда срабатывает.
Альтернатива этому методу — установить пин-код на отдельно взятые приложения и функции. Штатно это сделать, конечно же, не удастся, а вот сторонних приложений с подобной функциональностью в маркете много. Все они работают по одному и тому же принципу: перехватывают вызов приложения и накладывают поверх его интерфейса экран с просьбой ввести пин-код. На секьюрити-фичу это, конечно, не тянет, но как способ закрыть глаз подружки на SMS и почту вполне годится.
Два самых продвинутых блокиратора приложений — это AppLock и Hi App Lock, который почему-то очень любят на XDA. Они имеют практически идентичную функциональность, однако преимущество первого в большом количестве платных дополнений. Основной функционал обоих приложений — это возможность включить защиту любого установленного приложения, однако отдельно предлагается также запретить установку, удаление и убийство приложений, отключить возможность «взять трубку» и просматривать список недавно запущенных приложений. Все это включается одним тапом на главном экране.

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

Базовая функциональность AppLock
В целом приложение довольно игрушечное, и его очень легко обойти, просто отключив в настройках, но как вариант защиты от дурака сгодится, тем более что лучшего способа еще не придумано.
Шифрование
После того как пароли и приложения были защищены, самое время подумать о данных. Как я уже говорил, в Android начиная с версии 3.2 присутствует система шифрования данных, основанная на Linux-технологии dm-crypt, которая используется для защиты данных на серверах уровня Enterprise. Для ее включения достаточно установить пин-код или пароль на экран блокировки (Настройки -> Безопасность -> Блокировка экрана -> PIN-код), а затем активировать шифрование с помощью опции «Настройки -> Безопасность -> Зашифровать данные». Смартфон уйдет в перезагрузку и зашифрует все приложения и их данные, расшифровка которых будет происходить при каждом включении устройства (для этого потребуется ввести пин-код).
С точки зрения безопасности это очень надежная система шифрования (128-битный AES в режиме CBC и ESSIV: SHA256), однако у нее есть несколько ключевых недостатков. Во-первых, с ее помощью удастся зашифровать только внутреннюю память смартфона, а именно каталог /data . На свежих смартфонах без карты памяти это не проблема, а вот если данные хранятся на съемном носителе, они останутся незащищенными.
Во-вторых, штатная система шифрования доступна далеко не в каждой прошивке. Причем это относится не только к некоторым кастомным прошивкам, но и к стоковым, которые идут вместе со смартфоном (например, HTC). Ну и третье: система использует один и тот же пароль как для разблокировки устройства, так и для расшифровки данных. А это значит, что придется выбирать между быстротой разблокировки экрана с помощью простого четырехзначного кода и сохранностью данных, для которой требуется сложный пароль (если человек завладеет твоим смартфоном, он сможет снять дамп памяти и за пять минут подобрать четырехзначный цифровой код).
Решить последнюю проблему можно с помощью приложения EncPassChanger, которое позволяет изменить пароль шифрования данных так, чтобы он отличался от пароля экрана блокировки. В этом случае можно будет оставить пароль локскрина простым, а пароль для расшифровки, который нужен только во время включения смартфона, сделать восьми- или десятизначным.
Вторую проблему по понятным причинам мы решить не сможем, а вот для решения первой можно использовать специальное приложение. В маркете есть масса софтин, позволяющих создавать шифрованные контейнеры, однако большинство из них — это бесполезная «вещь в себе», которая позволяет получить доступ к зашифрованным данным только через саму себя. Я предлагаю использовать приложение Cryptonite, которое умеет как работать в режиме «вещь в себе», так и создавать шифрованные каталоги, доступные всем приложениям (при наличии Android 4 и прав root).

Интерфейс Cryptonite
Cryptonite опирается на шифрующую файловую систему EncFS, которая работает по принципу «пишем в один каталог, получаем зашифрованный результат в другом». Поэтому перед тем, как ее использовать, нужно создать на карте памяти две папки. Пусть это будет crypt и decrypt . Далее запускаем Cryptonite, идем в «Настройки -> Mount point» и выбираем каталог decrypt . Он будет использован как точка доступа к зашифрованным данным. Возвращаемся обратно, переходим на вкладку LOCAL и нажимаем кнопку Create local volume. Выбираем пункт Paranoia, далее каталог crypt . Дважды вводим пароль. Возвращаемся на вкладку LOCAL, нажимаем кнопку Mount EncFS, выбираем каталог crypt и вводим пароль.

Как и EncFS, Cryptonite позволяет выбрать из четырех предустановок шифрования
Теперь все, что ты скопируешь в каталог decrypt , автоматически попадет в каталог crypt в зашифрованном виде. После отключения decrypt (кнопка Unmount на вкладке LOCAL) его содержимое исчезнет, а при подключении вновь появится. Красота такого решения в том, что с каталогом decrypt можно работать из любого приложения и подключать его только тогда, когда это нужно, а не на все время работы смартфона, как это происходит в случае со стандартной системой шифрования Android.

Каталог, скопированный в decrypt в зашифрованном виде, выглядит так
После кражи
Трудно представить себе человека, который никогда не терял смартфон и не становился жертвой воров. Это, так сказать, встроенная «функциональность», которая идет в комплекте с любым мобильным гаджетом (за исключением разве что умных часов, которые крепятся к телу носителя). Однако сейчас, когда смартфоны стремительно дешевеют, основной проблемой при потере девайса становится не сама досада от этого и необходимость тратить деньги, а то, что хранящаяся на нем информация попадет в чужие руки.
Современный смартфон обычно имеет доступ к огромному количеству сервисов, включая Gmail, Twitter, Facebook, Instagram, содержит в себе фотографии, пароли и видеозаписи. Его потеря может быть чревата очень серьезными последствиями, избежать которых пока можно только двумя общепринятыми мерами: с помощью быстрого аннулирования всех паролей и токенов к веб-сервисам или используя приложения класса «антивор».
Последних в настоящее время развелось довольно много. Если раньше выбор состоял практически исключительно из Prey и еще нескольких малоизвестных аналогов, то теперь антивор есть во многих антивирусах, встроен как один из Google-сервисов в сам Android, доступен как часть прошивки CyanogenMod и даже в виде приложения Plan B, которое можно установить и активировать уже после того, как телефон утерян (работает такая функция, правда, только в Android 2.0–2.3).
Проблема всех этих решений только в том, что от них очень легко избавиться. Все сторонние приложения слетят сразу после сброса до заводских настроек, от которого не спасутся даже те, что используют штатную «защиту от удаления» (которая и без того легко деактивируется через настройки). Этот же сброс сделает бесполезными и встроенные функции антивора Android и CyanogenMod, так как привязка к аккаунту просто исчезнет. Поэтому я бы рекомендовал, как это ни странно, использовать антивирус Avast.
Примечателен он в первую очередь тем, что имеет в своем составе самую правильную из всех виденных мной реализацию антивора. В Avast это отдельное компактное приложение, которое можно не только установить и скрыть из списка приложений, но и (при наличии прав root) прописать в системный раздел, да так, что он выживет не только после вайпа, но и после обновления прошивки с помощью кастомной консоли восстановления (в нем есть скрипт, который заставляет консоль делать бэкап антивора перед обновлением).
Фактически антивор можно убить только двумя путями: установить официальное обновление штатными средствами производителя смартфона (OTA, fastboot или специальное приложение) или вырезать из раздела /system вручную. Но и это еще не все, специально для устройств с залоченным системным разделом (S-ON) в инсталляторе антивора реализован механизм автоматической установки с помощью перезагрузки в консоль восстановления.
В остальном функционал антивора стандартен: отслеживание положения устройства, включение сигнализации, удаленный вайп и блокировка, а также возможность управления по SMS с заранее заданного доверенного номера.

Штатная функция удаленного поиска включается в приложении «Настройки Google»
Выводы
С помощью описанных в статье приложений ты получишь смартфон, все данные на котором будут зашифрованы, пароли и приложения защищены от посторонних глаз, пароль на экране блокировки будет включен только тогда, когда он действительно нужен, а после потери смартфона ты сможешь стереть с него все данные, заблокировать и отследить его положение. Все это отнюдь не панацея, и, как я уже говорил, знающий человек сможет получить все, что ему нужно, но 99% людей будут бессильны.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Сравнение Android-приложений для шифрования данных
Цель данной статьи — сравнить три Android-приложения для шифрования данных — LUKS Manager, Cryptonite и CyberSafe Mobile. Сразу нужно отметить, что сравнение будет честное, а не с целью выделить преимущества той или иной программы. У каждой программы есть свои достоинства и недостатки, в этой статье они будут раскрыты в полном объеме.

Чем обусловлен выбор приложений?
Прежде всего, хочется отметить, почему в обзоре участвуют именно эти приложения. С программой CyberSafe Mobile, думаю, все ясно, ведь вы читаете блог компании Киберсофт, поэтому вполне логично увидеть нашу программу в обзоре. А вот остальные программы были выбраны так называемым методом Коши, он же метод научного тыка, то есть случайным образом. Конечно, при выборе программ учитывалась их популярность и рейтинги. Так, у программы Cryptonite на данный момент более 50 тысяч загрузок и ее рейтинг составляет 4.3, а у программы LUKS Manager такой же рейтинг, но в пять раз меньше загрузок — более 10 тысяч.
Для Android было разработано множество программ шифрования данных, поэтому мы физически не сможем рассмотреть все из них. Возможно, в будущем будет написан аналогичный обзор других программ и их сравнение с программой CyberSafe Mobile. Пока же ограничимся ранее упомянутыми программами.
LUKS Manager
LUKS Manager — это одна из первых настоящих программ для шифрования в Android. До нее программы «шифрования» на самом деле шифрованием то и не занимались, а делали всякую ерунду вроде присваивания файлу атрибута скрытого.
Программа LUKS Manager оставила двойственное впечатление. Начну по порядку — с самой установки программы. Программа требует, чтобы у вас был root-доступ, а также были установлены SuperSU и BusyBox. Требование root-доступа — характерная особенность всех серьезных программ шифрования в Android, поскольку без максимальных привилегий мало что можно сделать. А вот требование SuperSU и BusyBox натолкнули меня на мысль, что программа, по сути, ничего сама не делает, а вместо использования системных вызовов Android, использует утилиты BusyBox. Другими словами, программа является лишь оболочкой для системных команд. Ну да ладно, начинающие пользователи вряд ли будут разбираться со всеми этими командами, поэтому оболочка как раз то, что нужно — главное, чтобы она работала.
У меня уже был root-доступ к моему устройству, был установлен SuperSU, а вот BusyBox пришлось доустановить из Play Market. Однако после установки BusyBox программа все равно радостно сообщила мне, что не видит его (рис. 1).
Рис. 1. Программа LUKS Manager не видит установленный BusyBox
Не буду описывать, что я делал, чтобы программа его «увидела», скажу лишь только, что помогла перезагрузка планшета. Как-то попахивает Windows даже, а не UNIX, коим, как ни крути, является Android. Кстати, издевательства происходили над планшетом Acer B1 с Android 4.1.2. Ни один планшет в результате экспериментов не пострадал 🙂
После перезагрузки программа все-таки запустилась (рис. 2). Интерфейс программы очень прост. Я бы даже сказал спартанский. Скриншоты я обрезаю, чтобы не уменьшать их размер и чтобы вам было их лучше видно.
Рис. 2. Программа LUKS Manager
Функционал программы также спартанский. Вы можете просмотреть, какой контейнер смонтирован (кнопка Status), создать контейнер (кнопка Create), подмонтировать (кнопка Mount) и размонтировать его (кнопка Unmount), размонтировать все контейнеры (Unmount All), удалить контейнер (Remove). То, что программа может создавать зашифрованные контейнеры и монтировать их — хорошо. Но в наше время хочется видеть возможность облачного шифрования, возможность монтирования сетевых папок, чтобы можно было работать с удаленным контейнером. Также хотелось видеть встроенный файловый менеджер на случай, если у пользователя такой программы не установлено. Ведь и так для работы LUKS Manager мне пришлось рутировать устройство, установить SuperSu и BusyBox. Получается, что еще нужен и файловый менеджер. Базовый функционал (отображение файлов и папок) в программе есть, неужели было трудно добавить функции копирования/перемещения/удаления файлов и папок? Для доступа к «проводнику», встроенному в программу, нажмите кнопку вызова меню программы и выберите команду Explore. Впрочем, об этом мы еще поговорим.
Посмотрим на программу в работе. Нажмите кнопку Create для создания контейнера. Программа предложит выбрать каталог, в котором будет храниться контейнер (рис. 3, рис. 4).
Рис. 3. Нажмите OK
Рис. 4. Выберите каталог и нажмите Select This Directory
Далее нужно ввести название контейнера (рис. 5), пароль для доступа (рис. 6) к нему и размер контейнера (рис. 7). Программа не отображает введенный пароль и не предлагает ввести подтверждение пароля, поэтому есть вероятность ошибки при вводе пароля — тогда подмонтировать созданный контейнер не получится и это нужно учитывать при работе с программой.
Рис. 5. Название контейнера
Рис. 6. Пароль для доступа к контейнеру
Рис. 7. Размер контейнера
Следующий вопрос — как форматировать контейнер: как FAT (будет совместимость с FreeeOTFE) или как ext2 (рис. 8). LUKS Manager создает контейнеры, совместимые с Windows-программой FreeOTFE. Как по мне, лучше бы программа поддерживала TrueCrypt. Однако нужно отметить, что наконец-то у FreeOTFE появилась поддержка 64-битных версий Windows, что позволяет более полноценно использовать связку LUKS Manager + FreeOTFE на современных компьютерах. Было бы неплохо, если у LUKS Manager была возможность удаленного монтирования контейнера, который находится на Windows-компьютере. Тогда бы вы могли на ПК с помощью FreeOTFE создать контейнер и удаленного подмонтировать его на вашем Android-устройстве. Преимущество такого решения — не нужно захламлять память устройства, да и сами бы данные физически не хранились бы на Android-устройстве, шансов потерять которое гораздо больше, чем обычный ПК.
Рис. 8. Как форматировать контейнер?
Далее программа сообщит вам, что контейнер создан и подмонтирован к папке /mnt/sdcard/<название контейнера>, в нашем случае — это /mnt/sdcard/photos (рис. 9). В настройках программы можно будет изменить название этой папки.
Рис. 9. Контейнер подмонтирован
Осталось запустить какой-то сторонний файловый менеджер и скопировать в созданный контейнер файлы (рис. 10).
Рис. 10. Файлы скопированы
Пробуем размонтировать контейнер (кнопка Unmount), при этом программа показывает окошко, позволяющее выбрать, какой именно контейнер нужно размонтировать (рис. 11).
Рис. 11. Размонтирование контейнера
После этого запускаем файловый менеджер и переходим в /mnt/sdcard/. Папка photos есть и она почему-то не удалена, но доступ к ней запрещен (рис. 12). Обычно такие временные папки должны удаляться после размонтирования. Но это мелочи, в принципе.
Рис. 12. Доступ к /mnt/sdcard/photos запрещен
- Encryption keysize — размер ключа шифрования, по умолчанию 256 бит.
- Mount directory — папка, к которой будут монтироваться контейнеры.
- Explore on mount — если этот параметр включен, после монтирования контейнера его содержимое будет отображено во встроенном «проводнике» (рис. 15). Однако, встроенный файловый менеджер позволяет лишь просматривать содержимое контейнера, он не позволяет управлять файлами. Максимум, что есть полезного в нем — это окошко с информацией о файле, которое появляется, если нажать на файле в контейнере и удерживать палец некоторое время (рис. 16).
Рис. 13. Меню программы
Рис. 14. Настройки программы
Рис. 15. Встроенный файловый менеджер
Рис. 16. Окошко с информацией о файле
- Программа бесплатная, но требует платного BusyBox (впрочем, есть и его ограниченная бесплатная версия)
- Шифрование осуществляется «на лету»
- Работа с подмонтированным контейнером осуществляется, как с обычной папкой. Все довольно просто.
- Кроме программы необходимо устанавливать дополнительные приложения SuperSU и BusyBox (который, между прочим, не бесплатный, хотя сама LUKS Manager бесплатна).
- Ограниченная функциональность программы: нет возможности монтирования удаленных контейнеров, нет возможности облачного шифрования, нет поддержки монтирования сетевых папок.
- Неудобный встроенный файловый менеджер, позволяющий лишь просматривать файлы и папки.
- Нет возможности выбрать внешний файловый менеджер.
- Папки, к которым монтируется контейнер, автоматически не удаляются после размонтирования контейнера.
- Нет поддержки русского языка.
Cryptonite
Программа Cryptonite довольно молода и находится на стадии тестирования, поэтому вряд ли ее можно использовать для шифрования каких-то особо важных данных. Справедливости ради, нужно отметить, что об этом честно предупреждают разработчики при первом запуске программы (рис. 17).
Рис. 17. Первый запуск Cryptonite
Что касается системных требований, то программе нужен root-доступ и ядро с поддержкой FUSE (Filesystem in Userspace, Файловая система в пользовательском пространстве). Требование поддержки FUSE можно смело отнести к недостаткам программы, поскольку далеко не все устройства поддерживают FUSE. Доустанавливать какие-либо дополнительные программы не нужно (если не считать файлового менеджера).
Функционал программы уже несколько лучше, чем у LUKS Manager. Она умеет создавать не только локальные контейнеры, но и шифровать ваши файлы на DropBox. Поддержка DropBox автоматически означает поддержку облачного шифрования, поэтому уже эта программа стоит на голову выше, чем LUKS Manager.
На рис. 18 представлена программа Cryptonite после закрытия надоедающего сообщения о том, что вы используете экспериментальную версию программы. Вкладка Dropbox позволяет зашифровать файлы на вашем Dropbox, вкладка Local используется для создания локального контейнера, а на вкладке Expert обычному пользователю делать нечего.
Рис. 18. Программа Cryptonite
Для создания локального контейнера нужно нажать кнопку Create local volume, после чего вы опять увидите предупреждение о том, что данная функция экспериментальна (рис. 19). Далее, как обычно, нужно выбрать метод шифрования (рис. 20), расположение контейнера, ввести пароль и его подтверждение (рис. 21). Мне понравилось, что программа предлагает ввести подтверждение пароля, что исключает его неправильный ввод при создании контейнера.
Рис. 19. Опять надоедающее предупреждение
Рис. 20. Выбор метода шифрования
Рис. 21. Ввод подтверждения пароля
Смонтировать созданный контейнер можно командой Mount EncFS на вкладке Local. Программа предложит выбрать контейнер. Контейнер после ввода пароля к нему будет подмонтирован к каталогу /mnt/sdcard/csh.cryptonite/mnt (рис. 22). Каталог для монтирования задается в настройках программы (рис. 23).
Рис. 22. Контейнер подмонтирован
Рис. 23. Настройки программы
В настройках нет особо ничего интересного, кроме папки для монтирования (Mount point), а также режима Чака Норриса, позволяющего отключить надоедающие и бессмысленные предупреждения. Также можно включить использование встроенного файлового менеджера при монтировании контейнера (Use built-in file browser), но учитывая традиционно скудный функционал этой части программы (рис. 24), я не рекомендую включать этот параметр. Данный «файловый менеджер» не может даже открыть файл. Он позволяет только просмотреть содержимое контейнера и ничего больше.
Рис. 24. Встроенный просмоторщик контейнера
- Поддержка облачного шифрования (Dropbox).
- Шифрование на лету.
- Поддержка контейнеров TrueCrypt, что пригодится, если с контейнером нужно будет работать на стационарном ПК.
- Требует поддержки FUSE, что есть не у каждого устройства.
- Очень скудный файловый менеджер, позволяющий только просмотреть содержимое контейнера и ничего больше
- Нет поддержки сетевых папок (хотя этот недостаток слегка скрашен поддержкой Dropbox)
- Программа до сих пор экспериментальная (хотя появилась довольно давно, и с тех пор ее закачало более 50 000 человек). Использовать ее или нет, решать только вам, но для защиты важных данных я бы не стал ее использовать. Лучше поискать другую программу.
- Нет поддержки русского языка.
CyberSafe Mobile
Программу CyberSafe Mobile мы уже неоднократно рассматривали в нашем блоге, поэтому подробного ее описания не будет. Настоятельно рекомендую прочитать статью «Совместное использование криптодисков на ПК и Android», в которой описан один из случаев использования программы.
Поэтому вместо обзора программы, дабы не повторяться, будет приведено ее сравнение с ранее описанными в этой статье программами.
Первым делом нужно отметить, что для работы с программой не нужны права root. Да, в этом случае функционал программы будет ограничен, и вы не сможете подмонтировать созданный сейф (так в CyberSafe Mobile называется зашифрованный контейнер), но зато ваш смартфон не «слетит» с гарантии, если вы получите root-доступ. Однако, учитывая, что программа обладает полноценным файловым менеджером, это не проблема. Вы можете работать с файлами в сейфе без его монтирования и установки стороннего файлового менеджера. Из соображений безопасности программа не позволяет делать некоторые скриншоты, поэтому окно встроенного файлового менеджера, в котором отображается содержимое сейфа, удалось лишь сфотографировать обычным фотоаппаратом (рис. 25). Как видите, программа обладает полноценным файловым менеджером. Пусть это и не ES Проводник, но зато, в отличие от ранее описанных программ, встроенный файловый менеджер Cybersafe Mobile умеет управлять файлами — копировать, перемещать, удалять, создавать новые файлы и папки. Прошу прощения за качество снимка, но чтобы не было блика, планшет фотографировался без вспышки, поэтому фотография немного темновата.
Рис. 25. Встроенный файловый менеджер CyberSafe
- Метод монтирования — как уже отмечалось, если ваше устройство не имеет root-доступа или не поддерживает FUSE, то можно не монтировать сейф, а работать с ним через встроенный файловый менеджер.
- Базовый путь для монтирования — каталог, к которому будут монтироваться сейфы.
- Сторонний файловый менеджер — программа позволяет, как использовать встроенный, так и внешний файловый менеджер, причем она обнаруживает уже установленные на вашем устройстве менеджеры и позволяет выбрать один из них.
Рис. 26. Опции монтирования
Также стоит отметить русскоязычный интерфейс программы CyberSafe Mobile, что облегчает работу с программой пользователям, не владеющим английским языком (рис. 27).
Рис. 27. Интерфейс программы. Создание сейфа
Только уже благодаря всему этому (возможность работы без root и FUSE, полноценный файловый менеджер и русскоязычный интерфейс) программа на голову выше LUKS Manager и Cryptonite. Но это еще не все. У программы есть ряд функций, которые приводят к нокауту конкурентов.
Во-первых, это поддержка алгоритма ГОСТ — в отличие от остальных программ, в которых используется только AES или Blowfish (рис. 28).
Рис. 28. Выбор алгоритма шифрования при создании сейфа
Во-вторых, программа поддерживает монтирование сетевых папок, что позволяет использование удаленного сейфа, находящегося на удаленном ПК (рис. 29). Принцип прост: сам контейнер хранится на ПК, к нему предоставляется общий доступ по сети. Выходит, что контейнер открывается на смартфоне, на ПК он всегда хранится в зашифрованном виде, данные по сети передаются также зашифрованными, что исключает их перехват. Все действия по шифрованию и расшифровке данных осуществляются на мобильном устройстве. Даже если вы потеряете свое устройство, никто не получит доступ даже к зашифрованным данным, поскольку они хранятся на удаленном компьютере.
Рис. 29. Работа с сетевыми папками
- Возможность работы без root-доступа и поддержки FUSE (просто сейфы не будут монтироваться).
- Прозрачное шифрование «на лету»
- Собственный полноценный файловый менеджер
- Русскоязычный интерфейс
- Поддержка алгоритма шифрования ГОСТ
- Возможность выбора стороннего файлового менеджера, в котором будет открываться содержимое сейфа
- Поддержка монтирования сетевых папок
- Возможность работы с удаленными контейнерами (VPN-сейф)
- Возможность совместного использования одного и того же контейнера на смартфоне и на ПК (с помощью программы CyberSafe Top Secret).
- Нет необходимости устанавливать (покупать) сторонние приложения (как в случае с LUKS Manager)
- Программа не бесплатная, но есть ее Lite-версия, не поддерживающая монтирование и сетевые папки. Если вы не планируете использовать удаленные сейфы, и ваше устройство не поддерживает FUSE или же вы не хотите получать root-доступ, чтобы не «слететь» с гарантии, тогда Lite-версия — как раз то, что вам нужно. Для вас CyberSafe Mobile будет бесплатной, а функционал Lite-версии будет даже лучше, чем у бесплатной LUKS Manager, учитывая полноценный файловый менеджер.
- Для полноценной работы программы нужна поддержка FUSE (однако, на современных устройствах — это уже не проблема).
Как видите, таковых недостатков у программы нет и их выделение — больше мои придирки к программе, дабы никто не обвинил меня в предвзятости. Думаю, ни у кого не возникло сомнений, что победителем нашего сравнения сегодня оказалась программа CyberSafe Mobile. Если у вас остались вопросы, мы с радостью ответим на них в комментариях к этой статье.