Получение доступа к памяти — важный этап при исследовании информации, находящейся в мобильном устройстве. Именно поэтому специалист должен владеть всеми способами и методами получения доступа к информации. В статье описано использование стандарта eMMC для получения доступа к памяти мобильного устройства. Приведена сравнительная таблица основных достоинств и недостатков способов получения информации, рассмотренных ранее.
Введение
В прошлых статьях серии мы рассмотрели методы и способы извлечения информации из памяти мобильного устройства.
- Снятие дампа памяти с мобильных устройств на Android
- Получение данных с мобильных устройств с помощью интерфейса отладки JTAG
- Метод Chip-off для получения информации с мобильных устройств
Рассмотрим один из вариантов нестандартного извлечения данных из мобильных устройств, являющийся наиболее перспективным среди остальных ранее рассмотренных, — с использованием стандарта eMMC.
Заключается этот метод в следующем: мобильное устройство с которого непосредственно требуется извлечь данные, необходимо подключить, использовав стандартные разъемы, к карте памяти (например, MMC), поддерживающей стандарт eMMC. После этого карта подключается к картридеру, и специалист может просматривать информацию в исходном виде.
Плюсы метода:
- Значительно меньшие затраты на дополнительные устройства и ПО, в сравнении с рассмотренными ранее методами;
- доступность полученных данных;
- простота реализации;
- высокая скорость получения данных;
- возможность получения данных с устройства, у которого поврежден контроллер, так как в данном методе управляющим является контроллер карты памяти, при помощи которой выполнено подключение.
Минусы:
- Не все модули памяти мобильных устройств поддерживают стандарт eMMC;
- в некоторых случаях требуется полная разборка мобильного устройства для получения доступа к его сервисным разъемам.
Стандарт eMMC
В декабре 2006 года организации MultiMediaCard Association (MMCA) и JEDEC Solid State Technology Association (JEDEC) объявили о принятии стандарта на встраиваемую флеш-память. Этот вид продукции выделен в отдельную товарную категорию, за которой закреплена торговая марка eMMC.
eMMC-память по подключению мало отличается от простой MMC-карты, известны даже случаи успешной подмены чипа eMMC обычной SD-MMC-картой.
Рисунок 1. Общая структура eMMC/MMC-чипа
Основные выводы карты памяти:
GND / VSS — «земля» для сигналов и питания.
VCC — питание карточки (ядро контроллера, внутренний RAM и NAND). Минимальное напряжение 2.8V, максимальное — 3.6V.
VCCQ — питание IO-линий (опорное напряжение на транзисторах линий; D0..D7 CMD CLK). Допустимые значения 1.8 ... 3.3V.
CLK — сигнал тактования карты.
CMD — двунаправленная линия передачи команд.
D0..D7 — трехрежимная шина передачи данных; режимы передачи — 1 бит, 4 бита, 8 бит (чем шире, тем быстрее).
nRST — линия сброса карты — не обязательная, но используется в системах с NVIDIA TEGRA.
Замена eMMC-карты микро-SD-картой возможна только в случае корректной поддержки процессором режима передачи данных по одной линии. Вернее, с автоматическим распознаванием такой конфигурации, а также при отсутствии SDRAM в корпусе вместе с eMMC.
Рисунок 2. Организация данных в eMMC-карте
По стандарту eMMC содержит следующие разделы:
- BOOT 1,2 — раздел, который хранит boot (загрузчик) и его копию (1-2 Мб). Чаще всего носит название boot-сектор.
- RMP — шифрованный раздел, доступ к нему возможен только с ключом.
- USER AREA — пользовательский раздел — занимает основную долю eMMC, в свою очередь USER AREA делится на 4 раздела — GP0, GP1, GP2, GP3. Данный раздел создается в соответствии со стандартами MBR или GPT, а также по собственному стандарту — NVIDIA.
Служебная информация
Состоит из четырех блоков данных, не входящих в логические разделы, — хотя они находятся в внутреннем NAND-накопителе.
Большая часть значений расположены в служебной области ReadOnly, и только несколько параметров разрешено править в период жизни eMMC-карты.
CID (Card identification data): содержит данные, по которым можно идентифицировать карту памяти (серийный номер, ID производителя, дату изготовления и т. д.).
CSD (Card specific data): содержит всевозможную информацию о карте памяти (от размера сектора карты памяти до потребления в режиме чтения/записи).
Важными областями в CSD являются PERM_WRITE_PROTECT — постоянная защита от записи и стирания.
TMP_WRITE_PROTECT — защита от записи и стирания до перезагрузки карты.
OCR (Operation conditions register) — содержит данные о напряжении питания карты памяти, тип питания карты памяти, статус процесса инициализации карты.
extCSD (Extended card specificdata) — содержит всевозможную информацию о карте памяти, которая не вошла в CSD. Длина — 512 байт.
extCSD — регистр, основная его часть ReadOnly — никогда не меняется и прописана еще на заводе.
Таблица 1. Конфигурация загрузки MMC-карты
- BOOT_CONFIG 1 R/W 0x0 — конфигурация загрузки (какой физический раздел отвечает за загрузку мобильного устройства).
- BOOT_BUS_WIDTH 1 R/W 0x0 — ширина шины данных во время загрузки.
Если данные регистры не прописаны должным образом, телефон не сможет загрузиться с eMMC.
Выводы
Эта статья завершает цикл материалов, где подробно рассмотрены способы и методы получения информации из памяти мобильного устройства. Чтобы обобщить информацию, мы составили сравнительную таблицу, где описали плюсы и минусы этих самых способов.
Таблица 2. Сравнение разных методов получения информации из памяти мобильных устройств
Получение данных | ||||
Стандартный метод | Нестандартный метод | |||
Chip-Off | JTAG | eMMC | ||
Достоинства | Простота использования: обычно все необходимое для подключения уже есть в комплекте от производителя;- наглядность работы: в результате мы извлекаем не какие-то «нечитаемые» базы данных, а готовые к просмотру файлы. | Возможность восстановления данных при поврежденных системных разъемах. | Не требуется выпаивать чип или модуль памяти; Не нужно разбирать устройство (в некоторых случаях). |
Меньше затраты на дополнительные устройства и ПО; Доступность полученных данных; Простота реализации; Высокая скорость получения данных; Возможность получения данных с устройства, у которого поврежден контроллер. |
Недостатки | Низкая вероятность полного восстановления данных;– нельзя получить доступ к неразмеченным областям (где может находиться конфиденциальная информация либо следы ее присутствия);– невозможно получить данные с поврежденного, «неработающего» устройства. | Для извлечения чипа требуется полная разборка устройства, это долго и зачастую приводит к потере работоспособности устройства; Необходимо дорогостоящее оборудование и ПО; Сложность сборки дампа памяти; для работы с использованием мобильного устройства-«донора» требуется найти абсолютно идентичное устройство с одинаковыми внутренними компонентами. |
Низкая скорость обмена данными; Требуется ПО для разбора полученного файла; Небходимо специальное оборудование (программатор); Если разъемы повреждены, получить с помощью них данные либо невозможно вовсе, либо они будут неполными; Требуется оборудование для подключения программатора к мобильному устройству (паяльник, паяльная станция). |
Не все модули памяти мобильных устройств поддерживают стандарт eMMC; Иногда требуется полная разборка мобильного устройства для получения доступа к его сервисным разъемам. |