# Использование журналов баз данных SQLite при расследовании цифровых инцидентов Алексей Москвичев · ООО «МКО Системы» MOSCOW FORENSICS DAY ’26 · День 1 — четверг, 3 сентября 2026 · По программе 11:20–11:55 · В записи 00:42:33–01:09:41 Саммари выступления · https://2026.moscow-forensics-day.workers.dev/summary/03-moskvichev Расшифровка: https://2026.moscow-forensics-day.workers.dev/transcript/03-moskvichev · Слайды: https://2026.moscow-forensics-day.workers.dev/slides/03-sqlite-logs · Смотреть с 00:42:33: https://youtu.be/WuMIv5sFPRs?t=2553 --- ## Кратко Журнал WAL как источник «удалённого»: в основной базе видно только итоговое состояние, а в журнале — все промежуточные, включая удалённые записи и черновики. Дальше три кейса из одного региона, где на потерпевших оформляли кредиты: самих APK на телефонах уже не было, но по журналу антивируса Сбера, системным логам бюджетных Android, базе Google Play Protect и базе Telegram эксперт собрал хронологию — от получения файла в чате до удаления приложения. Важная оговорка спикера: журналы перезаписываются, «всю удаленку» там искать не стоит, и смысл в том, чтобы снять журнал до чекпоинта. Кейсы чужие — их передал действующий эксперт, поэтому на часть вопросов зала ответов не нашлось, включая два регуляторных. ## Главное - Почему SQLite: больше 20 лет, самая распространённая СУБД мобильных и настольных ОС, без сервера и настройки, данные в обычных файлах, быстрая и компактная. - На современном устройстве «десятки, порой сотни» баз: сообщения, геоданные, история браузера, банковские приложения. Интерес представляет не только база, но и её журналы. - Модельный пример: сообщение написали, отредактировали, удалили. В database.db останется итоговое состояние либо ничего; журнал способен сохранить все три состояния. - Механизм: до SQLite 3.7 всё писалось в основной файл, с 3.7 изменения идут в журнал WAL и переносятся в базу после чекпоинта (контрольной точки). - Практический вывод: при физическом образе или полной файловой системе анализировать надо пару database.db + database.wal (плюс служебный файл без пользовательских данных) — только триаж всех файлов вместе даёт картину. - Что бывает в журнале: новые записи, ещё не перенесённые в базу; удалённые; предыдущие и временные состояния, черновики; незавершённые транзакции после резкого выключения. - Ограничение названо прямо: журналы перезаписываются, «не стоит обольщаться» — и задача в том, чтобы зафиксировать журнал «до момента схлопывания», до переноса данных в основную базу. - Кейсы — из одного региона, материалы передал действующий эксперт (в зале его нет). Потерпевшие заявили о кредитах, оформленных на их имя; до этого переходили по ссылкам и что-то устанавливали. - Устройства изъяли и направили в региональный ЭКЦ; извлечение — продуктом МКО: Unisoc/Spreadtrum Android и Samsung, метод FFS (полная файловая система), «уязвимость 31317». Скан секцией «Вредоносные объекты» ничего не дал — файлов на устройствах уже не было, поэтому искали следы активности. - **Кейс 1** («Поиск по ФИО бп»). Отправная точка — threats.db-wal приложения Сбера: встроенный антивирусный модуль записал base.apk как троян; самого файла нет, но остался идентификатор пакета. - Системный журнал установленных приложений Android пуст, зато служебный журнал бюджетных Tecno, Infinix и itel сохранил событие регистрации приложения в системе 12 ноября 2025 в 4:39. - В gass.db (Google Play Protect) нашёлся хеш файла по его идентификатору — с ним уже можно идти в базы специализированных сервисов и сопоставлять с эпизодами по похожим составам. - В AndroidManifest.xml — выданные разрешения: приём и отправка SMS, доступ к сети. Оговорка: наличие разрешений не доказывает, что они использовались, «но тем не менее сам факт этих разрешений говорит о многом». - Ещё один служебный файл тех же бюджетных устройств дал видимое имя приложения — «Поиск по ФИО бп». - Источник доставки — Telegram: таблица messages_v2 фактически пуста (сообщение удалили), но в таблице chats сохранилось название чата, где получен APK: «Пропавшие без вести на СВО». Вывод спикера: мошенники выбирают социально значимые темы. - **Кейс 2** («Фотоархив 20»). Тот же журнал Сбера с base.apk (пакет com.example.application); лог Samsung Messages зафиксировал, что com.example назначено приложением по умолчанию для приёма и отправки SMS; отдельный файл подтвердил удаление приложения 31 января 2025; хеш — снова в gass.db; имя «Фотоархив 20» сохранил антивирус Касперского; доставка — опять через Telegram. - **Кейс 3.** Приложения Сбера на устройстве нет, но встроенный антивирус сохранил запись и пометил объект как потенциально вредоносный, с предупреждением о риске утечки конфиденциальных данных и мошеннического списания денег. Два лога дали установку и удаление спустя три дня, хеш — в gass.db, доставка — Telegram. - Итог: журналы SQLite вместе с системными артефактами позволили построить хронологию от попадания файла на устройство до источника получения APK и связать её с датами мошеннических действий. ## Инструменты, артефакты, технологии - **SQLite**, механизм **WAL** (с версии 3.7), чекпоинт; триада файлов **database.db** + **database.wal** + служебный файл. - **threats.db-wal** — журнал антивирусного модуля Сбера; **gass.db** — база Google Play Protect (хеши); **AndroidManifest.xml** — разрешения; системный журнал установленных приложений Android; служебные журналы **Tecno / Infinix / itel**; логи **Samsung Messages**; база **Telegram** (таблицы **messages_v2**, **chats**). - **Мобильный Криминалист** — извлечение **FFS** (полная файловая система) для **Unisoc/Spreadtrum** и **Samsung**, «уязвимость 31317»; секция «Вредоносные объекты» — интеграция с **Касперским**. - **FQLite Carving Tool** — сторонний просмотрщик WAL, которым пользовался эксперт (упомянут в вопросе из зала). - Вредоносные приложения под именами «Поиск по ФИО бп», «Фотоархив 20», пакет **com.example.application**. ## Правовой и организационный контекст Самая насыщенная правовая часть дня — в вопросах. Упомянуты 210-й федеральный закон («Антифрод-2», уже действует), готовящийся «Антифрод-3» и доктрина развития системы противодействия ИКТ-преступности, а также требования регуляторов — Банка России и ФСТЭК — к тому, чтобы экспертный результат не был «автоматически автоматизирован», то есть чтобы выводы делал человек. Отсюда два требования к инструментам: сертификация как доверенного ПО для ведомственных систем и техническая (не текстовая) запись о том, что объекты прошли антивирусную проверку, — потому что в суде адвокаты спрашивают эксперта, как он убедился, что сам ничего не повредил. Процессуальный итог по кейсам: сведения легли в основу заключения эксперта и были признаны доказательствами в суде. Изъятие и экспертиза шли через региональный ЭКЦ. ## Вопросы из зала - **1** (Евгения): WAL анализировали бесплатным FQLite Carving Tool? И почему Мобильный Криминалист учитывает служебные журналы при разборе приложения, но через файловый браузер показывает базу «как есть»? Помечает ли он такие записи отдельно, как удалённые, и есть ли это в планах? → Анализировал не МКО, а эксперт сторонним просмотрщиком; выбор просмотрщика — «вопрос вкусовщины»; отдельная пометка — «безусловно, эта задача будет стоять», но «когда — не скажу». - **2** (Элеонора): из-за разбора и базы, и WAL чаты WhatsApp и Telegram в МК выходят с задвоенной и затроенной перепиской, и следователи спрашивают, почему «жулик отправлял жертве трижды сообщения», хотя на устройстве это одно сообщение. → «Такая информация нам поступала… поработаем над этим». - **3** (имя не названо, вопрос о регулировании): будут ли хотя бы выборочные версии продукта сертифицированы как доверенное ПО под требования ФСТЭК и других регуляторов — для использования в ведомственных экспертных системах? И будет ли инструмент сам писать в технические журналы, что объекты прошли антивирусную проверку и какими средствами? → По сертификации: «вопрос больше к юристу… не скажу». По второму: «затрудняюсь, честно»; сейчас есть секция вредоносных объектов на интеграции с Касперским, данные доступны в личном кабинете. - **4** (имя не названо): во всех кейсах опорой служат данные антивирусов — насколько просто отделить настоящий вредонос, много ли ложных срабатываний у встроенных и банковских антивирусов? И насколько надёжны такие доказательства: можно ли подтвердить, что срабатывание было, а логи не подменены? → «В целом данные можно подменить, вы правильно сказали», но артефакты исследовались в комплексе, и выводы признаны доказательствами в суде. Про ложные срабатывания ответа нет: «не мы проводили эту экспертизу… мы уже со стерильными данными работали», обещает уточнить у эксперта. ## Позиция спикера Докладчик последовательно отделяет своё от чужого: кейсы переданы экспертом, сторонний инструмент — его выбор, «мы работали со стерильными данными». Это честно, но цена такая: на половину вопросов зала ответить нечем. Ограничения технологии названы прямо (журналы перезаписываются, разрешения не равны действиям, данные можно подменить), продукт продаётся мягко — через метод, а не через обещания. На регуляторные вопросы ответ откровенно «не знаю», без попытки отговориться. ## Цитаты - «…сразу сейчас могут понять юристы, что мы всю удаленку можем найти, посмотреть, она точно там будет. Нет. Все эти журналы перезаписываются». - «Конечно, никто не говорит о том, что все эти разрешения, если они предоставлены, выполнялись, но тем не менее сам факт этих разрешений говорит о многом». - «…выбирают темы социально значимые, которые сейчас востребованы в обществе». - «Затрудняюсь, честно». - «Ну, в целом данные можно подменить, вы правильно сказали. Но здесь в комплексе артефакты были исследованы».