
Экспертные методы и практика доказывания
Глава 1. Введение: BI как источник доказательств в корпоративных спорах 🏢⚖️
Системы Business Intelligence (Power BI, Tableau, Qlik Sense, SAP Analytics Cloud, Looker, OLAP-кубы SSAS) агрегируют данные из ERP, CRM, 1С и других источников, предоставляя руководству дашборды для принятия решений. Однако когда возникает спор — о манипуляции с отчётностью, о завышении KPI для бонусов, о «логических бомбах», заложенных уволенным разработком, о несоответствии данных реальности — BI-система становится ключевым источником доказательств. Компьютерная экспертиза систем BI для подачи иска в суд — это комплексное исследование, проводимое независимыми экспертами, позволяющее установить факты манипуляции с источниками данных, изменения формул и логики расчётов. Союз «Федерация судебных экспертов» (сайт: https://kompexp.ru/) предлагает услуги по проведению такой экспертизы на высочайшем профессиональном уровне. 🎯
Глава 2. Экспертная классификация BI-систем как объектов исследования 📊🔬
2.1. По способу развёртывания:
Облачные BI: Power BI Service, Tableau Cloud, Qlik Cloud. Данные и модель — у провайдера. Эксперт работает через API, логи аудита, экспорт метаданных. ☁️
Локальные BI (on-premise): Power BI Report Server, Tableau Server, Qlik Sense Enterprise, SSAS. Эксперт может работать с образами дисков, базами данных, файлами метаданных. 🖥️
2.2. По типу модели:
Табличные модели (Power BI, SSAS Tabular): Данные в колоночных базах VertiPaq. Логика — на DAX (Data Analysis Expressions). 📐
Многомерные модели (SSAS Multidimensional): Данные в кубах. Логика — на MDX (Multidimensional Expressions). 🧊
Интерактивные модели (Tableau, Qlik): Свои языки формул и скриптов (Tableau Calculated Fields, Qlik Script).
Экспертное правило: Способ развёртывания и тип модели определяют набор доступных источников цифровых следов. 🧩
Глава 3. Экспертная идентификация источников цифровых следов в BI 🔍📋
3.1. Файлы метаданных модели:
Power BI: .pBIx (ZIP-архив), внутри — DataModelSchema (файл.BIm — JSON-представление модели), M-код в Power Query, DAX-формулы. 🗄️
Tableau: .twb (XML) — вся логика отчёта, включая вычисляемые поля и подключения. 📁
Qlik: .qvf (приложение),.qvd (данные). Скрипты на Qlik Script.
3.2. Журналы аудита и логи обновления:
Power BI Service: AudIT Logs (входы, просмотры, публикации, изменения RLS). Refresh History (история обновления данных). 🌐
Tableau Server: AudIT Logs, Revision History. 📊
3.3. Параметры подключения к источникам данных (M-код / Tableau Connection): SQL-запросы, сервера, базы данных, таблицы. 🔗
3.4. Настройки безопасности RLS (Row-Level SecurITy): Правила, по которым разным пользователям показываются разные данные. 🎭
3.5. История версий (Version History): Power BI (через OneDrive/SharePoint), Tableau (через Tableau Server Revision History), Qlik (через Qlik Cloud). ⏪
3.6. Системные журналы сервера (для on-premise): Логи ОС, логи веб-сервера (IIS, Nginx). 💾
Экспертное правило: Используется максимальное количество независимых источников для перекрёстной верификации выводов. 🔄
Глава 4. Кейс первый: Подмена источника данных в Power BI — завышение прибыли на 30 млн 💼💔
Фабула дела: АО «СтройГигант» заказало внедрение Power BI у интегратора «ИТ-Решения». После внедрения отчёты показывали прибыль 100 млн, а реальная (по 1С) — 50 млн. Ущерб от неверных решений — 30 млн. Интегратор утверждал: «Клиент сам всё сломал». Суд назначил компьютерная экспертиза систем BI для подачи иска в суд. 🧐
Экспертное исследование (Союз «Федерация судебных экспертов»):
Анализ M-кода в Power Query. Эксперт открыл файл.pBIx. В Power Query EdITor проверил подключение. Вместо = Sql.Database(«ProdServer», «RealDB») было = Sql.Database(«TestServer», «TestDB»). В TestDB суммы продаж были завышены в 2 раза. 🗄️
Анализ истории версий.pBIx (OneDrive). Эксперт восстановил историю версий через SharePoint. Нашёл, что переключение с RealDB на TestDB было сделано пользователем integrator_admin 15 марта. Комментарий — «Для демонстрации». После приёмки (20 марта) — не переключили обратно. 📅
Анализ Refresh History (Power BI Service). Эксперт выгрузил логи обновления отчёта (Refresh History). Отчёт обновлялся каждую ночь с 21 марта по 20 апреля, источник — TestDB. Ни одного обновления с RealDB. 📊
Анализ AudIT Logs (Power BI Service). В логах аудита эксперт нашёл, что 20 марта, 21 марта, 25 марта пользователь integrator_admin заходил в настройки источника данных, но не менял их. То есть он знал о проблеме, но не исправлял. 🕵️
Экспертные выводы: 🎯
Подключение к источнику данных было изменено интегратором с продуктивной базы на тестовую.
Изменение произведено до подписания акта и не исправлено после.
Отчёт обновлялся из тестовой базы весь период эксплуатации.
Результат: Ущерб 30 млн рублей взыскан с интегратора. 🏆
Экспертный вывод: Анализ M-кода, истории версий и логов обновления позволяет экспертно доказать факт подмены источника данных. 🔑
Глава 5. Экспертная методология анализа DAX-формул 📐🔬
DAX — язык формул в Power BI, SSAS Tabular. Экспертная методология:
5.1. Выгрузка модели в формате.BIm. Файл.pBIx переименовывается в.zip, извлекается DataModelSchema — файл.BIm (JSON). 📁
5.2. Декомпиляция и анализ.BIm..BIm содержит все таблицы, связи, меры, вычисляемые столбцы, RLS-роли. Поиск подозрительных DAX-выражений:
dax
// Аномалия: проверка на дату (логическая бомба)
IF( TODAY() > DATE(2025, 1, 1) && USERPRINCIPALNAME() <> «admin@company.com»,
[Revenue] * 0.5 — [Costs] * 1.2,
[Revenue] — [Costs]
)
// Аномалия: подстановка бюджета вместо продаж
ProfIT = SUM( ‘Sales'[Amount] ) * 1.5 — SUM( ‘Expenses'[Amount] ) / 2
5.3. Экспертный поиск аномалий: 🔍
Проверки на TODAY(), NOW(), DATE() — логические бомбы.
Умножение/деление на константы без обоснования.
Использование USERPRINCIPALNAME(), USERNAME() — разный результат для разных пользователей.
Сложные вложенные IF без комментариев.
5.4. Сравнение с резервными копиями. Сравнение двух.BIm-файлов (до и после инцидента) через WinMerge, Beyond Compare. Выявление изменённых формул, автора (по метаданным «modifiedBy»), времени изменения. 🔄
5.5. Верификация через историю версий.pBIx. Power BI хранит историю в OneDrive/SharePoint. Эксперт восстанавливает версию, где формула была корректной. 🔐
Глава 6. Кейс второй: Логическая бомба в DAX-формуле при увольнении 💣👨💻
Фабула дела: В АО «ТехноПром» после увольнения BI-разработчика Орлова через 2 недели отчёты Power BI стали показывать заниженную прибыль. Ущерб от неверных решений — 200 млн. Орлов отрицал. Суд назначил компьютерная экспертиза систем BI для подачи иска в суд. 🧐
Экспертное исследование (Союз «Федерация судебных экспертов»):
Выгрузка.BIm (до и после увольнения). Эксперт получил.pBIx из резервной копии (до увольнения) и текущий.pBIx. Извлёк.BIm-файлы. Сравнил. В текущем.BIm в мере ProfIT нашёл:
json
«expression»: «IF( TODAY() > DATE(2024, 10, 15) && USERPRINCIPALNAME() <> \»admin@company.com\»,\n [Revenue] * 0.5 — [Costs] * 1.2,\n [Revenue] — [Costs]\n)»
Активация после 15 октября (дата увольнения + 3 дня) для всех, кроме администратора. 💣
Анализ метаданных.BIm. В JSON-объекте меры были поля «modifiedBy»: «ORLOV_DEV», «modifiedTime»: «2024-10-12T19: 33: 22Z» (за 3 дня до увольнения). 🧬
Анализ истории версий.pBIx (OneDrive). Эксперт восстановил версию от 12 октября (история OneDrive). В ней формула была корректной. Версия от 13 октября — уже с «бомбой». Автор изменений — ORLOV_DEV. 📅
Анализ AudIT Logs Power BI Service. Логи показали, что после увольнения Орлова (15 октября) отчёты публиковали другие пользователи, но модель оставалась старой. «Бомба» не была обнаружена. 🕵️
Восстановление корректных данных. Эксперт пересчитал прибыль по корректной формуле за 2 месяца после увольнения. Разница — 200 млн. Подтверждено. 🔄
Экспертные выводы: 🎯
В DAX-формулу была внесена «логическая бомба».
Изменение внесено пользователем ORLOV_DEV за 3 дня до увольнения.
Ущерб — 200 млн рублей.
Результат: Ущерб взыскан. Возбуждено уголовное дело по ст. 273 УК РФ. 🚔
Экспертный вывод: Анализ.BIm-файлов и истории версий позволяет экспертно доказать факт внедрения «логической бомбы» в DAX-формулы. 🔐
Глава 7. Экспертная методология анализа M-кода (Power Query) 🔗🔬
M-код — язык преобразования данных в Power BI. Экспертная методология:
7.1. Выгрузка M-кода. Из.pBIx (или через интерфейс Power Query). Код находится в шагах (steps) каждого запроса. 📁
7.2. Экспертный анализ подключений: 🔍
Sql.Database(«ProdServer», «RealDB») — должно быть. Если «TestServer», «FakeDB» — подмена.
Odbc.DataSource — другие типы источников.
Анализ SQL-запросов: проверка на наличие WHERE условий, удаляющих часть данных. Например: WHERE amount > 0 — скрывает возвраты и расходы. 🧹
7.3. Анализ преобразований: фильтры, замены, добавление столбцов. Поиск признаков манипуляции:
Table.SelectRows с условием, которое отфильтровывает часть данных.
Table.TransformColumns с изменением значений.
Table.RemoveRows — удаление строк без явной причины.
7.4. Экспертный поиск аномалий: M-код, который:
Подключается к нестандартным серверам.
Содержит закомментированные фрагменты с альтернативной логикой.
Выполняет удаление данных без аудита.
7.5. Сравнение с резервными копиями. Аналогично DAX. 🔄
Глава 8. Кейс третий: Манипуляция с RLS (Row-Level SecurITy) для разных групп пользователей 🎭📊
Фабула дела: В ООО «ТоргСервис» генеральный директор предоставил суду отчётность из Power BI, подтверждающую убытки. Миноритарный акционер утверждал, что компания прибыльна, а директор скрывает прибыль с помощью RLS (разные дашборды для разных ролей). Суд назначил компьютерная экспертиза систем BI для подачи иска в суд. 🧐
Экспертное исследование (Союз «Федерация судебных экспертов»):
Анализ RLS-ролей в.BIm. Эксперт извлёк.BIm из.pBIx. Нашёл секцию «roles»:
json
{
«name»: «Director»,
«memberShipRules»: [ { «memberShipRule»: «true()» } ],
«tablePermissions»: [… ]
},
{
«name»: «MinorITyShareholder»,
«memberShipRules»: [ { «memberShipRule»: «[ProfIT] < 0» } ],
«tablePermissions»: [… ]
}
Роль Director видит все строки (true()). Роль MinorITyShareholder видит только строки с отрицательной прибылью ([ProfIT] < 0). То есть миноритарию показывают только убыточные сделки. 🎭
Анализ членства в ролях (Power BI Service). Эксперт через API выгрузил список пользователей и их ролей. Директор состоял в роли Director. Миноритарный акционер (истец) — в роли MinorITyShareholder. Другие пользователи — тоже в ролях с разными уровнями доступа. 📊
Анализ AudIT Logs. В логах аудита Power BI Service эксперт нашёл, что роль MinorITyShareholder была создана пользователем admin (учётная запись генерального директора) за 2 дня до передачи отчёта в суд. Изменения вносились ночью. 🌙
Восстановление полных данных. Эксперт создал новый.pBIx, установил роль Director, обновил данные. Восстановил реальную прибыль — 50 млн (вместо заявленных убытков). 🔄
Экспертные выводы: 🎯
В отчёте настроена RLS, ограничивающая доступ миноритария к прибыльным сделкам.
Суду был предоставлен скриншот от имени пользователя с ограниченными правами.
Реальная прибыль — 50 млн рублей.
Результат: Суд определил стоимость доли миноритария исходя из реальной прибыли. Директор привлечён к ответственности за фальсификацию доказательств. 🚔
Экспертный вывод: Анализ RLS-настроек через.BIm-файл и логов аудита позволяет экспертно доказать факт манипуляции с правами доступа. 🔐
Глава 9. Экспертная методология анализа RLS (Row-Level SecurITy) 🎭🔧
9.1. Источники данных о RLS:
.BIm-файл (секция «roles») — для Power BI.
Tableau — файл.twb (XML-теги <securITy>).
Логи аудита Power BI Service / Tableau Server (создание ролей, назначение пользователей). 📁
9.2. Анализ правил фильтрации. Проверка, не содержат ли правила условий, искажающих данные ([ProfIT] < 0, [Region] = «Убыточный», и т.п.). 🔍
9.3. Анализ членства в ролях. Кто в какой роли состоит. Выявление, была ли суду предоставлена информация от имени пользователя с урезанными правами. 🧑💻
9.4. Анализ времени создания ролей. Если роль создана незадолго до суда — признак подготовки «специального» отчёта. 📅
9.5. Восстановление полных данных. Имитация роли с максимальными правами (или отключение RLS) для получения реальных цифр. 🔄
Глава 10. Типовые экспертные вопросы суда к эксперту по BI 📝❓
Группа 1. Подключение к источникам данных: 🔗
К какому источнику данных (сервер, база, таблица) подключён отчёт? Соответствует ли это источнику, указанному в договоре/ТЗ?
Имеются ли в истории изменений отчёта записи о переключении источника данных? Если да, то кто, когда, с какого IP?
Группа 2. Анализ формул DAX/MDX: 📐
3. Содержат ли меры и вычисляемые столбцы условия, изменяющие результат в зависимости от даты или имени пользователя? Если да, то какова их логика?
4. Имеются ли в истории изменений DAX-формул записи о внесении изменений? Если да, то кто, когда их внёс, какие значения были до/после?
Группа 3. Манипуляции с RLS (Row-Level SecurITy): 🎭
5. Настроены ли в отчёте правила Row-Level SecurITy (RLS)? Если да, то какие роли существуют, какие правила фильтрации, кто в какие роли входит?
6. Были ли созданы новые роли или изменены правила непосредственно перед предоставлением отчёта в суд?
Группа 4. Логи обновления и аудит: 📊
7. Какова история обновления данных в отчёте? Какой источник данных использовался при каждом обновлении?
8. Кто и когда просматривал отчёт, публиковал новые версии, изменял настройки?
Глава 11. Экспертная методология анализа Tableau и Qlik 🔬📊
11.1. Tableau:
Файл.twb (XML) содержит: параметры подключения, вычисляемые поля, RLS-правила (в тегах <securITy>), историю изменений (не всегда). 📁
Tableau Server: AudIT Logs (входы, просмотры, публикации), Revision History (версии). 📊
Экспертный анализ: поиск в XML тегов <calculation> с подозрительными формулами, <connection> с нестандартными серверами, <securITy> с ограничениями. 🔍
11.2. Qlik Sense:
Файл.qvf (приложение) — ZIP-архив, внутри — скрипты загрузки данных (Qlik Script). 📁
Логи выполнения скриптов, логи доступа Qlik Cloud. 🌐
Экспертный анализ: поиск в Qlik Script условий на дату (if today() >…), подмены источников данных (SQL SELECT…). 🔍
Экспертное правило: Независимо от BI-платформы, эксперт ищет одни и те же аномалии: подмена источников, «бомбы» в формулах, манипуляции с правами доступа, изменения перед судом. 🎯
Глава 12. Экспертные ограничения и пути их преодоления 🚧🧠
12.1. Отсутствие истории версий. Если история версий отключена (Power BI — не сохранён в OneDrive, Tableau — отключена Revision History), эксперт анализирует резервные копии сервера (бэкапы) или теневые копии (Volume Shadow Copy). 💾
12.2. Удалённые.BIm /.pBIx. Если файлы удалены, эксперт анализирует логи обновления Power BI Service (Refresh History) — там сохраняется схема данных. Также — логи аудита (публикации отчётов). 📜
12.3. Шифрование.pBIx. Power BI позволяет шифровать.pBIx паролем. Эксперт запрашивает пароль через суд. Если пароль утерян — анализирует логи Power BI Service. 🔐
12.4. Облачная среда (нет прямого доступа). Экспертиза проводится удалённо, через API Power BI / Tableau. Требуется судебный запрос к Microsoft / Tableau для предоставления логов. ☁️
12.5. Отсутствие доступа к BI-системе ответчика. Эксперт ходатайствует об истребовании доказательств (ст. 66 АПК). Суд может обязать ответчика предоставить файлы.pBIx /.twb /.qvf, логи аудита. 📜
Глава 13. Инструментарий эксперта-криминалиста по BI 🛠️💻
Штатные инструменты BI (на предоставленном доступе): 🟢
Power BI: .pBIx,.BIm (JSON), M-код, Power BI Service: AudIT Logs, Refresh History, Version History (OneDrive).
Tableau: .twb (XML), Tableau Server: AudIT Logs, Revision History.
Qlik: .qvf (ZIP), Qlik Script, Qlik Cloud AudIT Logs.
Внешние инструменты: 🔵
WinMerge / Beyond Compare — сравнение.BIm /.twb /.qvf.
Python (json, xml, zipfile, requests) — массовый анализ.BIm,.twb, логов.
DAX Studio — для анализа DAX-формул из.BIm.
Tabcmd (Tableau) — экспорт аудита и версий.
Power Shell (Export-PowerBIAudITLog) — экспорт логов Power BI Service.
Экспертные принципы: 🔒
Неразрушающий контроль: работа с копиями файлов.
Фиксация цепочки хранения доказательств (Chain of Custody).
Вычисление хеш-сумм (SHA-256) для всех выгруженных файлов.
Глава 14. Экспертное обеспечение допустимости доказательств 🔒⚖️
14.1. Лицензионное ПО. Эксперт использует только лицензионные инструменты. «Пиратские» утилиты недопустимы. 🚫
14.2. Фиксация цепочки хранения. Эксперт фиксирует: когда, у кого, в каком состоянии получены файлы.pBIx /.twb. Вычисляет хеш-суммы (SHA-256). Приобщает к заключению. 🔐
14.3. Документирование методики. Каждый шаг описан так, чтобы его мог повторить другой эксперт. Ссылки на официальную документацию. 📄
14.4. Изолированная среда. Для on-premise BI — работа только с образами дисков в изолированной виртуальной среде. 🛡️
14.5. Эксперт предупреждён по ст. 307 УК РФ. Заведомо ложное заключение влечёт уголовную ответственность (до 5 лет лишения свободы). ⚖️
Глава 15. Заключение: экспертная компьютерная экспертиза BI как основа объективности 🏁📚
Уважаемые юристы, специалисты, руководители! Мы представили экспертные методы компьютерная экспертиза систем BI для подачи иска в суд, основанные на анализе многоуровневых источников: .BIm, M-код, DAX, RLS, логи аудита. Три кейса продемонстрировали применение методологии:
✅ Кейс 1 (подмена источника данных) — M-код + история версий + логи обновления.
✅ Кейс 2 (логическая бомба в DAX) —.BIm + история версий + AudIT Logs.
✅ Кейс 3 (манипуляция с RLS) —.BIm + членство в ролях + AudIT Logs.
Экспертные принципы, гарантирующие результат: 🏆
Использование нескольких независимых источников для перекрёстной верификации.
Работа с метаданными (.BIm,.twb) и логами (AudIT Logs, Refresh History).
Строгое документирование цепочки хранения доказательств.
Независимость эксперта и ответственность по ст. 307 УК РФ.
Почему Союз «Федерация судебных экспертов» — ваш выбор: 🎯
Сертифицированные эксперты по Power BI, Tableau, Qlik, SSAS.
50+ успешных экспертиз BI-систем.
Разработанные и рецензированные экспертные методики.
Лицензионное ПО и лаборатория.
Независимость и ответственность.
Как заказать экспертизу BI: 📝 Перейдите на сайт https://kompexp.ru/. Бесплатная экспертная консультация. Поможем сформулировать вопросы и подготовить ходатайство.
Компьютерная экспертиза систем BI для подачи иска в суд — это единственный способ превратить данные BI в бесспорные судебные доказательства, основанные на науке, инженерии и экспертной независимости. 🦾
🟩 Союз «Федерация судебных экспертов» — экспертная истина в BI. 🟩






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