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

Новость об этом промелькнула на новостных лентах и пропала, словно ничего страшного не произошло. Что живо напомнило скандалы прошлого года Heartbleed и Bad USB. Похоже, люди предпочитают не замечать крупные уязвимости в ПО, даже если риски касаются их собственных денег. Сам отчет опубликован на официальном сайте университета и крайне интересен для вдумчивого изучения. Благо, написан он легким, доступным языком.

Что случилось?

Исследователи купили 26 Android-смартфонов, выбирая модели из наиболее популярных на вторичном рынке. Версии операционных систем устройств разнятся, охватывая весь спектр от совсем уже древнего Android 2.2 до вполне модернового Android 4.3 и, частично, Android 4.4.

В память купленных устройств записывались данные, после чего смартфону делали Factory Reset и пытались восстановить стертую информацию. Результат оказался впечатляющим: в зависимости от версии Android, с высокой вероятностью можно восстановить данные со встроенной флэш-памяти, причем под ударом оказались как системный раздел, так и накопитель данных. Что же до карт памяти, то Android вообще не способен надежно удалять с них информацию, и восстановить ваши фотографии с карточек microSD вообще раз плюнуть.Табличка, показывающая масштаб проблемы в первом приближении. На самом деле все не так однозначно, поскольку зеленая галочка не гарантирует стабильную работу на отдельно взятом устройстве.

Почему так?

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

Для начала, в смартфонах используется дешевая флэш-память стандарта eMMC, особенности хранения информации которой позволяют восстанавливать удаленные данные с большей легкостью, чем с, например, жесткого диска или флэш-памяти с файловой системой yaffs2. Здесь уместно напомнить, что встроенная память смартфона обычно разделяется на системный раздел, где хранятся данные учетной записи и приложений, и накопитель данных, который в настройках часто называется internal SD card. Несмотря на то, что физически это один и тот же накопитель, особенности работы Android подвергают эти разделы разной степени риска.

Во времена Android 2.2 смартфоны использовали память формата yaffs2 и данные из системного раздела удалялись корректно. Затем произошел массовый переход производителей на eMMC, и все стало еще хуже.
Также исследование выявило потрясающую особенность сброса настроек в Android: если вы запускаете Factory Reset из настроек, система использует команду BLKSECDISCARD, которая надежно удаляет данные из системного раздела. Но если запустить заводской сброс из загрузчика, активизируется команда BLKDISCARD, чей алгоритм удаления по мнению исследователей вообще слова доброго не стоит. Между прочим, я сам сталкивался с ущербностью Factory Reset в Bootloader, когда тестировал дешевые китайские планшеты на Android второго поколения. Иногда они вообще не удаляли информацию с встроенного накопителя — тогда я считал, что дело в индивидуальных глюках прошивки, но, видимо, все оказалось сложнее.

В Android 4.0 бардак с двумя различными способами Factory Reset был преодолен: теперь везде по умолчанию используется безопасная команда BLKSECDISCARD. Однако пить шампанское еще рано: по данным этого исследования, 60% смартфонов, обновившихся с Android 2.3 до Android 4.0, получили от своих вендоров прошивки без некоторых необходимых для безопасного удаления драйверов оборудования и изменений в коде системы. В общем, обычный бардак с обновлениями.

Также исследователи обнаружили, что в некоторых новых телефонах, которые поставлялись с Android четвертого поколения тоже не все в порядке с драйверами флэш-памяти, поэтому вместо BLKSECDISCARD там работает все тот же «опасный» BLKDISCARD.

Повторюсь, все это в той или иной степени касается как системного раздела, так и встроенного накопителя данных. По данным этого исследования, около 15% смартфонов на Android 4.3 небезопасно удаляют данные системного раздела и 40% — данные с встроенного накопителя.

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

Ну и еще несколько очаровательных подробностей: иногда вендорская кастомизация смартфонов приводит к удивительным результатам. В нескольких подопытных гаджетах исследователи обнаружили, что сброс данных из настроек и сброс данных из загрузчика были «перепутаны»: корректно удалялись данные именно через Bootloader, а не через меню «Настройки». Плюс другие более индивидуальные баги и особенности архитектуры, в результате которых даже при безопасном удалении в конце накопителя могут сохраниться несколько килобайт данных.


Чем рискуем?

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

Что ни извлеки, все пригодится, все в дело пойдет!

С помощью весьма распространенных программ восстановления данных из памяти смартфона можно вытащить информацию о его предыдущем хозяине, список контактов, перечень установленных приложений, некоторые письма и СМС. Ну и самую прелесть, конечно: историю посещенных веб-страниц, созданные токены для автоматической авторизации в учетных записях Google и сторонних приложениях, фотографии и прочее. В общем, на вашем месте я бы домашнее порно на камеру смартфона не снимал.

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

Кстати, когда вы оставляете флэшку или карту памяти в фотоателье, чтобы вам с нее распечатали фотографии, трюк с восстановлением ранее удаленных снимков и видео проделывается на раз-два. Так что или используйте «чистый» накопитель, или посылайте фото для печати по электронной почте — сейчас, к счастью, 2015 год на дворе а не 2005.


А что у соседей?

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


Слово экспертам

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

Однако надо признать, что и мнение экспертного сообщества тоже разделилось. Так, Артем Баранов, ведущий вирусный аналитик ESET Russia, считает, что


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

Однако Виктор Чебышев, руководитель группы исследования мобильных угроз «Лаборатории Касперского», не разделяет оптимизма коллеги:

Мы подтверждаем, что данные после Factory Reset действительно частично возможно восстановить, но сделать это можно не на всех устройствах и не на всех версиях Android.

С ним согласен и наш «железный» эксперт Александр Левченко:

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


Что делать?

Программа-минимум для пользователя, который хочет продать свой старый смартфон проста: после заводского сброса нужно поменять пароль как минимум от учетной записи Google. Но можно и заморочиться, воспользовавшись знаниями о том, как работает флэш-память и самостоятельно проведя цикл записи-перезаписи в памяти устройства. Как это сделать, рассказывает Виктор Чебышев из «Лаборатории Касперского»:


1) Установите на устройство настолько много приложений, насколько позволит его память;
2) Произведите Factory Reset;
3) Повторите установку приложений до заполнения памяти;
4) Снова произведите Factory Reset;
5) Извлеките SD карту из устройства и проведите ее полное форматирование при помощи картридера;
6) запишите на SD карту столько данных (любых), чтобы исчерпать все доступное пространство;
7) произведите форматирование карты.

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

Также сюда можно добавить еще один простой совет: по-возможности вообще не продавайте старый телефон вместе с картой памяти. Оставьте карточку у себя, чтобы потом не болела голова о потерянных данных.

И даже если следовать вышеприведенной инструкции лень, и близко к сердцу вы такие исследования не принимаете, хотя бы делайте Factory Reset двумя способами сразу: сначала через настройки, потом через загрузчик. Если кто не знает, для этого нужно выключить телефон, затем зажать одновременно кнопку питания и кнопку уменьшения громкости, и не отпускать, пока аппарат не загрузится в меню Bootloader. Да, дополнительное действие займет еще немного времени. Но так оно спокойнее будет.


Резюме

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

Хорошо хоть транспорт пока что ездит по расписанию...