🟥 Судебная экспертиза программного обеспечения в Москве и МО
Раздел 1. Правовая природа и процессуальный статус судебной экспертизы программного обеспечения
Судебная экспертиза программного обеспечения представляет собой самостоятельный вид судебной компьютерно-технической экспертизы, предметом которой выступают фактические данные, устанавливаемые на основе специальных знаний в области программной инженерии, информационных технологий и защиты информации. В системе процессуальных доказательств заключение эксперта по делам, связанным с созданием, внедрением, эксплуатацией и защитой программных продуктов, приобретает значение одного из ключевых средств доказывания, поскольку позволяет суду преодолеть разрыв между юридической квалификацией обстоятельств и их технической сущностью.
Правовую основу рассматриваемого вида экспертной деятельности составляют нормы процессуального законодательства, регулирующие назначение и производство судебной экспертизы, а также положения законодательства об экспертной деятельности. Специфика судебной экспертизы программного обеспечения обусловлена тем, что объект исследования — программный код, алгоритмы, архитектурные решения, метаданные и сопутствующая документация — не имеет материально-фиксированной формы в традиционном криминалистическом понимании. Программное обеспечение существует в виде последовательности машинных инструкций, исходных текстов, объектных файлов и связанных с ними артефактов разработки, что требует от эксперта владения методами статического и динамического анализа, дизассемблирования, декомпиляции и сравнительного исследования кода.
Процессуальный статус судебной экспертизы программного обеспечения определяется кругом вопросов, которые могут быть перед ней поставлены. Эти вопросы не должны выходить за пределы специальных познаний эксперта и не могут содержать правовых категорий. Недопустимо ставить перед экспертом вопросы о том, является ли лицо нарушителем исключительных прав, подлежит ли иск удовлетворению или имел ли место факт нарушения договора в юридическом смысле. Надлежащими являются вопросы технического характера: содержатся ли в исходном коде одного продукта фрагменты, тождественные или сходные до степени смешения с кодом другого продукта; соответствует ли фактическая функциональность программного обеспечения требованиям технического задания; содержит ли программа недекларированные возможности, направленные на несанкционированный сбор или передачу информации; какова рыночная стоимость разработки или доработки конкретного программного модуля.
Союз «Федерация судебных экспертов» обеспечивает производство судебной экспертизы программного обеспечения силами экспертов, обладающих профильным образованием в области информационных технологий и практическим опытом исследования программных продуктов различного уровня сложности. Обращение в Союз позволяет получить заключение, соответствующее требованиям процессуального законодательства и пригодное для использования в качестве доказательства в арбитражном, гражданском или уголовном процессе.
Раздел 2. Объекты и предмет судебной экспертизы программного обеспечения
Объектами судебной экспертизы программного обеспечения выступают программные продукты в широком смысле, включающем исходные коды, исполняемые файлы, библиотеки, скрипты, конфигурационные файлы, базы данных, файлы ресурсов, документацию разработчика и пользовательскую документацию, а также носители информации, на которых эти объекты размещены. В зависимости от характера спора объектом исследования могут являться как программы для электронных вычислительных машин в том виде, в котором они существуют на момент проведения экспертизы, так и их предыдущие версии, восстановленные из систем контроля версий или резервных копий.
Предмет судебной экспертизы программного обеспечения определяется поставленными перед экспертом вопросами и охватывает несколько основных групп устанавливаемых фактов. К первой группе относятся факты, связанные с установлением тождества, сходства и происхождения программного кода. Эксперт устанавливает наличие или отсутствие в исследуемом продукте фрагментов, совпадающих с элементами другого продукта, определяет количественную меру сходства, оценивает, могут ли выявленные совпадения быть следствием независимой реализации общеизвестных алгоритмов или указывают на производный характер создания. Ко второй группе относятся факты функционального соответствия программного обеспечения условиям договора или требованиям технической документации. В этом случае эксперт проверяет реализацию конкретных функций и модулей, наличие дефектов и их влияние на работоспособность системы. Третья группа охватывает факты, связанные с информационной безопасностью: наличие вредоносного функционала, недекларированных возможностей, механизмов обхода лицензионного контроля или систем аутентификации. Четвертая группа включает технико-экономические факты: объем оригинального кода, трудоемкость устранения недостатков, рыночную стоимость разработки или доработки.
Разграничение объектов и предмета судебной экспертизы программного обеспечения имеет практическое значение для определения границ исследования и компетенции эксперта. Эксперт не вправе выходить за пределы поставленных вопросов, однако обязан провести исследование с полнотой, достаточной для формирования категорических выводов по каждому из них. В случаях, когда для ответа на вопрос требуется исследование объектов, не представленных в распоряжение эксперта, или применение методов, выходящих за пределы его специальных познаний, эксперт заявляет ходатайство о предоставлении дополнительных материалов либо формулирует вывод о невозможности дачи заключения по данному вопросу.
Раздел 3. Методологическая база судебной экспертизы программного обеспечения
Методологическую основу судебной экспертизы программного обеспечения составляет совокупность общенаучных и специальных методов, применяемых в программной инженерии, криминалистике и информационной безопасности. Выбор конкретного метода определяется характером поставленных вопросов, типом исследуемого программного продукта и доступными объектами исследования.
Статический анализ предполагает исследование программного обеспечения без его исполнения. Эксперт анализирует исходные тексты, дизассемблированный код, структуру исполняемых файлов, таблицы импорта и экспорта, секции ресурсов и метаданные. Статический анализ позволяет выявить структурные и алгоритмические совпадения между продуктами, восстановить логику работы программы, обнаружить скрытые функции и строковые артефакты, указывающие на происхождение кода. Для сравнения бинарных файлов применяются инструменты, строящие графы потоков управления и графы зависимостей данных, что дает возможность установить сходство на уровне архитектурных решений даже при различии в именах переменных и форматировании исходного текста.
Динамический анализ связан с исполнением программного обеспечения в контролируемой среде. Эксперт наблюдает за поведением программы, фиксирует создаваемые и модифицируемые файлы, обращения к реестру, сетеевую активность, потребление ресурсов и взаимодействие с операционной системой. Динамический анализ незаменим при выявлении вредоносного функционала, недекларированных возможностей и механизмов сокрытия активности. Для обеспечения безопасности исследования применяются изолированные виртуальные среды и песочницы, исключающие воздействие исследуемого кода на инфраструктуру экспертного учреждения.
Сравнительный анализ является центральным методом при разрешении споров о нарушении исключительных прав на программное обеспечение. Он включает текстовое сравнение с учетом лексем, сравнение абстрактных синтаксических деревьев и графов потоков управления, анализ совпадений в пользовательских интерфейсах, файлах ресурсов и строках локализации. Судебная экспертиза программного обеспечения в рамках сравнительного анализа опирается также на оценку уникальных «отпечатков» компиляции и следов использования сторонних библиотек, что позволяет отличить заимствование от параллельного независимого создания.
Анализ метаданных и артефактов разработки дополняет перечисленные методы. Эксперт исследует даты создания и модификации файлов, сведения о компиляторе и среде сборки, данные систем контроля версий, отладочную информацию и служебные комментарии. Эти данные могут иметь доказательственное значение для установления хронологии разработки, авторства отдельных фрагментов и факта внесения целенаправленных изменений с целью сокрытия заимствования.
Раздел 4. Типовые вопросы, разрешаемые в рамках судебной экспертизы программного обеспечения
Формулирование вопросов является определяющим этапом назначения судебной экспертизы программного обеспечения, поскольку от их корректности зависит возможность получения допустимого и доказательственно значимого заключения. Вопросы должны быть конкретными, технически проверяемыми и не требовать правовой квалификации обстоятельств.
Вопросы, направленные на установление тождества и сходства программного кода, формулируются в технической плоскости. Перед экспертом может быть поставлен вопрос о наличии в исследуемом продукте фрагментов исходного кода, алгоритмических структур или архитектурных решений, тождественных или сходных до степени смешения с элементами другого продукта. Эксперт может быть привлечен к определению количественной меры сходства в процентном соотношении или иных метриках, а также к оценке того, могут ли выявленные совпадения являться следствием независимой реализации общеизвестных алгоритмов либо указывают на производный характер создания.
Вопросы функционального соответствия связаны с проверкой того, реализованы ли в программном продукте функции и модули, предусмотренные техническим заданием, договором или спецификацией. Эксперт устанавливает, содержит ли программное обеспечение дефекты, которые повлекли или могли повлечь его неработоспособность или ненадлежащую работу, и если содержит, то в чем выражаются эти дефекты и каковы возможные причины их возникновения. Судебная экспертиза программного обеспечения в этой части позволяет суду установить фактическое качество исполнения обязательств по договорам разработки и внедрения программных продуктов.
Вопросы информационной безопасности направлены на выявление функционала, предназначенного для несанкционированного сбора, копирования или передачи информации, обхода систем защиты, лицензионного контроля или аутентификации. Эксперт исследует природу и цель сетевых соединений, устанавливаемых программой, наличие скрытых процессов и потоков выполнения, а также механизмов обфускации, затрудняющих анализ кода. Ответы на эти вопросы имеют значение для дел, связанных с инцидентами информационной безопасности и неправомерным доступом к охраняемой информации.
Технико-экономические вопросы касаются объема оригинального кода, трудоемкости устранения выявленных недостатков и рыночной стоимости разработки или доработки программного продукта. Эксперт может определить, является ли примененная методика расчета доли собственного кода методологически корректной с точки зрения общепринятых подходов в программной инженерии, и могло ли использование методики, учитывающей общий объем строк кода без исключения стандартных библиотек, привести к систематической ошибке в оценке интеллектуального вклада разработчика.
Раздел 5. Обеспечение сохранности объектов и достоверности исследования в судебной экспертизе программного обеспечения
Обеспечение неизменности исследуемых объектов является необходимым условием допустимости заключения эксперта и его доказательственной силы. Программное обеспечение и связанные с ним данные существуют на материальных носителях, любое некорректное обращение с которыми может привести к утрате или модификации информации, имеющей значение для дела.
При производстве судебной экспертизы программного обеспечения применяются процедуры, направленные на сохранение исходного состояния объектов. Создаются побитовые копии носителей информации с фиксацией криптографических хэш-сумм, что позволяет впоследствии верифицировать неизменность данных и подтвердить, что исследованию подвергалась именно та информация, которая была представлена на экспертизу. Работа ведется с созданными копиями, а не с оригиналами носителей, за исключением случаев, когда специфика объекта требует непосредственного исследования оригинала, что должно быть особо оговорено и документировано.
Все действия с объектами исследования подлежат документированию в заключении эксперта. Фиксируются основания получения объектов, их описание, примененные процедуры копирования и верификации, условия хранения. Соблюдение цепочки хранения доказательств исключает сомнения в аутентичности объектов и позволяет суду проверить, что представленные на экспертизу материалы не подвергались несанкционированному воздействию.
Для динамического анализа программного обеспечения создается изолированная среда, исключающая распространение потенциально опасного кода за пределы экспертной лаборатории. Применение виртуальных машин и песочниц позволяет наблюдать за поведением программы без риска для информационной инфраструктуры. Судебная экспертиза программного обеспечения в этой части следует общим принципам криминалистического исследования цифровых доказательств, адаптированным к специфике программных объектов.
Раздел 6. Структура и содержание заключения эксперта по результатам судебной экспертизы программного обеспечения
Заключение эксперта по результатам судебной экспертизы программного обеспечения должно соответствовать требованиям процессуального законодательства и содержать все необходимые элементы, обеспечивающие его проверяемость и обоснованность.
Вводная часть включает сведения об эксперте: образование, специальность, стаж работы по специальности, ученая степень и ученое звание при наличии. Указываются основания для проведения экспертизы, перечень поставленных вопросов, перечень представленных материалов и объектов исследования. Эксперт предупреждается об уголовной ответственности за дачу заведомо ложного заключения, что удостоверяется его подписью.
Исследовательская часть содержит подробное описание проведенных исследований, примененных методов и инструментов, полученных промежуточных результатов. Судебная экспертиза программного обеспечения требует особой тщательности в изложении исследовательской части, поскольку суд и участники процесса, как правило, не обладают специальными познаниями в области программирования. Описание должно быть изложено языком, понятным для лиц без специальной подготовки, но при этом содержать достаточную информацию для проверки обоснованности выводов сведущими лицами. При использовании инструментов сравнительного анализа бинарного кода приводятся наименования программных средств, их версии и параметры применения.
Выводы формулируются в виде четких и однозначных ответов на поставленные вопросы. Выводы должны логически вытекать из исследовательской части и быть научно обоснованными. Недопустимы предположительные или вероятностные формулировки в случаях, когда возможно получение категорического вывода. Если эксперт приходит к выводу о невозможности ответа на вопрос, в выводах указываются причины, по которым ответ не может быть дан.
Заключение эксперта не имеет для суда заранее установленной силы и оценивается наряду с другими доказательствами. Суд проверяет соответствие заключения требованиям процессуального законодательства, полноту и всесторонность исследования, научную обоснованность выводов и отсутствие противоречий. В случае возникновения сомнений в обоснованности заключения суд может вызвать эксперта для дачи пояснений, назначить дополнительную или повторную экспертизу.
Раздел 7. Кейс 1. Спор о соответствии ERP-системы техническому заданию
В производстве арбитражного суда находилось дело по иску производственного предприятия к IT-компании о взыскании убытков, уплаченных по договору на внедрение ERP-системы. Истец утверждал, что фактическая функциональность системы не соответствует ключевым требованиям технического задания, что делает ее непригодной для использования в производственном процессе. Цена иска составляла 18 миллионов рублей.
Определением суда была назначена судебная экспертиза программного обеспечения, перед экспертами были поставлены вопросы о соответствии функциональности системы пунктам технического задания и о причинах выявленных несоответствий. В распоряжение экспертов были предоставлены экземпляр программного продукта, техническое задание, акты сдачи-приемки работ, проектная документация и журналы регистрации ошибок, ведшиеся в период опытной эксплуатации.
Экспертами была проведена детальная проверка 67 позиций технического задания. Исследование сочеталось с изучением исходного кода в части, относящейся к спорным модулям, и с динамическим тестированием системы в изолированной среде, воспроизводящей конфигурацию, аналогичную той, которая использовалась заказчиком. Судебная экспертиза программного обеспечения в данном случае потребовала не только формальной сверки перечня функций, но и оценки того, реализованы ли соответствующие функции в объеме, достаточном для их практического использования в заявленных бизнес-процессах.
В результате исследования было установлено, что 14 функций из 67 проверенных позиций не были реализованы в том виде, который предусматривался техническим заданием. Часть функций присутствовала в системе номинально, но не обеспечивала выполнения операций, для которых они предназначались. В частности, модуль планирования производства не поддерживал автоматическое перепланирование при изменении портфеля заказов, а модуль складского учета не обеспечивал корректного резервирования материалов под конкретные производственные задания. Эксперты также установили, что часть выявленных недостатков имеет характер дефектов проектирования, а не ошибок реализации, что исключает возможность их устранения путем незначительной доработки без пересмотра архитектурных решений.
Выводы экспертов были использованы судом при вынесении решения о частичном удовлетворении исковых требований. Заключение судебной экспертизы программного обеспечения позволило суду установить фактический объем неисполненных обязательств и определить соразмерную сумму убытков, подлежащих взысканию с ответчика.
Раздел 8. Кейс 2. Установление факта заимствования исходного кода в системе управления складом
В арбитражный суд обратилась компания, разрабатывающая системы управления складом, с иском к конкуренту о защите исключительных прав на программное обеспечение. Истец утверждал, что программный продукт ответчика создан путем переработки исходного кода истца, что подтверждается сходством архитектурных решений, алгоритмов и отдельных фрагментов кода.
Суд назначил судебную экспертизу программного обеспечения, поручив экспертам установить наличие или отсутствие в продукте ответчика фрагментов, тождественных или сходных до степени смешения с фрагментами продукта истца, а также определить количественную меру сходства. В распоряжение экспертов были предоставлены исходные коды обоих продуктов, исполняемые файлы, документация разработчика и сведения из систем контроля версий.
Экспертами был проведен сравнительный анализ, включавший текстовое сравнение с учетом лексем, сравнение абстрактных синтаксических деревьев и графов потоков управления, а также анализ метаданных и артефактов компиляции. Судебная экспертиза программного обеспечения в данном случае потребовала применения комплекса методов, поскольку ответчик заявлял, что сходство обусловлено использованием общих открытых библиотек и реализацией стандартных алгоритмов складского учета, известных в отрасли.
Исследование показало, что 92 процента функций в сравниваемых продуктах имеют идентичные графы потоков управления. В одной из функций была обнаружена уникальная константа, не несущая смысловой нагрузки и совпадающая с константой в продукте истца. Секции ресурсов содержали одинаковые строковые литералы с идентичными опечатками, не имеющими отношения к функциональности. Анализ метаданных исполняемых файлов выявил совпадение последовательности сборки и использование одинаковых версий компилятора с одинаковыми параметрами оптимизации, что маловероятно при независимой разработке.
Эксперты пришли к выводу, что выявленные совпадения не могут быть объяснены независимой реализацией общеизвестных алгоритмов или использованием открытого исходного кода. Судебная экспертиза программного обеспечения установила, что продукт ответчика является переработанной копией продукта истца. Суд удовлетворил исковые требования и взыскал компенсацию в размере 43 миллионов рублей.
Раздел 9. Кейс 3. Обнаружение недекларированных возможностей в драйвере периферийного устройства
В рамках расследования инцидента информационной безопасности, связанного с утечкой конфиденциальной информации из офисной сети, была назначена судебная экспертиза программного обеспечения. Следствие распорядилось изъять системные блоки с рабочих станций и предоставить экспертам драйверы периферийных устройств, в отношении которых возникли подозрения.
Объектом исследования стал драйвер клавиатуры, поставлявшийся вместе с устройством, закупленным по государственному контракту. Первоначальный осмотр не выявил признаков вредоносной активности, поскольку драйвер имел действительную цифровую подпись и не обнаруживался антивирусными средствами как угроза. Судебная экспертиза программного обеспечения потребовала проведения углубленного статического и динамического анализа.
Эксперты дизассемблировали драйвер и провели анализ его взаимодействия с операционной системой. Было установлено, что драйвер перехватывает запросы ввода-вывода, поступающие от клавиатуры, и дублирует их в скрытый буфер. Из этого буфера данные периодически передавались на внешний сетевой адрес, замаскированный под легитимный трафик обновления. Эксперты восстановили алгоритм кодирования передаваемых данных, представлявший собой XOR с фиксированным ключом, и продемонстрировали возможность полного восстановления перехваченных нажатий клавиш.
Судебная экспертиза программного обеспечения в данном случае позволила установить механизм реализации недекларированной возможности и доказать, что функционал драйвера выходит за пределы его заявленного назначения. Собранные экспертами данные были использованы следствием для установления лиц, причастных к созданию и распространению вредоносного драйвера, и для квалификации их действий.
Раздел 10. Кейс 4. Спор о наследовании прав на алгоритм сжатия данных
После смерти разработчика, создавшего уникальный алгоритм сжатия данных без потерь, между наследниками возник спор о принадлежности исключительных прав на алгоритм и о вкладе каждого из них в его создание. Один из наследников представил исходный код, утверждая, что он является единственным автором. Второй наследник располагал только исполняемым файлом программы, реализующей алгоритм, и утверждал, что участвовал в разработке алгоритмической идеи.
Суд назначил судебную экспертизу программного обеспечения для установления тождества между исходным кодом, представленным первым наследником, и алгоритмом, реализованным в исполняемом файле. Перед экспертами был поставлен вопрос о том, является ли представленный исходный код исходным кодом программы, исполняемый файл которой представлен на исследование, и могут ли быть выявлены признаки, указывающие на участие разных авторов в создании алгоритма.
Эксперты провели дизассемблирование исполняемого файла и восстановление псевдокода, который был сопоставлен с исходным кодом. Судебная экспертиза программного обеспечения включала сравнение основных циклов, таблиц вероятностей и структур данных. Совпадение составило 97 процентов, что с учетом специфики алгоритма сжатия указывало на то, что исходный код и исполняемый файл относятся к одной и той же реализации.
Дополнительно был проведен стилометрический анализ, в ходе которого эксперты исследовали стиль программирования: используемые идентификаторы, структуру комментариев, форматирование кода. Было установлено, что в исходном коде присутствуют фрагменты, стилистически отличающиеся от основного массива, в частности, использование прописных букв для имен переменных в одних модулях и строчных в других. Судебная экспертиза программного обеспечения позволила сделать вывод о том, что алгоритм создавался при участии двух лиц, и определить вклад каждого из них в его разработку. Суд признал соавторство наследников в долях 80 и 20 процентов.
Раздел 11. Кейс 5. Установление причин систематических сбоев информационной системы
Компания-заказчик обратилась в суд с иском к разработчику информационной системы, утверждая, что система подвержена систематическим сбоям, которые делают невозможным ее нормальную эксплуатацию. Ответчик возражал, ссылаясь на то, что сбои вызваны некорректной настройкой системы со стороны заказчика и недостаточной квалификацией его персонала.
Суд назначил судебную экспертизу программного обеспечения, перед которой были поставлены вопросы о наличии в программном коде дефектов, способных вызвать наблюдаемые сбои, и о причинах возникновения этих сбоев. Экспертам были предоставлены исполняемые файлы системы, исходный код, журналы событий за период эксплуатации, конфигурационные файлы и описания инцидентов, составленные службой технической поддержки заказчика.
Эксперты провели анализ журналов событий и установили корреляцию между сбоями и определенными операциями, выполнявшимися пользователями. Судебная экспертиза программного обеспечения включала статический анализ модулей, задействованных в этих операциях, и динамическое воспроизведение сценариев, приводивших к сбоям, в изолированной среде с конфигурацией, соответствовавшей конфигурации заказчика.
Исследование выявило, что в модуле обработки транзакций присутствует ошибка управления памятью, которая при определенных последовательностях операций приводила к переполнению буфера и аварийному завершению процесса. Ошибка носила скрытый характер и не проявлялась при тестовых нагрузках, использовавшихся разработчиком. Судебная экспертиза программного обеспечения установила, что причиной сбоев является дефект программного кода, а не действия заказчика. Суд возложил на ответчика обязанность по устранению недостатков и взыскал убытки, связанные с простоем системы.
Раздел 12. Кейс 6. Определение объема оригинального кода в программном продукте
При разделе имущества между супругами, один из которых являлся разработчиком программного обеспечения, возник спор о стоимости исключительных прав на программный продукт, созданный в период брака. Для определения стоимости требовалось установить объем оригинального кода, созданного разработчиком, отделив его от кода, сгенерированного автоматически, заимствованного из открытых источников или являющегося частью сторонних библиотек.
Судебная экспертиза программного обеспечения была назначена для определения доли оригинального кода в общем объеме программного продукта. Экспертам были предоставлены репозиторий с историей изменений, исходный код, список используемых сторонних библиотек и документация по сборке проекта.
Эксперты провели анализ репозитория с использованием инструментов атрибуции кода. Были идентифицированы фрагменты, происхождение которых прослеживалось к открытым репозиториям, фрагменты, сгенерированные автоматически средствами разработки, и фрагменты, не имеющие совпадений в доступных базах открытого кода. Судебная экспертиза программного обеспечения включала также оценку объема стандартных библиотечных вызовов и шаблонного кода, который не может считаться результатом творческой деятельности.
По результатам исследования было установлено, что оригинальный код, созданный разработчиком, составляет 34 процента от общего объема кодовой базы. Эксперты отметили, что примененная методика оценки, учитывающая общий объем строк кода без исключения сгенерированных и библиотечных фрагментов, привела бы к существенному завышению объема интеллектуального вклада разработчика. Заключение судебной экспертизы программного обеспечения было положено в основу определения стоимости исключительных прав при разделе имущества.
Раздел 13. Кейс 7. Исследование модификации программного продукта с целью сокрытия заимствования
В рамках спора о защите исключительных прав на программное обеспечение истец утверждал, что ответчик не только скопировал исходный код, но и предпринял целенаправленные действия по сокрытию факта заимствования, применив обфускацию и переименование идентификаторов. Ответчик настаивал на том, что сходство обусловлено реализацией стандартных алгоритмов, а различия в коде являются следствием самостоятельной разработки.
Суд назначил судебную экспертизу программного обеспечения, перед экспертами был поставлен вопрос о том, подвергался ли исходный код продукта ответчика целенаправленным изменениям с целью сокрытия заимствования. Экспертам были предоставлены исходные коды обоих продуктов, а также предыдущие версии продукта ответчика, полученные из систем контроля версий.
Эксперты провели сравнительный анализ и установили, что ранние версии продукта ответчика содержали фрагменты, текстуально совпадавшие с кодом истца, включая идентификаторы и комментарии. В последующих версиях эти фрагменты были переименованы, комментарии удалены, а структура кода изменена путем внесения избыточных конструкций. Судебная экспертиза программного обеспечения выявила, что изменения носили не функциональный, а маскировочный характер: логика работы модулей осталась идентичной, тогда как внешнее представление кода было изменено.
Анализ метаданных и последовательности коммитов в репозитории ответчика показал, что изменения вносились единовременно, в сжатые сроки, непосредственно перед подачей возражений на иск. Судебная экспертиза программного обеспечения позволила сделать вывод о том, что ответчик целенаправленно изменял исходный код с целью сокрытия факта заимствования. Суд квалифицировал эти действия как недобросовестное поведение и удовлетворил требования истца в полном объеме.
Раздел 14. Кейс 8. Установление факта использования программного обеспечения за пределами лицензии
Правообладатель программного обеспечения для автоматизации проектирования обратился в суд с иском к организации, использующей его продукт, утверждая, что количество одновременно работающих пользователей превышает лимит, установленный лицензионным соглашением. Ответчик утверждал, что использует программное обеспечение в пределах приобретенных лицензий, а превышение, если оно и имело место, было вызвано ошибкой в системе учета лицензий.
Судебная экспертиза программного обеспечения была назначена для установления фактического количества одновременных подключений к серверу лицензий и выявления механизмов обхода лицензионного контроля, если таковые использовались. Экспертам были предоставлены сервер лицензий, журналы его работы, конфигурационные файлы и экземпляры клиентского программного обеспечения, установленные на рабочих станциях ответчика.
Эксперты проанализировали журналы сервера лицензий и установили, что в определенные периоды количество активных сессий превышало лицензионный лимит. Судебная экспертиза программного обеспечения включала исследование клиентских экземпляров на предмет наличия модификаций, направленных на обход проверки лицензии. В одном из экземпляров был обнаружен замененный файл библиотеки, содержавший измененную функцию проверки лицензионного ключа, что позволяло обходить ограничения.
Эксперты также установили, что модификация была внесена с использованием инструментов, доступных в открытых источниках, и не требовала глубоких знаний в области программирования. Судебная экспертиза программного обеспечения позволила доказать факт использования программного обеспечения за пределами лицензии и наличие умысла на обход технических средств защиты. Суд взыскал с ответчика компенсацию за нарушение исключительных прав.
Раздел 15. Кейс 9. Спор о стоимости доработки программного обеспечения
Между заказчиком и исполнителем возник спор о стоимости работ по доработке информационной системы, необходимость которых была выявлена в ходе эксплуатации. Заказчик требовал безвозмездного устранения недостатков, ссылаясь на их производственный характер. Исполнитель утверждал, что выявленные требования выходят за пределы первоначального технического задания и должны быть оплачены дополнительно.
Судебная экспертиза программного обеспечения была назначена для определения объема трудозатрат, необходимых для приведения программного продукта в соответствие с условиями договора, и рыночной стоимости этих работ. Экспертам были предоставлены техническое задание, исходный код, документация и перечень недостатков, составленный заказчиком.
Эксперты провели анализ каждого заявленного недостатка и классифицировали их по причинам возникновения. Часть недостатков была признана следствием отступлений исполнителя от требований технического задания и подлежала устранению за его счет. Другая часть представляла собой новые требования, не предусмотренные первоначальным заданием, и их реализация требовала дополнительного финансирования. Судебная экспертиза программного обеспечения включала оценку трудозатрат на основе анализа сложности затронутых модулей, необходимых изменений в архитектуре и объема тестирования.
Эксперты определили, что для устранения недостатков, возникших по вине исполнителя, требуется 420 человеко-часов, а для реализации новых требований — 780 человеко-часов. На основе рыночных ставок оплаты труда разработчиков соответствующей квалификации была определена стоимость каждого вида работ. Заключение судебной экспертизы программного обеспечения позволило суду разделить требования заказчика на обоснованные и необоснованные и принять решение о частичном удовлетворении иска.
Раздел 16. Кейс 10. Исследование программного обеспечения на предмет наличия признаков вредоносного кода
В рамках уголовного дела о неправомерном доступе к компьютерной информации была назначена судебная экспертиза программного обеспечения. Следствие располагало исполняемым файлом, обнаруженным на компьютере обвиняемого, и предполагало, что данный файл является инструментом для несанкционированного получения доступа к защищенным ресурсам.
Перед экспертами были поставлены вопросы о том, содержит ли исследуемая программа код, предназначенный для осуществления несанкционированных действий, и какова природа и цель сетевых соединений, устанавливаемых программой в процессе ее выполнения. Судебная экспертиза программного обеспечения должна была проводиться в условиях, исключающих распространение потенциально опасного кода.
Эксперты провели статический анализ исполняемого файла, включавший дизассемблирование и анализ таблиц импорта, а также динамический анализ в изолированной виртуальной среде с перехватом системных вызовов и сетевого трафика. Судебная экспертиза программного обеспечения выявила, что программа осуществляет сканирование портов на удаленных хостах, подбор паролей методом перебора и эксплуатацию известной уязвимости в протоколе удаленного доступа.
Эксперты восстановили алгоритм работы программы и установили, что она содержит функции, характерные для инструментов несанкционированного доступа, и не имеет легитимного применения, которое могло бы объяснить ее функциональность. Судебная экспертиза программного обеспечения подтвердила, что программа предназначена для неправомерного доступа к компьютерной информации. Заключение экспертов было использовано следствием для квалификации действий обвиняемого и легло в основу обвинительного приговора.
Раздел 17. Организационные аспекты обращения в Союз «Федерация судебных экспертов»
Выбор экспертного учреждения для производства судебной экспертизы программного обеспечения является фактором, существенно влияющим на качество и доказательственную силу заключения. Специфика рассматриваемого вида экспертизы требует наличия в штате специалистов, сочетающих познания в области программирования с пониманием процессуальных требований к экспертному заключению.
Союз «Федерация судебных экспертов» располагает экспертами в области компьютерно-технических экспертиз, обладающими опытом исследования программных продуктов различного типа: от прикладных информационных систем и ERP-платформ до встраиваемого программного обеспечения и низкоуровневых драйверов. Судебная экспертиза программного обеспечения выполняется с применением сертифицированного и лицензионного инструментария, а также методик, апробированных в экспертной практике.
Обращение в Союз позволяет заказчику получить предварительную консультацию по формулированию вопросов для суда, определить перечень материалов, которые необходимо предоставить в распоряжение эксперта, и оценить реалистичность получения ответов на поставленные вопросы в рамках выбранного вида экспертизы. Судебная экспертиза программного обеспечения в Союзе проводится в разумные сроки, определяемые сложностью объекта и объемом исследовательской работы, с информированием заказчика о ходе исследования при наличии такой необходимости.
Для назначения экспертизы заказчику достаточно обратиться в Союз с указанием характера спора и перечня вопросов, которые предполагается поставить перед экспертом. Специалисты Союза определят, относится ли предполагаемое исследование к компетенции судебной экспертизы программного обеспечения, и предложат кандидатуру эксперта, обладающего соответствующей квалификацией. Судебная экспертиза программного обеспечения, проводимая в Союзе «Федерация судебных экспертов», ориентирована на получение заключения, которое выдержит проверку на соответствие процессуальным требованиям и будет оценено судом наряду с другими доказательствами по делу.

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