Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Судебная экспертиза программного обеспечения - это наука об анализе исходного кода программного обеспечения или двоичного кода, чтобы определить, произошло ли нарушение прав интеллектуальной собственности или кража. Это центральный элемент судебных процессов, судебных разбирательств и урегулирований, когда компании спорят по вопросам, связанным с патентами на программное обеспечение , авторскими правами и коммерческой тайной . Инструменты судебной экспертизы программного обеспечения могут сравнивать код, чтобы определить корреляцию, меру, которую можно использовать для руководства эксперта по криминалистике программного обеспечения.

Прошлые методы криминалистики программного обеспечения [ править ]

Предыдущие методы сравнения кода включали хеширование , статистический анализ , сопоставление текста и токенизацию . Эти методы сравнивали программный код и производили единый показатель, указывающий, имело ли место копирование. Однако эти меры не были достаточно точными, чтобы быть приемлемыми в суде, потому что результаты не были точными, алгоритмы можно было легко обмануть простыми заменами в коде, а методы не учитывали тот факт, что код мог быть похожим по причинам кроме копирования.

Нарушение авторских прав [ править ]

После использования программных инструментов для сравнения кода для определения степени корреляции эксперт может использовать процесс итеративной фильтрации, чтобы определить, что коррелированный код вызван сторонним кодом, инструментами генерации кода, часто используемыми именами, общими алгоритмами, общими алгоритмами. программисты, или копировальные. Если корреляция связана с копированием, а копировальный аппарат не имел полномочий от правообладателя, то произошло нарушение авторских прав .

Защита коммерческой тайны и нарушение прав [ править ]

Программное обеспечение может содержать коммерческую тайну, которая дает бизнесу конкурентное преимущество. Для выявления кражи коммерческой тайны те же инструменты и процессы могут использоваться для обнаружения нарушения авторских прав. Если код был скопирован без полномочий, и этот код имеет характеристики коммерческой тайны - он не является общеизвестным, компания хранит его в секрете, а его секретность сохраняет свою ценность для бизнеса, - тогда скопированный код представляет собой кражу коммерческой тайны.

Кража коммерческой тайны также может включать изъятие функциональности кода без его буквального копирования. Сравнение функциональности кода - очень сложная задача, которую еще предстоит решить ни одним алгоритмом в разумные сроки. По этой причине обнаружение кражи функциональности кода по-прежнему в основном выполняется вручную.

Нарушение патента [ править ]

Как и в случае с функциональностью коммерческой тайны, в настоящее время невозможно научно обнаружить нарушение патентов на программное обеспечение, поскольку патенты на программное обеспечение охватывают общую реализацию, а не конкретный исходный код. Например, программа, реализующая запатентованное изобретение, может быть написана на многих доступных языках программирования с использованием разных имен функций и имен переменных и выполнения операций в разных последовательностях. Существует так много комбинаций способов воплощения изобретений в программном обеспечении, что даже самые мощные современные компьютеры не могут рассмотреть все комбинации кода, которые могут нарушить патент. Эта работа по-прежнему предоставляется экспертам-людям, использующим свои знания и опыт, но это проблема, которую многие специалисты по криминалистике программного обеспечения пытаются автоматизировать, находя алгоритм или упрощая процесс.

Объективные факты перед субъективными доказательствами [ править ]

Одно важное правило любого судебно-медицинского анализа заключается в том, что в первую очередь необходимо учитывать объективные факты. Просмотр комментариев в коде или поиск в Интернете информации о компаниях, распространяющих код, и программистах, написавших код, полезны только после того, как будут учтены объективные факты, касающиеся корреляции. После проведения анализа с использованием инструментов и процедур судебной экспертизы аналитики могут приступить к изучению субъективных свидетельств, таких как комментарии в коде. Если информация в этом субъективном свидетельстве противоречит объективному анализу, аналитикам необходимо усомниться в субъективном свидетельстве. Поддельные уведомления об авторских правах, уведомления с открытым исходным кодом или имена программистов, которые были добавлены в исходный код после копирования, чтобы скрыть копирование, не редкость в реальных случаях кражи кода.

Ссылки [ править ]