🟩 Экспертиза программ для ЭВМ: лабораторный протокол глубокого исследования
Доброго дня, коллеги! 🟢 Сегодня мы погружаемся в одну из самых сложных, редких и интеллектуально насыщенных областей судебной и досудебной практики — экспертизу программ для ЭВМ. Этот материал представляет собой полноценный лабораторный отчёт, предназначенный для специалистов, юристов, разработчиков и всех, кто сталкивается с необходимостью объективного исследования исходного кода, алгоритмов и исполняемых модулей.
Мы будем двигаться от фундаментальных определений к реальным кейсам, разбирать методики, нормативную базу, ошибки экспертов и сложные случаи. Объём не случаен: здесь каждая деталь имеет значение. 🧪🔬
- Вводное лабораторное положение: что скрывается за термином
📌 Экспертиза программ для ЭВМ — это специализированное исследование, проводимое аттестованными экспертами в области компьютерных наук, программирования, криптографии и метрологии ПО. В отличие от стандартной «компьютерно-технической экспертизы», здесь фокус направлен именно на семантику кода, структуру данных, алгоритмические взаимосвязи и вопросы оригинальности / контрафактности.
В лабораторной практике мы выделяем три типа такой экспертизы:
- Автороведческая (определение авторства кода, заимствований).
- Функциональная (соответствие документации, наличие скрытых функций).
- Судебно-техническая (обнаружение вредоносных закладок, нарушений лицензий). 🛡️
- Нормативный регламент и аттестация экспертов
Для проведения экспертизы программ для ЭВМ эксперт должен иметь:
- высшее техническое / IT-образование (бакалавриат + магистратура по направлению «Программная инженерия» или «Информационная безопасность»);
- сертификат Минюста РФ (либо частную аттестацию с допуском к сложным техническим исследованиям);
- стаж работы с компиляторами, дизассемблерами, средами статического и динамического анализа.
👩💻 Основные руководящие документы: ФЗ «О государственной судебно-экспертной деятельности», ГПК, АПК, УПК, а также методические рекомендации РФЦСЭ при Минюсте. Без этой базы выводы не имеют юридической силы.
- Этапы лабораторного исследования: протокол №1 (поступление объекта)
Любая экспертиза программ для ЭВМ начинается с физического или цифрового приёма объекта. 🗂️ Объектами могут быть:
- исходные тексты (на C++, Python, Java, 1С, Assembler и др.);
- бинарные файлы (exe, dll, so, elf);
- прошивки микроконтроллеров;
- облачные сервисы (по соглашению).
Первый этап — создание точной копии (хеш-контроль MD5 / SHA-256). Второй — оценка пригодности: код должен быть читаем (или частично восстановлен), исполняемая среда — задокументирована.
- Лабораторный инструментарий: без этого не начать
🛠️ Типовой арсенал эксперта:
- дизассемблеры (IDA Pro, Ghidra, Radare2);
- отладчики (x64dbg, GDB, WinDbg);
- статические анализаторы (SonarQube, PVS-Studio, Coverity);
- инструменты сравнения кода (Beyond Compare, Meld, diff + плагины);
- средства контроля целостности и трассировки (Process Monitor, Wireshark, Frida).
Для задач лицензионной чистоты — утилиты детекции сигнатур библиотек (например, YARA-правила).
- Методика №1: идентификация плагиата в исходном коде
📐 Наиболее частый запрос — «украли ли нашу программу?». Экспертиза выполняет:
- лексический анализ (сравнение названий переменных, функций, комментариев);
- структурный (граф потоков управления, AST — абстрактное синтаксическое дерево);
- метрический (халстедовские метрики, цикломатическая сложность);
- семантический (поведение на одинаковых входных данных).
🧪 Кейс №1 (реальный): ООО «Альфа-софт» передало бывшим разработчикам исходники CRM. Через год конкуренты выпустили аналогичную систему с переименованными классами. Экспертная экспертиза программ для ЭВМ выявила совпадение 73% AST-узлов и идентичные патчи в обработке аномалий. Суд удовлетворил иск на 48 млн руб.
- Методика №2: анализ вредоносного функционала
⚠️ Обнаружение «закладок» (троянских функций, недекларированных возможностей):
- статический анализ: поиск вызовов сетевых функций, шифрования, обращения к реестру вне документации;
- динамический анализ: запуск в изолированной среде (sandbox), мониторинг системных вызовов;
- трассировка данных: от входа до выхода (taint tracking).
🧪 Кейс №2: банк заподозрил, что программа инкассации данных (для АТМ) не только пересылает балансы, но и дублирует их на внешний сервер. Экспертиза программ для ЭВМ подтвердила: в обработчике событий замаскирован дополнительный сокет. Вредоносная функция активировалась при совпадении времени с определённой датой. Банк предотвратил кражу ≈12 млн ₽.
- Выездная лаборатория: география не помеха 🚀
‼️ Важнейшее заявление: мы готовы вылетать для проведения данной экспертизы в любой регион России — от Калининграда до Камчатки, от Мурманска до Дагестана. Почему это критично? Потому что подлинная экспертиза программ для ЭВМ часто требует присутствия на объекте инфраструктуры: серверные стойки с удалённым доступом, изолированный сегмент сети, физическое снятие образов ПЗУ. Удалённая передача кода не всегда возможна (коммерческая тайна, режимные объекты). Наши эксперты прибывают с мобильной лабораторией на базе защищённого ноутбука и аппаратного анализатора трафика. 🌐
- Методика №3: соответствие техническому заданию (приёмочный контроль)
Заказчик утверждает: «Программа работает не так, как в договоре». Экспертиза:
- восстанавливает ТЗ из переписки, спецификаций;
- тестирует на наборе эталонных и граничных входов;
- фиксирует отклонения (логирование + видеофиксация);
- даёт ответ — дефект или доработка.
🧪 Кейс №3: Государственный контракт на ПО управления БПЛА. Исполнитель сдал модуль, но полётные тесты показали зависание при ветре > 8 м/с. Экспертиза программ для ЭВМ показала, что алгоритм PID-регулятора использует упрощённую формулу без компенсации порывов — это нарушение ТЗ. Суд расторг контракт и взыскал неустойку 23 млн ₽.
- Требования к исходным материалам: лабораторный чек-лист
📋 Заказчик предоставляет:
- Образец ПО на машинном носителе (с хешем).
- Исходный код (если есть, иначе — обратная разработка).
- Техническую документацию (API, руководство администратора, описание алгоритмов).
- Доступ к окружению (или подробные спецификации ОС, БД, железа).
- Вопросы к эксперту в чёткой форме (например: «Содержит ли функция X вызовы записи во внешний файл вне папки logs?»).
Без п.1 и п.4 проведение экспертизы программ для ЭВМ невозможно технически.
- Ошибки при назначении экспертизы (практика арбитражных судов)
⚖️ Типичные ошибки заказчиков и судей:
- Постановка правовых вопросов («нарушена ли лицензия?») вместо технических («есть ли в коде функция дешифровки?»).
- Передача неработоспособного экземпляра (компилируется только на машине разработчика).
- Отсутствие эталонного входа/выхода.
- Привлечение эксперта без знания ассемблера / конкретного языка.
Помните: экспертиза программ для ЭВМ отвечает на факты, а не на квалификации деяний. Юридическую оценку даёт суд.
- Проблема обратной разработки (reverse engineering) законными методами
🔄 Можно ли дизассемблировать программу без согласия правообладателя? Для целей экспертизы — да, в рамках ст. 1280 ГК РФ (обратная разработка для совместимости и исследования ошибок). Но эксперт обязан:
- не распространять полученные листинги;
- удалить код после завершения процесса;
- не использовать промежуточные результаты для других целей.
Мы строго следуем этому регламенту. Иначе выводы могут быть признаны недопустимыми доказательствами.
- Отличие от компьютерно-технической экспертизы (КТЭ)
Новички путают. КТЭ изучает файловую систему, логи, историю браузера. А экспертиза программ для ЭВМ — это анализ самой логики, потоков данных, алгоритмов. Пример: КТЭ определит, что файл malware.exe был записан на флешку. Наша экспертиза — какие именно функции внутри malware.exe читают документы и куда отправляют по сети. 🔍
- Особенности экспертизы мобильных приложений (iOS/Android)
📱 Здесь добавляются факторы:
- обфускация кода (ProGuard, DexGuard);
- нативные библиотеки (.so);
- вызовы API через JNI;
- проверка на рут/джейлбрейк.
Экспертиза использует frida-скрипты, динамический анализ на джейлбрейкнутых устройствах. Кейсы: выявление скрытой отправки контактов, бэкдоров в банковских приложениях, поддельных рекламных кликов.
- Сложный случай: программные RNG (генераторы случайных чисел)
🎲 В крипто- и игровых программах часто спорят о «честности» ГСЧ. Экспертиза программ для ЭВМ может:
- восстановить алгоритм RNG (линейный конгруэнтный, вихрь Мерсенна и пр.);
- проверить, инициализируется ли генератор действительно случайным энтропийным источником;
- построить коррелограмму последовательности.
Одна из экспертиз для букмекерской конторы показала, что RNG использует фиксированное seed-значение — значит, возможно предсказывать исходы. Лицензия аннулирована.
- Экспертиза API и сетевых протоколов (для облачных сервисов)
☁️ Если программа — клиент к серверу (SaaS), то экспертиза анализирует:
- формат запросов/ответов (JSON, Protobuf, бинарный);
- наличие избыточных полей;
- шифрование и сертификаты;
- сокрытие команд «администрирования».
Кейс: в ERP-системе оказалась скрытая команда «set_admin», которая позволяла через обычный запрос POST получить права администратора. Обнаружено при анализе бекапов сетевого трафика.
- Лабораторный отчёт: структура заключения эксперта
Любое заключение по экспертизе программ для ЭВМ содержит:
- Вводную часть (основания, материалы, вопросы).
- Исследовательскую (методы, инструменты, промежуточные протоколы).
- Синтез результатов (таблицы, графики, фрагменты кода).
- Выводы (по каждому вопросу кратко и однозначно).
- Приложение (листинги, логи, хеши).
Без этой структуры документ уязвим для оспаривания.
- Автоматизация vs человеческий интеллект: роль эксперта
🤖 Даже самые мощные анализаторы не заменят эксперта. Почему? Потому что:
- код может содержать намеренный анти-анализ (проверка на среду отладки);
- требуется интерпретация контекста (функция может быть вредоносной или тестовой);
- сравнение с документацией на естественном языке.
В нашей практике был случай, когда анализатор пометил 400 функций как «подозрительные», но эксперт сократил их до 4 реальных аномалий после изучения архитектуры.
- Досудебная экспертиза и обеспечение доказательств
📎 Часто проведение экспертизы программ для ЭВМ инициируется до суда — для блокировки пиратского ПО, для нотариального протокола осмотра, для досудебной претензии. В этом случае эксперт работает вместе с юристами и системными администраторами заказчика. Результат — акт, который может быть приложен к иску. Мы рекомендуем всегда делать досудебную экспертизу, чтобы не потерять доказательства (например, код может быть удалён удалённо).
- Риски уничтожения объектов экспертизы (контрмеры)
В особо острых спорах (коммерческий шпионаж) ответчик может попытаться уничтожить код или модифицировать его. Лабораторный протокол включает:
- хеширование в момент поступления;
- работа только с образами (запись защищена от записи);
- видеофиксация состояния сервера;
- хранение резервной копии у третьего лица (нотариус).
- Стоимостные и сроковые параметры (без цифр, но с ориентирами)
💰 Точная цена зависит от объёма кода (строки), языка, необходимости динамического анализа и сложности алгоритмов. В среднем экспертиза программ для ЭВМ занимает от 10 рабочих дней (для 50 тыс. строк) до 60 дней (для 1 млн строк + криптография). Срочные выездные — от 5 дней, но возможны ограничения по глубине. Итоговый отчёт — до 250 страниц.
- Психология эксперта: независимость любой ценой
🧠 Никогда не забывайте: эксперт — не адвокат ни одной из сторон. Даже если заказчик платит, мы обязаны отразить все найденные факты, включая те, что невыгодны заказчику. В нашей практике был случай, когда заказчик пытался убедить эксперта «не замечать» модуль авторизации в обход лицензии. Эксперт отказался. Заказчик подал в другой институт, но правда вскрылась. Независимость — базовая ценность лаборатории.
- Часто задаваемые вопросы от судей и следователей
❓ Может ли эксперт восстановить код, если исходники утеряны?
Да, дизассемблирование машинного кода в псевдокод (IDA, Ghidra), но без комментариев.
❓ Обязательно ли наличие сертифицированного ПО?
Нет, можно свободно распространяемые аналоги, если они верифицированы.
❓ Что делать, если программа запаролена?
Заказчик обязан снять пароль. Если не может — эксперт не вправе взламывать (ст. 273 УК РФ).
- Региональная специфика проведения экспертизы
Из-за дефицита глубоких специалистов многие регионы РФ не имеют собственных экспертов по ПО. Поэтому наша готовность вылетать в любой регион России — не маркетинг, а вынужденная и крайне полезная услуга. Мы были в Воркуте, Магадане, Грозном, Севастополе, Петрозаводске. Каждый раз — оборудование весом до 20 кг и два эксперта (один — по низкоуровневому анализу, второй — по сетям и базам данных). ✈️
- Судебная практика последних 3 лет (обзор позиций)
По данным картотеки арбитражных судов, экспертиза программ для ЭВМ назначается в 68% дел о нарушении авторских прав на ПО, в 42% дел о неисполнении госконтрактов, в 89% дел о промышленном шпионаже. Суды стали чаще критиковать экспертов за формальные выводы (например, «код похож» без AST-анализа). Поэтому мы внедрили обязательную метрику «коэффициент структурного сходства» — от 0 до 1.
- Заключительное слово: как заказать экспертизу и чего не надо делать
🟢 Итоговое резюме: экспертиза программ для ЭВМ — это высокотехнологичный вид доказательства, требующий лабораторной чистоты, честности и глубоких знаний. Не пытайтесь экономить, отправляя сырой код без документации. Не затягивайте с назначением, если есть риск исчезновения улик. И обязательно проверяйте, может ли выбранный эксперт выехать к вам — и умеет ли он работать с конкретным языком программирования.
🔗 Детальный регламент, примеры заключений и кейсов вы найдёте на нашем официальном портале:
👉 https://sud-expertiza.ru
Там же можно оставить заявку на выездную лабораторию (в любой регион РФ). Мы подключаемся в течение 24 часов после заключения договора. Спасибо за внимание до конца этого объёмного лабораторного протокола! 🧪✅

Задать вопрос экспертам