Инженерные методы, инструменты, кейсы
Системы 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 — для каждого файла отчета.
• Сравнение с резервными копиями — наличие идентичных файлов за прошлые периоды подтверждает неизменность.
• Перекрестная верификация — сопоставление данных отчета с данными из первичных источников (≥2 источников).
• Статистическая оценка — для выявленных аномалий вычисляется 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/) готов помочь. Обращайтесь! 🟩

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