0Pricing
Cyber Security Academy · Урок

Получение и анализ данных Android

Извлечение и анализ данных Android

«Получение и анализ данных Android» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Архитектура хранилища Android

Чтобы эффективно извлекать данные Android, необходимо знать, где они хранятся.

  • /data/data/<package>/ — изолированная среда каждого приложения: базы данных, shared_prefs, файлы, кэш.
  • /data/media/0/ — пользовательское хранилище (фотографии, загрузки).
  • /data/system/ — учетные записи, настройки блокировки, статистика использования.

Большая часть свидетельств работы приложений находится в базах данных SQLite и XML-файлах настроек внутри изолированной среды приложения; без прав суперпользователя или механизма резервного копирования они недоступны для чтения.

ADB и предварительные условия отладки

Отладочный мост Android (ADB) — основной канал логического извлечения данных. Для него необходимо включить отладку по USB и авторизовать ключ компьютера.

  • Если отладка не включена или экран заблокирован, доступ через ADB невозможен.
  • Сам запрос на авторизацию изменяет состояние устройства — задокументируйте его.

Сначала проверьте соединение и зафиксируйте свойства устройства:

adb devices -l
adb shell getprop ro.build.version.release   # Android version
adb shell getprop ro.product.model           # Device model
adb shell getprop ro.crypto.state            # encrypted / unencrypted

Логическое извлечение с помощью резервной копии ADB

adb backup создает архив .ab с данными приложений, который можно использовать для резервного копирования. Этот способ не требует прав суперпользователя и широко доступен, но имеет ограничения: многие приложения устанавливают значение allowBackup=false.

  • Извлекает данные приложений, APK-файлы (с параметром -apk) и общее хранилище.
  • Не извлекает данные приложений, отказавшихся от резервного копирования, а также удаленные записи.

Создайте и преобразуйте резервную копию для анализа:

# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab

# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tar

Извлечение файловой системы

Извлечение файловой системы копирует дерево каталогов, включая изолированные среды приложений и журнальные файлы SQLite WAL/SHM, в которых хранятся несинхронизированные записи.

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

Извлекая базы данных SQLite, всегда копируйте и сопутствующие журнальные файлы:

adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/

Особенности физического извлечения

Физический образ — это побитовая копия NAND, включая нераспределенное пространство, в котором могут сохраняться удаленные данные. На современных устройствах Android его получить сложнее всего.

  • Шифрование FBE означает, что необработанный дамп NAND без ключа пользователя представляет собой зашифрованные данные.
  • Методы включают эксплойты производителя, режимы EDL или загрузчика, а также снятие микросхемы памяти (крайняя мера, разрушающая устройство).
  • На практике извлечение файловой системы в состоянии AFU часто дает больше пригодных для использования данных, чем зашифрованный физический дамп.

Выбирайте физическое извлечение только при наличии обоснования и возможности расшифровки.

SQLite: основа доказательств Android

Большинство артефактов Android — это базы данных SQLite. Специалисты напрямую запрашивают их, чтобы восстановить сообщения, журналы вызовов и временные метки.

  • Открывайте базы данных только для чтения, чтобы не изменять файл с доказательствами.
  • Временные метки часто представлены как миллисекунды эпохи Unix.

Изучите базу данных контактов, полученную при извлечении:

sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
   ...> FROM view_v_contacts LIMIT 20;

Восстановление удаленных записей SQLite

Удаление строки в SQLite часто лишь помечает занимаемое ею пространство страницы как свободное. Восстанавливаемые фрагменты находятся в следующих местах:

  • Страницы списка свободного пространства и нераспределенные области файла .db.
  • Журнал предварительной записи -wal, в котором сохраняются версии строк до контрольной точки.

Инструменты карвинга восстанавливают эти записи. Запустите процедуру восстановления для базы данных:

# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
  --out recovered_messages.csv

# Cross-check live vs recovered counts in your notes

Временная шкала и декодирование временных меток

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

  • Эпоха Unix (мс) — большинство баз данных сообщений.
  • Эпоха Unix (с) — многие системные журналы.
  • Время WebKit/Chrome — микросекунды с 1601 года (история браузера).

Всегда приводите время к UTC и указывайте часовой пояс устройства. Пример преобразования в SQLite:

-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
       key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;

Ключевые системные артефакты

Помимо данных приложений, системные артефакты Android раскрывают поведение пользователя и особенности использования устройства.

  • статистика использования — какие приложения запускались и когда.
  • accounts.db / accounts_ce.db — связанные учётные записи Google и приложений.
  • статистика сети / политика сети — использование данных каждым приложением.
  • конфигурация Wi-Fi (WifiConfigStore.xml) — известные сети, полезные для геолокационного контекста.

Они подтверждают или опровергают утверждения о том, кто и когда пользовался устройством.

Автоматизированный разбор с помощью ALEAPP

Ручной разбор не подходит для больших объёмов. ALEAPP (анализатор журналов, событий и протоколов Android) загружает извлечение файловой системы и формирует структурированный отчёт HTML/CSV.

  • Разбирает статистику использования, недавнюю активность, уведомления, разрешения приложений и многое другое.
  • Используйте его для первичного анализа, а затем вручную проверяйте важные результаты по исходным БД.

Запустите ALEAPP для каталога с извлечением:

python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifacts

Проверка и защита от подделки

Никогда не доверяйте одному инструменту. Проверяйте автоматизированный результат по исходным данным и сопоставляйте его с результатами других инструментов.

  • Повторно выполните важные запросы вручную в sqlite3, чтобы подтвердить результаты разбора.
  • Ищите признаки противодействия криминалистическому анализу: очищенные журналы, изменённые временные метки, приложения безопасного удаления или чат-приложения с настройками исчезающих сообщений.
  • Убедитесь, что хеш образа совпадает до и после анализа.

Воспроизводимость и перекрёстная проверка делают результаты обоснованными.

Быстрая проверка

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

Итоги: получение и анализ данных Android

Теперь Вы умеете получать и анализировать данные Android от начала до конца.

  • Данные приложений хранятся в изолированных хранилищах отдельных приложений в виде БД SQLite и настроек XML.
  • Резервная копия ADB = простое логическое извлечение; извлечение файловой системы (с правами root) сохраняет WAL; физическое извлечение сложнее всего при использовании FBE.
  • Восстанавливайте удалённые записи из страниц свободного списка и WAL.
  • Нормализуйте временные метки до UTC; декодируйте форматы эпохи и WebKit.
  • Используйте ALEAPP для первичного анализа, а затем проверяйте вручную с помощью sqlite3.
  • Ищите признаки противодействия криминалистическому анализу и повторно проверяйте хеш образа.

Далее: криминалистический анализ iOS.

Часто задаваемые вопросы

Урок «Получение и анализ данных Android» бесплатный?

Да — полный текст урока «Получение и анализ данных Android» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Получение и анализ данных Android»?

Извлечение и анализ данных Android Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Получение и анализ данных Android»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы мобильной криминалистики
  2. Получение и анализ данных Android
  3. Получение и анализ данных iOS
  4. Приложения, артефакты и отчётность
← Назад к Cyber Security Academy