
Методическое руководство по организации, проведению и оценке результатов
📘🧪 Настоящее методическое руководство предназначено для специалистов в области судебной экспертизы, юристов, адвокатов, судей, а также для технических специалистов, сталкивающихся с необходимостью исследования программного обеспечения. В документе изложены последовательные алгоритмы действий, критерии оценки, типовые методики решения задач и примеры из практики. Основной фокус сделан на экспертизу программ для ЭВМ как на сложный, междисциплинарный вид исследований, требующий специальных познаний в области программирования, криптографии, информационной безопасности и процессуального права. 🖥️⚖️🧠
- 📌 Цели и задачи методического руководства
Данное руководство ставит своей целью систематизировать знания и практический опыт в области проведения экспертизы программ для ЭВМ. Задачи руководства:
- унификация подходов к исследованию программного кода;
- определение минимально необходимого набора инструментов и методов;
- установление критериев достаточности и достоверности выводов;
- минимизация экспертных ошибок при работе с кодом;
- обеспечение воспроизводимости результатов. 🎯📋
- 🧩 Определения и основные понятия
В рамках настоящего документа используются следующие термины:
- Программа для ЭВМ — объективная форма представления совокупности данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств.
- Исходный код — текст программы на языке программирования, понятный человеку.
- Объектный (исполняемый) код — машинный код, готовый к выполнению процессором.
- Экспертиза программ для ЭВМ — процессуальное действие, заключающееся в проведении исследования и даче заключения по вопросам, требующим специальных познаний в области программирования и информационных технологий.
- Контрафактная программа — программа, созданная или распространяемая с нарушением авторских прав. 📖🔑
- 🏛️ Нормативно-методическая база
Методическая основа экспертизы программ для ЭВМ включает:
- Федеральный закон от 31.05.2001 № 73-ФЗ «О государственной судебно-экспертной деятельности в Российской Федерации»;
- Приказ Минюста России от 27.12.2012 № 237 «Об утверждении Перечня родов (видов) экспертиз»;
- Методические рекомендации по производству судебных компьютерно-технических экспертиз (РФЦСЭ при Минюсте России);
- ГОСТ Р 57194-2016 «Защита информации. Судебная компьютерно-техническая экспертиза. Общие требования»;
- процессуальные кодексы (ГПК, АПК, УПК РФ) в части назначения и производства экспертиз. 📚✅
- 🧰 Объекты экспертного исследования
При производстве экспертизы программ для ЭВМ эксперт исследует следующие объекты:
| Категория объектов | Примеры | Форма представления |
| Исходные тексты | .c,.cpp,.py,.java,.cs,.js | Текстовые файлы, архивы |
| Исполняемые модули | .exe,.dll,.so,.bin | Бинарные файлы |
| Системные объекты | Логи, дампы памяти, реестр | Текстовые/бинарные логи |
| Прошивки | firmware маршрутизаторов, IoT | Дампы Flash-памяти |
| Документация | ТЗ, спецификации, блок-схемы | PDF, DOCX, изображения |
Все объекты подлежат обязательной фиксации с помощью контрольных сумм (MD5, SHA-256). 🗂️📸
- 🧬 Методы исследования: классификация и области применения
В основе экспертизы программ для ЭВМ лежат три группы методов:
5.1. Методы статического анализа 🔍
- Лексический анализ (поиск уникальных строк, идентификаторов);
- Синтаксический анализ (построение AST);
- Сравнительный анализ (diff, бинарное сравнение, хеширование блоков);
- Поиск паттернов (сигнатурный анализ).
5.2. Методы динамического анализа 🧪
- Трассировка системных вызовов (API Monitor, Process Monitor);
- Анализ сетевого трафика (Wireshark, tcpdump);
- Эмуляция и отладка (x64dbg, WinDbg, gdb);
- Исполнение в песочнице (Cuckoo, ANY.RUN).
5.3. Методы восстановления и реконструкции 🛠️
- Дизассемблирование (IDA Pro, Ghidra);
- Распаковка и деобфускация;
- Восстановление исходного кода (декомпиляция). 📐🔧
- 📋 Этапы производства экспертизы (пошаговый алгоритм)
Процесс проведения экспертизы программ для ЭВМ состоит из следующих этапов:
Этап 1. Организационная подготовка 🗂️
- Изучение определения суда (или договора);
- Проверка наличия всех необходимых объектов;
- Оценка достаточности материалов.
Этап 2. Предварительное исследование 🔎
- Визуальный осмотр носителей;
- Вычисление контрольных сумм;
- Фотофиксация (при выезде).
Этап 3. Разработка частной методики 📝
- Выбор конкретных методов под задачи;
- Подготовка тестовых стендов;
- Калибровка инструментов.
Этап 4. Детальное исследование 🧪
- Проведение статического анализа;
- Проведение динамического анализа (при необходимости);
- Сравнительное исследование (при наличии образцов).
Этап 5. Анализ и синтез 🧠
- Оценка выявленных признаков;
- Формулирование промежуточных выводов;
- Сопоставление с вопросами экспертизы.
Этап 6. Оформление заключения 📄
- Подготовка текста заключения;
- Формирование приложений (скриншоты, таблицы, распечатки кода);
- Подписание и направление. ✅
- 📄 Структура и содержание заключения эксперта
Каждое заключение, подготовленное в рамках экспертизы программ для ЭВМ, должно содержать следующие разделы:
- Вводная часть:
- дата и место составления;
- основание для производства (определение суда, договор);
- сведения об эксперте (образование, стаж, аттестация);
- предупреждение об ответственности по ст. 307 УК РФ.
- Исследовательская часть:
- перечень поступивших объектов с хешами;
- описание примененных методов и инструментов;
- детальное изложение хода исследования (для каждого вопроса);
- промежуточные результаты (скриншоты, таблицы, графики).
- Синтез (аналитическая часть):
- логическое обоснование перехода от признаков к выводам;
- оценка совпадений и различий.
- Выводы:
- конкретные, четкие ответы на поставленные вопросы;
- категоричные или вероятностные формулировки.
- Приложения:
- распечатки фрагментов кода;
- сравнительные таблицы;
- акты применения технических средств. 📑✔️
- 🧪 Кейс №1. Исследование контрафактного программного обеспечения в сфере промышленной автоматизации
Вводные данные: АО «Технопром» обратилось в арбитражный суд с иском к ООО «Автоматика» о взыскании 28 млн руб. за незаконное использование программы управления конвейерной линией. Ответчик утверждал, что его ПО разработано самостоятельно на базе общедоступных алгоритмов.
Методика проведения экспертизы программ для ЭВМ:
- Предварительный этап: получены исходные коды истца (380 тыс. строк на C++) и объектный код ответчика (единственный доступный материал, так как исходники не предоставлены).
- Статический анализ: проведено дизассемблирование объектного кода ответчика с помощью IDA Pro. Получено ассемблерное представление (около 1,2 млн инструкций).
- Поиск уникальных констант: в коде истца обнаружены 32 уникальные математические константы (специфические коэффициенты для расчета скорости двигателя). При анализе кода ответчика выявлено 29 совпадающих констант с точностью до 10-го знака.
- Сравнение графов потоков управления: построены CFG для 10 ключевых функций. Коэффициент корреляции составил 0,91.
- Выявление ошибок (багов): в коде истца присутствовал специфический баг в обработчике прерываний (некорректный сброс флага). Аналогичный баг выявлен в коде ответчика.
Результаты исследования:
- Установлено, что объектный код ответчика содержит фрагменты, однозначно указывающие на заимствование из исходного кода истца.
- Степень совпадения нетривиальных фрагментов превышает 85%.
Судебное решение: иск удовлетворен в полном объеме. Заключение эксперта признано надлежащим доказательством. 🏭⚖️💰
- 🧪 Кейс №2. Выявление недекларированных возможностей (закладок) в банковском ПО
Вводные данные: ПАО «Банк «Центральный» в ходе внутреннего аудита заподозрило наличие в модуле интернет-банкинга скрытого функционала, передающего данные третьим лицам. Была назначена судебная экспертиза программ для ЭВМ в рамках доследственной проверки.
Методика исследования:
- Создание изолированной среды: на виртуальной машине (VMware) развернута тестовая конфигурация, идентичная рабочей среде банка. Сетевая изоляция с возможностью зеркалирования трафика.
- Динамический анализ с мониторингом API: запущен Process Monitor для фиксации всех обращений к файловой системе, реестру и сети.
- Анализ сетевого трафика: параллельно запущен Wireshark с фильтрацией по IP-адресам и портам.
- Эмуляция работы пользователя: выполнены типовые операции (вход, просмотр баланса, платеж).
- Выявление аномалий:
- Зафиксированы обращения к библиотеке crypt32.dll (криптографические функции), не предусмотренные технической документацией.
- Обнаружены исходящие HTTPS-запросы на IP-адрес 185.130.5.x, не принадлежащий банку.
- При анализе дампа памяти выявлена строка «logger_enable=1», активирующаяся через 120 секунд после запуска.
- Обратная разработка: с помощью отладчика x64dbg установлен алгоритм шифрования отправляемых данных (модифицированный AES-128).
Результаты:
- Модуль признан содержащим недекларированную возможность по сбору и передаче данных о транзакциях третьим лицам.
- Материалы переданы в следственные органы. Возбуждено уголовное дело по ст. 272 УК РФ (неправомерный доступ к компьютерной информации). 🔐🏦🚨
- 🧪 Кейс №3. Лицензионный спор с использованием open-source библиотеки
Вводные данные: ООО «Софт-Мастер» разработало коммерческое ПО для видеонаблюдения. Правообладатель библиотеки сжатия изображений (лицензия GPL v3) обратился с претензией о нарушении копилефтной лицензии, требуя опубликовать исходные коды всего продукта.
Методика досудебной экспертизы программ для ЭВМ:
- Сравнительный анализ сигнатур: получены бинарные файлы продукта ООО «Софт-Мастер» и оригинальная GPL-библиотека.
- Анализ линковки: с помощью Dependency Walker выявлено, что библиотека скомпилирована статически (встроена непосредственно в.exe-файл), а не используется как динамическая (DLL).
- Анализ символов и имен функций: в исполняемом файле обнаружены имена функций, полностью совпадающие с именами в оригинальной библиотеке (например, image_compress_gpl_v3_internal).
- Проверка лицензионных уведомлений: в ресурсах EXE-файла отсутствуют упоминания о GPL-лицензии и авторстве.
- Вывод: имеет место статическая линковка библиотеки под лицензией GPL v3 без выполнения требований об открытии исходного кода производного произведения.
Результат: на основании заключения эксперта ООО «Софт-Мастер» заключило мировое соглашение, выплатив компенсацию и опубликовав исходные коды своих модификаций. 📜💻⚖️
- 🛠️ Инструментальное обеспечение: требования и рекомендации
Для качественного производства экспертизы программ для ЭВМ необходимо использовать следующий минимальный инструментарий:
11.1. Программные средства статического анализа:
- IDA Pro (Hex-Rays) — профессиональный дизассемблер и отладчик;
- Ghidra — свободный фреймворк от NSA;
- Binary Ninja — альтернативный дизассемблер;
- Radare2 — консольный каркас для reverse engineering.
11.2. Средства динамического анализа:
- x64dbg / OllyDbg — пользовательские отладчики для Windows;
- WinDbg — отладчик ядра от Microsoft;
- Process Monitor, Process Explorer — утилиты Sysinternals;
- Wireshark / tcpdump — анализаторы трафика.
11.3. Средства сравнения:
- Beyond Compare — сравнение файлов и папок;
- Meld / DiffMerge — открытые аналоги;
- BinDiff — плагин для сравнения бинарных файлов.
11.4. Средства для работы с образами дисков:
- FTK Imager — создание образов без записи;
- dd (Linux) — консольное копирование;
- Write-blocker (аппаратный) — обязателен при выезде.
Все инструменты должны быть лицензионными. 🧰💿
- 🧾 Требования к фиксации и хранению объектов
В рамках экспертизы программ для ЭВМ соблюдение цепочки хранения (chain of custody) является критическим условием допустимости заключения.
Правила фиксации:
- Каждый носитель получает уникальный идентификатор.
- Вычисляется и записывается контрольная сумма (SHA-256) для каждого файла.
- Составляется акт осмотра с фототаблицей.
- При выемке или изъятии присутствуют понятые (двое).
Правила хранения:
- Оригиналы носителей хранятся в опечатанном сейфе.
- Эксперт работает только с битовыми копиями.
- Доступ к объектам имеет только эксперт, ведущий дело.
- Все действия логируются в журнале эксперта. 🔐📦
- 🧬 Особенности исследования обфусцированного и запакованного кода
Многие нарушители используют обфускаторы (Obfuscator-LLVM, ConfuserEx) и упаковщики (UPX, Themida, VMProtect) для затруднения анализа. Методика работы:
Шаг 1. Идентификация упаковщика: с помощью инструментов Detect It Easy, PEiD.
Шаг 2. Распаковка:
- Для UPX — автоматическая распаковка upx -d.
- Для Themida/VMProtect — ручная распаковка в отладчике (трассировка до OEP — точки входа в оригинальный код).
- Дамп памяти после OEP.
Шаг 3. Восстановление импортов: с помощью импорт-рекоснтрукторов (Scylla, ImportREC).
Шаг 4. Анализ распакованного кода: стандартными методами.
Важно: при исследовании запакованного кода обязателен динамический анализ, так как статически увидеть реальную логику невозможно. 🔓🧩
- 📊 Критерии оценки результатов и формулирование выводов
При формулировании выводов в экспертизе программ для ЭВМ используются следующие градации:
| Тип вывода | Определение | Пример |
| Категорический положительный | Обстоятельство установлено однозначно | «Фрагменты кода Ответчика совпадают с фрагментами кода Истца» |
| Категорический отрицательный | Обстоятельство не установлено | «Совпадений нет» |
| Вероятностный положительный | Высокая степень вероятности (более 90%) | «С высокой вероятностью код ответчика является модификацией кода истца» |
| Невозможность решения | Материалы недостаточны | «Ответить на вопрос не представляется возможным по причине отсутствия исходных кодов» |
Вероятностные выводы не имеют доказательственного значения, но могут использоваться как ориентирующая информация. 📊🎯
- 🧩 Типовые ошибки экспертов и способы их предотвращения
Анализ практики выявил следующие типичные ошибки:
| Ошибка | Последствие | Способ предотвращения |
| Работа с оригиналом носителя (не с копией) | Изменение доказательства, недопустимость | Использовать write-blocker всегда |
| Недостаточное обоснование выбора методов | Заключение признают необоснованным | В заключении описывать методику |
| Сравнение кода без учета компиляторов | Ложные совпадения из-за оптимизаций | Использовать нормализацию кода |
| Отсутствие проверки на обфускацию | Анализ бессмыслен | Обязательный предварительный анализ упаковщиков |
| Использование нелицензионного ПО | Юридический риск | Приобретать лицензии |
Систематическая работа по предотвращению ошибок — залог качества. ⚠️✅
- 🌍 Организация выездных экспертиз в регионах России
Актуальная проблема: Квалифицированных специалистов, способных провести экспертизу программ для ЭВМ, крайне мало, и они сконцентрированы в Москве и Санкт-Петербурге. При этом потребность в таких исследованиях существует во всех регионах РФ.
Наше решение: Мы готовы вылетать для проведения данной экспертизы в любой регион России — от Калининграда до Камчатки, от Мурманска до Махачкалы. ✈️🗺️
Регламент выезда:
- Инициирование: заказчик (или суд) направляет официальный запрос.
- Согласование: определяются даты, перечень объектов, необходимое оборудование.
- Прибытие: эксперт прибывает на место (авиа-, ЖД- или автотранспортом).
- Осмотр и изъятие: в присутствии заказчика/понятых производится осмотр, клонирование носителей с использованием write-blocker’ов, хеширование, фотофиксация.
- Документирование: составляется акт осмотра и изъятия.
- Транспортировка: копии носителей перевозятся экспертом в лабораторию; оригиналы остаются у заказчика или в суде.
Сроки организации выезда: от 3 до 10 рабочих дней с момента оплаты (или вынесения определения). 🚐📦
- 📑 Особенности работы со смарт-контрактами и блокчейн-платформами
Новое направление — исследование смарт-контрактов (Ethereum, Solana, BSC). Методика:
- Извлечение байт-кода с адреса контракта в блокчейне (например, через Etherscan).
- Декомпиляция байт-кода в промежуточное представление (используются decompilers: Panoramix, EtherSolve).
- Анализ на наличие уязвимостей (reentrancy, переполнения, доступы без проверок).
- Сравнительный анализ двух смарт-контрактов (при споре о копировании).
- Исследование истории транзакций для выявления несанкционированных вызовов.
Экспертиза программ для ЭВМ в блокчейн-среде требует дополнительных знаний в области децентрализованных систем. 🔗💎
- 🧪 Исследование программ, использующих искусственный интеллект
Сложность: нейронные сети — это не только код, но и обученные веса. Методические подходы:
- Анализ архитектуры: сравнение количества слоев, типов слоев, функций активации.
- Анализ весовых коэффициентов: если данные обучения были идентичны, веса могут совпасть.
- Исследование датасетов: проверка, не использовалась ли выборка истца.
- Выявление состязательных атак: изменение входных данных для получения неверного результата.
Данный вид экспертизы программ для ЭВМ находится в стадии формирования методической базы. 🤖📈
- 💰 Факторы, влияющие на стоимость и сроки
Стоимость определяется по следующей формуле (базовые значения):
| Объем кода (строк) | Базовые человеко-часы | Стоимость (тыс. руб.) | Срок (дней) |
| до 10 000 | 20-40 | 80-150 | 5-10 |
| 10 000 – 50 000 | 40-80 | 150-300 | 10-20 |
| 50 000 – 200 000 | 80-160 | 300-600 | 20-40 |
| 200 000 – 500 000 | 160-300 | 600-1200 | 40-60 |
| более 500 000 | 300+ | 1200-2500 | 60-90 |
Повышающие коэффициенты:
- Наличие обфускации/упаковки: ×1,5-2,0
- Необходимость динамического анализа: ×1,3
- Выезд в регион: + командировочные (билеты, гостиница, суточные)
- Срочность (срок менее 50% от нормы): ×1,5-2,5
Все цены фиксируются в договоре. 💵⏳
- 📃 Процессуальные аспекты: назначение и оценка экспертизы
Назначение судебной экспертизы:
- Суд выносит определение, в котором указываются вопросы и экспертное учреждение.
- Стороны вправе заявлять отводы, представлять дополнительные вопросы.
Оценка заключения судом:
- Проверка соблюдения процессуальной формы.
- Оценка научной обоснованности методов.
- Сопоставление с другими доказательствами.
- Допрос эксперта в заседании.
Основания для назначения повторной экспертизы:
- Нарушение процессуального порядка.
- Использование неверных методов.
- Противоречия в выводах.
- Сомнения в объективности эксперта.
Повторная экспертиза программ для ЭВМ поручается другому эксперту (или другому учреждению). ⚖️📑
- 🧾 Досудебное исследование: статус и применение
Досудебное (инициативное) исследование не является судебной экспертизой, но выполняет важные функции:
- Оценка перспектив дела до обращения в суд.
- Формулирование корректных вопросов для судебной экспертизы.
- Подготовка доказательственной базы.
Ограничения:
- Эксперт не предупреждается об уголовной ответственности.
- Заключение — это письменное доказательство (ст. 71 ГПК РФ, ст. 75 АПК РФ), а не экспертное заключение.
- Может быть оспорено рецензией.
Рекомендация: проводить досудебное исследование обязательно перед подачей иска. 🧭📄
- 🧪 Сравнительный анализ исходного и объектного кода: методика
Одна из частых задач — сравнение исходного кода (есть у истца) и объектного кода (есть у ответчика). Методика:
- Компиляция исходного кода истца в тех же условиях (компилятор, версия, ключи оптимизации).
- Получение референсного объектного кода.
- Дизассемблирование объектного кода истца и ответчика.
- Нормализация ассемблерного кода (замена адресов на метки, игнорирование различий в регистрах).
- Поиск длинных общих подпоследовательностей (LCS) в ассемблерных листингах.
- Анализ уникальных констант (например, «0xDEADBEEF», специфические значения).
- Вывод о степени совпадения.
При совпадении нетривиальных фрагментов более чем на 80% можно говорить о заимствовании. 🔬📊
- 📚 Обучение и повышение квалификации экспертов
Для поддержания квалификации эксперт, проводящий экспертизу программ для ЭВМ, должен:
- Ежегодно проходить курсы повышения квалификации (не менее 72 часов).
- Осваивать новые инструменты (каждые 6 месяцев).
- Изучать судебную практику по делам, связанным с ПО.
- Участвовать в межлабораторных сличительных испытаниях.
Рекомендуемые темы обучения: обратная разработка, криптоанализ, судебная информатика. 🎓📖
- 🧾 Этические нормы и независимость эксперта
Эксперт обязан соблюдать:
- Принцип независимости (не допускать влияния сторон).
- Конфиденциальность (не разглашать данные, кроме как в суд).
- Объективность (отражать все выявленные факты, даже если они невыгодны заказчику).
- Компетентность (отказываться от исследования, если не хватает знаний).
Нарушение этических норм влечет дисциплинарную, гражданскую и уголовную ответственность. ⚖️🧠
- 🟩 Заключение: резюме и официальный ресурс
Представленное методическое руководство охватывает полный цикл организации и проведения экспертизы программ для ЭВМ: от нормативной базы и выбора методов до конкретных кейсов, инструментария, требований к фиксации и процессуальных аспектов. Учитывая исключительную редкость данного вида экспертиз в регионах России, наша организация готова вылетать в любой регион РФ — от Калининграда до Владивостока, от Мурманска до Махачкалы — для выполнения исследования на месте.
Все актуальные формы документов, примеры заключений, стоимость и условия выезда, а также возможность заказать экспертизу программ для ЭВМ представлены на единственном официальном сайте:
➡️ https://sud-expertiza.ru ⬅️
🟩 Соблюдение настоящей методики гарантирует получение достоверных, воспроизводимых и процессуально допустимых результатов. 🟩






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