Технические методы, инструменты, кейсы
Системы Business Intelligence (BI) — Power BI, Tableau, Qlik Sense, SAP BusinessObjects — стали критически важными инструментами управления бизнесом. 📊 Они агрегируют данные из множества источников (ERP, CRM, баз данных, Excel) и представляют их в виде дашбордов и отчетов.
Когда возникает судебный спор — о фальсификации отчетности, о недостоверности KPI, о хищениях через искажение данных, — именно BI-отчеты становятся ключевым доказательством. Однако суд не может принять распечатку дашборда как безусловную истину. Как технически доказать, что данные в отчете были сфальсифицированы? Как восстановить историю изменений? Как выявить подмену источника данных? Ответы на эти вопросы дает компьютерная экспертиза систем Business Intelligence для подачи иска в суд. 🧐
Союз «Федерация судебных экспертов» (сайт: https://kompexp.ru/) разработал технические методы исследования BI-систем. В данной статье, написанной в техническом стиле, представлены методы извлечения и анализа файлов отчетов (.pbix, .twb, .qvf), анализ логов BI-серверов, восстановление удаленных данных, а также три реальных кейса. ⚙️
Глава 1. Техническая архитектура BI-систем как объект экспертизы
BI-система — это многоуровневый программный комплекс. 🏗️
Уровни:
• источники данных (базы данных SQL, файлы Excel, облачные API);
• ETL/ELT (Power Query M, Tableau Prep, Qlik Load Script);
• семантическая модель (метаданные, связи, вычисляемые поля, меры DAX/MDX);
• визуализация (дашборды, отчеты);
• серверная часть (логи, репозиторий, управление доступом).
Компьютерная экспертиза систем Business Intelligence для подачи иска в суд требует владения инструментами анализа каждого уровня. 🔧
Глава 2. Технический анализ файлов Power BI (.pbix)
Файл .pbix — это ZIP-архив. 📦
Технический метод:
• Распаковка (7-Zip, PowerShell Expand-Archive).
• Анализ DataModelSchema — JSON-файла, содержащего таблицы, связи, меры DAX.
• Поиск подозрительных мер: IF(MAX(Table[Date]) = DATE(2023,12,31), [Revenue]*1.25, [Revenue]).
• Анализ DataModelStorage — извлечение сжатых данных, сравнение с исходными данными из источников.
• Анализ Connections — JSON-файла с настройками подключений (Server, Database, Query). Проверка, не был ли источник подменен (например, prod_db → test_db).
• Анализ метаданных — дата создания, автор (если сведения сохранились в ZIP-комментариях).
• Сравнение версий — diff между двумя файлами .pbix. 🛠️
Глава 3. Кейс №1: Power BI — выявление DAX-формулы, завышающей KPI на 25%
📊 Техническая фабула.
Акционеры розничной сети заподозрили генерального директора в завышении KPI для получения бонуса в размере 27 млн рублей.
Эксперты:
• Изъяли файлы .pbix за 6 месяцев.
• Распаковали каждый файл.
• В DataModelSchema нашли меру DAX: KPI_Actual = IF(MAX(Table[Date]) = DATE(2023,12,31), [Revenue]*1.25, [Revenue]).
• Сравнили с версией от 01.12.2023 — этой меры не было, она появилась 20.12.2023.
• Метаданные ZIP-файла показали автора последнего изменения — пользователя с ID генерального директора.
• Дополнительно проверили журналы Power BI Service (Office 365 Management Activity API) — нашли запись UpdateReport от 20.12.2023 09:15 с IP-адреса директора.
Суд удовлетворил иск. 🏆
Глава 4. Технический анализ Tableau (.twb/.twbx)
Tableau использует файлы .twb (XML) и .twbx (ZIP-архив с данными). 📂
Технический метод:
• Распаковка .twbx.
• Анализ XML-файла .twb: тег <connection> — источник данных (class, dbname, server). Тег <calculated-field> — вычисляемые поля.
• Поиск подозрительных формул: IF [Date] = #2023-12-31# THEN [Revenue]*1.25 ELSE [Revenue] END.
• Анализ экстрактов .hyper (база данных SQLite) — извлечение данных и сравнение с исходными.
• Анализ логов Tableau Server (база данных репозитория PostgreSQL) — таблицы _connections, _history.
• Запрос: SELECT * FROM _connections WHERE user=’fin_director’ AND date>’2023-12-09′. 🧬
Глава 5. Кейс №2: Tableau Server — подмена источника данных, выявленная через логи репозитория
🔐 Техническая фабула.
Финансовый директор перед налоговым аудитом изменил источник данных в дашборде Tableau с prod_db на audit_copy_db, где были скрыты убытки на 56 млн рублей.
Эксперты:
• Получили доступ к базе данных репозитория Tableau Server (PostgreSQL).
• Выполнили SQL-запрос: SELECT user, action, old_value, new_value, ip, time FROM _connections WHERE user=’fin_director’ AND action=’change_connection’ AND time > ‘2023-12-09’.
• Обнаружили запись: 10.12.2023 14:23:45 — old_value=’prod_db’, new_value=’audit_copy_db’.
• IP-адрес (192.168.1.100) совпал с рабочей станцией финансового директора.
• Эксперты изъяли старую версию дашборда из резервной копии, восстановили прежний источник данных и сравнили его с новым — расхождение составило 56 млн рублей.
Суд удовлетворил иск. 🗡️
Глава 6. Технический анализ Qlik Sense (.qvf и Repository)
Qlik Sense использует файл приложения .qvf (ZIP-архив) и базу данных Repository (PostgreSQL). 📁
Технический метод:
• Распаковка .qvf.
• Анализ файла LoadScript — скриптов загрузки данных на языке Qlik.
• Поиск подозрительных строк: WHERE-условия, отсекающие данные; SET-переменные, изменяющие значения; IF-условия в скриптах.
• Анализ Repository: таблица logs (история изменений приложений).
• Запрос: SELECT user, action, script_hash, time FROM logs WHERE app_name=’Sales_Report’.
• Восстановление удаленных приложений из резервных копий Repository (SQL-дампов). 🔩
Глава 7. Кейс №3: Qlik Sense — восстановление удаленной истории из таблицы logs Repository
📦 Техническая фабула.
Бывший администратор BI перед увольнением удалил историю обновлений дашборда Qlik Sense, где были зафиксированы его манипуляции (завышение продаж на 15–20% перед квартальными отчетами).
Эксперты:
• Получили доступ к серверу Qlik Sense.
• Подключились к базе данных Repository (PostgreSQL).
• Выполнили запрос: SELECT user, action, script_diff, time FROM logs WHERE app_name=’Sales_Report’ AND user=’admin’ AND time > ‘2022-01-01’.
• Извлекли 345 записей за 2 года.
• Анализ script_diff показал, что администратор изменял Load Script, добавляя коэффициент 1.15 к сумме продаж перед каждым квартальным отчетом.
• Сопоставили временные метки с логами входа.
Суд удовлетворил иск. 💾
Глава 8. Технический анализ логов BI-серверов (Power BI Service, Tableau Server)
Логи BI-серверов — это «черный ящик». 📋
Технические методы:
• Power BI Service — Office 365 Management Activity API (PowerShell: Search-UnifiedAuditLog -Operations «CreateReport»,»UpdateReport»,»DeleteReport»,»ViewReport»).
• Выгрузка в CSV, анализ IP-адресов и пользователей.
• Tableau Server — доступ к базе данных репозитория (PostgreSQL).
• Таблицы: _history (запуски отчетов), _background_tasks (фоновые задачи), _connections (источники).
• Qlik Sense — таблица logs (Repository).
• Поиск аномалий: массовый экспорт отчетов (более 100 за час), изменение источников данных, удаление отчетов перед аудитом, активность в нерабочее время (00:00–06:00). 🕵️
Глава 9. Техническое восстановление удаленных отчетов из резервных копий
Удаление отчета не всегда окончательно. 🗑️
Технические методы:
• Power BI Service — корзина хранения (до 90 дней). Восстановление через интерфейс или API.
• Tableau Server — резервные копии репозитория (SQL-дампы). Восстановление базы данных на тестовом сервере и извлечение удаленных отчетов.
• Qlik Sense — резервные копии Repository (SQL-дампы).
• Desktop BI — теневые копии Windows (VSS), корзина, временные файлы.
• Оценка полноты восстановления: R = N_восстановленных / N_удаленных (по логам). 🧲
Глава 10. Технический анализ ETL-скриптов (Power Query M, Tableau Prep, Qlik Load Script)
ETL-скрипты — это код, который загружает и трансформирует данные. 🧬
Технические методы:
• Power Query M — извлечение из .pbix (файл DataModelSchema или Report).
• Поиск конструкций: Table.SelectRows с условиями (например, each [Value] >= 0 — отбрасывание отрицательных значений), Table.TransformColumns с вычислениями.
• Tableau Prep — анализ файлов .tfl (JSON).
• Qlik Load Script — анализ LoadScript из .qvf.
• Поиск WHERE, DROP, SET.
• Сравнение с эталонной версией — diff скриптов из резервных копий.
• Восстановление удаленных строк — запуск скрипта без фильтров на тестовых данных. 🦠
Глава 11. Техническая перекрестная верификация с источниками данных
Самый надежный метод проверки — сравнение BI-отчета с первичными источниками (ERP, CRM, базы данных). 🌐
Технический метод:
• Идентификация источников — анализ Connections в .pbix или .twb.
• Выгрузка данных из источников — SQL-запросы к базам данных, экспорт из ERP.
• Повторный ETL — запуск ETL-скрипта (Power Query, Tableau Prep) в тестовой среде.
• Сравнение — вычисление расхождения Δ = |X_bi — X_source| / X_source для каждого числового показателя.
• Документирование — таблица расхождений прикладывается к заключению. 📊
Глава 12. Техническая оценка достоверности и целостности отчетов BI
Метрологический подход. 📏
• Хеш-суммы SHA-256 — для каждого файла отчета.
• Сравнение с резервными копиями — наличие идентичных файлов за прошлые периоды подтверждает неизменность.
• Перекрестная верификация — сопоставление данных отчета с данными из первичных источников (не менее двух источников).
• Статистическая оценка — для выявленных аномалий вычисляется p-value (вероятность случайного возникновения). При p < 0.001 аномалия считается значимой.
• Указание погрешности — для временных меток ±1 с, для сумм ±0,01%. 🔬
Глава 13. Техническое противодействие уничтожению доказательств
Недобросовестная сторона может попытаться удалить файлы отчетов или очистить логи. 🚫
Технические контрмеры:
• Автоматический экспорт — настройка ежедневного экспорта логов через API (Power BI: Office 365 Management Activity API).
• Немедленное создание резервных копий — при получении доступа копирование всех файлов .pbix, .twb, .qvf.
• Анализ теневых копий — VSS на серверах.
• Запрос резервных копий у провайдера (для облачных BI).
• Фиксация факта удаления — даже если файл удален, логи сервера сохраняют запись об удалении (кто и когда удалил). 🛡️
Глава 14. Техническая документация и цепочка хранения (chain of custody)
Chain of custody имеет критическое значение. 📑
Технический протокол:
• Регистрация каждого файла — имя, размер, хеш SHA-256.
• Видеофиксация процесса выгрузки (при нотариальном осмотре).
• Хранение оригиналов на защищенном носителе (шифрованный диск).
• Передача данных только по акту с подписями.
• Уничтожение копий после завершения дела по акту.
Нарушение chain of custody является основанием для исключения доказательств. 🔒
Глава 15. Заключение: компьютерная экспертиза BI — фундамент правосудия
Компьютерная экспертиза систем Business Intelligence для подачи иска в суд — это техническая дисциплина, требующая знаний форматов (.pbix, .twb, .qvf), языков (DAX, M, SQL) и логов BI-серверов. 🟩
В статье представлены технические методы: анализ DAX-формул, логов репозитория Tableau, базы данных Repository Qlik, ETL-скриптов, восстановление удаленных отчетов.
Три кейса — Power BI (завышение KPI), Tableau (подмена источника), Qlik (восстановление из логов) — демонстрируют практическую применимость этих методов.
Повторим ключевую фразу: компьютерная экспертиза систем Business Intelligence для подачи иска в суд — это единственный способ получить технически обоснованные доказательства.
Союз «Федерация судебных экспертов» (https://kompexp.ru/) готов помочь. Обращайтесь! 🟩

Задавайте любые вопросы