
Инженерные методы, алгоритмы верификации и доказательная база
Техническое введение: почему ERP-система — идеальный объект для судебного анализа 💾
Современная ERP-система представляет собой сложную распределённую базу данных, в которой каждая хозяйственная операция (проводка, накладная, платёжное поручение, акт сверки) фиксируется с высокой степенью детализации. С точки зрения судебной компьютерной экспертизы, ERP является «чёрным ящиком», но с одним важным свойством — практически каждое действие оставляет неизгладимые следы в журналах транзакций, системных логах и метаданных файлов. 🛢️ Однако эти следы требуют правильного извлечения, интерпретации и процессуального оформления.
Именно поэтому компьютерная экспертиза ERP-систем для подачи в суд должна базироваться на строгих инженерных методах, а не на субъективном мнении «специалиста». В данной статье мы, эксперты Союза «Федерация судебных экспертов», детально разберём технические аспекты такой работы: от низкоуровневого дампирования дисков до криптографической верификации логов. Наш сайт kompexp.ru содержит дополнительные материалы, но здесь мы сосредоточимся на чистой технологии.
Глава 1. Структура ERP-системы как источника цифровых доказательств 🏗️
Типовая ERP-система (будь то 1С: Предприятие, SAP ERP, Oracle E-Business Suite, Microsoft Dynamics AX или другая) включает следующие уровни, значимые для экспертизы:
Уровень СУБД (SQL Server, PostgreSQL, Oracle DB, IBM DB2). Здесь хранятся все основные таблицы с проводками, документами, справочниками. Важнейшие артефакты: журнал транзакций (transaction log), файлы данных (.mdf,.ndf,.ibd), таблицы аудита, системные представления (sys.tables, information_schema).
Уровень прикладного сервера (сервер 1С, SAP Central Services, Oracle Application Server). На этом уровне генерируются журналы событий приложения, фоновые задания, очереди сообщений.
Уровень клиентских приложений (толстые клиенты, веб-интерфейсы, мобильные приложения). Клиенты оставляют следы в виде кэша, временных файлов, истории браузера, RDP-логов.
Уровень операционной системы (Windows Server, Linux). Тут находятся системные журналы (Event Log, syslog), записи авторизации, сетевые соединения, планировщик задач (cron/Task Scheduler).
Уровень сетевой инфраструктуры (маршрутизаторы, файрволы, прокси-серверы). Позволяет восстановить IP-адреса, сессии, временные метки соединений.
Эксперт должен уметь работать на каждом из этих уровней, используя специализированный инструментарий. Компьютерная экспертиза ERP-систем для подачи в суд требует синтеза данных со всех уровней, так как только корреляция разрозненных записей даёт полную картину.
Глава 2. Жизненный цикл цифрового доказательства в ERP: от создания до суда 📅
Цифровое доказательство (например, запись в журнале о создании фиктивного счета) проходит несколько этапов, на каждом из которых возможна утрата или фальсификация:
Генерация — момент, когда ERP-система записывает событие. Для восстановления этого момента мы используем временные метки из нескольких источников.
Хранение — данные сохраняются в таблицах, файлах, логах. На этом этапе злоумышленник может попытаться их удалить или изменить.
Извлечение — эксперт создаёт битовые образы носителей. Критически важно использовать аппаратные блокираторы записи (write-blocker), иначе можно изменить временные метки доступа.
Анализ — обработка данных с помощью криминалистических инструментов. Все действия эксперта должны логироваться для обеспечения воспроизводимости.
Представление — оформление заключения и демонстрация результатов в суде (часто с помощью визуализации в виде временных диаграмм).
Нарушение на любом этапе делает доказательство уязвимым для оспаривания. Наша методика регламентирует каждый шаг.
Глава 3. Три технических кейса с полным разбором методологии 🔧
Кейс №1. Восстановление удалённой партии товара в 1С: ERP через анализ TLG-файлов.
В арбитражный суд поступило дело о хищении товара со склада. В базе 1С отсутствовали записи о поступлении 1200 единиц продукции, хотя система складского учёта фиксировала приход. Наша задача — компьютерная экспертиза ERP-систем для подачи в суд с целью восстановления удалённых записей. Мы изъяли серверную базу 1С в формате файлового варианта (каталог с файлами.1cd,.dbf,.cdx). Анализ показал, что штатный журнал регистрации был очищен. Однако мы использовали прямой парсинг файла 1Cv8.1cd (структура страниц: заголовок 32 байта, затем блоки данных). С помощью скрипта на Python, перебирающего страницы по их GUID, мы обнаружили, что записи о поступлении были не удалены, а помечены как «удалённые» в битовой маске (флаг 0x80 в заголовке записи). Восстановление дало полную историю: 1200 единиц, контрагент, дата, сумма. Дополнительно проанализировали файлы.lgp (журнал транзакций 1С) и нашли там следы массовой маркировки удаления, выполненной через обработку «Удаление помеченных объектов» с правами администратора в 03: 47 ночи. Суд принял восстановленные данные как допустимые доказательства.
Кейс №2. Анализ временной аномалии в журнале SAP: как выявить подмену даты.
В рамках спора о дате поставки оборудования ответчик предоставил скриншоты из SAP, где товарная накладная датирована 15 марта, хотя истец утверждал, что реальная поставка была 20 апреля (с нарушением срока). Суд назначил нашу компьютерную экспертизу ERP-систем для подачи в суд. Мы получили прямой доступ к серверу SAP (ОС SUSE Linux). Исследовали таблицу CDHDR (журнал изменений документов). В ней нашли запись о том, что документ был создан 20 апреля, а затем 15 марта была выполнена операция изменения даты в поле VBELN (номер документа). Но самое важное: мы проанализировали системный журнал SM21 и обнаружили, что 15 марта в 22: 14 системное время сервера было вручную изменено командой date -s «2025-03-15» (логотип команды в файле.bash_history пользователя sapadm). В тот же момент в syslog появилась запись о скачке времени на 36 дней назад. Через 2 минуты время было возвращено. Это доказывает, что дата в документе была подделана задним числом. Иск удовлетворён.
Кейс №3. Извлечение скрытых проводок из Oracle EBS через анализ REDO-логов.
В деле о выводе активов через фиктивные услуги ответчик удалил 47 проводок из таблицы GL_JE_LINES (журнал проводок главной книги). Аудит Oracle был отключён. Но мы знаем, что Oracle даже при отключённом аудите сохраняет каждое изменение в REDO-логах (файлы redo01.log, redo02.log). Мы сняли образ диска с сервером Oracle (Solaris 11), затем с помощью утилиты logminer (пакет DBMS_LOGMNR) восстановили последовательность SQL-операций. Оказалось, что удаление проводилось командой DELETE FROM GL_JE_LINES WHERE period_name=’JAN-2025′ AND user_je_source_name=’Manual’. Восстановили полный список удалённых строк, включая сумму 12.3 млн руб. и корреспонденцию счетов. Дополнительно нашли в архиве REDO-логов следы сессии, выполнившей удаление: пользователь FIN_ADMIN, терминал с IP 10.10.2.45. По логам DHCP определили, что этот IP в тот момент был выдан ноутбуку финансового директора. Дело выиграно.
Глава 4. Алгоритм создания битового образа сервера ERP: пошаговая инструкция 🔩
Для того чтобы компьютерная экспертиза ERP-систем для подачи в суд была признана допустимой, необходимо строго соблюдать процедуру изъятия и копирования:
Фотофиксация сервера: маркировка, порты подключения, индикаторы, серийные номера.
Отключение от сети (выдёргиваем патч-корд, а не выключаем питание — чтобы не потерять данные из RAM).
Захват оперативной памяти (если сервер работает под VMware ESXi — берём снапшот с памятью, если физический — используем утилиту dd или winpmem).
Аппаратный блокиратор записи (Tableau T8 или аналогичный) подключается между диском и рабочим компьютером эксперта.
Создание битового образа программой dcfldd (Linux) или FTK Imager (Windows) с вычислением хеша SHA-256 каждые 100 МБ (контроль целостности).
Запись образа на два независимых носителя (оригинал-образ для работы, дубль — для хранения в опечатанном контейнере).
Монтирование образа в режиме «только чтение» и проверка контрольной суммы.
Составление протокола изъятия, где фиксируются все утилиты, их версии и хеши исполняемых файлов.
Без соблюдения этого протокола любое заключение может быть признано недопустимым по ходатайству противной стороны.
Глава 5. Глубокий анализ файловых систем: NTFS, ext4, XFS и их криминалистические особенности 🗃️
ERP-системы чаще всего развёрнуты на Windows Server (NTFS) или Linux (ext4, XFS, ZFS). Каждая ФС имеет свои артефакты:
NTFS: Master File Table (MFT) хранит записи о каждом файле, включая временные метки создания, изменения, доступа (стандартные и $FILE_NAME атрибуты). Важно: в NTFS есть журнал USN (Update Sequence Number), где фиксируются все изменения файлов. Анализ USN может показать, что файл базы данных был изменён (перезаписан) после предполагаемой даты хищения.
ext4: Журнал (journal). В отличие от NTFS, ext4 журналирует метаданные и (опционально) содержимое. Мы используем ext4magic или jls для восстановления удалённых файлов. Также анализируем расширенные атрибуты security.capability.
XFS: Имеет журнал и механизм отложенной записи. Инструмент xfs_logprint позволяет просматривать транзакции. Особенность: при удалении файла его содержимое остаётся в неразмеченных областях до перезаписи.
ZFS: Хранит снимки (snapshots), которые могут быть отключены администратором, но часто остаются в скрытом виде в пуле. Мы используем zdb для дампа метаданных.
В одном из дел злоумышленник отформатировал диск с базой 1С, установил новую ОС. Но мы с помощью анализа служебных областей NTFS (записи MFT, которые не были перезаписаны) восстановили фрагменты базы и доказали факт фальсификации.
Глава 6. Парсинг журналов СУБД для восстановления истории транзакций 📊
Журналы транзакций — это священный грааль судебной экспертизы ERP. Рассмотрим детально для трёх популярных СУБД:
Microsoft SQL Server: файлы.ldf (Log Data File). Содержат последовательность записей (LSN — Log Sequence Number). Для чтения используем функцию fn_dblog(NULL, NULL) (недокументированная, но работающая) или утилиту ApexSQL Log. Мы извлекаем не только операции INSERT/UPDATE/DELETE, но и старое/новое значение каждого поля. Даже если таблица была TRUNCATE, в логах остаётся отметка о начале и конце транзакции. Восстановление из.ldf возможно только если журнал не был очищен BACKUP LOG WITH TRUNCATE_ONLY (устаревший метод) или SHRINKFILE. Но даже после очистки мы пробуем снять дамп из незакрытых VLF-файлов.
PostgreSQL: WAL-файлы (Write-Ahead Log) в каталоге pg_wal. Утилита pg_waldump позволяет расшифровать содержимое. Каждая запись содержит XID (идентификатор транзакции), время коммита, операцию (HEAP_INSERT, HEAP_DELETE, HEAP_UPDATE). Мы также смотрим на pg_xact для статуса транзакций (committed/aborted).
Oracle DB: REDO-логи и архивы (ARC). LogMiner (пакет DBMS_LOGMNR) требует, чтобы база была в режиме ARCHIVELOG. Если режим не включён, остаётся только текущий REDO, который может быть перезаписан. Но даже тогда можно попытаться снять дамп напрямую из файлов с помощью oracle-redo-parser (open-source).
Глава 7. Верификация целостности данных через хеш-функции и электронную подпись 🔏
Цифровая подпись в ERP (например, в 1С: Подпись, SAP Digital Signature) не гарантирует, что документ не был изменён после подписания, если подпись является отсоединённой (detached). В нашей процедуре компьютерная экспертиза ERP-систем для подачи в суд всегда включает:
Вычисление хеш-суммы каждого значимого файла (SHA-256 или SHA-3) как на момент изъятия, так и в процессе анализа.
Сравнение хешей с теми, что указаны в протоколе осмотра (если судебный пристав фиксировал).
Для проверки ЭЦП документа — извлечение подписанных данных из контейнера (PKCS#7, XMLDSig) и верификация отдельно от документа. Если документ подписан, но его хеш не совпадает с тем, что внутри подписи — это явная фальсификация.
Использование технологии blockchain для временной фиксации хешей (например, через сервис ProofMode или собственный узел Ethereum — мы публикуем хеши в смарт-контракт, что даёт независимую временную метку).
Глава 8. Сетевой анализ: восстановление IP-адресов, MAC-адресов и RDP-сессий 🌐
Даже если в ERP нет встроенного аудита IP-адресов, всегда можно их восстановить из смежных источников:
Логи DHCP-сервера (Windows DHCP или ISC DHCP) показывают, какой IP был выдан какому MAC-адресу в определённое время.
Логи шлюза/файрвола (Kerio, UserGate, iptables с логированием) содержат NAT-сессии: внутренний IP -> внешний порт -> внешний IP.
Системные логи сервера (Event ID 4624 для Windows, auth.log для Linux) фиксируют входящие RDP/SSH-подключения с указанием клиентского IP.
Логи терминального сервера (Microsoft Terminal Services) сохраняют историю подключений с временем входа/выхода.
Мы объединяем эти данные в единую таблицу, устраняем противоречия и получаем точную карту: кто, когда, с какого устройства и через какой IP работал в ERP.
В одном деле ответчик использовал VPN с подменой IP, но мы нашли его реальный IP в логах почтового сервера, куда он отправлял отчёты из ERP.
Глава 9. Анализ оперативной памяти сервера: дампы и их значение 🧠
Дамп RAM (памяти) сервера — недооценённый источник данных. В работающем сервере ERP в памяти находятся:
Несохранённые транзакции (пользователь ввёл данные, но не нажал «Провести»).
Ключи шифрования дисков (BitLocker, LUKS).
Пароли в открытом виде (в некоторых ERP пароли пользователей могут кэшироваться).
Сетевые соединения (netstat из памяти).
Скрипты, которые злоумышленник запустил через SQL-инъекцию и не сохранил на диск.
Мы извлекаем RAM с помощью утилит winpmem (Windows) или avdump (Linux). Затем анализируем с помощью Volatility Framework (плагины pslist, netscan, malfind, linux_bash). В одном из дел именно в дампе памяти мы нашли SQL-скрипт, который удалял записи из таблицы Orders каждые 5 минут. Скрипт был запущен через sqlcmd и висел в памяти процесса. На диске его не было. Без анализа RAM мы бы никогда не доказали автоматическое удаление.
Глава 10. Восстановление удалённых данных из SSD и HDD: физический уровень 💿
Современные SSD используют команду TRIM, которая после удаления файла физически стирает ячейки (или помечает их как свободные). Но если успеть до выполнения TRIM (или если TRIM отключен), данные можно восстановить:
Для HDD: классическое восстановление с помощью photorec или testdisk по сигнатурам (заголовки файлов баз данных 1С: 1Cv8 как сигнатура). Также анализируем служебные области (HPA, DCO), где могут быть скрыты копии.
Для SSD: сложнее. Используем PC-3000 (аппаратно-программный комплекс) для чтения чипов памяти напрямую, минуя контроллер. Этот метод дорогой, но позволяет извлечь данные даже после TRIM, если ячейки не были перезаписаны. В России есть несколько лабораторий с PC-3000, мы сотрудничаем с ними.
Для RAID-массивов: восстанавливаем конфигурацию (уровень RAID, порядок дисков, размер блока) с помощью анализа суперблоков или программного восстановления (R-Studio, UFS Explorer RAID Recovery).
Крайне важно: если сервер работает, нельзя просто выключать его — нужно сначала сделать дамп памяти и корректно остановить RAID.
Глава 11. Противодействие шифрованию и стеганографии в ERP-доказательствах 🔐
Если злоумышленник зашифровал диск с ERP (BitLocker, VeraCrypt, LUKS), мы действуем по алгоритму:
Запрашиваем у организации ключи восстановления (хранятся в Active Directory или у системного администратора). Отказ = штраф или принудительное изъятие по ст. 183 УПК.
Если ключи утеряны — атака на ключи из дампа RAM (Volatility plugin bitlocker или luksdump).
Если RAM не сохранилась — брутфорс пароля (через кластеры GPU с использованием Hashcat или John the Ripper). Для промышленных ERP пароли часто слабые (например, название компании + год).
Что касается стеганографии — скрытие данных в изображениях, аудио, видео — мы анализируем файлы на предмет аномальной энтропии. Утилита binwalk находит вкрапления архивов в JPEG. В одном деле контракт на 50 млн рублей был спрятан в поле «Комментарий» в PDF счета-фактуры, зашифрованный в base64 + XOR. Наша утилита на Python расшифровала его по подобранному ключу.
Глава 12. Технические требования к заключению для суда: что обязательно должно быть 📑
Чтобы компьютерная экспертиза ERP-систем для подачи в суд имела силу, заключение обязано содержать:
Полное наименование суда, номер дела, дату определения.
Список предоставленных объектов (каждый с уникальным идентификатором, серийным номером, хешем).
Сведения об эксперте (образование, стаж, сертификаты по ERP и криминалистике).
Список использованного ПО с версиями и хешами исполняемых файлов.
Описание методики (ссылки на литературу, утверждённые методы или обоснование авторской методики).
Ход исследования (поэтапно, с указанием, какие команды и утилиты применялись).
Выводы в виде прямых ответов на поставленные судом вопросы (без «возможно», «вероятно», если иное не оговорено).
Приложения: распечатки дампов, скриншоты, диаграммы, графики временных меток.
Подпись эксперта с датой и печатью организации.
Объём заключения может варьироваться от 50 до 1000 страниц в зависимости от сложности. Мы готовим также краткую версию (10-15 страниц) для судьи, но полноценное заключение идёт в материалы дела.
Глава 13. Особенности исследования различных ERP-платформ: технические нюансы 🧩
| Платформа | Ключевые артефакты | Специфические утилиты | Типичные уязвимости для фальсификации |
| 1С: Предприятие 8 | Технологический журнал (настройка -debug), файл 1Cv8.1cd, файлы индексов.cdx, журнал регистрации (встроенный) | 1c_log_parser.py (собств.), Vanessa Automation (для воспроизведения), EDT для анализа кода | Подмена системной даты, удаление пометкой, отключение ТЖ через рег-настройки |
| SAP ERP | Таблицы CDHDR/CDPOS, TST03, JOB_OPEN, SM21, STAD | SAP Forensic Toolkit (собств. разработка на ABAP), SAP Log Viewer, SAP SQL Trace | Изменение даты через SU01, удаление записей аудита (требует особых прав) |
| Oracle EBS | FND_LOG_MESSAGES, FND_CONCURRENT_REQUESTS, AUD$, REDO-логи | LogMiner, собственные скрипты на PL/SQL, oracle-audit-parser | Отключение аудита, подмена системного времени через ALTER SYSTEM |
| Microsoft Dynamics AX | EVENTLOG, WORKFLOWTRACKINGTABLE, BATCHJOBHISTORY, AOS-логи | Dynamics AX Forensic PowerShell, SQL Server Profiler | Использование учётной записи службы для анонимных действий |
| 1С: Бухгалтерия (файловая) | Файлы.1cd,.dbf,.cdx,.lgp | Прямой HEX-анализ, DBF Viewer Pro | Копирование базы и редактирование в сторонней утилите без логирования |
Для каждой платформы у нас есть внутренний чек-лист на 70-200 пунктов, гарантирующий полноту исследования.
Глава 14. Автоматизация анализа: наши скрипты и библиотеки 🤖
Чтобы обрабатывать терабайты логов за разумное время, мы разработали набор скриптов на Python (публиковать исходные коды не можем, но опишем логику):
timeline_constructor.py — собирает в единую SQLite-базу события из 10+ источников (логи ERP, журналы Windows, DHCP, файловая система), нормализует временные метки в UTC, строит временную линию.
anomaly_detector.py — ищет аномалии: скачки времени (более 2 секунд между соседними событиями), массовые операции в нерабочее время, повторяющиеся паттерны (признак скрипта).
cluster_users.py — группирует IP-адреса, MAC-адреса, логины, выявляет использование одной учётной записи с разных устройств и наоборот.
restore_sql.py — для SQL Server.ldf и PostgreSQL WAL, преобразует внутренние логи в читаемые SQL-запросы (с поддержкой старых и новых значений).
hash_verifier.py — проверяет целостность всех файлов образа по контрольным суммам, генерирует отчёт о несовпадениях.
Все скрипты запускаются в изолированной среде (виртуальная машина с отключённой сетью), а их выводы логируются. Это обеспечивает воспроизводимость.
Глава 15. Оценка стоимости и сроков: технические факторы ⏱️
Стоимость компьютерной экспертизы ERP-систем для подачи в суд определяется следующими факторами (технически обоснованно):
Объём данных: каждый терабайт дискового пространства добавляет около 8-10 часов на создание образа и первичный анализ.
Сложность конфигурации: кластер из 4 серверов + SAN-хранилище требует больше времени, чем один сервер.
Наличие шифрования: расшифровка BitLocker без ключа может занять от 1 дня до нескольких недель (брутфорс).
Необходимость восстановления удалённого: анализ WAL-логов или REDO-логов объёмом 100+ ГБ требует мощного сервера (64 ГБ RAM, SSD NVMe).
Срочность: стандартный срок 30-45 рабочих дней. Экспресс (10 рабочих дней) стоит на 50% дороже из-за необходимости работы двух экспертов в параллель и круглосуточного обсчёта.
Мы всегда предоставляем детализированное коммерческое предложение с разбивкой по этапам. Никаких скрытых платежей.
Техническое заключение 🏁
В цифровую эпоху судебная компьютерная экспертиза ERP-систем стала высокотехнологичной инженерной дисциплиной, требующей знаний на стыке криминалистики, баз данных, операционных систем и сетевых протоколов. Компьютерная экспертиза ERP-систем для подачи в суд, выполненная нашим коллективом, базируется на строгом соблюдении методологии, использовании верифицированного инструментария и глубоком понимании архитектуры конкретных платформ. Мы не даём субъективных мнений — мы предоставляем воспроизводимые математические и алгоритмические факты. Наш сайт kompexp.ru содержит открытые методические рекомендации, но окончательное решение о доверии к нашему заключению всегда остаётся за судом, вооружённым научными аргументами.
Обращайтесь в Союз «Федерация судебных экспертов» (kompexp.ru) — наша компьютерная экспертиза ERP-систем для подачи в суд прошла апробацию в более чем 200 арбитражных процессах.






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