Вы находитесь на странице: 1из 18

Подпишитесь на DeepL Pro и переводите документы большего объема.

Подробнее на www.DeepL.com/pro.

Цифровое исследование 14 (2015) S68eS76

Списки содержания доступны в ScienceDirect

Цифровое расследование
Д омаш н яя ст р ан и ц а журнала: www.elsevier.com/locate/diin

DFRWS 2015 США

Новый метод получения данных на основе протоколов


обновления прошивки для смартфонов на базе ОС Android
Seung Jei Yang* , Jung Ho Choi, Ki Bom Kim, Taejoo Chang
Аффилированный институт ETRI, P.O. Box 1, Yuseong, Daejeon, 305-600, Republic of Korea

ABSTRACT

Ключевые слова: Android остается доминирующей ОС на рынке смартфонов, несмотря на то, что доля
Криминалистика Android iOS на рынке увеличилась в период выхода iPhone 6. По мере появления на рынке
Android физическое различных типов смартфонов на базе Android проводятся криминалистические
получение Протокол
исследования для отработки получения и анализа данных. Однако с появлением
обновления прошивки
новых технологий защиты Android получение данных с помощью существующих
Команда чтения флэш-
памяти Бутлоадер
криминалистических методов становится все более затруднительным. Для решения
этой проблемы мы предлагаем новый метод получения данных, основанный на
анализе протоколов обновления прошивки смартфонов Android. Физический захват
смартфонов Android может быть осуществлен с помощью команды чтения флэш-
памяти путем обратного анализа протокола обновления прошивки в загрузчике.
Результаты наших экспериментов показывают, что предложенный метод
превосходит существующие криминалистические методы по гарантии целостности,
скорости получения и физическому сбросу данных со смартфонов с
заблокированным экраном (отладка по USB отключена).
© 2015 The Authors. Опубликовано компанией Elsevier Ltd по заказу DFRWS. Это
статья с открытым доступом по лицензии CC BY-NC-ND
(http://creativecommons.org/licenses/by-nc-nd/4.0/).

* Корреспондирующий автор. Тел: +82 42 870 2343, +82 10 2321


Введение 4588;
факс: +82 42 870 2222.
В третьем квартале 2014 года на долю ОС Android Адреса электронной почты: sjyang@nsr.re.kr, sjyangub@dreamwiz.com
(S.J. Yang).
приходилось около 84% рынка (Smartphone OS Market
Share Q3 2014). В настоящее время объем рынка
смартфонов на базе ОС Android превышает объем
рынка ПК, и на нем постоянно появляются
различные технологии для индивидуального и
делового использования (Bring your own device, 2014).
Эта тенденция повышает значимость
криминалистики Android, где исследование
физического получения флэш-памяти особенно
необходимо для восстановления и анализа
удаленных файлов.
Существующие методы получения физических
данных для Android имеют следующие проблемы.
изменении пользовательского образа восстановления
Во-первых, большинство криминалистических
(Son et al., 2013), является единственным подходом,
средств получают данные со смартфонов, используя
учитывающим целостность пользовательских
уязвимости ядра Android или пользовательские образы
данных. Однако этот метод не может гарантировать
(Rooting (Android OS), 2014; Vidas et al., 2011). Однако
целостность всего дампа флэш-памяти, поскольку при
по мере обновления ОС Android эти уязвимости были
этом прошивается и пользовательский образ
устранены, и дамп физической памяти не
восстановления.
поддерживается в последней версии ОС до тех пор,
В-третьих, существующие криминалистические
пока не будет найдена новая уязвимость. Кроме того,
средства используют для получения данных со
применение в последнее время технологий защиты
смартфонов протокол Android Debug Bridge (ADB).
(Secure boot, 2014; Samsung KNOX, 2014) еще больше
Таким образом, получение данных затруднено, если
усложняет получение данных со смартфонов.
смартфон заблокирован шаблоном или паролем
Во-вторых, метод дампа, основанный на
пользователя (отладка по USB отключена).

http://dx.doi.org/10.1016/j.diin.2015.05.008
1742-2876/© 2015 The Authors. Опубликовано компанией Elsevier Ltd по заказу DFRWS. Это статья в открытом доступе под лицензией CC BY-NC-ND
(http:// creativecommons.org/licenses/by-nc-nd/4.0/).
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S69

пользовательский образ восстановления. Для


Для решения этих проблем мы предлагаем новый
получения данных со смартфонов в этом методе
метод получения физических данных, основанный на
должна быть включена отладка USB, поскольку он
анализе протоколов обновления прошивок
использует протокол ADB shell. Однако, поскольку
смартфонов под управлением ОС Android.
отладка по USB обычно отключена, этот метод не
применим, если установлена блокировка по шаблону
Связанная работа
или пароль пользователя. Кроме того, технологии
Secure Boot и Samsung KNOX, недавно примененные в
Для получения данных со смартфонов Android в
Android, накладывают ограничения на прошивку
основном используются программные (S/W) и
пользовательских образов, что затруднит
аппаратные (H/W) методы сбора данных.
использование данного метода получения данных в
Методы приобретения на основе S/W
будущем.
подразделяются на логическое приобретение и
физическое приобретение.
Логические методы получения данных позволяют
получить пользовательские данные, хранящиеся на
смартфоне, через ADB Backup (Android Backup
Extractor, 2014) или Content Provider (Hoog, 2011).
Однако этот метод позволяет получить только
сохраненные файлы, такие как журнал вызовов и
фотографии, и не может восстановить удаленные
файлы.
При физическом способе получения общие данные
извлекаются непосредственно из флэш-памяти
смартфона после подключения USB-кабеля. Для
выполнения физического дампа флэш-памяти
необходимо сначала выполнить процесс рутирования,
требуемый для получения административных
привилегий. Исследования, посвященные получению
прав с помощью rooting, были представлены в научных
работах (Hoog, 2009; Lessard and Kessler, 2010). В этих
работах рассматривалась криминалистическая
экспертиза Android, в том числе методы получения
данных с помощью рутирования смартфонов HTC и
использования оболочки ADB. Однако эти методы
могут быть использованы для получения данных
только при включенном режиме отладки USB.
Коммерческие криминалистические средства (Oxygen
Forensics, 2014; AccessData MPE+, 2014; MSAB XRY,
2015) также используют данный метод. Однако,
поскольку процесс эксплуатации rooting выполняется
после загрузки смартфона, целостность данных при их
получении нарушается. Кроме того, существующие
уязвимости rooting исправляются при обновлении ОС
Android до новой версии, поэтому при обновлении ОС
Android необходимо искать новый метод rooting.
Cellebrite UFED 4PC (2015) в основном поддерживает
ADB
физический дамп памяти через root-эксплуатацию, а
некоторые модели Samsung поддерживают
физический дамп памяти через пользовательский
загрузчик. Однако проблема этого метода
заключается в том, что для каждой модели
приходится загружать свой загрузчик, а не общий
загрузчик для физического дампа памяти. Поскольку
физический дамп не поддерживается в некоторых
моделях одной серии Galaxy, этот метод нельзя
считать стабильным.
В научных работах (Vidas et al., 2011; Son et al.,
2013) исследован метод получения, основанный на
изменении пользовательского образа
восстановления. Использование пользовательского
образа восстановления гарантирует целостность
пользовательских данных. Однако этот метод не
может гарантировать целостность всего дампа флэш-
памяти, поскольку в нем также прошивается
S70 Odin,
S.J. Yang et al. / Digital Investigation 2014;S68eS76
14 (2015) LG Software
& tools Download, 2014; Pantech
Для извлечения данных из мобильных устройств
Self- Upgrade, 2014; HTC Sync Manager, 2014; Sony PC
также используются флэшеры (RIFF box, 2014; ORT
Com- panion, 2014; Xiaomi Download MiFlash for Xiaomi
tool, 2014; Z3X box, 2014). Однако основная функция
Smartphone, 2015), чтобы предотвратить простую
этих инструментов - исправление "окирпиченных"
прошивку через FASTBOOT, предоставляемую Google,
телефонов с повреждениями S/W. Поэтому данные
и не публикует протокол, поэтому прошивать можно
инструменты не рассматриваются как инструменты
только оригинальную прошивку. Процесс обновления
общей криминалистики.
прошивки запускается только тогда, когда смартфон
К числу наиболее распространенных методов
входит в специальный режим, называемый
сбора данных на базе H/W относятся сбор данных на
обновлением прошивки, или режимом загрузки. В этом
основе JTAG (Kim et al., 2008; Breeuwsma et al., 2007)
режиме могут работать только загрузчик и USB, а
и сбор данных на основе чипов (Jovanovic, 2012).
также прошиваться новая прошивка системы.
Метод сбора данных на основе JTAG извлекает
данные из флэш-памяти с помощью отладочного
интерфейса JTAG на печатной плате смартфона. При
использовании метода Chip-off чипы флэш-памяти
физически извлекаются из печатной платы смартфона
и приобретаются необработанные данные из флэш-
памяти. Метод сбора данных с помощью JTAG
является проблемным, так как не все смартфоны
поддерживают JTAG и сбор данных занимает много
времени. Метод сбора данных на основе
отсоединения микросхем используется в
ограниченных ситуациях, так как при этом
происходит разделение флэш-памяти.
Также проводились различные исследования по
криминалистике Android. С увеличением объема
оперативной памяти в смартфонах Android
появились криминалистические исследования
летучей памяти (Sylve et al., 2012). Также изучался
анализ приложений социальных сетей (Mutawa et
al., 2012), прототип системы мониторинга
предприятий для Android-смартфонов (Grover,
2013) и криминалистика Kindle (Hannay, 2011; Iqbal
et al., 2013).

Фон

Флэш-память используется в основном для


хранения данных в смартфонах. Поскольку флэш-
память имеет небольшие размеры и может хранить
большой объем данных, она широко используется во
встраиваемых устройствах, таких как смартфоны и
телефоны. В последнее время стали использоваться
встраиваемые мультимедийные карты (eMMC),
объединяющие в одном корпусе флэш-память NAND
и контроллер, которые управляют хранимыми
данными, эффективно используя файловую систему
EXT4 (EXTended file system 4). Кроме того, она
монтирует и управляет такими разделами, как BOOT,
RECOVERY, SYSTEM и USERDATA.
Перед физическим дампом всей флэш-памяти
необходимо получить административные
привилегии. Таким образом, для получения
административных прав в раздел BOOT
перезаписывается пользовательский образ, а в раздел
SYSTEM устанавливаются приложение (Super-
User.apk) и бинарный файл (/system/su). Кроме того,
получение административных привилегий
осуществляется путем эксплуатации root в режиме
восстановления или путем использования
уязвимостей в ОС Android.
Как правило, для прошивки пользовательского
образа используется программа Google FASTBOOT
(Android software development-fastboot, 2014). Каждый
производитель предоставляет свои программы
обновления прошивки (Samsung Kies, 2014; Samsung
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S71

обновления прошивки с выключенным питанием, а


Процессы и команды обновления прошивки
затем выполняется физический сбор данных, то
можно проанализировать путем обратного
целостность может быть сохранена для дампа образа
проектирования загрузчика и программы обновления
флэш-памяти. На рис. 1 показаны экраны смартфонов
прошивки с помощью такого инструмента, как IDA
Samsung, LG и Pantech, загруженных в режиме
Pro (Hex- Rays, 2015).
обновления прошивки.
Термины, используемые для обозначения режима
Получение физических данных для Android на
обновления прошивки, и способы входа в режим
основе протоколов обновления firmware
обновления прошивки
С точки зрения криминалистики, основной целью
при получении данных является флэш-память,
содержащая пользовательские данные. В этом случае
требуется не логический, а физический метод сбора
данных для получения всей флэш-памяти.
В процессе обновления прошивки во флэш-память
прошивается новая микропрограмма для обновления
ОС Android или устранения проблем в работе
устройства. Протокол обновления прошивки - это
единственный способ прямого доступа к флэш-памяти
через S/ W, и поэтому мы можем получить новый
метод получения физической памяти, анализируя
команды, используемые в процессе обновления
прошивки. Исследований, посвященных анализу
протоколов обновления микропрограммного
обеспечения для решения проблем существующих
средств криминалистической экспертизы, до
настоящего времени не проводилось. В настоящем
исследовании мы проанализировали протоколы
обновления микропрограммного обеспечения,
используемые в смартфонах LG, Pantech и Samsung. В
моделях LG и Pantech мы обнаружили, что
сохранились не только команды прямого доступа к
флэш-памяти и команды записи для перепрошивки,
но и команды чтения для дампа флэш-памяти. В
моделях Samsung мы подтвердили наличие команд
чтения для дампа флэш-памяти, но сам код дампа
был удален. На основе полученных аналитических
результатов мы предлагаем новый метод физического
сбора данных для смартфонов на базе ОС Android.

Протокол обновления микропрограммы

При включении или сбросе Android-смартфона ПЗУ


запускается с адреса 0 и выполняются процессы
инициализации, в том числе конфигурирование
процессора. Далее в память загружается загрузчик,
инициализируются и конфигурируются устройства
H/W, такие как NAND и USB. Выполнение загрузчика
проходит несколько стадий, таких как Initial BootLoader
(IBL), Primary BootLoader (PBL), Secondary BootLoader
(SBL), а протокол обновления прошивки реализуется в
загрузчике SBL или ABOOT в зависимости от модели
Android. Используя инструмент обратного
инжиниринга, можно проанализировать загрузчик и
определить команды, используемые для обновления
прошивки.
Для обновления прошивки или получения данных
путем обращения к флэш-памяти смартфон должен
находиться в режиме обновления прошивки, а не в
обычном режиме загрузки. Поскольку в этом режиме
активируются только загрузчик и USB-модуль,
целостность полученных данных гарантируется даже
после многократного физического получения. Таким
образом, если телефон загружается в режиме
S72 S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 помощью кабеля microUSB
или Connect 910 K
ом USB Jig
Pantech Vega Загрузка PDL Нажмите и удерживайте, при этом
время, клавиши увеличения и
уменьшения громкости, Home и
Power.
Google Nexus 4/5 DOWNLOAD Нажмите и удерживайте клавишу
увеличения громкости
клавиша + подключить
телефон к компьютеру с
помощью
кабель microUSB или Connect
910 K ohm USB Jig
Рис. 1. Режим обновления прошивки (Samsung, LG и Pantech).

отличаются у разных производителей. В табл. 1


приведены способы входа в режим обновления
прошивки при загрузке смартфона. USB Jig - простая
схема, позволяющая войти в режим обновления
прошивки смартфона. Смартфоны Samsung и LG
можно просто ввести в режим обновления прошивки
с помощью резисторов 300 К и 910 К Ом между
контактами 4 и 5 разъема microUSB (XDA developers,
2012a, 2012b). Эти кабели USB Jig не будут
использоваться для преодоления каких-либо
существующих ограничений, таких как
разблокировка производителем оригинального
оборудования (OEM).

Анализ протоколов обновления прошивки LG

Для смартфонов LG мы проанализировали


процессы и команды обновления прошивки путем
декомпиляции загрузчика и программы обновления
(LG Software & tools Download, 2014),
предоставленной компанией LG, а также определили
ком- манду чтения, используемую для дампа флеш-
памяти.

Команды обновления прошивки LG


Протокол обновления прошивки LG работает в
структуре, когда посылается командный пакет и
принимается ответный пакет. Пакеты используют
кадровую структуру High-Level Data Link Control
(HDLC), начинающуюся с флага HDLC (0x7E), затем
следуют данные пакета и циклическая проверка
избыточности (CRC)-16, а завершается все флагом
HDLC (0x7E). На рис. 2 показан

Таблица 1
Методы, используемые для входа в режим

обновления микропрограммы. Модель Название

режима Комбинация клавиш

Samsung Galaxy ODIN Нажмите и удерживайте


одновременно
время, клавиши
уменьшения громкости,
Home и Power (затем
нажмите клавишу
увеличения громкости)
или подключите USB-
разветвитель с
сопротивлением 300 К
Ом
LG Optimus СКАЧАТЬ Нажмите и удерживайте клавишу
увеличения громкости
клавиша + подключите
телефон к компьютеру с
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S73

алгоритма
Рис. 2. Формат команды обновления микропрограммного 0x30 Получить информацию о MMC и разделе
обеспечения LG.
0xFA Получение заводской информации (IMEI, Mac-
адрес)
0x12 Чтение памяти RAM
формат пакета обновления прошивки, используемый 0x39 Запись во флэш-память
0x0A Сброс системы
в смартфонах LG.
После входа в режим обновления прошивки LG
можно использовать команды для получения
информации об устройстве, информации о разделах
таблицы GUID Partition Table (GPT) и информации о
памяти. В табл. 2 приведены команды обновления
микропрограммного обеспечения LG.
Процессы обновления прошивки LG выглядят
следующим образом.

1 Получить информацию об устройстве: 0x00.


2 Переход в режим загрузки: 0x3A.
3 Особенности запроса (версия протокола и т.д.):
0x2F.
4 Получить информацию о разделе: 0x30.
5 Получить заводскую информацию: 0xFA.
6 Сектор записи (Primary GPT): 0x39.
7 Повтор прошивки раздела: 0x39.
8 Полная загрузка: 0x38.
9 Сброс системы: 0x0A.

Команда сброса флэш-памяти LG


На основе результатов, полученных при обратном
проектировании команд обновления прошивки в
загрузчике, были определены команды чтения флэш-
памяти в дополнение к тем, которые приведены в
табл. 2. На рис. 3 показана команда чтения (0x50) для
флэш-памяти, полученная в результате обратной
разработки загрузчика SBL3 в модели Optimus G
(LG-E975).
После входа в режим обновления прошивки в
соответствии с процессом, описанным в табл. 1,
отправляется команда сбора информации о флэш-
памяти (0x30) для получения информации о размере
флэш-памяти и разделах GPT. Полученная
информация включает в себя размер флэш-памяти,
количество разделов, начальный адрес, конечный
адрес и имя каждого раздела. Посылается команда
чтения флэш-памяти (0x50) с начальным адресом и
размером дампа, после чего может быть получен
требуемый размер данных флэш-памяти. На рис. 4
показан

Таблица 2
Команды обновления

микропрограммного обеспечения

LG. Команда Описание

0x00 Получить информацию об устройстве


(модель, дата компиляции)
0x3A Переход в режим загрузки
0x2F Получить версию протокола, версию
S74 S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76

Рис. 3. Обратное проектирование загрузчика LG SBL3.

Рис. 4. Формат команды чтения LG (0x50).

формат команды чтения (0x50) для флэш-памяти. На


рис. 5 показан пример сбора данных. Физический
сбор данных для всех моделей может быть выполнен
с помощью команды read независимо от версии ОС и
ядра Android. Более того, поскольку загрузка
осуществляется в режиме обновления прошивки,
целостность образа дампа всегда с о х р а н я е т с я .

Анализ протокола обновления прошивки Pantech

Мы также проанализировали процесс и команды


обновления прошивки путем обратного
инжиниринга программы обновления прошивки
(Pantech Self-Upgrade, 2014), предоставленной
компанией Pantech, и загрузчика, а также
определили команду чтения флэш-памяти.

Рис. 5. Пример сбора данных LG (LG-F240S).


S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S75

0x01 Команда сброса


Команды обновления прошивки Pantech 0x02 Команда готовности к записи
В моделях Pantech команды обновления прошивки 0x03 Команда завершения записи
реализованы в загрузчике ABOOT. Таким образом, 0x04 Команда стирания раздела
команды обновления микропрограммы, используемые 0x05 Команда записи раздела

в процессе обновления, могут быть


проанализированы путем обратной разработки
загрузчика ABOOT.
В табл. 3 приведены команды обновления
микропрограммного обеспечения, используемые в
смартфонах Pantech. Команды обновления прошивки
выполняются после входа в режим обновления
прошивки, как показано в табл. 1. Длина пакета
команд зависит от модели смартфона. Так, до модели
Vega Iron (IM-A870S) использовался 32-байтный
пакет команд, а в последующих моделях - 128-
байтный.
Процессы обновления прошивки Pantech выглядят
следующим образом.

1 Получить информацию об устройстве:


AT*PHONEINFO.
2 Переход в режим загрузки: AT*PDL*START.
3 Запуск обновления микропрограммы: 0x00.
4 Мигание раздела готовности: 0x02.
5 Стереть раздел с размером сектора: 0x04.
6 Запись раздела с размером сектора: 0x05.
7 Повторить процессы 5 и 6.
8 Полная прошивка раздела: 0x03.
9 Сброс системы: 0x01.

Команда сброса флэш-памяти Pantech


На основании результатов, полученных при
обратном проектировании команд обновления
прошивки в загрузчике, было установлено, что
команда 0x06 является командой чтения флэш-
памяти. На рис. 6 показаны структуры команд чтения
с длиной пакетов 32 и 128 байт.
Информация о разделе GPT должна быть запрошена
до физического получения флэш-памяти. Для
получения раздела GPT (идентификатор раздела ¼
0x0A) используется команда read for flash memory
(0x06), после чего информация о разделе
анализируется. По результатам анализа выполняется
физическое извлечение раздела или всей флэш-памяти.
Физический захват может быть выполнен для всех
моделей независимо от версии ОС и ядра Android.
Поскольку загрузка осуществляется в режиме
обновления прошивки, целостность дамп-образа всегда
может быть сохранена, как это было в моделях LG. На
рис. 7 показан пример сбора данных с модели Vega
Iron2 (IM- A910S).

Анализ протокола обновления прошивки Samsung

Для смартфонов Samsung мы проанализировали


протокол обновления прошивки в загрузчике и
обнаружили, что в нем

Таблица 3
Команды обновления прошивки Pantech.

Команда Описание

0x00 Команда готовности к


обновлению микропрограммы
S76 S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76

Рис. 6. Команда чтения флэш-памяти Pantech (0x06).

были команды чтения флэш-памяти, но сам код для


чтения флэш-памяти был удален.

Команды обновления прошивки Samsung


В протоколе обновления прошивки Samsung ПК
отправляет командный пакет, а смартфон
обрабатывает его и отправляет результаты в
ответном пакете. Командный пакет состоит из 1024
байт, и в зависимости от значений первых 4 байт он
выполняет ту или иную функцию. На рис. 8 показан
формат команды обновления прошивки Samsung. В
табл. 4 приведены команды обновления
микропрограммного обеспечения , используемые в
моделях Samsung.

Рис. 7. Пример сбора данных Pantech (IM-A910S).


S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S77

Рис. 8. Формат команды обновления микропрограммы


Samsung.

Процессы обновления микропрограммного


обеспечения происходят следующим образом.
Протокол обновления микропрограммы
инициализируется отправкой командного пакета 0x64.
После отправки командного пакета 0x65 в основную
память загружается таблица информации о разделах
новой микропрограммы. Далее посылается командный
пакет 0x66 и прошивка микропрограммы, основанной
на новой информации о разделах, во флэш-память, а
командный пакет 0x67 завершает процесс обновления
микропрограммы. Подкоманды 0x66 (0x01 и 0x03)
могут получать данные из флэш-памяти, но собственно Рис. 9. Обратное проектирование команды чтения в загрузчике.
код дампа удален. При отправке команды чтения
(CMD: 0x66, SUBCMD: 0x01, 0x03) смартфон
отправляет только сообщение ACK без данных. Мы
проверяли, удалена ли функция чтения флэш-памяти можно выполнить с помощью этой команды. В
только в Galaxy S2 и последующих моделях. На рис. 9 моделях Samsung в командах обновления прошивки
показана команда чтения при обратном присутствовала команда чтения флэш-памяти, но сам
проектировании загрузчика Samsung с помощью код дампа был удален. На основе проведенного
инструмента IDA Pro. Получить данные из флэш- анализа мы разработали новую процедуру получения
памяти с помощью команды чтения затруднительно, физических данных для смартфонов Android.
поскольку код дампа удален. Таким образом, для Сначала необходимо проверить наличие команды
проведения физического сбора данных необходимо чтения флэш-памяти путем реинжиниринга
провести дополнительные исследования по протокола обновления прошивки в загрузчике. Если
исправлению команды чтения. команда чтения есть, выполняем физический захват в
моделях LG и Pantech. В противном случае
необходимо провести дополнительные исследования
Процесс физического приобретения Android
для исправления команды чтения.
Проанализировав протоколы обновления прошивок
Физический дамп Android
смартфонов LG и Pantech, мы обнаружили, что
команда чтения флэш-памяти сохраняется, а
Используя предложенный в статье метод получения
физическое получение может
информации, мы разработали инструмент получения
информации под названием Android Physical
Таблица 4
Команды обновления прошивки Samsung.

Команда Описание Dump (APD) и написан на языке C++. На рис. 10


Подк
показан инструмент APD. После подключения через
оманды
USB-кабель он выбирает кнопки для
0x64 0x00 Протокол обновления ф эш-память
микропрограммы л 0x02 Команда записи во флэш-память
команда инициализации э 0x03 Команда чтения для флэш-памяти
0x65 0x00 Таблица информации о ш
0x67 0x01 Обновление микропрограммы завершено
-
разделах п команда
команда готовности к а
записи м
0x01 Команда готовности к я
чтению т
ь
информационной
0
таблицы разделов x
0x02 Команда записи/чтения 0
информационной 1
таблицы разделов Команда готовности к чтению для
0x66 0x00 Команда готовности к ф
записи для л
eeee
S78 физич
S.J. Yang et al. Pantech
/ Digital Investigation 14 (2015)Vega
S68eS76 и
Google Nexus. Ниже приведены
еское примеры поддерживаемых моделей: LG G3, G2, G,
Удаление кода e приоб Pantech R3, Iron2, Nexus 4/5 и G Watch.
ретен
Удаление кода e
ие.
Загрузка с режимом обновления микропрограммы

Подде
На первом этапе физического дампа смартфон
ржива
емые загружается в режиме обновления прошивки, как
модел описано в таблице
и

нас
тоя
щее
вре
мя
инс
тру
мен
т
AP
D
под
дер
жив
ает
бол
ее
80
нов
ей
ши
х
мод
еле
й
An
droi
d. В
нас
тоя
щее
вре
мя
AP
D
мо
жет
вып
олн
ять
физ
иче
ски
е
дам
пы
мод
еле
й
LG
Opt
imu
s,
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S79

Рис. 10. Физический дамп Android (APD).

1. Смартфоны могут переходить в режим обновления


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

Подключитесь к телефону и получите информацию о


модели

Подключитесь к смартфону с помощью USB-кабеля.


Предварительно необходимо установить драйвер USB.
Драйвер USB можно загрузить с домашней страницы
производителя. После подключения USB-кабеля
выберите кнопку Acquire Model and GPT information.
Если пользователь выбирает только производителя, то
название модели смартфона отображается
автоматически. После получения информации о модели
информация о разделе получается путем отправки
команды формирования раздела GPT. Как показано на
рис. 10, в окне отображается имя раздела, начальный и
конечный адреса для каждого раздела.

Физическое приобретение

В инструменте APD реализована поддержка дампа


разделов и дампа всей флэш-памяти. После выбора
кнопки Dump Selected Partitions выполняется
физический дамп соответствующего раздела. После
завершения процесса дампа в окне Dump Log
отображается время дампа и хэш-значение MD5 образа
дампа.
Для захвата всей флэш-памяти выбирается кнопка
Full Dump. Процесс физического захвата выполняется
с использованием начального и конечного адресов
флэш-памяти в
S80 S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76
информация о полученном GPT-разделе. По
окончании процесса сбора на экран выводятся
информация об исследователе, информация об
инструменте сбора и информация о дампе, как
показано на рис. 10. В информации о дампе
указывается время начала и время окончания
процесса, где вычисляется и отображается хэш-
значение MD5 для образа дампа. Расчет хэш-значения
важен для проверки целостности образа дампа.
Файл, полученный с помощью инструмента APD,
имеет формат "сырых" данных и может быть
проанализирован с помощью криминалистических
средств смартфонов (Cellebrite UFED Physical Analyzer,
2015; Guidance EnCase, 2014; R-Linux, 2014).

Эксперименты

Наиболее важными факторами в области получения


криминалистических данных с помощью ОС Android
являются гарантия целостности образа дампа,
быстрый сбор доказательств и возможность получения
дампа в антикриминалистической среде благодаря
блокировке шаблона и паролю пользователя. Исходя
из этих трех факторов, мы сравнили предложенный в
настоящем исследовании инструмент APD с
существующими методами получения данных с
использованием новейших смартфонов на базе ОС
Android. Сравнивались известный прибор Cellebrite
UFED 4PC, метод дампа на основе пользовательского
образа восстановления, физический дамп ADB с
помощью эксплойта rooting и получение данных с
помощью JTAG. В табл. 5 приведены полученные
экспериментальные результаты. В тестах
использовались следующие различные модели: G3
(F400S, D851), Optimus G (F180S, E975), R3 (IM-
A850S), Iron2 (IM-A910S) и
Nexus 4/5 (E960, D821). После завершения процесса
дампирования флэш-памяти с помощью APD-
инструмента мы проверим полученный образ с
помощью Cellebrite UFED Physical Analyzer (2015),
чтобы определить качество полученного дампа.
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S81

Таблица 5
Результаты экспериментов.

Пункт Предлагаемый Cellebrite Дамп Дамп ADB с Сбор данных


метод (APD) UFED 4PC пользовательского использованием на основе
режима root exploitation JTAG
восстановления
Целостность гарантируется O X X X O
Скорость приобретения (размер: 32 ГБ) 30 мин 120 мин 120 мин 180 мин 480 минa
Сброс смартфона с блокировкой экрана O X X X O
a Метод сбора данных на основе JTAG исключает время распайки и подключения.

Большинство средств криминалистической экспертизы


Сохранение целостности сброшенного образа
на базе S/W используют протокол ADB для получения
физических данных. Для использования протокола ADB
В предыдущем исследовании (Son et al., 2013)
на смартфоне должна быть включена отладка USB.
целостность пользовательских данных проверялась с
Однако в целях безопасности все смартфоны под
помощью метода сбора данных на основе JTAG. Этот
управлением ОС Android поставляются с отключенной
метод гарантирует целостность пользовательских
отладкой USB. Таким образом, для применения
данных, поскольку прошивает только
существующих методов сбора данных необходимо
пользовательский образ восстановления. Однако
включить отладку USB. Таким образом, выполнить
целостность всей флэш-памяти нарушается,
физический сбор невозможно
поскольку раздел восстановления флэш-памяти
модифицируется. Целостность также нарушается при
использовании Cel- lebrite UFED 4PC и дампа ADB с
использованием рутинга, поскольку процесс
получения выполняется после обычной загрузки.
В отличие от этого, предлагаемый метод сбора
данных сохраняет целостность всей флэш-памяти.
Он загружается в режиме обновления
микропрограммного обеспечения, а физический сбор
осуществляется с помощью команды чтения флэш-
памяти. Таким образом, мы сравнили метод сбора
данных с методом JTAG, чтобы убедиться в
сохранении целостности всей флэш-памяти. Для
обеспечения точности результатов были
использованы те же процессы, что и в предыдущем
исследовании (Son et al., 2013). Мы сравнили хэш-
значения сброшенных изображений после
пятикратной обработки.

Скорость получения информации

В связи с быстрым ростом использования


смартфонов резко возрастает и количество
смартфонов, которые необходимо проанализировать.
Поскольку количество телефонов, которые
необходимо исследовать, велико, использовать метод
сбора данных на основе JTAG, который требует
времени сбора более 8 ч в полевых условиях, не так
просто. Поэтому часто используются быстрые
методы сбора данных на базе S/W. Поэтому мы
провели эксперимент по сравнению времени сбора
данных для всей флэш-памяти, результаты которого
приведены в табл. 5. Результаты представляют собой
средние значения времени сбора данных для 8
моделей. Предложенный метод позволяет установить
максимальный размер смартфона для отправки
данных на ПК, поэтому для сбора данных с флэш-
памяти объемом 32 Гбайт потребовалось в среднем
около 30 мин, что примерно в четыре раза быстрее,
чем при использовании других методов.

Физическое получение данных со смартфонов с


заблокированным экраном (отладка по USB отключена)
S82 S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76
с помощью одного из существующих методов в
смартфоне, заблокированном шаблоном или
паролем пользователя (отладка по USB
отключена). Этот недостаток является важной
проблемой, требующей решения в области
физического получения информации в Android.
Однако в предлагаемом методе эта проблема
преодолена. Даже для смартфона с блокировкой
экрана можно выполнить физический захват после
выключения телефона и перезагрузки в режиме
обновления прошивки.

Заключение

Мы разработали новый метод получения всей


флэш-памяти путем анализа протоколов
обновления прошивок смартфонов на платформе
Android. Мы декомпилировали программы
обновления прошивок, предоставляемые
производителями, и проанализировали протоколы
обновления прошивок в загрузчике. По
результатам анализа протоколов обновления
микропрограмм мы обнаружили, что в некоторых
протоколах обновления микропрограмм команды
чтения флэш-памяти были предварительно поданы,
что позволило выполнить физический захват. Если
команды чтения флэш-памяти были удалены, то
необходимо провести дополнительные
исследования для исправления команды чтения. На
основе этого нового метода сбора данных мы
разработали программу сбора данных для
физического дампа флэш-памяти более 80
последних моделей Android.
Сравнивая предложенный инструмент с
существующими методами, мы доказали, что наш
метод гарантирует целостность всей флэш-памяти,
которую он приобретает с высокой скоростью, а
физическое получение может быть выполнено
независимо от повторного ограничения, связанного с
блокировкой экрана шаблоном или паролем
пользователя (отладка по USB отключена).
Ограничением предлагаемого метода сбора
является необходимость анализа протокола
обновления прошивки при выпуске новых
смартфонов Android. Однако, поскольку протокол
обновления прошивки реализован в загрузчике всех
смартфонов Android и каждый производитель
применяет один и тот же протокол обновления
прошивки для всех своих моделей, физический
сбор данных может быть выполнен для всех
моделей производителей, если будет найден метод
сбора данных путем анализа протокола обновления
прошивки. Таким образом, в этой области
требуются постоянные исследования.

Ссылки

AccessData MPE+ http://accessdata.com/solutions/digitalforensics/mpe;


2014.
Android Backup Extractor. http://sourceforge.net/projects/adbextractor/;
2014.
Android Debug Bridge (ADB). http://developer.android.com/tools/help/
adb.html.
Разработка программного обеспечения для Android e fastboot.
http://en.wikipedia.org/wiki/
Android_software_development#Fastboot; 2014.
S.J. Yang et al. / Digital Investigation 14 (2015) S68eS76 S83

Breeuwsma M, Jongh M, Klaver C, Knijff R, Roeloffs M. Forensic data re- Мутава Н., Баггили И., Маррингтон А. Криминалистический анализ
covery from flash memory. Small Scale Digital Forensics J 2007;1(1): приложений социальных сетей на мобильных устройствах. Digit
1e17. Investig 2012;9:S24e33.
Bring your own device. http://en.wikipedia.org/wiki/Bring_your_ own_ Инструмент ОРТ. http://www.orttool.com; 2014.
device; 2014. Oxygen Forensics. http://www.oxygen-forensic.com/; 2014.
Cellebrite UFED 4PC. http://www.cellebrite.com/Mobile-Foensics/ Самообновление Pantech.
Products/ufed-4pc; 2015. http://www.pantechservice.co.kr/down/self/main. sky; 2014.
Cellebrite UFED Physical Analyzer. http://www.cellebrite.com/Mobile- R-Linux. http://www.r-tt.com/free_linux_recovery/index.shtml/; 2014.
Forensics/Applications/ufed-physical-analyzer; 2015. RIFF box. http://www.riffbox.org; 2014.
Гровер Дж. Android-криминалистика: автоматизированный сбор Rooting (Android OS). http://en.wikipedia.org/wiki/Rooting_ (Android_ OS);
данных и отчетность с мобильного устройства. Digit Investig 2014.
2013;10:S12e20. Samsung Kies. http://www.samsung.com/us/kies/; 2014.
Guidance EnCase. http://www.guidancesoftware.com/; 2014. Samsung KNOX. http://www.samsungknox.com/; 2014.
Hannay P. Kindle forensics: acquisition & analysis. Proc Conf Digital Fo- Samsung Odin. http://odindownload.com/; 2014.
rensics, Secur Law 2011;6(2):143e50. Безопасный Boot. https://source.android.com/devices/tech/security/
Гекс-Рейс. https://www.hex-rays.com/index.shtml/; 2015. secureboot/index.html; 2014.
High-Level Data Link Control (HDLC). http://en.wikipedia.org/wi ki/High- Доля рынка ОС для смартфонов в 3-м квартале 2014 г.
Level_Data_Link_Control. http://www.idc.com/prodserv/ smartphone-os-market-share.jsp; 2014.
Хуг А. Криминалистика Android. Мир мобильной криминалистики Сон Н, Ли Й, Ким Д, Джеймс Дж, Ли С, Ли К. Исследование целостности
2009. пользовательских данных при приобретении устройств на базе
Хуг А. Криминалистика Android: расследование, анализ и мобильная Android. Digit Investig 2013;10:S3e11.
безопасность для Google Android. Syngress; 2011. Sony PC Компаньон. http://support.sonymobile.com/gb/tools/pc-
HTC Sync Manager. http://www.htc.com/us/software/htc-sync-manager/; companion/; 2014.
2014. Sylve J, Case A, Marziale L, Richard G. Получение и анализ летучей памяти с
Iqbal A, Alobaidli H, Baggili I, Marrington A. Amazon kindle fire HD fo- андроид-устройств. Digit Investig 2012;8:175e84.
rensics. In: Digital forensics and cyber crime; 2013. p. 39e50. Видас Т., Чжан С., Кристин Н. На пути к общей методологии сбора
Йованович З. Методы криминалистики Android. Международная данных для устройств Android. Digit Investig 2011;8:S14e24.
академия дизайна и технологий; 2012. Разработчики XDA. Как сделать свой собственный usb jig. 2012.
Ким К., Хонг Д., Рю Дж. Получение криминалистических данных с http://forum.xda- developers.com/galaxy-s2/help/guide-how-to-make-
мобильных телефонов с помощью интерфейса JTAG. Information use-jig-reset- binary-t1604707.
Security Research Division; 2008. p. 410e4. Разработчики XDA. Схема USB-кабеля флэш-памяти LG 910K. 2012.
Lessard J, Kessler G. Android forensics: simplifying cell phone examina- tions. http://forum.xda- developers.com/showthread.php?t¼2069564.
Small Scale Digital Device Forensics J 2010;4(1):1e12. Xiaomi Скачать MiFlash для смартфона Xiaomi. http://www.jayceooi.
LG Software & tools Download. http://www.mylgphones.com/lg- software- com/download-miflash-for-xiaomi-smartphone/; 2015.
tools-download; 2014. Коробка Z3X. http://z3x-team.com; 2014.
MSAB XRY. https://www.msab.com/products/xry; 2015.
MultiMediaCard. http://en.wikipedia.org/wiki/MultiMediaCard #eMMC;
2014.

Вам также может понравиться