Статьи

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

Для чего стоит исследовать SQLite вручную?

Казалось бы, при обработке полученных данных «Мобильный Криминалист» в любом случае проанализирует и базы SQLite, если таковые содержатся в извлечении. Зачем же тогда пользователю этого программного продукта необходимо тратить свое дополнительное время на самостоятельный разбор баз, пусть и с использованием встроенного инструмента?

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

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

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

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

Что представляют собой «Просмотрщик файлов» и его строение при исследовании SQLite?

«Просмотрщик файлов» — это дополнительный инструмент, встроенный в программное обеспечение «Мобильный Криминалист Эксперт», позволяющий открывать файлы формата PDF, HTML, PLIST, XML и SQLite в отдельных вкладках, не покидая основное рабочее пространство.

Новый просмотрщик обладает высокой скоростью работы — файл объемом 500 МB загружается не более 10 секунд. Возможность быстрого перехода между разделами или таблицами базы в одной вкладке обеспечивает удобство исследования информации.

По структуре для SQLite, просмотрщик напоминает своего предшественника, но имеет и отличительные черты.  

"

В левой части окна находится общее строение базы — разделы и таблицы. Каждую таблицу можно развернуть для просмотра её составляющих: столбцы, внешние ключи, индексы и другое. В правой части — конвертер, демонстрирующий значения выбранного фрагмента в различных кодировках, а также в текстовом и шестнадцатеричном форматах (при этом дополнительно доступен выбор и кодировки текста). В центре располагается основной экран, на котором отображается содержимое таблицы. Содержание всех таблиц различно и зависит от их назначения и типа хранимой информации. Кроме того, клик по названию базы в левом поле позволяет просмотреть основную информацию о ней на главном экране.

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

Функциональность «Просмотрщика файлов SQLite»

Первая и, пожалуй, одна из наиболее важных функций после просмотра данных — выполнение и редактирование SQLite-запросов. На левой панели окна просмотрщика, в дополнение к названию и структуре базы, находится кнопка редактора SQLite-запросов.

SQLite-запросы используются для управления данными и работы с ними внутри самой базы. Все запросы можно разделить на 2 основных типа — стандартные и мета-команды.

Мета-команды всегда начинаются с точки и задаются для административных операций различного рода, например, создания таблиц:

.show - отображает текущие настройки заданных параметров

.databases - показывает название баз данных и файлов

.quit - позволяет выполнить выход из sqlite

.tables - демонстрирует текущие таблицы

.schema - показывает структуру таблицы

.header -  отображает или скрывает шапку таблицы

.mode - позволяет выбрать режим отображения данных таблицы

.dump - создает копию базы данных в текстовом формате

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

«Мобильный Криминалист» при вводе запроса в специальной форме в основном рабочем окне подсказывает популярные команды и имена таблиц при вводе первых символов, а также подсвечивает синтаксис SQL. Более того, при успешном выполнении запроса программа дает возможность сохранить его в быстрый доступ и в библиотеку. 

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

"

Для сохранения запроса в библиотеку необходимо там же выбрать пункт «Сохранить запрос», ввести его название и краткое описание. В отличие от вкладок быстрого доступа, библиотека сохраняется на постоянной основе, ее всегда можно посмотреть и воспользоваться ею.

"

Второй значительной функцией является отображение данных в связанных таблицах. 

Связи между таблицами прописаны в параметре «Внешние ключи» и определяются программой при работе с файлом БД. В нижнем поле основного экрана просмотрщика появляется окно с подробной дополнительной информацией о выбранной строке, взятой из связанных таблиц. Если соответствий больше одного, отображаются все строки связанной таблицы с подходящими значениями.

"

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

"

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

Так, при наличии файлов rollback journal и Write Ahead Logs, они подгружаются автоматически с соответствующим именем в одном каталоге с файлом базы данных.

Файлы формата PDF, HTML, PLIST, XML можно открывать для исследования прямо из базы в отдельной вкладке.

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

А как же восстановление удаленных данных?

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

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

Поэтому для восстановления удаленной информации мы все еще советуем использовать просмотрщик прежнего типа (правая кнопка мыши — пункт «Открыть в SQLite просмотрщике») и внимательно следить за обновлениями «Мобильного Криминалиста», чтобы не пропустить столь важное улушение.

Где же можно найти базы для исследования?

Чаще всего найти базы данных SQLite можно при анализе файловой системы изучаемого устройства во вкладках «Все файлы» и «Базы данных». В таком случае для открытия базы в новом просмотрщике достаточно кликнуть два раза по файлу. 

"

Но иногда исследователи обладают файлами баз данных SQLite, ранее извлеченными ими откуда-либо с помощью сторонних инструментов. Для загрузки файлов из внешних источников в программу необходимо использовать пункт «SQLite просмотрщик» в поле «Просмотрщик файлов» на рабочей панеле программы.

"

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