Большинство наших статей рассказывает о том, как взломать защиту и получить доступ к данным. Сегодня мы попробуем сыграть за другую команду, рассказав о том, как защитить свои данные.
Для кого написана эта статья? По статистике, почти половина пользователей не может назвать модель используемого ими смартфона. Многие ли из оставшихся смогут назвать версию 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 следующую команду:
adb shell getprop ro.crypto.type
Если команда вернула слово “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 ГБ.
Заключение
В этой статье мы максимально подробно рассмотрели риски и настройки безопасности, выходящие далеко за рамки стандартных советов «установить код блокировки» и «включить двухфакторную аутентификацию». Надеемся, что понимание рисков, связанных с теми или иными твоими действиями и настройками, поможет вам адекватно оценить степень безопасности твоих данных – и, возможно, усилить слабые места без каких-либо заметных неудобств в работе.
Автор: Oleg Afonin
Источник: ElcomSoft Co. Ltd.